/* * 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-data-2022-02-03.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.PaymentCryptographyData.Model { /// /// Container for the parameters to the GenerateCardValidationData operation. /// Generates card-related validation data using algorithms such as Card Verification /// Values (CVV/CVV2), Dynamic Card Verification Values (dCVV/dCVV2), or Card Security /// Codes (CSC). For more information, see Generate /// card data in the Amazon Web Services Payment Cryptography User Guide. /// /// /// /// This operation generates a CVV or CSC value that is printed on a payment credit or /// debit card during card production. The CVV or CSC, PAN (Primary Account Number) and /// expiration date of the card are required to check its validity during transaction /// processing. To begin this operation, a CVK (Card Verification Key) encryption key /// is required. You can use CreateKey /// or ImportKey /// to establish a CVK within Amazon Web Services Payment Cryptography. The KeyModesOfUse /// should be set to Generate and Verify for a CVK encryption /// key. /// /// /// /// For information about valid keys for this operation, see Understanding /// key attributes and Key /// types for specific data operations in the Amazon Web Services Payment Cryptography /// User Guide. /// /// /// /// Cross-account use: This operation can't be used across different Amazon Web /// Services accounts. /// /// /// /// Related operations: /// /// /// public partial class GenerateCardValidationDataRequest : AmazonPaymentCryptographyDataRequest { private CardGenerationAttributes _generationAttributes; private string _keyIdentifier; private string _primaryAccountNumber; private int? _validationDataLength; /// /// Gets and sets the property GenerationAttributes. /// /// The algorithm for generating CVV or CSC values for the card within Amazon Web Services /// Payment Cryptography. /// /// [AWSProperty(Required=true)] public CardGenerationAttributes GenerationAttributes { get { return this._generationAttributes; } set { this._generationAttributes = value; } } // Check to see if GenerationAttributes property is set internal bool IsSetGenerationAttributes() { return this._generationAttributes != null; } /// /// Gets and sets the property KeyIdentifier. /// /// The keyARN of the CVK encryption key that Amazon Web Services Payment /// Cryptography uses to generate card data. /// /// [AWSProperty(Required=true, Min=7, Max=322)] public string KeyIdentifier { get { return this._keyIdentifier; } set { this._keyIdentifier = value; } } // Check to see if KeyIdentifier property is set internal bool IsSetKeyIdentifier() { return this._keyIdentifier != null; } /// /// Gets and sets the property PrimaryAccountNumber. /// /// The Primary Account Number (PAN), a unique identifier for a payment credit or debit /// card that associates the card with a specific account holder. /// /// [AWSProperty(Required=true, Sensitive=true, Min=12, Max=19)] public string PrimaryAccountNumber { get { return this._primaryAccountNumber; } set { this._primaryAccountNumber = value; } } // Check to see if PrimaryAccountNumber property is set internal bool IsSetPrimaryAccountNumber() { return this._primaryAccountNumber != null; } /// /// Gets and sets the property ValidationDataLength. /// /// The length of the CVV or CSC to be generated. The default value is 3. /// /// [AWSProperty(Min=3, Max=5)] public int ValidationDataLength { get { return this._validationDataLength.GetValueOrDefault(); } set { this._validationDataLength = value; } } // Check to see if ValidationDataLength property is set internal bool IsSetValidationDataLength() { return this._validationDataLength.HasValue; } } }