/* * 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 GeneratePinData operation. /// Generates pin-related data such as PIN, PIN Verification Value (PVV), PIN Block, and /// PIN Offset during new card issuance or reissuance. For more information, see Generate /// PIN data in the Amazon Web Services Payment Cryptography User Guide. /// /// /// /// PIN data is never transmitted in clear to or from Amazon Web Services Payment Cryptography. /// This operation generates PIN, PVV, or PIN Offset and then encrypts it using Pin Encryption /// Key (PEK) to create an EncryptedPinBlock for transmission from Amazon /// Web Services Payment Cryptography. This operation uses a separate Pin Verification /// Key (PVK) for VISA PVV generation. /// /// /// /// 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 GeneratePinDataRequest : AmazonPaymentCryptographyDataRequest { private string _encryptionKeyIdentifier; private PinGenerationAttributes _generationAttributes; private string _generationKeyIdentifier; private PinBlockFormatForPinData _pinBlockFormat; private int? _pinDataLength; private string _primaryAccountNumber; /// /// Gets and sets the property EncryptionKeyIdentifier. /// /// The keyARN of the PEK that Amazon Web Services Payment Cryptography uses /// to encrypt the PIN Block. /// /// [AWSProperty(Required=true, Min=7, Max=322)] public string EncryptionKeyIdentifier { get { return this._encryptionKeyIdentifier; } set { this._encryptionKeyIdentifier = value; } } // Check to see if EncryptionKeyIdentifier property is set internal bool IsSetEncryptionKeyIdentifier() { return this._encryptionKeyIdentifier != null; } /// /// Gets and sets the property GenerationAttributes. /// /// The attributes and values to use for PIN, PVV, or PIN Offset generation. /// /// [AWSProperty(Required=true)] public PinGenerationAttributes 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 GenerationKeyIdentifier. /// /// The keyARN of the PEK that Amazon Web Services Payment Cryptography uses /// for pin data generation. /// /// [AWSProperty(Required=true, Min=7, Max=322)] public string GenerationKeyIdentifier { get { return this._generationKeyIdentifier; } set { this._generationKeyIdentifier = value; } } // Check to see if GenerationKeyIdentifier property is set internal bool IsSetGenerationKeyIdentifier() { return this._generationKeyIdentifier != null; } /// /// Gets and sets the property PinBlockFormat. /// /// The PIN encoding format for pin data generation as specified in ISO 9564. Amazon Web /// Services Payment Cryptography supports ISO_Format_0 and ISO_Format_3. /// /// /// /// The ISO_Format_0 PIN block format is equivalent to the ANSI X9.8, VISA-1, /// and ECI-1 PIN block formats. It is similar to a VISA-4 PIN block format. It supports /// a PIN from 4 to 12 digits in length. /// /// /// /// The ISO_Format_3 PIN block format is the same as ISO_Format_0 /// except that the fill digits are random values from 10 to 15. /// /// [AWSProperty(Required=true)] public PinBlockFormatForPinData PinBlockFormat { get { return this._pinBlockFormat; } set { this._pinBlockFormat = value; } } // Check to see if PinBlockFormat property is set internal bool IsSetPinBlockFormat() { return this._pinBlockFormat != null; } /// /// Gets and sets the property PinDataLength. /// /// The length of PIN under generation. /// /// [AWSProperty(Min=4, Max=12)] public int PinDataLength { get { return this._pinDataLength.GetValueOrDefault(); } set { this._pinDataLength = value; } } // Check to see if PinDataLength property is set internal bool IsSetPinDataLength() { return this._pinDataLength.HasValue; } /// /// 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; } } }