/// <summary> /// Initiates the asynchronous execution of the CreateEventSubscription operation. /// <seealso cref="Amazon.Redshift.IAmazonRedshift.CreateEventSubscription"/> /// </summary> /// /// <param name="createEventSubscriptionRequest">Container for the necessary parameters to execute the CreateEventSubscription operation on /// AmazonRedshift.</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> /// Initiates the asynchronous execution of the CreateEventSubscription operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateEventSubscription operation on AmazonRedshiftClient.</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); }
/// <summary> /// <para> Creates an Amazon Redshift event notification subscription. This action requires an ARN (Amazon Resource Name) of an Amazon SNS topic /// created by either the Amazon Redshift console, the Amazon SNS console, or the Amazon SNS API. To obtain an ARN with Amazon 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 source /// type, and lists of Amazon Redshift source IDs, event categories, and event severities. Notifications will be sent for all events you want /// that match those criteria. For example, you can specify source type = cluster, source ID = my-cluster-1 and mycluster2, event categories = /// Availability, Backup, and severity = ERROR. The subscription will only send notifications for those ERROR events in the Availability and /// Backup categories for the specified clusters. </para> <para> If you specify both the source type and source IDs, such as source type = /// cluster and source identifier = my-cluster-1, notifications will be sent for all the cluster events for my-cluster-1. If you specify a /// source type but do not specify a source identifier, you will receive notice of the events for the objects of that type in your AWS account. /// If you do not specify either the SourceType nor the SourceIdentifier, you will be notified of events generated from all Amazon Redshift /// sources belonging to your AWS account. You must specify a source type if you specify a source ID. </para> /// </summary> /// /// <param name="createEventSubscriptionRequest">Container for the necessary parameters to execute the CreateEventSubscription service method on /// AmazonRedshift.</param> /// /// <returns>The response from the CreateEventSubscription service method, as returned by AmazonRedshift.</returns> /// /// <exception cref="SubscriptionCategoryNotFoundException"/> /// <exception cref="SubscriptionAlreadyExistException"/> /// <exception cref="EventSubscriptionQuotaExceededException"/> /// <exception cref="SubscriptionEventIdNotFoundException"/> /// <exception cref="SubscriptionSeverityNotFoundException"/> /// <exception cref="SourceNotFoundException"/> /// <exception cref="SNSNoAuthorizationException"/> /// <exception cref="SNSTopicArnNotFoundException"/> /// <exception cref="SNSInvalidTopicException"/> public CreateEventSubscriptionResponse CreateEventSubscription(CreateEventSubscriptionRequest createEventSubscriptionRequest) { IAsyncResult asyncResult = invokeCreateEventSubscription(createEventSubscriptionRequest, null, null, true); return EndCreateEventSubscription(asyncResult); }
/// <summary> /// <para> Creates an Amazon Redshift event notification subscription. This action requires an ARN (Amazon Resource Name) of an Amazon SNS topic /// created by either the Amazon Redshift console, the Amazon SNS console, or the Amazon SNS API. To obtain an ARN with Amazon 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 source /// type, and lists of Amazon Redshift source IDs, event categories, and event severities. Notifications will be sent for all events you want /// that match those criteria. For example, you can specify source type = cluster, source ID = my-cluster-1 and mycluster2, event categories = /// Availability, Backup, and severity = ERROR. The subscription will only send notifications for those ERROR events in the Availability and /// Backup categories for the specified clusters. </para> <para> If you specify both the source type and source IDs, such as source type = /// cluster and source identifier = my-cluster-1, notifications will be sent for all the cluster events for my-cluster-1. If you specify a /// source type but do not specify a source identifier, you will receive notice of the events for the objects of that type in your AWS account. /// If you do not specify either the SourceType nor the SourceIdentifier, you will be notified of events generated from all Amazon Redshift /// sources belonging to your AWS account. You must specify a source type if you specify a source ID. </para> /// </summary> /// /// <param name="createEventSubscriptionRequest">Container for the necessary parameters to execute the CreateEventSubscription service method on /// AmazonRedshift.</param> /// /// <returns>The response from the CreateEventSubscription service method, as returned by AmazonRedshift.</returns> /// /// <exception cref="T:Amazon.Redshift.Model.SubscriptionCategoryNotFoundException" /> /// <exception cref="T:Amazon.Redshift.Model.SubscriptionAlreadyExistException" /> /// <exception cref="T:Amazon.Redshift.Model.EventSubscriptionQuotaExceededException" /> /// <exception cref="T:Amazon.Redshift.Model.SubscriptionEventIdNotFoundException" /> /// <exception cref="T:Amazon.Redshift.Model.SubscriptionSeverityNotFoundException" /> /// <exception cref="T:Amazon.Redshift.Model.SourceNotFoundException" /> /// <exception cref="T:Amazon.Redshift.Model.SNSNoAuthorizationException" /> /// <exception cref="T:Amazon.Redshift.Model.SNSTopicArnNotFoundException" /> /// <exception cref="T:Amazon.Redshift.Model.SNSInvalidTopicException" /> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> public Task<CreateEventSubscriptionResponse> CreateEventSubscriptionAsync(CreateEventSubscriptionRequest createEventSubscriptionRequest, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateEventSubscriptionRequestMarshaller(); var unmarshaller = CreateEventSubscriptionResponseUnmarshaller.GetInstance(); return Invoke<IRequest, CreateEventSubscriptionRequest, CreateEventSubscriptionResponse>(createEventSubscriptionRequest, marshaller, unmarshaller, signer, cancellationToken); }
/// <summary> /// Creates an Amazon Redshift event notification subscription. This action requires /// an ARN (Amazon Resource Name) of an Amazon SNS topic created by either the Amazon /// Redshift console, the Amazon SNS console, or the Amazon SNS API. To obtain an ARN /// with Amazon 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 source type, and lists of Amazon Redshift source IDs, event categories, /// and event severities. Notifications will be sent for all events you want that match /// those criteria. For example, you can specify source type = cluster, source ID = my-cluster-1 /// and mycluster2, event categories = Availability, Backup, and severity = ERROR. The /// subscription will only send notifications for those ERROR events in the Availability /// and Backup categories for the specified clusters. /// </para> /// /// <para> /// If you specify both the source type and source IDs, such as source type = cluster /// and source identifier = my-cluster-1, notifications will be sent for all the cluster /// events for my-cluster-1. If you specify a source type but do not specify a source /// identifier, you will receive notice of the events for the objects of that type in /// your AWS account. If you do not specify either the SourceType nor the SourceIdentifier, /// you will be notified of events generated from all Amazon Redshift sources belonging /// to your AWS account. You must specify a source type if you specify a source ID. /// </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 Redshift.</returns> /// <exception cref="Amazon.Redshift.Model.EventSubscriptionQuotaExceededException"> /// The request would exceed the allowed number of event subscriptions for this account. /// For information about increasing your quota, go to <a href="http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html">Limits /// in Amazon Redshift</a> in the <i>Amazon Redshift Cluster Management Guide</i>. /// </exception> /// <exception cref="Amazon.Redshift.Model.InvalidTagException"> /// The tag is invalid. /// </exception> /// <exception cref="Amazon.Redshift.Model.SNSInvalidTopicException"> /// Amazon SNS has responded that there is a problem with the specified Amazon SNS topic. /// </exception> /// <exception cref="Amazon.Redshift.Model.SNSNoAuthorizationException"> /// You do not have permission to publish to the specified Amazon SNS topic. /// </exception> /// <exception cref="Amazon.Redshift.Model.SNSTopicArnNotFoundException"> /// An Amazon SNS topic with the specified Amazon Resource Name (ARN) does not exist. /// </exception> /// <exception cref="Amazon.Redshift.Model.SourceNotFoundException"> /// The specified Amazon Redshift event source could not be found. /// </exception> /// <exception cref="Amazon.Redshift.Model.SubscriptionAlreadyExistException"> /// There is already an existing event notification subscription with the specified name. /// </exception> /// <exception cref="Amazon.Redshift.Model.SubscriptionCategoryNotFoundException"> /// The value specified for the event category was not one of the allowed values, or it /// specified a category that does not apply to the specified source type. The allowed /// values are Configuration, Management, Monitoring, and Security. /// </exception> /// <exception cref="Amazon.Redshift.Model.SubscriptionEventIdNotFoundException"> /// An Amazon Redshift event with the specified event ID does not exist. /// </exception> /// <exception cref="Amazon.Redshift.Model.SubscriptionSeverityNotFoundException"> /// The value specified for the event severity was not one of the allowed values, or it /// specified a severity that does not apply to the specified source type. The allowed /// values are ERROR and INFO. /// </exception> /// <exception cref="Amazon.Redshift.Model.TagLimitExceededException"> /// The request exceeds the limit of 10 tags for the resource. /// </exception> public CreateEventSubscriptionResponse CreateEventSubscription(CreateEventSubscriptionRequest request) { var marshaller = new CreateEventSubscriptionRequestMarshaller(); var unmarshaller = CreateEventSubscriptionResponseUnmarshaller.Instance; return Invoke<CreateEventSubscriptionRequest,CreateEventSubscriptionResponse>(request, marshaller, unmarshaller); }
/// <summary> /// <para> Creates an Amazon Redshift event notification subscription. This action requires an ARN (Amazon Resource Name) of an Amazon SNS topic /// created by either the Amazon Redshift console, the Amazon SNS console, or the Amazon SNS API. To obtain an ARN with Amazon 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 source /// type, and lists of Amazon Redshift source IDs, event categories, and event severities. Notifications will be sent for all events you want /// that match those criteria. For example, you can specify source type = cluster, source ID = my-cluster-1 and mycluster2, event categories = /// Availability, Backup, and severity = ERROR. The subsription will only send notifications for those ERROR events in the Availability and /// Backup categores for the specified clusters. </para> <para> If you specify both the source type and source IDs, such as source type = /// cluster and source identifier = my-cluster-1, notifiactions will be sent for all the cluster events for my-cluster-1. If you specify a /// source type but do not specify a source identifier, you will receive notice of the events for the objects of that type in your AWS account. /// If you do not specify either the SourceType nor the SourceIdentifier, you will be notified of events generated from all Amazon Redshift /// sources belonging to your AWS account. You must specify a source type if you specify a source ID. </para> /// </summary> /// /// <param name="createEventSubscriptionRequest">Container for the necessary parameters to execute the CreateEventSubscription service method on /// AmazonRedshift.</param> /// /// <returns>The response from the CreateEventSubscription service method, as returned by AmazonRedshift.</returns> /// /// <exception cref="T:Amazon.Redshift.Model.SubscriptionCategoryNotFoundException" /> /// <exception cref="T:Amazon.Redshift.Model.SubscriptionAlreadyExistException" /> /// <exception cref="T:Amazon.Redshift.Model.EventSubscriptionQuotaExceededException" /> /// <exception cref="T:Amazon.Redshift.Model.SubscriptionEventIdNotFoundException" /> /// <exception cref="T:Amazon.Redshift.Model.SubscriptionSeverityNotFoundException" /> /// <exception cref="T:Amazon.Redshift.Model.SourceNotFoundException" /> /// <exception cref="T:Amazon.Redshift.Model.SNSNoAuthorizationException" /> /// <exception cref="T:Amazon.Redshift.Model.SNSTopicArnNotFoundException" /> /// <exception cref="T:Amazon.Redshift.Model.SNSInvalidTopicException" /> /// <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; }
internal CreateEventSubscriptionResponse CreateEventSubscription(CreateEventSubscriptionRequest request) { var task = CreateEventSubscriptionAsync(request); try { return task.Result; } catch(AggregateException e) { ExceptionDispatchInfo.Capture(e.InnerException).Throw(); return null; } }
internal CreateEventSubscriptionResponse CreateEventSubscription(CreateEventSubscriptionRequest request) { var task = CreateEventSubscriptionAsync(request); try { return task.Result; } catch(AggregateException e) { throw e.InnerException; } }
/// <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); }
IAsyncResult invokeCreateEventSubscription(CreateEventSubscriptionRequest request, AsyncCallback callback, object state, bool synchronized) { var marshaller = new CreateEventSubscriptionRequestMarshaller(); var unmarshaller = CreateEventSubscriptionResponseUnmarshaller.Instance; return Invoke(request, callback, state, synchronized, marshaller, unmarshaller, signer); }
private Amazon.Redshift.Model.CreateEventSubscriptionResponse CallAWSServiceOperation(IAmazonRedshift client, Amazon.Redshift.Model.CreateEventSubscriptionRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Redshift", "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; } }
public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request var request = new Amazon.Redshift.Model.CreateEventSubscriptionRequest(); if (cmdletContext.Enabled != null) { request.Enabled = cmdletContext.Enabled.Value; } if (cmdletContext.EventCategory != null) { request.EventCategories = cmdletContext.EventCategory; } if (cmdletContext.Severity != null) { request.Severity = cmdletContext.Severity; } 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); }