/*******************************************************************************
* 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
{
///
/// Verifies pin-related data such as PIN and PIN Offset using algorithms including VISA
/// PVV and IBM3624. For more information, see Verify
/// PIN data in the Amazon Web Services Payment Cryptography User Guide.
///
///
///
/// This operation verifies PIN data for user payment card. A card holder PIN data is
/// never transmitted in clear to or from Amazon Web Services Payment Cryptography. This
/// operation uses PIN Verification Key (PVK) for PIN or PIN Offset generation and then
/// encrypts it using PIN Encryption Key (PEK) to create an EncryptedPinBlock
/// for transmission from Amazon Web Services Payment Cryptography.
///
/// 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("Test", "PAYCDPinData")]
[OutputType("Amazon.PaymentCryptographyData.Model.VerifyPinDataResponse")]
[AWSCmdlet("Calls the Payment Cryptography Data VerifyPinData API operation.", Operation = new[] {"VerifyPinData"}, SelectReturnType = typeof(Amazon.PaymentCryptographyData.Model.VerifyPinDataResponse))]
[AWSCmdletOutput("Amazon.PaymentCryptographyData.Model.VerifyPinDataResponse",
"This cmdlet returns an Amazon.PaymentCryptographyData.Model.VerifyPinDataResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack."
)]
public partial class TestPAYCDPinDataCmdlet : AmazonPaymentCryptographyDataClientCmdlet, IExecutor
{
protected override bool IsSensitiveRequest { get; set; } = true;
#region Parameter Ibm3624Pin_DecimalizationTable
///
///
/// The decimalization table to use for IBM 3624 PIN algorithm. The table is used to convert
/// the algorithm intermediate result from hexadecimal characters to decimal.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("VerificationAttributes_Ibm3624Pin_DecimalizationTable")]
public System.String Ibm3624Pin_DecimalizationTable { get; set; }
#endregion
#region Parameter DukptAttributes_DukptDerivationType
///
///
/// The key type derived using DUKPT from a Base Derivation Key (BDK) and Key Serial Number
/// (KSN). This must be less than or equal to the strength of the BDK. For example, you
/// can't use AES_128
as a derivation type for a BDK of AES_128
/// or TDES_2KEY
.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[AWSConstantClassSource("Amazon.PaymentCryptographyData.DukptDerivationType")]
public Amazon.PaymentCryptographyData.DukptDerivationType DukptAttributes_DukptDerivationType { get; set; }
#endregion
#region Parameter EncryptedPinBlock
///
///
/// The encrypted PIN block data that Amazon Web Services Payment Cryptography verifies.
///
///
#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 EncryptedPinBlock { get; set; }
#endregion
#region Parameter EncryptionKeyIdentifier
///
///
/// The keyARN
of the encryption key under which the PIN block data is encrypted.
/// This key type can be PEK or BDK.
///
///
#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 EncryptionKeyIdentifier { get; set; }
#endregion
#region Parameter DukptAttributes_KeySerialNumber
///
///
/// The unique identifier known as Key Serial Number (KSN) that comes from an encrypting
/// device using DUKPT encryption method. The KSN is derived from the encrypting device
/// unique identifier and an internal transaction counter.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.String DukptAttributes_KeySerialNumber { get; set; }
#endregion
#region Parameter 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.
///
///
#if !MODULAR
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
#else
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)]
[System.Management.Automation.AllowNull]
#endif
[Amazon.PowerShell.Common.AWSRequiredParameter]
[AWSConstantClassSource("Amazon.PaymentCryptographyData.PinBlockFormatForPinData")]
public Amazon.PaymentCryptographyData.PinBlockFormatForPinData PinBlockFormat { get; set; }
#endregion
#region Parameter PinDataLength
///
///
/// The length of PIN being verified.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public System.Int32? PinDataLength { get; set; }
#endregion
#region Parameter Ibm3624Pin_PinOffset
///
///
/// The PIN offset value.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("VerificationAttributes_Ibm3624Pin_PinOffset")]
public System.String Ibm3624Pin_PinOffset { get; set; }
#endregion
#region Parameter Ibm3624Pin_PinValidationData
///
///
/// The unique data for cardholder identification.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("VerificationAttributes_Ibm3624Pin_PinValidationData")]
public System.String Ibm3624Pin_PinValidationData { get; set; }
#endregion
#region Parameter Ibm3624Pin_PinValidationDataPadCharacter
///
///
/// The padding character for validation data.
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("VerificationAttributes_Ibm3624Pin_PinValidationDataPadCharacter")]
public System.String Ibm3624Pin_PinValidationDataPadCharacter { get; set; }
#endregion
#region Parameter VisaPin_PinVerificationKeyIndex
///
///
/// The value for PIN verification index. It is used in the Visa PIN algorithm to calculate
/// the PVV (PIN Verification Value).
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("VerificationAttributes_VisaPin_PinVerificationKeyIndex")]
public System.Int32? VisaPin_PinVerificationKeyIndex { 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 VerificationKeyIdentifier
///
///
/// The keyARN
of the PIN verification key.
///
///
#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 VerificationKeyIdentifier { get; set; }
#endregion
#region Parameter VisaPin_VerificationValue
///
///
/// Parameters that are required to generate or verify Visa PVV (PIN Verification Value).
///
///
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
[Alias("VerificationAttributes_VisaPin_VerificationValue")]
public System.String VisaPin_VerificationValue { 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.VerifyPinDataResponse).
/// Specifying the name of a property of type Amazon.PaymentCryptographyData.Model.VerifyPinDataResponse 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 VerificationKeyIdentifier parameter.
/// The -PassThru parameter is deprecated, use -Select '^VerificationKeyIdentifier' instead. This parameter will be removed in a future version.
///
[System.Obsolete("The -PassThru parameter is deprecated, use -Select '^VerificationKeyIdentifier' instead. This parameter will be removed in a future version.")]
[System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)]
public SwitchParameter PassThru { get; set; }
#endregion
protected override void ProcessRecord()
{
this._AWSSignerType = "v4";
base.ProcessRecord();
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.VerificationKeyIdentifier;
}
#pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute
context.DukptAttributes_DukptDerivationType = this.DukptAttributes_DukptDerivationType;
context.DukptAttributes_KeySerialNumber = this.DukptAttributes_KeySerialNumber;
context.EncryptedPinBlock = this.EncryptedPinBlock;
#if MODULAR
if (this.EncryptedPinBlock == null && ParameterWasBound(nameof(this.EncryptedPinBlock)))
{
WriteWarning("You are passing $null as a value for parameter EncryptedPinBlock 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.EncryptionKeyIdentifier = this.EncryptionKeyIdentifier;
#if MODULAR
if (this.EncryptionKeyIdentifier == null && ParameterWasBound(nameof(this.EncryptionKeyIdentifier)))
{
WriteWarning("You are passing $null as a value for parameter EncryptionKeyIdentifier 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.PinBlockFormat = this.PinBlockFormat;
#if MODULAR
if (this.PinBlockFormat == null && ParameterWasBound(nameof(this.PinBlockFormat)))
{
WriteWarning("You are passing $null as a value for parameter PinBlockFormat 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.PinDataLength = this.PinDataLength;
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.Ibm3624Pin_DecimalizationTable = this.Ibm3624Pin_DecimalizationTable;
context.Ibm3624Pin_PinOffset = this.Ibm3624Pin_PinOffset;
context.Ibm3624Pin_PinValidationData = this.Ibm3624Pin_PinValidationData;
context.Ibm3624Pin_PinValidationDataPadCharacter = this.Ibm3624Pin_PinValidationDataPadCharacter;
context.VisaPin_PinVerificationKeyIndex = this.VisaPin_PinVerificationKeyIndex;
context.VisaPin_VerificationValue = this.VisaPin_VerificationValue;
context.VerificationKeyIdentifier = this.VerificationKeyIdentifier;
#if MODULAR
if (this.VerificationKeyIdentifier == null && ParameterWasBound(nameof(this.VerificationKeyIdentifier)))
{
WriteWarning("You are passing $null as a value for parameter VerificationKeyIdentifier 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
// 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.VerifyPinDataRequest();
// populate DukptAttributes
var requestDukptAttributesIsNull = true;
request.DukptAttributes = new Amazon.PaymentCryptographyData.Model.DukptAttributes();
Amazon.PaymentCryptographyData.DukptDerivationType requestDukptAttributes_dukptAttributes_DukptDerivationType = null;
if (cmdletContext.DukptAttributes_DukptDerivationType != null)
{
requestDukptAttributes_dukptAttributes_DukptDerivationType = cmdletContext.DukptAttributes_DukptDerivationType;
}
if (requestDukptAttributes_dukptAttributes_DukptDerivationType != null)
{
request.DukptAttributes.DukptDerivationType = requestDukptAttributes_dukptAttributes_DukptDerivationType;
requestDukptAttributesIsNull = false;
}
System.String requestDukptAttributes_dukptAttributes_KeySerialNumber = null;
if (cmdletContext.DukptAttributes_KeySerialNumber != null)
{
requestDukptAttributes_dukptAttributes_KeySerialNumber = cmdletContext.DukptAttributes_KeySerialNumber;
}
if (requestDukptAttributes_dukptAttributes_KeySerialNumber != null)
{
request.DukptAttributes.KeySerialNumber = requestDukptAttributes_dukptAttributes_KeySerialNumber;
requestDukptAttributesIsNull = false;
}
// determine if request.DukptAttributes should be set to null
if (requestDukptAttributesIsNull)
{
request.DukptAttributes = null;
}
if (cmdletContext.EncryptedPinBlock != null)
{
request.EncryptedPinBlock = cmdletContext.EncryptedPinBlock;
}
if (cmdletContext.EncryptionKeyIdentifier != null)
{
request.EncryptionKeyIdentifier = cmdletContext.EncryptionKeyIdentifier;
}
if (cmdletContext.PinBlockFormat != null)
{
request.PinBlockFormat = cmdletContext.PinBlockFormat;
}
if (cmdletContext.PinDataLength != null)
{
request.PinDataLength = cmdletContext.PinDataLength.Value;
}
if (cmdletContext.PrimaryAccountNumber != null)
{
request.PrimaryAccountNumber = cmdletContext.PrimaryAccountNumber;
}
// populate VerificationAttributes
var requestVerificationAttributesIsNull = true;
request.VerificationAttributes = new Amazon.PaymentCryptographyData.Model.PinVerificationAttributes();
Amazon.PaymentCryptographyData.Model.VisaPinVerification requestVerificationAttributes_verificationAttributes_VisaPin = null;
// populate VisaPin
var requestVerificationAttributes_verificationAttributes_VisaPinIsNull = true;
requestVerificationAttributes_verificationAttributes_VisaPin = new Amazon.PaymentCryptographyData.Model.VisaPinVerification();
System.Int32? requestVerificationAttributes_verificationAttributes_VisaPin_visaPin_PinVerificationKeyIndex = null;
if (cmdletContext.VisaPin_PinVerificationKeyIndex != null)
{
requestVerificationAttributes_verificationAttributes_VisaPin_visaPin_PinVerificationKeyIndex = cmdletContext.VisaPin_PinVerificationKeyIndex.Value;
}
if (requestVerificationAttributes_verificationAttributes_VisaPin_visaPin_PinVerificationKeyIndex != null)
{
requestVerificationAttributes_verificationAttributes_VisaPin.PinVerificationKeyIndex = requestVerificationAttributes_verificationAttributes_VisaPin_visaPin_PinVerificationKeyIndex.Value;
requestVerificationAttributes_verificationAttributes_VisaPinIsNull = false;
}
System.String requestVerificationAttributes_verificationAttributes_VisaPin_visaPin_VerificationValue = null;
if (cmdletContext.VisaPin_VerificationValue != null)
{
requestVerificationAttributes_verificationAttributes_VisaPin_visaPin_VerificationValue = cmdletContext.VisaPin_VerificationValue;
}
if (requestVerificationAttributes_verificationAttributes_VisaPin_visaPin_VerificationValue != null)
{
requestVerificationAttributes_verificationAttributes_VisaPin.VerificationValue = requestVerificationAttributes_verificationAttributes_VisaPin_visaPin_VerificationValue;
requestVerificationAttributes_verificationAttributes_VisaPinIsNull = false;
}
// determine if requestVerificationAttributes_verificationAttributes_VisaPin should be set to null
if (requestVerificationAttributes_verificationAttributes_VisaPinIsNull)
{
requestVerificationAttributes_verificationAttributes_VisaPin = null;
}
if (requestVerificationAttributes_verificationAttributes_VisaPin != null)
{
request.VerificationAttributes.VisaPin = requestVerificationAttributes_verificationAttributes_VisaPin;
requestVerificationAttributesIsNull = false;
}
Amazon.PaymentCryptographyData.Model.Ibm3624PinVerification requestVerificationAttributes_verificationAttributes_Ibm3624Pin = null;
// populate Ibm3624Pin
var requestVerificationAttributes_verificationAttributes_Ibm3624PinIsNull = true;
requestVerificationAttributes_verificationAttributes_Ibm3624Pin = new Amazon.PaymentCryptographyData.Model.Ibm3624PinVerification();
System.String requestVerificationAttributes_verificationAttributes_Ibm3624Pin_ibm3624Pin_DecimalizationTable = null;
if (cmdletContext.Ibm3624Pin_DecimalizationTable != null)
{
requestVerificationAttributes_verificationAttributes_Ibm3624Pin_ibm3624Pin_DecimalizationTable = cmdletContext.Ibm3624Pin_DecimalizationTable;
}
if (requestVerificationAttributes_verificationAttributes_Ibm3624Pin_ibm3624Pin_DecimalizationTable != null)
{
requestVerificationAttributes_verificationAttributes_Ibm3624Pin.DecimalizationTable = requestVerificationAttributes_verificationAttributes_Ibm3624Pin_ibm3624Pin_DecimalizationTable;
requestVerificationAttributes_verificationAttributes_Ibm3624PinIsNull = false;
}
System.String requestVerificationAttributes_verificationAttributes_Ibm3624Pin_ibm3624Pin_PinOffset = null;
if (cmdletContext.Ibm3624Pin_PinOffset != null)
{
requestVerificationAttributes_verificationAttributes_Ibm3624Pin_ibm3624Pin_PinOffset = cmdletContext.Ibm3624Pin_PinOffset;
}
if (requestVerificationAttributes_verificationAttributes_Ibm3624Pin_ibm3624Pin_PinOffset != null)
{
requestVerificationAttributes_verificationAttributes_Ibm3624Pin.PinOffset = requestVerificationAttributes_verificationAttributes_Ibm3624Pin_ibm3624Pin_PinOffset;
requestVerificationAttributes_verificationAttributes_Ibm3624PinIsNull = false;
}
System.String requestVerificationAttributes_verificationAttributes_Ibm3624Pin_ibm3624Pin_PinValidationData = null;
if (cmdletContext.Ibm3624Pin_PinValidationData != null)
{
requestVerificationAttributes_verificationAttributes_Ibm3624Pin_ibm3624Pin_PinValidationData = cmdletContext.Ibm3624Pin_PinValidationData;
}
if (requestVerificationAttributes_verificationAttributes_Ibm3624Pin_ibm3624Pin_PinValidationData != null)
{
requestVerificationAttributes_verificationAttributes_Ibm3624Pin.PinValidationData = requestVerificationAttributes_verificationAttributes_Ibm3624Pin_ibm3624Pin_PinValidationData;
requestVerificationAttributes_verificationAttributes_Ibm3624PinIsNull = false;
}
System.String requestVerificationAttributes_verificationAttributes_Ibm3624Pin_ibm3624Pin_PinValidationDataPadCharacter = null;
if (cmdletContext.Ibm3624Pin_PinValidationDataPadCharacter != null)
{
requestVerificationAttributes_verificationAttributes_Ibm3624Pin_ibm3624Pin_PinValidationDataPadCharacter = cmdletContext.Ibm3624Pin_PinValidationDataPadCharacter;
}
if (requestVerificationAttributes_verificationAttributes_Ibm3624Pin_ibm3624Pin_PinValidationDataPadCharacter != null)
{
requestVerificationAttributes_verificationAttributes_Ibm3624Pin.PinValidationDataPadCharacter = requestVerificationAttributes_verificationAttributes_Ibm3624Pin_ibm3624Pin_PinValidationDataPadCharacter;
requestVerificationAttributes_verificationAttributes_Ibm3624PinIsNull = false;
}
// determine if requestVerificationAttributes_verificationAttributes_Ibm3624Pin should be set to null
if (requestVerificationAttributes_verificationAttributes_Ibm3624PinIsNull)
{
requestVerificationAttributes_verificationAttributes_Ibm3624Pin = null;
}
if (requestVerificationAttributes_verificationAttributes_Ibm3624Pin != null)
{
request.VerificationAttributes.Ibm3624Pin = requestVerificationAttributes_verificationAttributes_Ibm3624Pin;
requestVerificationAttributesIsNull = false;
}
// determine if request.VerificationAttributes should be set to null
if (requestVerificationAttributesIsNull)
{
request.VerificationAttributes = null;
}
if (cmdletContext.VerificationKeyIdentifier != null)
{
request.VerificationKeyIdentifier = cmdletContext.VerificationKeyIdentifier;
}
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.VerifyPinDataResponse CallAWSServiceOperation(IAmazonPaymentCryptographyData client, Amazon.PaymentCryptographyData.Model.VerifyPinDataRequest request)
{
Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Payment Cryptography Data", "VerifyPinData");
try
{
#if DESKTOP
return client.VerifyPinData(request);
#elif CORECLR
return client.VerifyPinDataAsync(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 Amazon.PaymentCryptographyData.DukptDerivationType DukptAttributes_DukptDerivationType { get; set; }
public System.String DukptAttributes_KeySerialNumber { get; set; }
public System.String EncryptedPinBlock { get; set; }
public System.String EncryptionKeyIdentifier { get; set; }
public Amazon.PaymentCryptographyData.PinBlockFormatForPinData PinBlockFormat { get; set; }
public System.Int32? PinDataLength { get; set; }
public System.String PrimaryAccountNumber { get; set; }
public System.String Ibm3624Pin_DecimalizationTable { get; set; }
public System.String Ibm3624Pin_PinOffset { get; set; }
public System.String Ibm3624Pin_PinValidationData { get; set; }
public System.String Ibm3624Pin_PinValidationDataPadCharacter { get; set; }
public System.Int32? VisaPin_PinVerificationKeyIndex { get; set; }
public System.String VisaPin_VerificationValue { get; set; }
public System.String VerificationKeyIdentifier { get; set; }
public System.Func Select { get; set; } =
(response, cmdlet) => response;
}
}
}