/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the payment-cryptography-2021-09-14.normal.json service model.
*/
using System;
using System.Runtime.ExceptionServices;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Net;
using Amazon.PaymentCryptography.Model;
using Amazon.PaymentCryptography.Model.Internal.MarshallTransformations;
using Amazon.PaymentCryptography.Internal;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
using Amazon.Runtime.Internal.Auth;
using Amazon.Runtime.Internal.Transform;
namespace Amazon.PaymentCryptography
{
///
/// Implementation for accessing PaymentCryptography
///
/// You use the Amazon Web Services Payment Cryptography Control Plane to manage the encryption
/// keys you use for payment-related cryptographic operations. You can create, import,
/// export, share, manage, and delete keys. You can also manage Identity and Access Management
/// (IAM) policies for keys. For more information, see Identity
/// and access management in the Amazon Web Services Payment Cryptography User
/// Guide.
///
///
///
/// To use encryption keys for payment-related transaction processing and associated cryptographic
/// operations, you use the Amazon
/// Web Services Payment Cryptography Data Plane. You can encrypt, decrypt, generate,
/// verify, and translate payment-related cryptographic operations.
///
///
///
/// All Amazon Web Services Payment Cryptography API calls must be signed and transmitted
/// using Transport Layer Security (TLS). We recommend you always use the latest supported
/// TLS version for logging API requests.
///
///
///
/// Amazon Web Services Payment Cryptography supports CloudTrail, a service that logs
/// Amazon Web Services API calls and related events for your Amazon Web Services account
/// and delivers them to an Amazon S3 bucket that you specify. By using the information
/// collected by CloudTrail, you can determine what requests were made to Amazon Web Services
/// Payment Cryptography, who made the request, when it was made, and so on. If you don't
/// configure a trail, you can still view the most recent events in the CloudTrail console.
/// For more information, see the CloudTrail
/// User Guide.
///
///
public partial class AmazonPaymentCryptographyClient : AmazonServiceClient, IAmazonPaymentCryptography
{
private static IServiceMetadata serviceMetadata = new AmazonPaymentCryptographyMetadata();
private IPaymentCryptographyPaginatorFactory _paginators;
///
/// Paginators for the service
///
public IPaymentCryptographyPaginatorFactory Paginators
{
get
{
if (this._paginators == null)
{
this._paginators = new PaymentCryptographyPaginatorFactory(this);
}
return this._paginators;
}
}
#region Constructors
///
/// Constructs AmazonPaymentCryptographyClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
public AmazonPaymentCryptographyClient()
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonPaymentCryptographyConfig()) { }
///
/// Constructs AmazonPaymentCryptographyClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
/// The region to connect.
public AmazonPaymentCryptographyClient(RegionEndpoint region)
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonPaymentCryptographyConfig{RegionEndpoint = region}) { }
///
/// Constructs AmazonPaymentCryptographyClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
/// The AmazonPaymentCryptographyClient Configuration Object
public AmazonPaymentCryptographyClient(AmazonPaymentCryptographyConfig config)
: base(FallbackCredentialsFactory.GetCredentials(config), config){}
///
/// Constructs AmazonPaymentCryptographyClient with AWS Credentials
///
/// AWS Credentials
public AmazonPaymentCryptographyClient(AWSCredentials credentials)
: this(credentials, new AmazonPaymentCryptographyConfig())
{
}
///
/// Constructs AmazonPaymentCryptographyClient with AWS Credentials
///
/// AWS Credentials
/// The region to connect.
public AmazonPaymentCryptographyClient(AWSCredentials credentials, RegionEndpoint region)
: this(credentials, new AmazonPaymentCryptographyConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonPaymentCryptographyClient with AWS Credentials and an
/// AmazonPaymentCryptographyClient Configuration object.
///
/// AWS Credentials
/// The AmazonPaymentCryptographyClient Configuration Object
public AmazonPaymentCryptographyClient(AWSCredentials credentials, AmazonPaymentCryptographyConfig clientConfig)
: base(credentials, clientConfig)
{
}
///
/// Constructs AmazonPaymentCryptographyClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
public AmazonPaymentCryptographyClient(string awsAccessKeyId, string awsSecretAccessKey)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonPaymentCryptographyConfig())
{
}
///
/// Constructs AmazonPaymentCryptographyClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The region to connect.
public AmazonPaymentCryptographyClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonPaymentCryptographyConfig() {RegionEndpoint=region})
{
}
///
/// Constructs AmazonPaymentCryptographyClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonPaymentCryptographyClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The AmazonPaymentCryptographyClient Configuration Object
public AmazonPaymentCryptographyClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonPaymentCryptographyConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, clientConfig)
{
}
///
/// Constructs AmazonPaymentCryptographyClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
public AmazonPaymentCryptographyClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonPaymentCryptographyConfig())
{
}
///
/// Constructs AmazonPaymentCryptographyClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The region to connect.
public AmazonPaymentCryptographyClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonPaymentCryptographyConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonPaymentCryptographyClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonPaymentCryptographyClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The AmazonPaymentCryptographyClient Configuration Object
public AmazonPaymentCryptographyClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonPaymentCryptographyConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig)
{
}
#endregion
#region Overrides
///
/// Creates the signer for the service.
///
protected override AbstractAWSSigner CreateSigner()
{
return new AWS4Signer();
}
///
/// Customize the pipeline
///
///
protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline)
{
pipeline.RemoveHandler();
pipeline.AddHandlerAfter(new AmazonPaymentCryptographyEndpointResolver());
}
///
/// Capture metadata for the service.
///
protected override IServiceMetadata ServiceMetadata
{
get
{
return serviceMetadata;
}
}
#endregion
#region Dispose
///
/// Disposes the service client.
///
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}
#endregion
#region CreateAlias
///
/// Creates an alias, or a friendly name, for an Amazon Web Services Payment Cryptography
/// key. You can use an alias to identify a key in the console and when you call cryptographic
/// operations such as EncryptData
/// or DecryptData.
///
///
///
/// You can associate the alias with any key in the same Amazon Web Services Region. Each
/// alias is associated with only one key at a time, but a key can have multiple aliases.
/// You can't create an alias without a key. The alias must be unique in the account and
/// Amazon Web Services Region, but you can create another alias with the same name in
/// a different Amazon Web Services Region.
///
///
///
/// To change the key that's associated with the alias, call UpdateAlias. To delete
/// the alias, call DeleteAlias. These operations don't affect the underlying key.
/// To get the alias that you created, call ListAliases.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the CreateAlias service method.
///
/// The response from the CreateAlias service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// This request would cause a service quota to be exceeded.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for CreateAlias Operation
public virtual CreateAliasResponse CreateAlias(CreateAliasRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateAliasRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateAliasResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates an alias, or a friendly name, for an Amazon Web Services Payment Cryptography
/// key. You can use an alias to identify a key in the console and when you call cryptographic
/// operations such as EncryptData
/// or DecryptData.
///
///
///
/// You can associate the alias with any key in the same Amazon Web Services Region. Each
/// alias is associated with only one key at a time, but a key can have multiple aliases.
/// You can't create an alias without a key. The alias must be unique in the account and
/// Amazon Web Services Region, but you can create another alias with the same name in
/// a different Amazon Web Services Region.
///
///
///
/// To change the key that's associated with the alias, call UpdateAlias. To delete
/// the alias, call DeleteAlias. These operations don't affect the underlying key.
/// To get the alias that you created, call ListAliases.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the CreateAlias service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateAlias service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// This request would cause a service quota to be exceeded.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for CreateAlias Operation
public virtual Task CreateAliasAsync(CreateAliasRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateAliasRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateAliasResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region CreateKey
///
/// Creates an Amazon Web Services Payment Cryptography key, a logical representation
/// of a cryptographic key, that is unique in your account and Amazon Web Services Region.
/// You use keys for cryptographic functions such as encryption and decryption.
///
///
///
/// In addition to the key material used in cryptographic operations, an Amazon Web Services
/// Payment Cryptography key includes metadata such as the key ARN, key usage, key origin,
/// creation date, description, and key state.
///
///
///
/// When you create a key, you specify both immutable and mutable data about the key.
/// The immutable data contains key attributes that defines the scope and cryptographic
/// operations that you can perform using the key, for example key class (example: SYMMETRIC_KEY
),
/// key algorithm (example: TDES_2KEY
), key usage (example: TR31_P0_PIN_ENCRYPTION_KEY
)
/// and key modes of use (example: Encrypt
). For information about valid
/// combinations of key attributes, see Understanding
/// key attributes in the Amazon Web Services Payment Cryptography User Guide.
/// The mutable data contained within a key includes usage timestamp and key deletion
/// timestamp and can be modified after creation.
///
///
///
/// Amazon Web Services Payment Cryptography binds key attributes to keys using key blocks
/// when you store or export them. Amazon Web Services Payment Cryptography stores the
/// key contents wrapped and never stores or transmits them in the clear.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the CreateKey service method.
///
/// The response from the CreateKey service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// This request would cause a service quota to be exceeded.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for CreateKey Operation
public virtual CreateKeyResponse CreateKey(CreateKeyRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateKeyRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateKeyResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates an Amazon Web Services Payment Cryptography key, a logical representation
/// of a cryptographic key, that is unique in your account and Amazon Web Services Region.
/// You use keys for cryptographic functions such as encryption and decryption.
///
///
///
/// In addition to the key material used in cryptographic operations, an Amazon Web Services
/// Payment Cryptography key includes metadata such as the key ARN, key usage, key origin,
/// creation date, description, and key state.
///
///
///
/// When you create a key, you specify both immutable and mutable data about the key.
/// The immutable data contains key attributes that defines the scope and cryptographic
/// operations that you can perform using the key, for example key class (example: SYMMETRIC_KEY
),
/// key algorithm (example: TDES_2KEY
), key usage (example: TR31_P0_PIN_ENCRYPTION_KEY
)
/// and key modes of use (example: Encrypt
). For information about valid
/// combinations of key attributes, see Understanding
/// key attributes in the Amazon Web Services Payment Cryptography User Guide.
/// The mutable data contained within a key includes usage timestamp and key deletion
/// timestamp and can be modified after creation.
///
///
///
/// Amazon Web Services Payment Cryptography binds key attributes to keys using key blocks
/// when you store or export them. Amazon Web Services Payment Cryptography stores the
/// key contents wrapped and never stores or transmits them in the clear.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the CreateKey service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateKey service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// This request would cause a service quota to be exceeded.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for CreateKey Operation
public virtual Task CreateKeyAsync(CreateKeyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateKeyRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateKeyResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteAlias
///
/// Deletes the alias, but doesn't affect the underlying key.
///
///
///
/// Each key can have multiple aliases. To get the aliases of all keys, use the ListAliases
/// operation. To change the alias of a key, first use DeleteAlias to delete the
/// current alias and then use CreateAlias to create a new alias. To associate
/// an existing alias with a different key, call UpdateAlias.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the DeleteAlias service method.
///
/// The response from the DeleteAlias service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for DeleteAlias Operation
public virtual DeleteAliasResponse DeleteAlias(DeleteAliasRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteAliasRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteAliasResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes the alias, but doesn't affect the underlying key.
///
///
///
/// Each key can have multiple aliases. To get the aliases of all keys, use the ListAliases
/// operation. To change the alias of a key, first use DeleteAlias to delete the
/// current alias and then use CreateAlias to create a new alias. To associate
/// an existing alias with a different key, call UpdateAlias.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the DeleteAlias service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteAlias service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for DeleteAlias Operation
public virtual Task DeleteAliasAsync(DeleteAliasRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteAliasRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteAliasResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteKey
///
/// Deletes the key material and all metadata associated with Amazon Web Services Payment
/// Cryptography key.
///
///
///
/// Key deletion is irreversible. After a key is deleted, you can't perform cryptographic
/// operations using the key. For example, you can't decrypt data that was encrypted by
/// a deleted Amazon Web Services Payment Cryptography key, and the data may become unrecoverable.
/// Because key deletion is destructive, Amazon Web Services Payment Cryptography has
/// a safety mechanism to prevent accidental deletion of a key. When you call this operation,
/// Amazon Web Services Payment Cryptography disables the specified key but doesn't delete
/// it until after a waiting period. The default waiting period is 7 days. To set a different
/// waiting period, set DeleteKeyInDays
. During the waiting period, the KeyState
/// is DELETE_PENDING
. After the key is deleted, the KeyState
/// is DELETE_COMPLETE
.
///
///
///
/// If you delete key material, you can use ImportKey to reimport the same key
/// material into the Amazon Web Services Payment Cryptography key.
///
///
///
/// You should delete a key only when you are sure that you don't need to use it anymore
/// and no other parties are utilizing this key. If you aren't sure, consider deactivating
/// it instead by calling StopKeyUsage.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the DeleteKey service method.
///
/// The response from the DeleteKey service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for DeleteKey Operation
public virtual DeleteKeyResponse DeleteKey(DeleteKeyRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteKeyRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteKeyResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes the key material and all metadata associated with Amazon Web Services Payment
/// Cryptography key.
///
///
///
/// Key deletion is irreversible. After a key is deleted, you can't perform cryptographic
/// operations using the key. For example, you can't decrypt data that was encrypted by
/// a deleted Amazon Web Services Payment Cryptography key, and the data may become unrecoverable.
/// Because key deletion is destructive, Amazon Web Services Payment Cryptography has
/// a safety mechanism to prevent accidental deletion of a key. When you call this operation,
/// Amazon Web Services Payment Cryptography disables the specified key but doesn't delete
/// it until after a waiting period. The default waiting period is 7 days. To set a different
/// waiting period, set DeleteKeyInDays
. During the waiting period, the KeyState
/// is DELETE_PENDING
. After the key is deleted, the KeyState
/// is DELETE_COMPLETE
.
///
///
///
/// If you delete key material, you can use ImportKey to reimport the same key
/// material into the Amazon Web Services Payment Cryptography key.
///
///
///
/// You should delete a key only when you are sure that you don't need to use it anymore
/// and no other parties are utilizing this key. If you aren't sure, consider deactivating
/// it instead by calling StopKeyUsage.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the DeleteKey service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteKey service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for DeleteKey Operation
public virtual Task DeleteKeyAsync(DeleteKeyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteKeyRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteKeyResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ExportKey
///
/// Exports a key from Amazon Web Services Payment Cryptography using either ANSI X9 TR-34
/// or TR-31 key export standard.
///
///
///
/// Amazon Web Services Payment Cryptography simplifies main or root key exchange process
/// by eliminating the need of a paper-based key exchange process. It takes a modern and
/// secure approach based of the ANSI X9 TR-34 key exchange standard.
///
///
///
/// You can use ExportKey
to export main or root keys such as KEK (Key Encryption
/// Key), using asymmetric key exchange technique following ANSI X9 TR-34 standard. The
/// ANSI X9 TR-34 standard uses asymmetric keys to establishes bi-directional trust between
/// the two parties exchanging keys. After which you can export working keys using the
/// ANSI X9 TR-31 symmetric key exchange standard as mandated by PCI PIN. Using this operation,
/// you can share your Amazon Web Services Payment Cryptography generated keys with other
/// service partners to perform cryptographic operations outside of Amazon Web Services
/// Payment Cryptography
///
///
///
/// TR-34 key export
///
///
///
/// Amazon Web Services Payment Cryptography uses TR-34 asymmetric key exchange standard
/// to export main keys such as KEK. In TR-34 terminology, the sending party of the key
/// is called Key Distribution Host (KDH) and the receiving party of the key is called
/// Key Receiving Host (KRH). In key export process, KDH is Amazon Web Services Payment
/// Cryptography which initiates key export. KRH is the user receiving the key. Before
/// you initiate TR-34 key export, you must obtain an export token by calling GetParametersForExport.
/// This operation also returns the signing key certificate that KDH uses to sign the
/// wrapped key to generate a TR-34 wrapped key block. The export token expires after
/// 7 days.
///
///
///
/// Set the following parameters:
///
/// - CertificateAuthorityPublicKeyIdentifier
-
///
/// The
KeyARN
of the certificate chain that will sign the wrapping key certificate.
/// This must exist within Amazon Web Services Payment Cryptography before you initiate
/// TR-34 key export. If it does not exist, you can import it by calling ImportKey
/// for RootCertificatePublicKey
.
///
/// - ExportToken
-
///
/// Obtained from KDH by calling GetParametersForExport.
///
///
- WrappingKeyCertificate
-
///
/// Amazon Web Services Payment Cryptography uses this to wrap the key under export.
///
///
///
/// When this operation is successful, Amazon Web Services Payment Cryptography returns
/// the TR-34 wrapped key block.
///
///
///
/// TR-31 key export
///
///
///
/// Amazon Web Services Payment Cryptography uses TR-31 symmetric key exchange standard
/// to export working keys. In TR-31, you must use a main key such as KEK to encrypt or
/// wrap the key under export. To establish a KEK, you can use CreateKey or ImportKey.
/// When this operation is successful, Amazon Web Services Payment Cryptography returns
/// a TR-31 wrapped key block.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the ExportKey service method.
///
/// The response from the ExportKey service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for ExportKey Operation
public virtual ExportKeyResponse ExportKey(ExportKeyRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ExportKeyRequestMarshaller.Instance;
options.ResponseUnmarshaller = ExportKeyResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Exports a key from Amazon Web Services Payment Cryptography using either ANSI X9 TR-34
/// or TR-31 key export standard.
///
///
///
/// Amazon Web Services Payment Cryptography simplifies main or root key exchange process
/// by eliminating the need of a paper-based key exchange process. It takes a modern and
/// secure approach based of the ANSI X9 TR-34 key exchange standard.
///
///
///
/// You can use ExportKey
to export main or root keys such as KEK (Key Encryption
/// Key), using asymmetric key exchange technique following ANSI X9 TR-34 standard. The
/// ANSI X9 TR-34 standard uses asymmetric keys to establishes bi-directional trust between
/// the two parties exchanging keys. After which you can export working keys using the
/// ANSI X9 TR-31 symmetric key exchange standard as mandated by PCI PIN. Using this operation,
/// you can share your Amazon Web Services Payment Cryptography generated keys with other
/// service partners to perform cryptographic operations outside of Amazon Web Services
/// Payment Cryptography
///
///
///
/// TR-34 key export
///
///
///
/// Amazon Web Services Payment Cryptography uses TR-34 asymmetric key exchange standard
/// to export main keys such as KEK. In TR-34 terminology, the sending party of the key
/// is called Key Distribution Host (KDH) and the receiving party of the key is called
/// Key Receiving Host (KRH). In key export process, KDH is Amazon Web Services Payment
/// Cryptography which initiates key export. KRH is the user receiving the key. Before
/// you initiate TR-34 key export, you must obtain an export token by calling GetParametersForExport.
/// This operation also returns the signing key certificate that KDH uses to sign the
/// wrapped key to generate a TR-34 wrapped key block. The export token expires after
/// 7 days.
///
///
///
/// Set the following parameters:
///
/// - CertificateAuthorityPublicKeyIdentifier
-
///
/// The
KeyARN
of the certificate chain that will sign the wrapping key certificate.
/// This must exist within Amazon Web Services Payment Cryptography before you initiate
/// TR-34 key export. If it does not exist, you can import it by calling ImportKey
/// for RootCertificatePublicKey
.
///
/// - ExportToken
-
///
/// Obtained from KDH by calling GetParametersForExport.
///
///
- WrappingKeyCertificate
-
///
/// Amazon Web Services Payment Cryptography uses this to wrap the key under export.
///
///
///
/// When this operation is successful, Amazon Web Services Payment Cryptography returns
/// the TR-34 wrapped key block.
///
///
///
/// TR-31 key export
///
///
///
/// Amazon Web Services Payment Cryptography uses TR-31 symmetric key exchange standard
/// to export working keys. In TR-31, you must use a main key such as KEK to encrypt or
/// wrap the key under export. To establish a KEK, you can use CreateKey or ImportKey.
/// When this operation is successful, Amazon Web Services Payment Cryptography returns
/// a TR-31 wrapped key block.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the ExportKey service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ExportKey service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for ExportKey Operation
public virtual Task ExportKeyAsync(ExportKeyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ExportKeyRequestMarshaller.Instance;
options.ResponseUnmarshaller = ExportKeyResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetAlias
///
/// Gets the Amazon Web Services Payment Cryptography key associated with the alias.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the GetAlias service method.
///
/// The response from the GetAlias service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for GetAlias Operation
public virtual GetAliasResponse GetAlias(GetAliasRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetAliasRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetAliasResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets the Amazon Web Services Payment Cryptography key associated with the alias.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the GetAlias service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetAlias service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for GetAlias Operation
public virtual Task GetAliasAsync(GetAliasRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetAliasRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetAliasResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetKey
///
/// Gets the key material for an Amazon Web Services Payment Cryptography key, including
/// the immutable and mutable data specified when the key was created.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the GetKey service method.
///
/// The response from the GetKey service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for GetKey Operation
public virtual GetKeyResponse GetKey(GetKeyRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetKeyRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetKeyResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets the key material for an Amazon Web Services Payment Cryptography key, including
/// the immutable and mutable data specified when the key was created.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the GetKey service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetKey service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for GetKey Operation
public virtual Task GetKeyAsync(GetKeyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetKeyRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetKeyResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetParametersForExport
///
/// Gets the export token and the signing key certificate to initiate a TR-34 key export
/// from Amazon Web Services Payment Cryptography.
///
///
///
/// The signing key certificate signs the wrapped key under export within the TR-34 key
/// payload. The export token and signing key certificate must be in place and operational
/// before calling ExportKey. The export token expires in 7 days. You can use the
/// same export token to export multiple keys from your service account.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the GetParametersForExport service method.
///
/// The response from the GetParametersForExport service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// This request would cause a service quota to be exceeded.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for GetParametersForExport Operation
public virtual GetParametersForExportResponse GetParametersForExport(GetParametersForExportRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetParametersForExportRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetParametersForExportResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets the export token and the signing key certificate to initiate a TR-34 key export
/// from Amazon Web Services Payment Cryptography.
///
///
///
/// The signing key certificate signs the wrapped key under export within the TR-34 key
/// payload. The export token and signing key certificate must be in place and operational
/// before calling ExportKey. The export token expires in 7 days. You can use the
/// same export token to export multiple keys from your service account.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the GetParametersForExport service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetParametersForExport service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// This request would cause a service quota to be exceeded.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for GetParametersForExport Operation
public virtual Task GetParametersForExportAsync(GetParametersForExportRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetParametersForExportRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetParametersForExportResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetParametersForImport
///
/// Gets the import token and the wrapping key certificate to initiate a TR-34 key import
/// into Amazon Web Services Payment Cryptography.
///
///
///
/// The wrapping key certificate wraps the key under import within the TR-34 key payload.
/// The import token and wrapping key certificate must be in place and operational before
/// calling ImportKey. The import token expires in 7 days. The same import token
/// can be used to import multiple keys into your service account.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the GetParametersForImport service method.
///
/// The response from the GetParametersForImport service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// This request would cause a service quota to be exceeded.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for GetParametersForImport Operation
public virtual GetParametersForImportResponse GetParametersForImport(GetParametersForImportRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetParametersForImportRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetParametersForImportResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets the import token and the wrapping key certificate to initiate a TR-34 key import
/// into Amazon Web Services Payment Cryptography.
///
///
///
/// The wrapping key certificate wraps the key under import within the TR-34 key payload.
/// The import token and wrapping key certificate must be in place and operational before
/// calling ImportKey. The import token expires in 7 days. The same import token
/// can be used to import multiple keys into your service account.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the GetParametersForImport service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetParametersForImport service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// This request would cause a service quota to be exceeded.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for GetParametersForImport Operation
public virtual Task GetParametersForImportAsync(GetParametersForImportRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetParametersForImportRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetParametersForImportResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetPublicKeyCertificate
///
/// Gets the public key certificate of the asymmetric key pair that exists within Amazon
/// Web Services Payment Cryptography.
///
///
///
/// Unlike the private key of an asymmetric key, which never leaves Amazon Web Services
/// Payment Cryptography unencrypted, callers with GetPublicKeyCertificate
/// permission can download the public key certificate of the asymmetric key. You can
/// share the public key certificate to allow others to encrypt messages and verify signatures
/// outside of Amazon Web Services Payment Cryptography
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
/// Container for the necessary parameters to execute the GetPublicKeyCertificate service method.
///
/// The response from the GetPublicKeyCertificate service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for GetPublicKeyCertificate Operation
public virtual GetPublicKeyCertificateResponse GetPublicKeyCertificate(GetPublicKeyCertificateRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetPublicKeyCertificateRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetPublicKeyCertificateResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets the public key certificate of the asymmetric key pair that exists within Amazon
/// Web Services Payment Cryptography.
///
///
///
/// Unlike the private key of an asymmetric key, which never leaves Amazon Web Services
/// Payment Cryptography unencrypted, callers with GetPublicKeyCertificate
/// permission can download the public key certificate of the asymmetric key. You can
/// share the public key certificate to allow others to encrypt messages and verify signatures
/// outside of Amazon Web Services Payment Cryptography
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
/// Container for the necessary parameters to execute the GetPublicKeyCertificate service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetPublicKeyCertificate service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for GetPublicKeyCertificate Operation
public virtual Task GetPublicKeyCertificateAsync(GetPublicKeyCertificateRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetPublicKeyCertificateRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetPublicKeyCertificateResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ImportKey
///
/// Imports keys and public key certificates into Amazon Web Services Payment Cryptography.
///
///
///
/// Amazon Web Services Payment Cryptography simplifies main or root key exchange process
/// by eliminating the need of a paper-based key exchange process. It takes a modern and
/// secure approach based of the ANSI X9 TR-34 key exchange standard.
///
///
///
/// You can use ImportKey
to import main or root keys such as KEK (Key Encryption
/// Key) using asymmetric key exchange technique following the ANSI X9 TR-34 standard.
/// The ANSI X9 TR-34 standard uses asymmetric keys to establishes bi-directional trust
/// between the two parties exchanging keys.
///
///
///
/// After you have imported a main or root key, you can import working keys to perform
/// various cryptographic operations within Amazon Web Services Payment Cryptography using
/// the ANSI X9 TR-31 symmetric key exchange standard as mandated by PCI PIN.
///
///
///
/// You can also import a root public key certificate, a self-signed certificate
/// used to sign other public key certificates, or a trusted public key certificate
/// under an already established root public key certificate.
///
///
///
/// To import a public root key certificate
///
///
///
/// Using this operation, you can import the public component (in PEM cerificate format)
/// of your private root key. You can use the imported public root key certificate for
/// digital signatures, for example signing wrapping key or signing key in TR-34, within
/// your Amazon Web Services Payment Cryptography account.
///
///
///
/// Set the following parameters:
///
/// -
///
///
KeyMaterial
: RootCertificatePublicKey
///
/// -
///
///
KeyClass
: PUBLIC_KEY
///
/// -
///
///
KeyModesOfUse
: Verify
///
/// -
///
///
KeyUsage
: TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE
///
///
/// -
///
///
PublicKeyCertificate
: The certificate authority used to sign the root
/// public key certificate.
///
///
///
/// To import a trusted public key certificate
///
///
///
/// The root public key certificate must be in place and operational before you import
/// a trusted public key certificate. Set the following parameters:
///
/// -
///
///
KeyMaterial
: TrustedCertificatePublicKey
///
/// -
///
///
CertificateAuthorityPublicKeyIdentifier
: KeyArn
of the
/// RootCertificatePublicKey
.
///
/// -
///
///
KeyModesOfUse
and KeyUsage
: Corresponding to the cryptographic
/// operations such as wrap, sign, or encrypt that you will allow the trusted public key
/// certificate to perform.
///
/// -
///
///
PublicKeyCertificate
: The certificate authority used to sign the trusted
/// public key certificate.
///
///
///
/// Import main keys
///
///
///
/// Amazon Web Services Payment Cryptography uses TR-34 asymmetric key exchange standard
/// to import main keys such as KEK. In TR-34 terminology, the sending party of the key
/// is called Key Distribution Host (KDH) and the receiving party of the key is called
/// Key Receiving Host (KRH). During the key import process, KDH is the user who initiates
/// the key import and KRH is Amazon Web Services Payment Cryptography who receives the
/// key. Before initiating TR-34 key import, you must obtain an import token by calling
/// GetParametersForImport. This operation also returns the wrapping key certificate
/// that KDH uses wrap key under import to generate a TR-34 wrapped key block. The import
/// token expires after 7 days.
///
///
///
/// Set the following parameters:
///
/// -
///
///
CertificateAuthorityPublicKeyIdentifier
: The KeyArn
of
/// the certificate chain that will sign the signing key certificate and should exist
/// within Amazon Web Services Payment Cryptography before initiating TR-34 key import.
/// If it does not exist, you can import it by calling by calling ImportKey
/// for RootCertificatePublicKey
.
///
/// -
///
///
ImportToken
: Obtained from KRH by calling GetParametersForImport.
///
/// -
///
///
WrappedKeyBlock
: The TR-34 wrapped key block from KDH. It contains the
/// KDH key under import, wrapped with KRH provided wrapping key certificate and signed
/// by the KDH private signing key. This TR-34 key block is generated by the KDH Hardware
/// Security Module (HSM) outside of Amazon Web Services Payment Cryptography.
///
/// -
///
///
SigningKeyCertificate
: The public component of the private key that
/// signed the KDH TR-34 wrapped key block. In PEM certificate format.
///
///
///
/// TR-34 is intended primarily to exchange 3DES keys. Your ability to export AES-128
/// and larger AES keys may be dependent on your source system.
///
///
///
/// Import working keys
///
///
///
/// Amazon Web Services Payment Cryptography uses TR-31 symmetric key exchange standard
/// to import working keys. A KEK must be established within Amazon Web Services Payment
/// Cryptography by using TR-34 key import. To initiate a TR-31 key import, set the following
/// parameters:
///
/// -
///
///
WrappedKeyBlock
: The key under import and encrypted using KEK. The TR-31
/// key block generated by your HSM outside of Amazon Web Services Payment Cryptography.
///
///
/// -
///
///
WrappingKeyIdentifier
: The KeyArn
of the KEK that Amazon
/// Web Services Payment Cryptography uses to decrypt or unwrap the key under import.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the ImportKey service method.
///
/// The response from the ImportKey service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// This request would cause a service quota to be exceeded.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for ImportKey Operation
public virtual ImportKeyResponse ImportKey(ImportKeyRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ImportKeyRequestMarshaller.Instance;
options.ResponseUnmarshaller = ImportKeyResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Imports keys and public key certificates into Amazon Web Services Payment Cryptography.
///
///
///
/// Amazon Web Services Payment Cryptography simplifies main or root key exchange process
/// by eliminating the need of a paper-based key exchange process. It takes a modern and
/// secure approach based of the ANSI X9 TR-34 key exchange standard.
///
///
///
/// You can use ImportKey
to import main or root keys such as KEK (Key Encryption
/// Key) using asymmetric key exchange technique following the ANSI X9 TR-34 standard.
/// The ANSI X9 TR-34 standard uses asymmetric keys to establishes bi-directional trust
/// between the two parties exchanging keys.
///
///
///
/// After you have imported a main or root key, you can import working keys to perform
/// various cryptographic operations within Amazon Web Services Payment Cryptography using
/// the ANSI X9 TR-31 symmetric key exchange standard as mandated by PCI PIN.
///
///
///
/// You can also import a root public key certificate, a self-signed certificate
/// used to sign other public key certificates, or a trusted public key certificate
/// under an already established root public key certificate.
///
///
///
/// To import a public root key certificate
///
///
///
/// Using this operation, you can import the public component (in PEM cerificate format)
/// of your private root key. You can use the imported public root key certificate for
/// digital signatures, for example signing wrapping key or signing key in TR-34, within
/// your Amazon Web Services Payment Cryptography account.
///
///
///
/// Set the following parameters:
///
/// -
///
///
KeyMaterial
: RootCertificatePublicKey
///
/// -
///
///
KeyClass
: PUBLIC_KEY
///
/// -
///
///
KeyModesOfUse
: Verify
///
/// -
///
///
KeyUsage
: TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE
///
///
/// -
///
///
PublicKeyCertificate
: The certificate authority used to sign the root
/// public key certificate.
///
///
///
/// To import a trusted public key certificate
///
///
///
/// The root public key certificate must be in place and operational before you import
/// a trusted public key certificate. Set the following parameters:
///
/// -
///
///
KeyMaterial
: TrustedCertificatePublicKey
///
/// -
///
///
CertificateAuthorityPublicKeyIdentifier
: KeyArn
of the
/// RootCertificatePublicKey
.
///
/// -
///
///
KeyModesOfUse
and KeyUsage
: Corresponding to the cryptographic
/// operations such as wrap, sign, or encrypt that you will allow the trusted public key
/// certificate to perform.
///
/// -
///
///
PublicKeyCertificate
: The certificate authority used to sign the trusted
/// public key certificate.
///
///
///
/// Import main keys
///
///
///
/// Amazon Web Services Payment Cryptography uses TR-34 asymmetric key exchange standard
/// to import main keys such as KEK. In TR-34 terminology, the sending party of the key
/// is called Key Distribution Host (KDH) and the receiving party of the key is called
/// Key Receiving Host (KRH). During the key import process, KDH is the user who initiates
/// the key import and KRH is Amazon Web Services Payment Cryptography who receives the
/// key. Before initiating TR-34 key import, you must obtain an import token by calling
/// GetParametersForImport. This operation also returns the wrapping key certificate
/// that KDH uses wrap key under import to generate a TR-34 wrapped key block. The import
/// token expires after 7 days.
///
///
///
/// Set the following parameters:
///
/// -
///
///
CertificateAuthorityPublicKeyIdentifier
: The KeyArn
of
/// the certificate chain that will sign the signing key certificate and should exist
/// within Amazon Web Services Payment Cryptography before initiating TR-34 key import.
/// If it does not exist, you can import it by calling by calling ImportKey
/// for RootCertificatePublicKey
.
///
/// -
///
///
ImportToken
: Obtained from KRH by calling GetParametersForImport.
///
/// -
///
///
WrappedKeyBlock
: The TR-34 wrapped key block from KDH. It contains the
/// KDH key under import, wrapped with KRH provided wrapping key certificate and signed
/// by the KDH private signing key. This TR-34 key block is generated by the KDH Hardware
/// Security Module (HSM) outside of Amazon Web Services Payment Cryptography.
///
/// -
///
///
SigningKeyCertificate
: The public component of the private key that
/// signed the KDH TR-34 wrapped key block. In PEM certificate format.
///
///
///
/// TR-34 is intended primarily to exchange 3DES keys. Your ability to export AES-128
/// and larger AES keys may be dependent on your source system.
///
///
///
/// Import working keys
///
///
///
/// Amazon Web Services Payment Cryptography uses TR-31 symmetric key exchange standard
/// to import working keys. A KEK must be established within Amazon Web Services Payment
/// Cryptography by using TR-34 key import. To initiate a TR-31 key import, set the following
/// parameters:
///
/// -
///
///
WrappedKeyBlock
: The key under import and encrypted using KEK. The TR-31
/// key block generated by your HSM outside of Amazon Web Services Payment Cryptography.
///
///
/// -
///
///
WrappingKeyIdentifier
: The KeyArn
of the KEK that Amazon
/// Web Services Payment Cryptography uses to decrypt or unwrap the key under import.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the ImportKey service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ImportKey service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// This request would cause a service quota to be exceeded.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for ImportKey Operation
public virtual Task ImportKeyAsync(ImportKeyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ImportKeyRequestMarshaller.Instance;
options.ResponseUnmarshaller = ImportKeyResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListAliases
///
/// Lists the aliases for all keys in the caller's Amazon Web Services account and Amazon
/// Web Services Region. You can filter the list of aliases. For more information, see
/// Using
/// aliases in the Amazon Web Services Payment Cryptography User Guide.
///
///
///
/// This is a paginated operation, which means that each response might contain only a
/// subset of all the aliases. When the response contains only a subset of aliases, it
/// includes a NextToken
value. Use this value in a subsequent ListAliases
/// request to get more aliases. When you receive a response with no NextToken (or an
/// empty or null value), that means there are no more aliases to get.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the ListAliases service method.
///
/// The response from the ListAliases service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for ListAliases Operation
public virtual ListAliasesResponse ListAliases(ListAliasesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListAliasesRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListAliasesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Lists the aliases for all keys in the caller's Amazon Web Services account and Amazon
/// Web Services Region. You can filter the list of aliases. For more information, see
/// Using
/// aliases in the Amazon Web Services Payment Cryptography User Guide.
///
///
///
/// This is a paginated operation, which means that each response might contain only a
/// subset of all the aliases. When the response contains only a subset of aliases, it
/// includes a NextToken
value. Use this value in a subsequent ListAliases
/// request to get more aliases. When you receive a response with no NextToken (or an
/// empty or null value), that means there are no more aliases to get.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the ListAliases service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListAliases service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for ListAliases Operation
public virtual Task ListAliasesAsync(ListAliasesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListAliasesRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListAliasesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListKeys
///
/// Lists the keys in the caller's Amazon Web Services account and Amazon Web Services
/// Region. You can filter the list of keys.
///
///
///
/// This is a paginated operation, which means that each response might contain only a
/// subset of all the keys. When the response contains only a subset of keys, it includes
/// a NextToken
value. Use this value in a subsequent ListKeys
/// request to get more keys. When you receive a response with no NextToken (or an empty
/// or null value), that means there are no more keys to get.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the ListKeys service method.
///
/// The response from the ListKeys service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for ListKeys Operation
public virtual ListKeysResponse ListKeys(ListKeysRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListKeysRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListKeysResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Lists the keys in the caller's Amazon Web Services account and Amazon Web Services
/// Region. You can filter the list of keys.
///
///
///
/// This is a paginated operation, which means that each response might contain only a
/// subset of all the keys. When the response contains only a subset of keys, it includes
/// a NextToken
value. Use this value in a subsequent ListKeys
/// request to get more keys. When you receive a response with no NextToken (or an empty
/// or null value), that means there are no more keys to get.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the ListKeys service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListKeys service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for ListKeys Operation
public virtual Task ListKeysAsync(ListKeysRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListKeysRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListKeysResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListTagsForResource
///
/// Lists the tags for an Amazon Web Services resource.
///
///
///
/// This is a paginated operation, which means that each response might contain only a
/// subset of all the tags. When the response contains only a subset of tags, it includes
/// a NextToken
value. Use this value in a subsequent ListTagsForResource
/// request to get more tags. When you receive a response with no NextToken (or an empty
/// or null value), that means there are no more tags to get.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// The response from the ListTagsForResource service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for ListTagsForResource Operation
public virtual ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Lists the tags for an Amazon Web Services resource.
///
///
///
/// This is a paginated operation, which means that each response might contain only a
/// subset of all the tags. When the response contains only a subset of tags, it includes
/// a NextToken
value. Use this value in a subsequent ListTagsForResource
/// request to get more tags. When you receive a response with no NextToken (or an empty
/// or null value), that means there are no more tags to get.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListTagsForResource service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for ListTagsForResource Operation
public virtual Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region RestoreKey
///
/// Cancels a scheduled key deletion during the waiting period. Use this operation to
/// restore a Key
that is scheduled for deletion.
///
///
///
/// During the waiting period, the KeyState
is DELETE_PENDING
/// and deletePendingTimestamp
contains the date and time after which the
/// Key
will be deleted. After Key
is restored, the KeyState
/// is CREATE_COMPLETE
, and the value for deletePendingTimestamp
/// is removed.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the RestoreKey service method.
///
/// The response from the RestoreKey service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// This request would cause a service quota to be exceeded.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for RestoreKey Operation
public virtual RestoreKeyResponse RestoreKey(RestoreKeyRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = RestoreKeyRequestMarshaller.Instance;
options.ResponseUnmarshaller = RestoreKeyResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Cancels a scheduled key deletion during the waiting period. Use this operation to
/// restore a Key
that is scheduled for deletion.
///
///
///
/// During the waiting period, the KeyState
is DELETE_PENDING
/// and deletePendingTimestamp
contains the date and time after which the
/// Key
will be deleted. After Key
is restored, the KeyState
/// is CREATE_COMPLETE
, and the value for deletePendingTimestamp
/// is removed.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the RestoreKey service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the RestoreKey service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// This request would cause a service quota to be exceeded.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for RestoreKey Operation
public virtual Task RestoreKeyAsync(RestoreKeyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = RestoreKeyRequestMarshaller.Instance;
options.ResponseUnmarshaller = RestoreKeyResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region StartKeyUsage
///
/// Enables an Amazon Web Services Payment Cryptography key, which makes it active for
/// cryptographic operations within Amazon Web Services Payment Cryptography
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the StartKeyUsage service method.
///
/// The response from the StartKeyUsage service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// This request would cause a service quota to be exceeded.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for StartKeyUsage Operation
public virtual StartKeyUsageResponse StartKeyUsage(StartKeyUsageRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = StartKeyUsageRequestMarshaller.Instance;
options.ResponseUnmarshaller = StartKeyUsageResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Enables an Amazon Web Services Payment Cryptography key, which makes it active for
/// cryptographic operations within Amazon Web Services Payment Cryptography
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the StartKeyUsage service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the StartKeyUsage service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// This request would cause a service quota to be exceeded.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for StartKeyUsage Operation
public virtual Task StartKeyUsageAsync(StartKeyUsageRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = StartKeyUsageRequestMarshaller.Instance;
options.ResponseUnmarshaller = StartKeyUsageResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region StopKeyUsage
///
/// Disables an Amazon Web Services Payment Cryptography key, which makes it inactive
/// within Amazon Web Services Payment Cryptography.
///
///
///
/// You can use this operation instead of DeleteKey to deactivate a key. You can
/// enable the key in the future by calling StartKeyUsage.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the StopKeyUsage service method.
///
/// The response from the StopKeyUsage service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// This request would cause a service quota to be exceeded.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for StopKeyUsage Operation
public virtual StopKeyUsageResponse StopKeyUsage(StopKeyUsageRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = StopKeyUsageRequestMarshaller.Instance;
options.ResponseUnmarshaller = StopKeyUsageResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Disables an Amazon Web Services Payment Cryptography key, which makes it inactive
/// within Amazon Web Services Payment Cryptography.
///
///
///
/// You can use this operation instead of DeleteKey to deactivate a key. You can
/// enable the key in the future by calling StartKeyUsage.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the StopKeyUsage service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the StopKeyUsage service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// This request would cause a service quota to be exceeded.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for StopKeyUsage Operation
public virtual Task StopKeyUsageAsync(StopKeyUsageRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = StopKeyUsageRequestMarshaller.Instance;
options.ResponseUnmarshaller = StopKeyUsageResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region TagResource
///
/// Adds or edits tags on an Amazon Web Services Payment Cryptography key.
///
///
///
/// Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or
/// deny permission to the key.
///
///
///
/// Each tag consists of a tag key and a tag value, both of which are case-sensitive strings.
/// The tag value can be an empty (null) string. To add a tag, specify a new tag key and
/// a tag value. To edit a tag, specify an existing tag key and a new tag value. You can
/// also add tags to an Amazon Web Services Payment Cryptography key when you create it
/// with CreateKey.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// The response from the TagResource service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// This request would cause a service quota to be exceeded.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for TagResource Operation
public virtual TagResourceResponse TagResource(TagResourceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = TagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Adds or edits tags on an Amazon Web Services Payment Cryptography key.
///
///
///
/// Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or
/// deny permission to the key.
///
///
///
/// Each tag consists of a tag key and a tag value, both of which are case-sensitive strings.
/// The tag value can be an empty (null) string. To add a tag, specify a new tag key and
/// a tag value. To edit a tag, specify an existing tag key and a new tag value. You can
/// also add tags to an Amazon Web Services Payment Cryptography key when you create it
/// with CreateKey.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the TagResource service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// This request would cause a service quota to be exceeded.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for TagResource Operation
public virtual Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = TagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UntagResource
///
/// Deletes a tag from an Amazon Web Services Payment Cryptography key.
///
///
///
/// Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or
/// deny permission to the key.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// The response from the UntagResource service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for UntagResource Operation
public virtual UntagResourceResponse UntagResource(UntagResourceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UntagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes a tag from an Amazon Web Services Payment Cryptography key.
///
///
///
/// Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or
/// deny permission to the key.
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UntagResource service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for UntagResource Operation
public virtual Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UntagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UpdateAlias
///
/// Associates an existing Amazon Web Services Payment Cryptography alias with a different
/// key. Each alias is associated with only one Amazon Web Services Payment Cryptography
/// key at a time, although a key can have multiple aliases. The alias and the Amazon
/// Web Services Payment Cryptography key must be in the same Amazon Web Services account
/// and Amazon Web Services Region
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the UpdateAlias service method.
///
/// The response from the UpdateAlias service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for UpdateAlias Operation
public virtual UpdateAliasResponse UpdateAlias(UpdateAliasRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateAliasRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateAliasResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Associates an existing Amazon Web Services Payment Cryptography alias with a different
/// key. Each alias is associated with only one Amazon Web Services Payment Cryptography
/// key at a time, although a key can have multiple aliases. The alias and the Amazon
/// Web Services Payment Cryptography key must be in the same Amazon Web Services account
/// and Amazon Web Services Region
///
///
///
/// Cross-account use: This operation can't be used across different Amazon Web
/// Services accounts.
///
///
///
/// Related operations:
///
///
///
/// Container for the necessary parameters to execute the UpdateAlias service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateAlias service method, as returned by PaymentCryptography.
///
/// You do not have sufficient access to perform this action.
///
///
/// This request can cause an inconsistent state for the resource.
///
///
/// The request processing has failed because of an unknown error, exception, or failure.
///
///
/// The request was denied due to an invalid resource error.
///
///
/// The service cannot complete the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The request was denied due to an invalid request error.
///
/// REST API Reference for UpdateAlias Operation
public virtual Task UpdateAliasAsync(UpdateAliasRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateAliasRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateAliasResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
}
}