public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request var request = new Amazon.KeyManagementService.Model.ScheduleKeyDeletionRequest(); if (cmdletContext.KeyId != null) { request.KeyId = cmdletContext.KeyId; } if (cmdletContext.PendingWindowInDay != null) { request.PendingWindowInDays = cmdletContext.PendingWindowInDay.Value; } 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 ScheduleKeyDeletion operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the ScheduleKeyDeletion 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<ScheduleKeyDeletionResponse> ScheduleKeyDeletionAsync(ScheduleKeyDeletionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new ScheduleKeyDeletionRequestMarshaller(); var unmarshaller = ScheduleKeyDeletionResponseUnmarshaller.Instance; return InvokeAsync<ScheduleKeyDeletionRequest,ScheduleKeyDeletionResponse>(request, marshaller, unmarshaller, cancellationToken); }
/// <summary> /// Schedules the deletion of a customer master key (CMK). You may provide a waiting period, /// specified in days, before deletion occurs. If you do not provide a waiting period, /// the default period of 30 days is used. When this operation is successful, the state /// of the CMK changes to <code>PendingDeletion</code>. Before the waiting period ends, /// you can use <a>CancelKeyDeletion</a> to cancel the deletion of the CMK. After the /// waiting period ends, AWS KMS deletes the CMK and all AWS KMS data associated with /// it, including all aliases that refer to it. /// /// <important> /// <para> /// Deleting a CMK is a destructive and potentially dangerous operation. When a CMK is /// deleted, all data that was encrypted under the CMK is rendered unrecoverable. To restrict /// the use of a CMK without deleting it, use <a>DisableKey</a>. /// </para> /// </important> /// <para> /// For more information about scheduling a CMK for deletion, see <a href="http://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html">Deleting /// Customer Master Keys</a> in the <i>AWS Key Management Service Developer Guide</i>. /// </para> /// </summary> /// <param name="keyId">The unique identifier for the customer master key (CMK) to delete. To specify this value, use the unique key ID or the Amazon Resource Name (ARN) of the CMK. Examples: <ul> <li> Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab </li> <li> Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab </li> </ul> To obtain the unique key ID and key ARN for a given CMK, use <a>ListKeys</a> or <a>DescribeKey</a>.</param> /// <param name="pendingWindowInDays">The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the customer master key (CMK). This value is optional. If you include a value, it must be between 7 and 30, inclusive. If you do not include a value, it defaults to 30.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// /// <returns>The response from the ScheduleKeyDeletion service method, as returned by KeyManagementService.</returns> /// <exception cref="Amazon.KeyManagementService.Model.DependencyTimeoutException"> /// The system timed out while trying to fulfill the request. The request can be retried. /// </exception> /// <exception cref="Amazon.KeyManagementService.Model.InvalidArnException"> /// The request was rejected because a specified ARN was not valid. /// </exception> /// <exception cref="Amazon.KeyManagementService.Model.KMSInternalException"> /// The request was rejected because an internal exception occurred. The request can be /// retried. /// </exception> /// <exception cref="Amazon.KeyManagementService.Model.KMSInvalidStateException"> /// The request was rejected because the state of the specified resource is not valid /// for this request. /// /// /// <para> /// For more information about how key state affects the use of a CMK, see <a href="http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">How /// Key State Affects Use of a Customer Master Key</a> in the <i>AWS Key Management Service /// Developer Guide</i>. /// </para> /// </exception> /// <exception cref="Amazon.KeyManagementService.Model.NotFoundException"> /// The request was rejected because the specified entity or resource could not be found. /// </exception> public Task<ScheduleKeyDeletionResponse> ScheduleKeyDeletionAsync(string keyId, int pendingWindowInDays, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new ScheduleKeyDeletionRequest(); request.KeyId = keyId; request.PendingWindowInDays = pendingWindowInDays; return ScheduleKeyDeletionAsync(request, cancellationToken); }
/// <summary> /// Schedules the deletion of a customer master key (CMK). You may provide a waiting period, /// specified in days, before deletion occurs. If you do not provide a waiting period, /// the default period of 30 days is used. When this operation is successful, the state /// of the CMK changes to <code>PendingDeletion</code>. Before the waiting period ends, /// you can use <a>CancelKeyDeletion</a> to cancel the deletion of the CMK. After the /// waiting period ends, AWS KMS deletes the CMK and all AWS KMS data associated with /// it, including all aliases that refer to it. /// /// <important> /// <para> /// Deleting a CMK is a destructive and potentially dangerous operation. When a CMK is /// deleted, all data that was encrypted under the CMK is rendered unrecoverable. To restrict /// the use of a CMK without deleting it, use <a>DisableKey</a>. /// </para> /// </important> /// <para> /// For more information about scheduling a CMK for deletion, see <a href="http://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html">Deleting /// Customer Master Keys</a> in the <i>AWS Key Management Service Developer Guide</i>. /// </para> /// </summary> /// <param name="request">Container for the necessary parameters to execute the ScheduleKeyDeletion service method.</param> /// /// <returns>The response from the ScheduleKeyDeletion service method, as returned by KeyManagementService.</returns> /// <exception cref="Amazon.KeyManagementService.Model.DependencyTimeoutException"> /// The system timed out while trying to fulfill the request. The request can be retried. /// </exception> /// <exception cref="Amazon.KeyManagementService.Model.InvalidArnException"> /// The request was rejected because a specified ARN was not valid. /// </exception> /// <exception cref="Amazon.KeyManagementService.Model.KMSInternalException"> /// The request was rejected because an internal exception occurred. The request can be /// retried. /// </exception> /// <exception cref="Amazon.KeyManagementService.Model.KMSInvalidStateException"> /// The request was rejected because the state of the specified resource is not valid /// for this request. /// /// /// <para> /// For more information about how key state affects the use of a CMK, see <a href="http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">How /// Key State Affects Use of a Customer Master Key</a> in the <i>AWS Key Management Service /// Developer Guide</i>. /// </para> /// </exception> /// <exception cref="Amazon.KeyManagementService.Model.NotFoundException"> /// The request was rejected because the specified entity or resource could not be found. /// </exception> public ScheduleKeyDeletionResponse ScheduleKeyDeletion(ScheduleKeyDeletionRequest request) { var marshaller = new ScheduleKeyDeletionRequestMarshaller(); var unmarshaller = ScheduleKeyDeletionResponseUnmarshaller.Instance; return Invoke<ScheduleKeyDeletionRequest,ScheduleKeyDeletionResponse>(request, marshaller, unmarshaller); }
/// <summary> /// Schedules the deletion of a customer master key (CMK). You may provide a waiting period, /// specified in days, before deletion occurs. If you do not provide a waiting period, /// the default period of 30 days is used. When this operation is successful, the state /// of the CMK changes to <code>PendingDeletion</code>. Before the waiting period ends, /// you can use <a>CancelKeyDeletion</a> to cancel the deletion of the CMK. After the /// waiting period ends, AWS KMS deletes the CMK and all AWS KMS data associated with /// it, including all aliases that refer to it. /// /// <important> /// <para> /// Deleting a CMK is a destructive and potentially dangerous operation. When a CMK is /// deleted, all data that was encrypted under the CMK is rendered unrecoverable. To restrict /// the use of a CMK without deleting it, use <a>DisableKey</a>. /// </para> /// </important> /// <para> /// For more information about scheduling a CMK for deletion, see <a href="http://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html">Deleting /// Customer Master Keys</a> in the <i>AWS Key Management Service Developer Guide</i>. /// </para> /// </summary> /// <param name="keyId">The unique identifier for the customer master key (CMK) to delete. To specify this value, use the unique key ID or the Amazon Resource Name (ARN) of the CMK. Examples: <ul> <li> Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab </li> <li> Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab </li> </ul> To obtain the unique key ID and key ARN for a given CMK, use <a>ListKeys</a> or <a>DescribeKey</a>.</param> /// <param name="pendingWindowInDays">The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the customer master key (CMK). This value is optional. If you include a value, it must be between 7 and 30, inclusive. If you do not include a value, it defaults to 30.</param> /// /// <returns>The response from the ScheduleKeyDeletion service method, as returned by KeyManagementService.</returns> /// <exception cref="Amazon.KeyManagementService.Model.DependencyTimeoutException"> /// The system timed out while trying to fulfill the request. The request can be retried. /// </exception> /// <exception cref="Amazon.KeyManagementService.Model.InvalidArnException"> /// The request was rejected because a specified ARN was not valid. /// </exception> /// <exception cref="Amazon.KeyManagementService.Model.KMSInternalException"> /// The request was rejected because an internal exception occurred. The request can be /// retried. /// </exception> /// <exception cref="Amazon.KeyManagementService.Model.KMSInvalidStateException"> /// The request was rejected because the state of the specified resource is not valid /// for this request. /// /// /// <para> /// For more information about how key state affects the use of a CMK, see <a href="http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">How /// Key State Affects Use of a Customer Master Key</a> in the <i>AWS Key Management Service /// Developer Guide</i>. /// </para> /// </exception> /// <exception cref="Amazon.KeyManagementService.Model.NotFoundException"> /// The request was rejected because the specified entity or resource could not be found. /// </exception> public ScheduleKeyDeletionResponse ScheduleKeyDeletion(string keyId, int pendingWindowInDays) { var request = new ScheduleKeyDeletionRequest(); request.KeyId = keyId; request.PendingWindowInDays = pendingWindowInDays; return ScheduleKeyDeletion(request); }
/// <summary> /// Schedules the deletion of a customer master key (CMK). You may provide a waiting period, /// specified in days, before deletion occurs. If you do not provide a waiting period, /// the default period of 30 days is used. When this operation is successful, the state /// of the CMK changes to <code>PendingDeletion</code>. Before the waiting period ends, /// you can use <a>CancelKeyDeletion</a> to cancel the deletion of the CMK. After the /// waiting period ends, AWS KMS deletes the CMK and all AWS KMS data associated with /// it, including all aliases that refer to it. /// /// <important> /// <para> /// Deleting a CMK is a destructive and potentially dangerous operation. When a CMK is /// deleted, all data that was encrypted under the CMK is rendered unrecoverable. To restrict /// the use of a CMK without deleting it, use <a>DisableKey</a>. /// </para> /// </important> /// <para> /// For more information about scheduling a CMK for deletion, see <a href="http://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html">Deleting /// Customer Master Keys</a> in the <i>AWS Key Management Service Developer Guide</i>. /// </para> /// </summary> /// <param name="keyId">The unique identifier for the customer master key (CMK) to delete. To specify this value, use the unique key ID or the Amazon Resource Name (ARN) of the CMK. Examples: <ul> <li> Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab </li> <li> Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab </li> </ul> To obtain the unique key ID and key ARN for a given CMK, use <a>ListKeys</a> or <a>DescribeKey</a>.</param> /// /// <returns>The response from the ScheduleKeyDeletion service method, as returned by KeyManagementService.</returns> /// <exception cref="Amazon.KeyManagementService.Model.DependencyTimeoutException"> /// The system timed out while trying to fulfill the request. The request can be retried. /// </exception> /// <exception cref="Amazon.KeyManagementService.Model.InvalidArnException"> /// The request was rejected because a specified ARN was not valid. /// </exception> /// <exception cref="Amazon.KeyManagementService.Model.KMSInternalException"> /// The request was rejected because an internal exception occurred. The request can be /// retried. /// </exception> /// <exception cref="Amazon.KeyManagementService.Model.KMSInvalidStateException"> /// The request was rejected because the state of the specified resource is not valid /// for this request. /// /// /// <para> /// For more information about how key state affects the use of a CMK, see <a href="http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html">How /// Key State Affects Use of a Customer Master Key</a> in the <i>AWS Key Management Service /// Developer Guide</i>. /// </para> /// </exception> /// <exception cref="Amazon.KeyManagementService.Model.NotFoundException"> /// The request was rejected because the specified entity or resource could not be found. /// </exception> public ScheduleKeyDeletionResponse ScheduleKeyDeletion(string keyId) { var request = new ScheduleKeyDeletionRequest(); request.KeyId = keyId; return ScheduleKeyDeletion(request); }
private Amazon.KeyManagementService.Model.ScheduleKeyDeletionResponse CallAWSServiceOperation(IAmazonKeyManagementService client, Amazon.KeyManagementService.Model.ScheduleKeyDeletionRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Key Management Service", "ScheduleKeyDeletion"); try { #if DESKTOP return(client.ScheduleKeyDeletion(request)); #elif CORECLR return(client.ScheduleKeyDeletionAsync(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 ScheduleKeyDeletion operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the ScheduleKeyDeletion operation on AmazonKeyManagementServiceClient.</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 EndScheduleKeyDeletion /// operation.</returns> public IAsyncResult BeginScheduleKeyDeletion(ScheduleKeyDeletionRequest request, AsyncCallback callback, object state) { var marshaller = new ScheduleKeyDeletionRequestMarshaller(); var unmarshaller = ScheduleKeyDeletionResponseUnmarshaller.Instance; return BeginInvoke<ScheduleKeyDeletionRequest>(request, marshaller, unmarshaller, callback, state); }