// Code generated by smithy-go-codegen DO NOT EDIT. package paymentcryptography import ( "context" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/paymentcryptography/types" "github.com/aws/smithy-go/middleware" smithyhttp "github.com/aws/smithy-go/transport/http" "time" ) // 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: // - ExportKey // - GetParametersForImport func (c *Client) GetParametersForExport(ctx context.Context, params *GetParametersForExportInput, optFns ...func(*Options)) (*GetParametersForExportOutput, error) { if params == nil { params = &GetParametersForExportInput{} } result, metadata, err := c.invokeOperation(ctx, "GetParametersForExport", params, optFns, c.addOperationGetParametersForExportMiddlewares) if err != nil { return nil, err } out := result.(*GetParametersForExportOutput) out.ResultMetadata = metadata return out, nil } type GetParametersForExportInput struct { // The key block format type (for example, TR-34 or TR-31) to use during key // material export. Export token is only required for a TR-34 key export, // TR34_KEY_BLOCK . Export token is not required for TR-31 key export. // // This member is required. KeyMaterialType types.KeyMaterialType // The signing key algorithm to generate a signing key certificate. This // certificate signs the wrapped key under export within the TR-34 key block // cryptogram. RSA_2048 is the only signing key algorithm allowed. // // This member is required. SigningKeyAlgorithm types.KeyAlgorithm noSmithyDocumentSerde } type GetParametersForExportOutput struct { // The export token to initiate key export from Amazon Web Services Payment // Cryptography. The export token expires after 7 days. You can use the same export // token to export multiple keys from the same service account. // // This member is required. ExportToken *string // The validity period of the export token. // // This member is required. ParametersValidUntilTimestamp *time.Time // The algorithm of the signing key certificate for use in TR-34 key block // generation. RSA_2048 is the only signing key algorithm allowed. // // This member is required. SigningKeyAlgorithm types.KeyAlgorithm // The signing key certificate of the public key for signature within the TR-34 // key block cryptogram. The certificate expires after 7 days. // // This member is required. SigningKeyCertificate *string // The certificate chain that signed the signing key certificate. This is the root // certificate authority (CA) within your service account. // // This member is required. SigningKeyCertificateChain *string // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata noSmithyDocumentSerde } func (c *Client) addOperationGetParametersForExportMiddlewares(stack *middleware.Stack, options Options) (err error) { err = stack.Serialize.Add(&awsAwsjson10_serializeOpGetParametersForExport{}, middleware.After) if err != nil { return err } err = stack.Deserialize.Add(&awsAwsjson10_deserializeOpGetParametersForExport{}, middleware.After) if err != nil { return err } if err = addSetLoggerMiddleware(stack, options); err != nil { return err } if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { return err } if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { return err } if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { return err } if err = addRetryMiddlewares(stack, options); err != nil { return err } if err = addHTTPSignerV4Middleware(stack, options); err != nil { return err } if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { return err } if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { return err } if err = addClientUserAgent(stack, options); err != nil { return err } if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { return err } if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } if err = addOpGetParametersForExportValidationMiddleware(stack); err != nil { return err } if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetParametersForExport(options.Region), middleware.Before); err != nil { return err } if err = awsmiddleware.AddRecursionDetection(stack); err != nil { return err } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } if err = addResponseErrorMiddleware(stack); err != nil { return err } if err = addRequestResponseLogging(stack, options); err != nil { return err } return nil } func newServiceMetadataMiddleware_opGetParametersForExport(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, ServiceID: ServiceID, SigningName: "payment-cryptography", OperationName: "GetParametersForExport", } }