public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request var request = new Amazon.SimpleNotificationService.Model.CreatePlatformEndpointRequest(); if (cmdletContext.Attribute != null) { request.Attributes = cmdletContext.Attribute; } if (cmdletContext.CustomUserData != null) { request.CustomUserData = cmdletContext.CustomUserData; } if (cmdletContext.PlatformApplicationArn != null) { request.PlatformApplicationArn = cmdletContext.PlatformApplicationArn; } if (cmdletContext.Token != null) { request.Token = cmdletContext.Token; } CmdletOutput output; // issue call var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); try { var response = CallAWSServiceOperation(client, request); object pipelineOutput = null; pipelineOutput = cmdletContext.Select(response, this); output = new CmdletOutput { PipelineOutput = pipelineOutput, ServiceResponse = response }; } catch (Exception e) { output = new CmdletOutput { ErrorResponse = e }; } return(output); }
public string CreateEndpoint(string registrationid, string description, string aplicationarn) { try { var endpoint1 = GetEndpoint(registrationid, String.Empty); if (endpoint1 != null) throw new ArgumentException("registrationid"); var endpoint2 = GetEndpoints(description); if (endpoint2 != null) { if (endpoint2.Count == 1) return endpoint2.FirstOrDefault(); if (endpoint2.Count > 1) throw new ArgumentException("description"); } var app = GetApplication(aplicationarn, string.Empty); if (string.IsNullOrEmpty(app)) throw new ArgumentException("aplicationtoken"); using (var snsclient = new AmazonSimpleNotificationServiceClient(_accesskey, _secretkey)) { var request = new CreatePlatformEndpointRequest() { CustomUserData = description, Token = registrationid, PlatformApplicationArn = aplicationarn }; var result = snsclient.CreatePlatformEndpoint(request); return result?.EndpointArn; } } catch (Exception ex) { throw new Exception("CreateEndpoint " + ex.Message); } }
/// <summary> /// Initiates the asynchronous execution of the CreatePlatformEndpoint operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreatePlatformEndpoint operation on AmazonSimpleNotificationServiceClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreatePlatformEndpoint /// operation.</returns> public IAsyncResult BeginCreatePlatformEndpoint(CreatePlatformEndpointRequest request, AsyncCallback callback, object state) { var marshaller = new CreatePlatformEndpointRequestMarshaller(); var unmarshaller = CreatePlatformEndpointResponseUnmarshaller.Instance; return BeginInvoke<CreatePlatformEndpointRequest>(request, marshaller, unmarshaller, callback, state); }
/// <summary> /// Creates an endpoint for a device and mobile app on one of the supported push notification /// services, such as GCM and APNS. <code>CreatePlatformEndpoint</code> requires /// the PlatformApplicationArn that is returned from <code>CreatePlatformApplication</code>. /// The EndpointArn that is returned when using <code>CreatePlatformEndpoint</code> /// can then be used by the <code>Publish</code> action to send a message to a mobile /// app or by the <code>Subscribe</code> action for subscription to a topic. The /// <code>CreatePlatformEndpoint</code> action is idempotent, so if the requester already /// owns an endpoint with the same device token and attributes, that endpoint's /// ARN is returned without creating a new endpoint. For more information, see <a /// href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using Amazon SNS /// Mobile Push Notifications</a>. /// /// /// <para> /// When using <code>CreatePlatformEndpoint</code> with Baidu, two attributes must be /// provided: ChannelId and UserId. The token field must also contain the ChannelId. /// For more information, see <a href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePushBaiduEndpoint.html">Creating /// an Amazon SNS Endpoint for Baidu</a>. /// </para> /// </summary> /// <param name="request">Container for the necessary parameters to execute the CreatePlatformEndpoint service method.</param> /// /// <returns>The response from the CreatePlatformEndpoint service method, as returned by SimpleNotificationService.</returns> /// <exception cref="Amazon.SimpleNotificationService.Model.AuthorizationErrorException"> /// Indicates that the user has been denied access to the requested resource. /// </exception> /// <exception cref="Amazon.SimpleNotificationService.Model.InternalErrorException"> /// Indicates an internal service error. /// </exception> /// <exception cref="Amazon.SimpleNotificationService.Model.InvalidParameterException"> /// Indicates that a request parameter does not comply with the associated constraints. /// </exception> /// <exception cref="Amazon.SimpleNotificationService.Model.NotFoundException"> /// Indicates that the requested resource does not exist. /// </exception> public CreatePlatformEndpointResponse CreatePlatformEndpoint(CreatePlatformEndpointRequest request) { var marshaller = new CreatePlatformEndpointRequestMarshaller(); var unmarshaller = CreatePlatformEndpointResponseUnmarshaller.Instance; return Invoke<CreatePlatformEndpointRequest,CreatePlatformEndpointResponse>(request, marshaller, unmarshaller); }
/// <summary> /// <para>The <c>CreatePlatformEndpoint</c> action creates an endpoint for a device and mobile app on one of the supported push notification /// services, such as GCM and APNS. <c>CreatePlatformEndpoint</c> requires the PlatformApplicationArn that is returned from /// <c>CreatePlatformApplication</c> . The EndpointArn that is returned when using <c>CreatePlatformEndpoint</c> can then be used by the /// <c>Publish</c> action to send a message to a mobile app or by the <c>Subscribe</c> action for subscription to a topic. The /// <c>CreatePlatformEndpoint</c> action is idempotent, so if the requester already owns an endpoint with the same device token and attributes, /// that endpoint's ARN is returned without creating a new endpoint. For more information, see <a href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using Amazon SNS Mobile Push Notifications</a> . /// </para> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreatePlatformEndpoint service method on /// AmazonSimpleNotificationService.</param> /// /// <returns>The response from the CreatePlatformEndpoint service method, as returned by AmazonSimpleNotificationService.</returns> /// /// <exception cref="T:Amazon.SimpleNotificationService.Model.NotFoundException" /> /// <exception cref="T:Amazon.SimpleNotificationService.Model.AuthorizationErrorException" /> /// <exception cref="T:Amazon.SimpleNotificationService.Model.InternalErrorException" /> /// <exception cref="T:Amazon.SimpleNotificationService.Model.InvalidParameterException" /> public CreatePlatformEndpointResponse CreatePlatformEndpoint(CreatePlatformEndpointRequest request) { var task = CreatePlatformEndpointAsync(request); try { return task.Result; } catch(AggregateException e) { ExceptionDispatchInfo.Capture(e.InnerException).Throw(); return null; } }
/// <summary> /// Initiates the asynchronous execution of the CreatePlatformEndpoint operation. /// <seealso cref="Amazon.SimpleNotificationService.IAmazonSimpleNotificationService"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreatePlatformEndpoint operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task<CreatePlatformEndpointResponse> CreatePlatformEndpointAsync(CreatePlatformEndpointRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreatePlatformEndpointRequestMarshaller(); var unmarshaller = CreatePlatformEndpointResponseUnmarshaller.Instance; return InvokeAsync<CreatePlatformEndpointRequest,CreatePlatformEndpointResponse>(request, marshaller, unmarshaller, cancellationToken); }
private CreatePlatformEndpointRequest CreatePlatformEndpointRequest(DeveloperOptions devOptions) { var request = new CreatePlatformEndpointRequest() { PlatformApplicationArn = devOptions.PlatformApplicationArn, CustomUserData = devOptions.CustomUserData, Token = devOptions.Token, Attributes = devOptions.EndpointAttributes }; return request; }
IAsyncResult invokeCreatePlatformEndpoint(CreatePlatformEndpointRequest createPlatformEndpointRequest, AsyncCallback callback, object state, bool synchronized) { IRequest irequest = new CreatePlatformEndpointRequestMarshaller().Marshall(createPlatformEndpointRequest); var unmarshaller = CreatePlatformEndpointResponseUnmarshaller.GetInstance(); AsyncResult result = new AsyncResult(irequest, callback, state, synchronized, signer, unmarshaller); Invoke(result); return result; }
public static void SNSMobilePushAPIsCreatePlatformEndpoint() { #region SNSMobilePushAPIsCreatePlatformEndpoint var snsClient = new AmazonSimpleNotificationServiceClient(); var request = new CreatePlatformEndpointRequest { CustomUserData = "Any arbitrary data can go here", PlatformApplicationArn = "arn:aws:sns:us-east-1:80398EXAMPLE:" + "app/GCM/TimeCardProcessingApplication", Token = "APBTKzPGlCyT6E6oOfpdwLpcRNxQp5vCPFiF" + "eru9oZylc22HvZSwQTDgmmw9WdNlXMerUPEXAMPLE" }; snsClient.CreatePlatformEndpoint(request); #endregion }
/// <summary> /// <para>The <c>CreatePlatformEndpoint</c> action creates an endpoint for a device and mobile app on one of the supported push notification /// services, such as GCM and APNS. <c>CreatePlatformEndpoint</c> requires the PlatformApplicationArn that is returned from /// <c>CreatePlatformApplication</c> . The EndpointArn that is returned when using <c>CreatePlatformEndpoint</c> can then be used by the /// <c>Publish</c> action to send a message to a mobile app or by the <c>Subscribe</c> action for subscription to a topic. The /// <c>CreatePlatformEndpoint</c> action is idempotent, so if the requester already owns an endpoint with the same device token and attributes, /// that endpoint's ARN is returned without creating a new endpoint. For more information, see <a /// href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html" >Using Amazon SNS Mobile Push Notifications</a> . /// </para> /// </summary> /// /// <param name="createPlatformEndpointRequest">Container for the necessary parameters to execute the CreatePlatformEndpoint service method on /// AmazonSimpleNotificationService.</param> /// /// <returns>The response from the CreatePlatformEndpoint service method, as returned by AmazonSimpleNotificationService.</returns> /// /// <exception cref="NotFoundException"/> /// <exception cref="AuthorizationErrorException"/> /// <exception cref="InternalErrorException"/> /// <exception cref="InvalidParameterException"/> public CreatePlatformEndpointResponse CreatePlatformEndpoint(CreatePlatformEndpointRequest createPlatformEndpointRequest) { IAsyncResult asyncResult = invokeCreatePlatformEndpoint(createPlatformEndpointRequest, null, null, true); return EndCreatePlatformEndpoint(asyncResult); }
/// <summary> /// <para>The <c>CreatePlatformEndpoint</c> creates an endpoint for a device and mobile app on one of the supported push notification services, /// such as GCM and APNS. <c>CreatePlatformEndpoint</c> requires the PlatformApplicationArn that is returned from /// <c>CreatePlatformApplication</c> . The EndpointArn that is returned when using <c>CreatePlatformEndpoint</c> can then be used by the /// <c>Publish</c> action to send a message to a mobile app or by the <c>Subscribe</c> action for subscription to a topic. For more information, /// see <a href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using Amazon SNS Mobile Push Notifications</a> . /// </para> /// </summary> /// /// <param name="createPlatformEndpointRequest">Container for the necessary parameters to execute the CreatePlatformEndpoint service method on /// AmazonSimpleNotificationService.</param> /// /// <returns>The response from the CreatePlatformEndpoint service method, as returned by AmazonSimpleNotificationService.</returns> /// /// <exception cref="T:Amazon.SimpleNotificationService.Model.NotFoundException" /> /// <exception cref="T:Amazon.SimpleNotificationService.Model.AuthorizationErrorException" /> /// <exception cref="T:Amazon.SimpleNotificationService.Model.InternalErrorException" /> /// <exception cref="T:Amazon.SimpleNotificationService.Model.InvalidParameterException" /> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> public async Task<CreatePlatformEndpointResponse> CreatePlatformEndpointAsync(CreatePlatformEndpointRequest createPlatformEndpointRequest, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreatePlatformEndpointRequestMarshaller(); var unmarshaller = CreatePlatformEndpointResponseUnmarshaller.GetInstance(); var response = await Invoke<IRequest, CreatePlatformEndpointRequest, CreatePlatformEndpointResponse>(createPlatformEndpointRequest, marshaller, unmarshaller, signer, cancellationToken) .ConfigureAwait(continueOnCapturedContext: false); return response; }
private Amazon.SimpleNotificationService.Model.CreatePlatformEndpointResponse CallAWSServiceOperation(IAmazonSimpleNotificationService client, Amazon.SimpleNotificationService.Model.CreatePlatformEndpointRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Simple Notification Service (SNS)", "CreatePlatformEndpoint"); try { #if DESKTOP return(client.CreatePlatformEndpoint(request)); #elif CORECLR return(client.CreatePlatformEndpointAsync(request).GetAwaiter().GetResult()); #else #error "Unknown build edition" #endif } catch (AmazonServiceException exc) { var webException = exc.InnerException as System.Net.WebException; if (webException != null) { throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); } throw; } }
/// <summary> /// Initiates the asynchronous execution of the CreatePlatformEndpoint operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreatePlatformEndpoint operation on AmazonSimpleNotificationServiceClient.</param> /// <param name="callback">An Action delegate that is invoked when the operation completes.</param> /// <param name="options">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> public void CreatePlatformEndpointAsync(CreatePlatformEndpointRequest request, AmazonServiceCallback<CreatePlatformEndpointRequest, CreatePlatformEndpointResponse> callback, AsyncOptions options = null) { options = options == null?new AsyncOptions():options; var marshaller = new CreatePlatformEndpointRequestMarshaller(); var unmarshaller = CreatePlatformEndpointResponseUnmarshaller.Instance; Action<AmazonWebServiceRequest, AmazonWebServiceResponse, Exception, AsyncOptions> callbackHelper = null; if(callback !=null ) callbackHelper = (AmazonWebServiceRequest req, AmazonWebServiceResponse res, Exception ex, AsyncOptions ao) => { AmazonServiceResult<CreatePlatformEndpointRequest,CreatePlatformEndpointResponse> responseObject = new AmazonServiceResult<CreatePlatformEndpointRequest,CreatePlatformEndpointResponse>((CreatePlatformEndpointRequest)req, (CreatePlatformEndpointResponse)res, ex , ao.State); callback(responseObject); }; BeginInvoke<CreatePlatformEndpointRequest>(request, marshaller, unmarshaller, options, callbackHelper); }
/// <summary> /// <para>The <c>CreatePlatformEndpoint</c> action creates an endpoint for a device and mobile app on one of the supported push notification /// services, such as GCM and APNS. <c>CreatePlatformEndpoint</c> requires the PlatformApplicationArn that is returned from /// <c>CreatePlatformApplication</c> . The EndpointArn that is returned when using <c>CreatePlatformEndpoint</c> can then be used by the /// <c>Publish</c> action to send a message to a mobile app or by the <c>Subscribe</c> action for subscription to a topic. The /// <c>CreatePlatformEndpoint</c> action is idempotent, so if the requester already owns an endpoint with the same device token and attributes, /// that endpoint's ARN is returned without creating a new endpoint. For more information, see <a href="http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html">Using Amazon SNS Mobile Push Notifications</a> . /// </para> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreatePlatformEndpoint service method on /// AmazonSimpleNotificationService.</param> /// /// <returns>The response from the CreatePlatformEndpoint service method, as returned by AmazonSimpleNotificationService.</returns> /// /// <exception cref="T:Amazon.SimpleNotificationService.Model.NotFoundException" /> /// <exception cref="T:Amazon.SimpleNotificationService.Model.AuthorizationErrorException" /> /// <exception cref="T:Amazon.SimpleNotificationService.Model.InternalErrorException" /> /// <exception cref="T:Amazon.SimpleNotificationService.Model.InvalidParameterException" /> public CreatePlatformEndpointResponse CreatePlatformEndpoint(CreatePlatformEndpointRequest request) { var task = CreatePlatformEndpointAsync(request); try { return task.Result; } catch(AggregateException e) { throw e.InnerException; } }
/// <summary> /// Initiates the asynchronous execution of the CreatePlatformEndpoint operation. /// <seealso cref="Amazon.SimpleNotificationService.IAmazonSimpleNotificationService.CreatePlatformEndpoint"/> /// </summary> /// /// <param name="createPlatformEndpointRequest">Container for the necessary parameters to execute the CreatePlatformEndpoint operation on /// AmazonSimpleNotificationService.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking /// EndCreatePlatformEndpoint operation.</returns> public IAsyncResult BeginCreatePlatformEndpoint(CreatePlatformEndpointRequest createPlatformEndpointRequest, AsyncCallback callback, object state) { return invokeCreatePlatformEndpoint(createPlatformEndpointRequest, callback, state, false); }
/// <summary> /// Initiates the asynchronous execution of the CreatePlatformEndpoint operation. /// <seealso cref="Amazon.SimpleNotificationService.IAmazonSimpleNotificationService.CreatePlatformEndpoint"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreatePlatformEndpoint operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task<CreatePlatformEndpointResponse> CreatePlatformEndpointAsync(CreatePlatformEndpointRequest request, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreatePlatformEndpointRequestMarshaller(); var unmarshaller = CreatePlatformEndpointResponseUnmarshaller.GetInstance(); return Invoke<IRequest, CreatePlatformEndpointRequest, CreatePlatformEndpointResponse>(request, marshaller, unmarshaller, signer, cancellationToken); }
IAsyncResult invokeCreatePlatformEndpoint(CreatePlatformEndpointRequest request, AsyncCallback callback, object state, bool synchronized) { var marshaller = new CreatePlatformEndpointRequestMarshaller(); var unmarshaller = CreatePlatformEndpointResponseUnmarshaller.Instance; return Invoke(request, callback, state, synchronized, marshaller, unmarshaller, signer); }