public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request var request = new Amazon.RDS.Model.CreateEventSubscriptionRequest(); if (cmdletContext.Enabled != null) { request.Enabled = cmdletContext.Enabled.Value; } if (cmdletContext.EventCategory != null) { request.EventCategories = cmdletContext.EventCategory; } if (cmdletContext.SnsTopicArn != null) { request.SnsTopicArn = cmdletContext.SnsTopicArn; } if (cmdletContext.SourceId != null) { request.SourceIds = cmdletContext.SourceId; } if (cmdletContext.SourceType != null) { request.SourceType = cmdletContext.SourceType; } if (cmdletContext.SubscriptionName != null) { request.SubscriptionName = cmdletContext.SubscriptionName; } if (cmdletContext.Tag != null) { request.Tags = cmdletContext.Tag; } 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); }
/// <summary> /// Initiates the asynchronous execution of the CreateEventSubscription operation. /// <seealso cref="Amazon.RDS.AmazonRDS.CreateEventSubscription"/> /// </summary> /// /// <param name="createEventSubscriptionRequest">Container for the necessary parameters to execute the CreateEventSubscription operation on /// AmazonRDS.</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 /// EndCreateEventSubscription operation.</returns> public IAsyncResult BeginCreateEventSubscription(CreateEventSubscriptionRequest createEventSubscriptionRequest, AsyncCallback callback, object state) { return invokeCreateEventSubscription(createEventSubscriptionRequest, callback, state, false); }
IAsyncResult invokeCreateEventSubscription(CreateEventSubscriptionRequest createEventSubscriptionRequest, AsyncCallback callback, object state, bool synchronized) { IRequest irequest = new CreateEventSubscriptionRequestMarshaller().Marshall(createEventSubscriptionRequest); var unmarshaller = CreateEventSubscriptionResponseUnmarshaller.GetInstance(); AsyncResult result = new AsyncResult(irequest, callback, state, synchronized, signer, unmarshaller); Invoke(result); return result; }
/// <summary> /// <para>Creates an RDS event notification subscription. This action requires a topic ARN (Amazon Resource Name) created by either the RDS /// console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the topic. The /// ARN is displayed in the SNS console.</para> <para>You can specify the type of source (SourceType) you want to be notified of, provide a list /// of RDS sources (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be /// notified of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories = /// Availability, Backup.</para> <para>If you specify both the SourceType and SourceIds, such as SourceType = db-instance and SourceIdentifier = /// myDBInstance1, you will be notified of all the db-instance events for the specified source. If you specify a SourceType but do not specify a /// SourceIdentifier, you will receive notice of the events for that source type for all your RDS sources. If you do not specify either the /// SourceType nor the SourceIdentifier, you will be notified of events generated from all RDS sources belonging to your customer /// account.</para> /// </summary> /// /// <param name="createEventSubscriptionRequest">Container for the necessary parameters to execute the CreateEventSubscription service method on /// AmazonRDS.</param> /// /// <returns>The response from the CreateEventSubscription service method, as returned by AmazonRDS.</returns> /// /// <exception cref="SourceNotFoundException"/> /// <exception cref="SNSTopicArnNotFoundException"/> /// <exception cref="SNSInvalidTopicException"/> /// <exception cref="SubscriptionCategoryNotFoundException"/> /// <exception cref="SNSNoAuthorizationException"/> /// <exception cref="EventSubscriptionQuotaExceededException"/> /// <exception cref="SubscriptionAlreadyExistException"/> public CreateEventSubscriptionResponse CreateEventSubscription(CreateEventSubscriptionRequest createEventSubscriptionRequest) { IAsyncResult asyncResult = invokeCreateEventSubscription(createEventSubscriptionRequest, null, null, true); return EndCreateEventSubscription(asyncResult); }
/// <summary> /// Initiates the asynchronous execution of the CreateEventSubscription operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateEventSubscription 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<CreateEventSubscriptionResponse> CreateEventSubscriptionAsync(CreateEventSubscriptionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateEventSubscriptionRequestMarshaller(); var unmarshaller = CreateEventSubscriptionResponseUnmarshaller.Instance; return InvokeAsync<CreateEventSubscriptionRequest,CreateEventSubscriptionResponse>(request, marshaller, unmarshaller, cancellationToken); }
/// <summary> /// Creates an RDS event notification subscription. This action requires a topic ARN (Amazon /// Resource Name) created by either the RDS console, the SNS console, or the SNS API. /// To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to /// the topic. The ARN is displayed in the SNS console. /// /// /// <para> /// You can specify the type of source (SourceType) you want to be notified of, provide /// a list of RDS sources (SourceIds) that triggers the events, and provide a list of /// event categories (EventCategories) for events you want to be notified of. For example, /// you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 /// and EventCategories = Availability, Backup. /// </para> /// /// <para> /// If you specify both the SourceType and SourceIds, such as SourceType = db-instance /// and SourceIdentifier = myDBInstance1, you will be notified of all the db-instance /// events for the specified source. If you specify a SourceType but do not specify a /// SourceIdentifier, you will receive notice of the events for that source type for all /// your RDS sources. If you do not specify either the SourceType nor the SourceIdentifier, /// you will be notified of events generated from all RDS sources belonging to your customer /// account. /// </para> /// </summary> /// <param name="request">Container for the necessary parameters to execute the CreateEventSubscription service method.</param> /// /// <returns>The response from the CreateEventSubscription service method, as returned by RDS.</returns> /// <exception cref="Amazon.RDS.Model.EventSubscriptionQuotaExceededException"> /// You have reached the maximum number of event subscriptions. /// </exception> /// <exception cref="Amazon.RDS.Model.SNSInvalidTopicException"> /// SNS has responded that there is a problem with the SND topic specified. /// </exception> /// <exception cref="Amazon.RDS.Model.SNSNoAuthorizationException"> /// You do not have permission to publish to the SNS topic ARN. /// </exception> /// <exception cref="Amazon.RDS.Model.SNSTopicArnNotFoundException"> /// The SNS topic ARN does not exist. /// </exception> /// <exception cref="Amazon.RDS.Model.SourceNotFoundException"> /// The requested source could not be found. /// </exception> /// <exception cref="Amazon.RDS.Model.SubscriptionAlreadyExistException"> /// The supplied subscription name already exists. /// </exception> /// <exception cref="Amazon.RDS.Model.SubscriptionCategoryNotFoundException"> /// The supplied category does not exist. /// </exception> public CreateEventSubscriptionResponse CreateEventSubscription(CreateEventSubscriptionRequest request) { var marshaller = new CreateEventSubscriptionRequestMarshaller(); var unmarshaller = CreateEventSubscriptionResponseUnmarshaller.Instance; return Invoke<CreateEventSubscriptionRequest,CreateEventSubscriptionResponse>(request, marshaller, unmarshaller); }
/// <summary> /// Initiates the asynchronous execution of the CreateEventSubscription operation. /// <seealso cref="Amazon.RDS.IAmazonRDS.CreateEventSubscription"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateEventSubscription 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<CreateEventSubscriptionResponse> CreateEventSubscriptionAsync(CreateEventSubscriptionRequest request, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateEventSubscriptionRequestMarshaller(); var unmarshaller = CreateEventSubscriptionResponseUnmarshaller.GetInstance(); return Invoke<IRequest, CreateEventSubscriptionRequest, CreateEventSubscriptionResponse>(request, marshaller, unmarshaller, signer, cancellationToken); }
/// <summary> /// <para>Creates an RDS event notification subscription. This action requires a topic ARN (Amazon Resource Name) created by either the RDS /// console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the topic. The /// ARN is displayed in the SNS console.</para> <para>You can specify the type of source (SourceType) you want to be notified of, provide a list /// of RDS sources (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be /// notified of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories = /// Availability, Backup.</para> <para>If you specify both the SourceType and SourceIds, such as SourceType = db-instance and SourceIdentifier = /// myDBInstance1, you will be notified of all the db-instance events for the specified source. If you specify a SourceType but do not specify a /// SourceIdentifier, you will receive notice of the events for that source type for all your RDS sources. If you do not specify either the /// SourceType nor the SourceIdentifier, you will be notified of events generated from all RDS sources belonging to your customer /// account.</para> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateEventSubscription service method on /// AmazonRDS.</param> /// /// <returns>The response from the CreateEventSubscription service method, as returned by AmazonRDS.</returns> /// /// <exception cref="T:Amazon.RDS.Model.SourceNotFoundException" /> /// <exception cref="T:Amazon.RDS.Model.SNSTopicArnNotFoundException" /> /// <exception cref="T:Amazon.RDS.Model.SNSInvalidTopicException" /> /// <exception cref="T:Amazon.RDS.Model.SubscriptionCategoryNotFoundException" /> /// <exception cref="T:Amazon.RDS.Model.SNSNoAuthorizationException" /> /// <exception cref="T:Amazon.RDS.Model.EventSubscriptionQuotaExceededException" /> /// <exception cref="T:Amazon.RDS.Model.SubscriptionAlreadyExistException" /> public CreateEventSubscriptionResponse CreateEventSubscription(CreateEventSubscriptionRequest request) { var task = CreateEventSubscriptionAsync(request); try { return task.Result; } catch(AggregateException e) { ExceptionDispatchInfo.Capture(e.InnerException).Throw(); return null; } }
/// <summary> /// <para>Creates an RDS event notification subscription. This action requires a topic ARN (Amazon Resource Name) created by either the RDS /// console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the topic. The /// ARN is displayed in the SNS console.</para> <para>You can specify the type of source (SourceType) you want to be notified of, provide a list /// of RDS sources (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be /// notified of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories = /// Availability, Backup.</para> <para>If you specify both the SourceType and SourceIds, such as SourceType = db-instance and SourceIdentifier = /// myDBInstance1, you will be notified of all the db-instance events for the specified source. If you specify a SourceType but do not specify a /// SourceIdentifier, you will receive notice of the events for that source type for all your RDS sources. If you do not specify either the /// SourceType nor the SourceIdentifier, you will be notified of events generated from all RDS sources belonging to your customer /// account.</para> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateEventSubscription service method on /// AmazonRDS.</param> /// /// <returns>The response from the CreateEventSubscription service method, as returned by AmazonRDS.</returns> /// /// <exception cref="T:Amazon.RDS.Model.SourceNotFoundException" /> /// <exception cref="T:Amazon.RDS.Model.SNSTopicArnNotFoundException" /> /// <exception cref="T:Amazon.RDS.Model.SNSInvalidTopicException" /> /// <exception cref="T:Amazon.RDS.Model.SubscriptionCategoryNotFoundException" /> /// <exception cref="T:Amazon.RDS.Model.SNSNoAuthorizationException" /> /// <exception cref="T:Amazon.RDS.Model.EventSubscriptionQuotaExceededException" /> /// <exception cref="T:Amazon.RDS.Model.SubscriptionAlreadyExistException" /> public CreateEventSubscriptionResponse CreateEventSubscription(CreateEventSubscriptionRequest request) { var task = CreateEventSubscriptionAsync(request); try { return task.Result; } catch(AggregateException e) { throw e.InnerException; } }
/// <summary> /// <para>Creates an RDS event notification subscription. This action requires a topic ARN (Amazon Resource Name) created by either the RDS /// console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the topic. The /// ARN is displayed in the SNS console.</para> <para>You can specify the type of source (SourceType) you want to be notified of, provide a list /// of RDS sources (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be /// notified of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories = /// Availability, Backup.</para> <para>If you specify both the SourceType and SourceIds, such as SourceType = db-instance and SourceIdentifier = /// myDBInstance1, you will be notified of all the db-instance events for the specified source. If you specify a SourceType but do not specify a /// SourceIdentifier, you will receive notice of the events for that source type for all your RDS sources. If you do not specify either the /// SourceType nor the SourceIdentifier, you will be notified of events generated from all RDS sources belonging to your customer /// account.</para> /// </summary> /// /// <param name="createEventSubscriptionRequest">Container for the necessary parameters to execute the CreateEventSubscription service method on /// AmazonRDS.</param> /// /// <returns>The response from the CreateEventSubscription service method, as returned by AmazonRDS.</returns> /// /// <exception cref="T:Amazon.RDS.Model.SourceNotFoundException" /> /// <exception cref="T:Amazon.RDS.Model.SNSTopicArnNotFoundException" /> /// <exception cref="T:Amazon.RDS.Model.SNSInvalidTopicException" /> /// <exception cref="T:Amazon.RDS.Model.SubscriptionCategoryNotFoundException" /> /// <exception cref="T:Amazon.RDS.Model.SNSNoAuthorizationException" /> /// <exception cref="T:Amazon.RDS.Model.EventSubscriptionQuotaExceededException" /> /// <exception cref="T:Amazon.RDS.Model.SubscriptionAlreadyExistException" /> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> public async Task<CreateEventSubscriptionResponse> CreateEventSubscriptionAsync(CreateEventSubscriptionRequest createEventSubscriptionRequest, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateEventSubscriptionRequestMarshaller(); var unmarshaller = CreateEventSubscriptionResponseUnmarshaller.GetInstance(); var response = await Invoke<IRequest, CreateEventSubscriptionRequest, CreateEventSubscriptionResponse>(createEventSubscriptionRequest, marshaller, unmarshaller, signer, cancellationToken) .ConfigureAwait(continueOnCapturedContext: false); return response; }
/// <summary> /// Initiates the asynchronous execution of the CreateEventSubscription operation. /// <seealso cref="Amazon.RDS.IAmazonRDS"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateEventSubscription operation on AmazonRDSClient.</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 EndCreateEventSubscription /// operation.</returns> public IAsyncResult BeginCreateEventSubscription(CreateEventSubscriptionRequest request, AsyncCallback callback, object state) { var marshaller = new CreateEventSubscriptionRequestMarshaller(); var unmarshaller = CreateEventSubscriptionResponseUnmarshaller.Instance; return BeginInvoke<CreateEventSubscriptionRequest>(request, marshaller, unmarshaller, callback, state); }
private Amazon.RDS.Model.CreateEventSubscriptionResponse CallAWSServiceOperation(IAmazonRDS client, Amazon.RDS.Model.CreateEventSubscriptionRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Relational Database Service", "CreateEventSubscription"); try { #if DESKTOP return(client.CreateEventSubscription(request)); #elif CORECLR return(client.CreateEventSubscriptionAsync(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; } }