/******************************************************************************* * Copyright 2012-2019 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. * ***************************************************************************** * * AWS Tools for Windows (TM) PowerShell (TM) * */ using System; using System.Collections.Generic; using System.Linq; using System.Management.Automation; using System.Text; using Amazon.PowerShell.Common; using Amazon.Runtime; using Amazon.PaymentCryptographyData; using Amazon.PaymentCryptographyData.Model; namespace Amazon.PowerShell.Cmdlets.PAYCD { /// /// 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: /// [Cmdlet("New", "PAYCDCardValidationData", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("Amazon.PaymentCryptographyData.Model.GenerateCardValidationDataResponse")] [AWSCmdlet("Calls the Payment Cryptography Data GenerateCardValidationData API operation.", Operation = new[] {"GenerateCardValidationData"}, SelectReturnType = typeof(Amazon.PaymentCryptographyData.Model.GenerateCardValidationDataResponse))] [AWSCmdletOutput("Amazon.PaymentCryptographyData.Model.GenerateCardValidationDataResponse", "This cmdlet returns an Amazon.PaymentCryptographyData.Model.GenerateCardValidationDataResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] public partial class NewPAYCDCardValidationDataCmdlet : AmazonPaymentCryptographyDataClientCmdlet, IExecutor { protected override bool IsSensitiveRequest { get; set; } = true; #region Parameter CardHolderVerificationValue_ApplicationTransactionCounter /// /// /// The transaction counter value that comes from a point of sale terminal. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("GenerationAttributes_CardHolderVerificationValue_ApplicationTransactionCounter")] public System.String CardHolderVerificationValue_ApplicationTransactionCounter { get; set; } #endregion #region Parameter DynamicCardVerificationCode_ApplicationTransactionCounter /// /// /// The transaction counter value that comes from the terminal. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("GenerationAttributes_DynamicCardVerificationCode_ApplicationTransactionCounter")] public System.String DynamicCardVerificationCode_ApplicationTransactionCounter { get; set; } #endregion #region Parameter DynamicCardVerificationValue_ApplicationTransactionCounter /// /// /// The transaction counter value that comes from the terminal. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("GenerationAttributes_DynamicCardVerificationValue_ApplicationTransactionCounter")] public System.String DynamicCardVerificationValue_ApplicationTransactionCounter { get; set; } #endregion #region Parameter AmexCardSecurityCodeVersion1_CardExpiryDate /// /// /// The expiry date of a payment card. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("GenerationAttributes_AmexCardSecurityCodeVersion1_CardExpiryDate")] public System.String AmexCardSecurityCodeVersion1_CardExpiryDate { get; set; } #endregion #region Parameter AmexCardSecurityCodeVersion2_CardExpiryDate /// /// /// The expiry date of a payment card. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("GenerationAttributes_AmexCardSecurityCodeVersion2_CardExpiryDate")] public System.String AmexCardSecurityCodeVersion2_CardExpiryDate { get; set; } #endregion #region Parameter CardVerificationValue1_CardExpiryDate /// /// /// The expiry date of a payment card. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("GenerationAttributes_CardVerificationValue1_CardExpiryDate")] public System.String CardVerificationValue1_CardExpiryDate { get; set; } #endregion #region Parameter CardVerificationValue2_CardExpiryDate /// /// /// The expiry date of a payment card. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("GenerationAttributes_CardVerificationValue2_CardExpiryDate")] public System.String CardVerificationValue2_CardExpiryDate { get; set; } #endregion #region Parameter DynamicCardVerificationValue_CardExpiryDate /// /// /// The expiry date of a payment card. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("GenerationAttributes_DynamicCardVerificationValue_CardExpiryDate")] public System.String DynamicCardVerificationValue_CardExpiryDate { get; set; } #endregion #region Parameter KeyIdentifier /// /// /// The keyARN of the CVK encryption key that Amazon Web Services Payment /// Cryptography uses to generate card data. /// /// #if !MODULAR [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] #else [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] [System.Management.Automation.AllowEmptyString] [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] public System.String KeyIdentifier { get; set; } #endregion #region Parameter CardHolderVerificationValue_PanSequenceNumber /// /// /// A number that identifies and differentiates payment cards with the same Primary Account /// Number (PAN). /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("GenerationAttributes_CardHolderVerificationValue_PanSequenceNumber")] public System.String CardHolderVerificationValue_PanSequenceNumber { get; set; } #endregion #region Parameter DynamicCardVerificationCode_PanSequenceNumber /// /// /// A number that identifies and differentiates payment cards with the same Primary Account /// Number (PAN). /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("GenerationAttributes_DynamicCardVerificationCode_PanSequenceNumber")] public System.String DynamicCardVerificationCode_PanSequenceNumber { get; set; } #endregion #region Parameter DynamicCardVerificationValue_PanSequenceNumber /// /// /// A number that identifies and differentiates payment cards with the same Primary Account /// Number (PAN). /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("GenerationAttributes_DynamicCardVerificationValue_PanSequenceNumber")] public System.String DynamicCardVerificationValue_PanSequenceNumber { get; set; } #endregion #region Parameter 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. /// /// #if !MODULAR [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] #else [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] [System.Management.Automation.AllowEmptyString] [System.Management.Automation.AllowNull] #endif [Amazon.PowerShell.Common.AWSRequiredParameter] public System.String PrimaryAccountNumber { get; set; } #endregion #region Parameter AmexCardSecurityCodeVersion2_ServiceCode /// /// /// The service code of the AMEX payment card. This is different from the Card Security /// Code (CSC). /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("GenerationAttributes_AmexCardSecurityCodeVersion2_ServiceCode")] public System.String AmexCardSecurityCodeVersion2_ServiceCode { get; set; } #endregion #region Parameter CardVerificationValue1_ServiceCode /// /// /// The service code of the payment card. This is different from Card Security Code (CSC). /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("GenerationAttributes_CardVerificationValue1_ServiceCode")] public System.String CardVerificationValue1_ServiceCode { get; set; } #endregion #region Parameter DynamicCardVerificationValue_ServiceCode /// /// /// The service code of the payment card. This is different from Card Security Code (CSC). /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("GenerationAttributes_DynamicCardVerificationValue_ServiceCode")] public System.String DynamicCardVerificationValue_ServiceCode { get; set; } #endregion #region Parameter DynamicCardVerificationCode_TrackData /// /// /// The data on the two tracks of magnetic cards used for financial transactions. This /// includes the cardholder name, PAN, expiration date, bank ID (BIN) and several other /// numbers the issuing bank uses to validate the data received. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("GenerationAttributes_DynamicCardVerificationCode_TrackData")] public System.String DynamicCardVerificationCode_TrackData { get; set; } #endregion #region Parameter CardHolderVerificationValue_UnpredictableNumber /// /// /// A random number generated by the issuer. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("GenerationAttributes_CardHolderVerificationValue_UnpredictableNumber")] public System.String CardHolderVerificationValue_UnpredictableNumber { get; set; } #endregion #region Parameter DynamicCardVerificationCode_UnpredictableNumber /// /// /// A random number generated by the issuer. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("GenerationAttributes_DynamicCardVerificationCode_UnpredictableNumber")] public System.String DynamicCardVerificationCode_UnpredictableNumber { get; set; } #endregion #region Parameter ValidationDataLength /// /// /// The length of the CVV or CSC to be generated. The default value is 3. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public System.Int32? ValidationDataLength { get; set; } #endregion #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The default value is '*'. /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.PaymentCryptographyData.Model.GenerateCardValidationDataResponse). /// Specifying the name of a property of type Amazon.PaymentCryptographyData.Model.GenerateCardValidationDataResponse will result in that property being returned. /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public string Select { get; set; } = "*"; #endregion #region Parameter PassThru /// /// Changes the cmdlet behavior to return the value passed to the KeyIdentifier parameter. /// The -PassThru parameter is deprecated, use -Select '^KeyIdentifier' instead. This parameter will be removed in a future version. /// [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^KeyIdentifier' instead. This parameter will be removed in a future version.")] [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter PassThru { get; set; } #endregion #region Parameter Force /// /// This parameter overrides confirmation prompts to force /// the cmdlet to continue its operation. This parameter should always /// be used with caution. /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] public SwitchParameter Force { get; set; } #endregion protected override void ProcessRecord() { this._AWSSignerType = "v4"; base.ProcessRecord(); var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.KeyIdentifier), MyInvocation.BoundParameters); if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "New-PAYCDCardValidationData (GenerateCardValidationData)")) { return; } var context = new CmdletContext(); // allow for manipulation of parameters prior to loading into context PreExecutionContextLoad(context); #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute if (ParameterWasBound(nameof(this.Select))) { context.Select = CreateSelectDelegate(Select) ?? throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); if (this.PassThru.IsPresent) { throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); } } else if (this.PassThru.IsPresent) { context.Select = (response, cmdlet) => this.KeyIdentifier; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute context.AmexCardSecurityCodeVersion1_CardExpiryDate = this.AmexCardSecurityCodeVersion1_CardExpiryDate; context.AmexCardSecurityCodeVersion2_CardExpiryDate = this.AmexCardSecurityCodeVersion2_CardExpiryDate; context.AmexCardSecurityCodeVersion2_ServiceCode = this.AmexCardSecurityCodeVersion2_ServiceCode; context.CardHolderVerificationValue_ApplicationTransactionCounter = this.CardHolderVerificationValue_ApplicationTransactionCounter; context.CardHolderVerificationValue_PanSequenceNumber = this.CardHolderVerificationValue_PanSequenceNumber; context.CardHolderVerificationValue_UnpredictableNumber = this.CardHolderVerificationValue_UnpredictableNumber; context.CardVerificationValue1_CardExpiryDate = this.CardVerificationValue1_CardExpiryDate; context.CardVerificationValue1_ServiceCode = this.CardVerificationValue1_ServiceCode; context.CardVerificationValue2_CardExpiryDate = this.CardVerificationValue2_CardExpiryDate; context.DynamicCardVerificationCode_ApplicationTransactionCounter = this.DynamicCardVerificationCode_ApplicationTransactionCounter; context.DynamicCardVerificationCode_PanSequenceNumber = this.DynamicCardVerificationCode_PanSequenceNumber; context.DynamicCardVerificationCode_TrackData = this.DynamicCardVerificationCode_TrackData; context.DynamicCardVerificationCode_UnpredictableNumber = this.DynamicCardVerificationCode_UnpredictableNumber; context.DynamicCardVerificationValue_ApplicationTransactionCounter = this.DynamicCardVerificationValue_ApplicationTransactionCounter; context.DynamicCardVerificationValue_CardExpiryDate = this.DynamicCardVerificationValue_CardExpiryDate; context.DynamicCardVerificationValue_PanSequenceNumber = this.DynamicCardVerificationValue_PanSequenceNumber; context.DynamicCardVerificationValue_ServiceCode = this.DynamicCardVerificationValue_ServiceCode; context.KeyIdentifier = this.KeyIdentifier; #if MODULAR if (this.KeyIdentifier == null && ParameterWasBound(nameof(this.KeyIdentifier))) { WriteWarning("You are passing $null as a value for parameter KeyIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif context.PrimaryAccountNumber = this.PrimaryAccountNumber; #if MODULAR if (this.PrimaryAccountNumber == null && ParameterWasBound(nameof(this.PrimaryAccountNumber))) { WriteWarning("You are passing $null as a value for parameter PrimaryAccountNumber which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); } #endif context.ValidationDataLength = this.ValidationDataLength; // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); var output = Execute(context) as CmdletOutput; ProcessOutput(output); } #region IExecutor Members public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request var request = new Amazon.PaymentCryptographyData.Model.GenerateCardValidationDataRequest(); // populate GenerationAttributes var requestGenerationAttributesIsNull = true; request.GenerationAttributes = new Amazon.PaymentCryptographyData.Model.CardGenerationAttributes(); Amazon.PaymentCryptographyData.Model.AmexCardSecurityCodeVersion1 requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion1 = null; // populate AmexCardSecurityCodeVersion1 var requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion1IsNull = true; requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion1 = new Amazon.PaymentCryptographyData.Model.AmexCardSecurityCodeVersion1(); System.String requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion1_amexCardSecurityCodeVersion1_CardExpiryDate = null; if (cmdletContext.AmexCardSecurityCodeVersion1_CardExpiryDate != null) { requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion1_amexCardSecurityCodeVersion1_CardExpiryDate = cmdletContext.AmexCardSecurityCodeVersion1_CardExpiryDate; } if (requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion1_amexCardSecurityCodeVersion1_CardExpiryDate != null) { requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion1.CardExpiryDate = requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion1_amexCardSecurityCodeVersion1_CardExpiryDate; requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion1IsNull = false; } // determine if requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion1 should be set to null if (requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion1IsNull) { requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion1 = null; } if (requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion1 != null) { request.GenerationAttributes.AmexCardSecurityCodeVersion1 = requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion1; requestGenerationAttributesIsNull = false; } Amazon.PaymentCryptographyData.Model.CardVerificationValue2 requestGenerationAttributes_generationAttributes_CardVerificationValue2 = null; // populate CardVerificationValue2 var requestGenerationAttributes_generationAttributes_CardVerificationValue2IsNull = true; requestGenerationAttributes_generationAttributes_CardVerificationValue2 = new Amazon.PaymentCryptographyData.Model.CardVerificationValue2(); System.String requestGenerationAttributes_generationAttributes_CardVerificationValue2_cardVerificationValue2_CardExpiryDate = null; if (cmdletContext.CardVerificationValue2_CardExpiryDate != null) { requestGenerationAttributes_generationAttributes_CardVerificationValue2_cardVerificationValue2_CardExpiryDate = cmdletContext.CardVerificationValue2_CardExpiryDate; } if (requestGenerationAttributes_generationAttributes_CardVerificationValue2_cardVerificationValue2_CardExpiryDate != null) { requestGenerationAttributes_generationAttributes_CardVerificationValue2.CardExpiryDate = requestGenerationAttributes_generationAttributes_CardVerificationValue2_cardVerificationValue2_CardExpiryDate; requestGenerationAttributes_generationAttributes_CardVerificationValue2IsNull = false; } // determine if requestGenerationAttributes_generationAttributes_CardVerificationValue2 should be set to null if (requestGenerationAttributes_generationAttributes_CardVerificationValue2IsNull) { requestGenerationAttributes_generationAttributes_CardVerificationValue2 = null; } if (requestGenerationAttributes_generationAttributes_CardVerificationValue2 != null) { request.GenerationAttributes.CardVerificationValue2 = requestGenerationAttributes_generationAttributes_CardVerificationValue2; requestGenerationAttributesIsNull = false; } Amazon.PaymentCryptographyData.Model.AmexCardSecurityCodeVersion2 requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2 = null; // populate AmexCardSecurityCodeVersion2 var requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2IsNull = true; requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2 = new Amazon.PaymentCryptographyData.Model.AmexCardSecurityCodeVersion2(); System.String requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2_amexCardSecurityCodeVersion2_CardExpiryDate = null; if (cmdletContext.AmexCardSecurityCodeVersion2_CardExpiryDate != null) { requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2_amexCardSecurityCodeVersion2_CardExpiryDate = cmdletContext.AmexCardSecurityCodeVersion2_CardExpiryDate; } if (requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2_amexCardSecurityCodeVersion2_CardExpiryDate != null) { requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2.CardExpiryDate = requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2_amexCardSecurityCodeVersion2_CardExpiryDate; requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2IsNull = false; } System.String requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2_amexCardSecurityCodeVersion2_ServiceCode = null; if (cmdletContext.AmexCardSecurityCodeVersion2_ServiceCode != null) { requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2_amexCardSecurityCodeVersion2_ServiceCode = cmdletContext.AmexCardSecurityCodeVersion2_ServiceCode; } if (requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2_amexCardSecurityCodeVersion2_ServiceCode != null) { requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2.ServiceCode = requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2_amexCardSecurityCodeVersion2_ServiceCode; requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2IsNull = false; } // determine if requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2 should be set to null if (requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2IsNull) { requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2 = null; } if (requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2 != null) { request.GenerationAttributes.AmexCardSecurityCodeVersion2 = requestGenerationAttributes_generationAttributes_AmexCardSecurityCodeVersion2; requestGenerationAttributesIsNull = false; } Amazon.PaymentCryptographyData.Model.CardVerificationValue1 requestGenerationAttributes_generationAttributes_CardVerificationValue1 = null; // populate CardVerificationValue1 var requestGenerationAttributes_generationAttributes_CardVerificationValue1IsNull = true; requestGenerationAttributes_generationAttributes_CardVerificationValue1 = new Amazon.PaymentCryptographyData.Model.CardVerificationValue1(); System.String requestGenerationAttributes_generationAttributes_CardVerificationValue1_cardVerificationValue1_CardExpiryDate = null; if (cmdletContext.CardVerificationValue1_CardExpiryDate != null) { requestGenerationAttributes_generationAttributes_CardVerificationValue1_cardVerificationValue1_CardExpiryDate = cmdletContext.CardVerificationValue1_CardExpiryDate; } if (requestGenerationAttributes_generationAttributes_CardVerificationValue1_cardVerificationValue1_CardExpiryDate != null) { requestGenerationAttributes_generationAttributes_CardVerificationValue1.CardExpiryDate = requestGenerationAttributes_generationAttributes_CardVerificationValue1_cardVerificationValue1_CardExpiryDate; requestGenerationAttributes_generationAttributes_CardVerificationValue1IsNull = false; } System.String requestGenerationAttributes_generationAttributes_CardVerificationValue1_cardVerificationValue1_ServiceCode = null; if (cmdletContext.CardVerificationValue1_ServiceCode != null) { requestGenerationAttributes_generationAttributes_CardVerificationValue1_cardVerificationValue1_ServiceCode = cmdletContext.CardVerificationValue1_ServiceCode; } if (requestGenerationAttributes_generationAttributes_CardVerificationValue1_cardVerificationValue1_ServiceCode != null) { requestGenerationAttributes_generationAttributes_CardVerificationValue1.ServiceCode = requestGenerationAttributes_generationAttributes_CardVerificationValue1_cardVerificationValue1_ServiceCode; requestGenerationAttributes_generationAttributes_CardVerificationValue1IsNull = false; } // determine if requestGenerationAttributes_generationAttributes_CardVerificationValue1 should be set to null if (requestGenerationAttributes_generationAttributes_CardVerificationValue1IsNull) { requestGenerationAttributes_generationAttributes_CardVerificationValue1 = null; } if (requestGenerationAttributes_generationAttributes_CardVerificationValue1 != null) { request.GenerationAttributes.CardVerificationValue1 = requestGenerationAttributes_generationAttributes_CardVerificationValue1; requestGenerationAttributesIsNull = false; } Amazon.PaymentCryptographyData.Model.CardHolderVerificationValue requestGenerationAttributes_generationAttributes_CardHolderVerificationValue = null; // populate CardHolderVerificationValue var requestGenerationAttributes_generationAttributes_CardHolderVerificationValueIsNull = true; requestGenerationAttributes_generationAttributes_CardHolderVerificationValue = new Amazon.PaymentCryptographyData.Model.CardHolderVerificationValue(); System.String requestGenerationAttributes_generationAttributes_CardHolderVerificationValue_cardHolderVerificationValue_ApplicationTransactionCounter = null; if (cmdletContext.CardHolderVerificationValue_ApplicationTransactionCounter != null) { requestGenerationAttributes_generationAttributes_CardHolderVerificationValue_cardHolderVerificationValue_ApplicationTransactionCounter = cmdletContext.CardHolderVerificationValue_ApplicationTransactionCounter; } if (requestGenerationAttributes_generationAttributes_CardHolderVerificationValue_cardHolderVerificationValue_ApplicationTransactionCounter != null) { requestGenerationAttributes_generationAttributes_CardHolderVerificationValue.ApplicationTransactionCounter = requestGenerationAttributes_generationAttributes_CardHolderVerificationValue_cardHolderVerificationValue_ApplicationTransactionCounter; requestGenerationAttributes_generationAttributes_CardHolderVerificationValueIsNull = false; } System.String requestGenerationAttributes_generationAttributes_CardHolderVerificationValue_cardHolderVerificationValue_PanSequenceNumber = null; if (cmdletContext.CardHolderVerificationValue_PanSequenceNumber != null) { requestGenerationAttributes_generationAttributes_CardHolderVerificationValue_cardHolderVerificationValue_PanSequenceNumber = cmdletContext.CardHolderVerificationValue_PanSequenceNumber; } if (requestGenerationAttributes_generationAttributes_CardHolderVerificationValue_cardHolderVerificationValue_PanSequenceNumber != null) { requestGenerationAttributes_generationAttributes_CardHolderVerificationValue.PanSequenceNumber = requestGenerationAttributes_generationAttributes_CardHolderVerificationValue_cardHolderVerificationValue_PanSequenceNumber; requestGenerationAttributes_generationAttributes_CardHolderVerificationValueIsNull = false; } System.String requestGenerationAttributes_generationAttributes_CardHolderVerificationValue_cardHolderVerificationValue_UnpredictableNumber = null; if (cmdletContext.CardHolderVerificationValue_UnpredictableNumber != null) { requestGenerationAttributes_generationAttributes_CardHolderVerificationValue_cardHolderVerificationValue_UnpredictableNumber = cmdletContext.CardHolderVerificationValue_UnpredictableNumber; } if (requestGenerationAttributes_generationAttributes_CardHolderVerificationValue_cardHolderVerificationValue_UnpredictableNumber != null) { requestGenerationAttributes_generationAttributes_CardHolderVerificationValue.UnpredictableNumber = requestGenerationAttributes_generationAttributes_CardHolderVerificationValue_cardHolderVerificationValue_UnpredictableNumber; requestGenerationAttributes_generationAttributes_CardHolderVerificationValueIsNull = false; } // determine if requestGenerationAttributes_generationAttributes_CardHolderVerificationValue should be set to null if (requestGenerationAttributes_generationAttributes_CardHolderVerificationValueIsNull) { requestGenerationAttributes_generationAttributes_CardHolderVerificationValue = null; } if (requestGenerationAttributes_generationAttributes_CardHolderVerificationValue != null) { request.GenerationAttributes.CardHolderVerificationValue = requestGenerationAttributes_generationAttributes_CardHolderVerificationValue; requestGenerationAttributesIsNull = false; } Amazon.PaymentCryptographyData.Model.DynamicCardVerificationCode requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode = null; // populate DynamicCardVerificationCode var requestGenerationAttributes_generationAttributes_DynamicCardVerificationCodeIsNull = true; requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode = new Amazon.PaymentCryptographyData.Model.DynamicCardVerificationCode(); System.String requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode_dynamicCardVerificationCode_ApplicationTransactionCounter = null; if (cmdletContext.DynamicCardVerificationCode_ApplicationTransactionCounter != null) { requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode_dynamicCardVerificationCode_ApplicationTransactionCounter = cmdletContext.DynamicCardVerificationCode_ApplicationTransactionCounter; } if (requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode_dynamicCardVerificationCode_ApplicationTransactionCounter != null) { requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode.ApplicationTransactionCounter = requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode_dynamicCardVerificationCode_ApplicationTransactionCounter; requestGenerationAttributes_generationAttributes_DynamicCardVerificationCodeIsNull = false; } System.String requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode_dynamicCardVerificationCode_PanSequenceNumber = null; if (cmdletContext.DynamicCardVerificationCode_PanSequenceNumber != null) { requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode_dynamicCardVerificationCode_PanSequenceNumber = cmdletContext.DynamicCardVerificationCode_PanSequenceNumber; } if (requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode_dynamicCardVerificationCode_PanSequenceNumber != null) { requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode.PanSequenceNumber = requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode_dynamicCardVerificationCode_PanSequenceNumber; requestGenerationAttributes_generationAttributes_DynamicCardVerificationCodeIsNull = false; } System.String requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode_dynamicCardVerificationCode_TrackData = null; if (cmdletContext.DynamicCardVerificationCode_TrackData != null) { requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode_dynamicCardVerificationCode_TrackData = cmdletContext.DynamicCardVerificationCode_TrackData; } if (requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode_dynamicCardVerificationCode_TrackData != null) { requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode.TrackData = requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode_dynamicCardVerificationCode_TrackData; requestGenerationAttributes_generationAttributes_DynamicCardVerificationCodeIsNull = false; } System.String requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode_dynamicCardVerificationCode_UnpredictableNumber = null; if (cmdletContext.DynamicCardVerificationCode_UnpredictableNumber != null) { requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode_dynamicCardVerificationCode_UnpredictableNumber = cmdletContext.DynamicCardVerificationCode_UnpredictableNumber; } if (requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode_dynamicCardVerificationCode_UnpredictableNumber != null) { requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode.UnpredictableNumber = requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode_dynamicCardVerificationCode_UnpredictableNumber; requestGenerationAttributes_generationAttributes_DynamicCardVerificationCodeIsNull = false; } // determine if requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode should be set to null if (requestGenerationAttributes_generationAttributes_DynamicCardVerificationCodeIsNull) { requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode = null; } if (requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode != null) { request.GenerationAttributes.DynamicCardVerificationCode = requestGenerationAttributes_generationAttributes_DynamicCardVerificationCode; requestGenerationAttributesIsNull = false; } Amazon.PaymentCryptographyData.Model.DynamicCardVerificationValue requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue = null; // populate DynamicCardVerificationValue var requestGenerationAttributes_generationAttributes_DynamicCardVerificationValueIsNull = true; requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue = new Amazon.PaymentCryptographyData.Model.DynamicCardVerificationValue(); System.String requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue_dynamicCardVerificationValue_ApplicationTransactionCounter = null; if (cmdletContext.DynamicCardVerificationValue_ApplicationTransactionCounter != null) { requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue_dynamicCardVerificationValue_ApplicationTransactionCounter = cmdletContext.DynamicCardVerificationValue_ApplicationTransactionCounter; } if (requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue_dynamicCardVerificationValue_ApplicationTransactionCounter != null) { requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue.ApplicationTransactionCounter = requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue_dynamicCardVerificationValue_ApplicationTransactionCounter; requestGenerationAttributes_generationAttributes_DynamicCardVerificationValueIsNull = false; } System.String requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue_dynamicCardVerificationValue_CardExpiryDate = null; if (cmdletContext.DynamicCardVerificationValue_CardExpiryDate != null) { requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue_dynamicCardVerificationValue_CardExpiryDate = cmdletContext.DynamicCardVerificationValue_CardExpiryDate; } if (requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue_dynamicCardVerificationValue_CardExpiryDate != null) { requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue.CardExpiryDate = requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue_dynamicCardVerificationValue_CardExpiryDate; requestGenerationAttributes_generationAttributes_DynamicCardVerificationValueIsNull = false; } System.String requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue_dynamicCardVerificationValue_PanSequenceNumber = null; if (cmdletContext.DynamicCardVerificationValue_PanSequenceNumber != null) { requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue_dynamicCardVerificationValue_PanSequenceNumber = cmdletContext.DynamicCardVerificationValue_PanSequenceNumber; } if (requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue_dynamicCardVerificationValue_PanSequenceNumber != null) { requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue.PanSequenceNumber = requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue_dynamicCardVerificationValue_PanSequenceNumber; requestGenerationAttributes_generationAttributes_DynamicCardVerificationValueIsNull = false; } System.String requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue_dynamicCardVerificationValue_ServiceCode = null; if (cmdletContext.DynamicCardVerificationValue_ServiceCode != null) { requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue_dynamicCardVerificationValue_ServiceCode = cmdletContext.DynamicCardVerificationValue_ServiceCode; } if (requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue_dynamicCardVerificationValue_ServiceCode != null) { requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue.ServiceCode = requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue_dynamicCardVerificationValue_ServiceCode; requestGenerationAttributes_generationAttributes_DynamicCardVerificationValueIsNull = false; } // determine if requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue should be set to null if (requestGenerationAttributes_generationAttributes_DynamicCardVerificationValueIsNull) { requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue = null; } if (requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue != null) { request.GenerationAttributes.DynamicCardVerificationValue = requestGenerationAttributes_generationAttributes_DynamicCardVerificationValue; requestGenerationAttributesIsNull = false; } // determine if request.GenerationAttributes should be set to null if (requestGenerationAttributesIsNull) { request.GenerationAttributes = null; } if (cmdletContext.KeyIdentifier != null) { request.KeyIdentifier = cmdletContext.KeyIdentifier; } if (cmdletContext.PrimaryAccountNumber != null) { request.PrimaryAccountNumber = cmdletContext.PrimaryAccountNumber; } if (cmdletContext.ValidationDataLength != null) { request.ValidationDataLength = cmdletContext.ValidationDataLength.Value; } CmdletOutput output; // issue call var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); try { var response = CallAWSServiceOperation(client, request); object pipelineOutput = null; pipelineOutput = cmdletContext.Select(response, this); output = new CmdletOutput { PipelineOutput = pipelineOutput, ServiceResponse = response }; } catch (Exception e) { output = new CmdletOutput { ErrorResponse = e }; } return output; } public ExecutorContext CreateContext() { return new CmdletContext(); } #endregion #region AWS Service Operation Call private Amazon.PaymentCryptographyData.Model.GenerateCardValidationDataResponse CallAWSServiceOperation(IAmazonPaymentCryptographyData client, Amazon.PaymentCryptographyData.Model.GenerateCardValidationDataRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Payment Cryptography Data", "GenerateCardValidationData"); try { #if DESKTOP return client.GenerateCardValidationData(request); #elif CORECLR return client.GenerateCardValidationDataAsync(request).GetAwaiter().GetResult(); #else #error "Unknown build edition" #endif } catch (AmazonServiceException exc) { var webException = exc.InnerException as System.Net.WebException; if (webException != null) { throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); } throw; } } #endregion internal partial class CmdletContext : ExecutorContext { public System.String AmexCardSecurityCodeVersion1_CardExpiryDate { get; set; } public System.String AmexCardSecurityCodeVersion2_CardExpiryDate { get; set; } public System.String AmexCardSecurityCodeVersion2_ServiceCode { get; set; } public System.String CardHolderVerificationValue_ApplicationTransactionCounter { get; set; } public System.String CardHolderVerificationValue_PanSequenceNumber { get; set; } public System.String CardHolderVerificationValue_UnpredictableNumber { get; set; } public System.String CardVerificationValue1_CardExpiryDate { get; set; } public System.String CardVerificationValue1_ServiceCode { get; set; } public System.String CardVerificationValue2_CardExpiryDate { get; set; } public System.String DynamicCardVerificationCode_ApplicationTransactionCounter { get; set; } public System.String DynamicCardVerificationCode_PanSequenceNumber { get; set; } public System.String DynamicCardVerificationCode_TrackData { get; set; } public System.String DynamicCardVerificationCode_UnpredictableNumber { get; set; } public System.String DynamicCardVerificationValue_ApplicationTransactionCounter { get; set; } public System.String DynamicCardVerificationValue_CardExpiryDate { get; set; } public System.String DynamicCardVerificationValue_PanSequenceNumber { get; set; } public System.String DynamicCardVerificationValue_ServiceCode { get; set; } public System.String KeyIdentifier { get; set; } public System.String PrimaryAccountNumber { get; set; } public System.Int32? ValidationDataLength { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => response; } } }