diff --git a/.github/actions/polymorph_codegen/action.yml b/.github/actions/polymorph_codegen/action.yml index 302523dae..b47e4bf57 100644 --- a/.github/actions/polymorph_codegen/action.yml +++ b/.github/actions/polymorph_codegen/action.yml @@ -141,6 +141,12 @@ runs: run: | make polymorph_dotnet ${{ steps.dependencies.outputs.PROJECT_DEPENDENCIES }} + - name: Regenerate Go code using smithy-dafny + working-directory: ./${{ inputs.library }} + shell: bash + run: | + make polymorph_go + - name: Check regenerated code against commited code # Composite action inputs seem to not actually support booleans properly for some reason if: inputs.diff-generated-code == 'true' diff --git a/.github/workflows/ci_codegen.yml b/.github/workflows/ci_codegen.yml index 311559b04..0b6e55f68 100644 --- a/.github/workflows/ci_codegen.yml +++ b/.github/workflows/ci_codegen.yml @@ -18,6 +18,7 @@ jobs: # in this workflow dotnet-version: ["6.0.x"] os: [ubuntu-22.04] + go-version: [1.23] runs-on: ${{ matrix.os }} defaults: run: @@ -48,6 +49,15 @@ jobs: with: dotnet-version: ${{ matrix.dotnet-version }} + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version: ${{ matrix.go-version }} + + - name: Install Go imports + run: | + go install golang.org/x/tools/cmd/goimports@latest + - name: Create temporary global.json run: echo '{"sdk":{"rollForward":"latestFeature","version":"6.0.0"}}' > ./global.json diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorService/shim.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorService/shim.go new file mode 100644 index 000000000..9018b4bb4 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorService/shim.go @@ -0,0 +1,43 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package WrappedAwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorService + +import ( + "context" + + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated" +) + +type Shim struct { + AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.IDynamoDbItemEncryptorClient + client *awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.Client +} + +func (_static *CompanionStruct_Default___) WrappedDynamoDbItemEncryptor(inputConfig AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DynamoDbItemEncryptorConfig) Wrappers.Result { + var nativeConfig = awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.DynamoDbItemEncryptorConfig_FromDafny(inputConfig) + var nativeClient, nativeError = awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.NewClient(nativeConfig) + if nativeError != nil { + return Wrappers.Companion_Result_.Create_Failure_(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_Opaque_(nativeError)) + } + return Wrappers.Companion_Result_.Create_Success_(&Shim{client: nativeClient}) +} + +func (shim *Shim) EncryptItem(input AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.EncryptItemInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.EncryptItemInput_FromDafny(input) + var native_response, native_error = shim.client.EncryptItem(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.EncryptItemOutput_ToDafny(*native_response)) +} + +func (shim *Shim) DecryptItem(input AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DecryptItemInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.DecryptItemInput_FromDafny(input) + var native_response, native_error = shim.client.DecryptItem(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.DecryptItemOutput_ToDafny(*native_response)) +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbService/shim.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbService/shim.go new file mode 100644 index 000000000..0124631c5 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbService/shim.go @@ -0,0 +1,43 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package WrappedAwsCryptographyDbEncryptionSdkDynamoDbService + +import ( + "context" + + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygenerated" +) + +type Shim struct { + AwsCryptographyDbEncryptionSdkDynamoDbTypes.IDynamoDbEncryptionClient + client *awscryptographydbencryptionsdkdynamodbsmithygenerated.Client +} + +func (_static *CompanionStruct_Default___) WrappedDynamoDbEncryption(inputConfig AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbEncryptionConfig) Wrappers.Result { + var nativeConfig = awscryptographydbencryptionsdkdynamodbsmithygenerated.DynamoDbEncryptionConfig_FromDafny(inputConfig) + var nativeClient, nativeError = awscryptographydbencryptionsdkdynamodbsmithygenerated.NewClient(nativeConfig) + if nativeError != nil { + return Wrappers.Companion_Result_.Create_Failure_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_Opaque_(nativeError)) + } + return Wrappers.Companion_Result_.Create_Success_(&Shim{client: nativeClient}) +} + +func (shim *Shim) CreateDynamoDbEncryptionBranchKeyIdSupplier(input AwsCryptographyDbEncryptionSdkDynamoDbTypes.CreateDynamoDbEncryptionBranchKeyIdSupplierInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbsmithygenerated.CreateDynamoDbEncryptionBranchKeyIdSupplierInput_FromDafny(input) + var native_response, native_error = shim.client.CreateDynamoDbEncryptionBranchKeyIdSupplier(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbsmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbsmithygenerated.CreateDynamoDbEncryptionBranchKeyIdSupplierOutput_ToDafny(*native_response)) +} + +func (shim *Shim) GetEncryptedDataKeyDescription(input AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbsmithygenerated.GetEncryptedDataKeyDescriptionInput_FromDafny(input) + var native_response, native_error = shim.client.GetEncryptedDataKeyDescription(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbsmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbsmithygenerated.GetEncryptedDataKeyDescriptionOutput_ToDafny(*native_response)) +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbTransformsService/shim.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbTransformsService/shim.go new file mode 100644 index 000000000..41c6a6043 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbTransformsService/shim.go @@ -0,0 +1,268 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package WrappedAwsCryptographyDbEncryptionSdkDynamoDbTransformsService + +import ( + "context" + + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated" +) + +type Shim struct { + AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.IDynamoDbEncryptionTransformsClient + client *awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Client +} + +func (_static *CompanionStruct_Default___) WrappedDynamoDbEncryptionTransforms(inputConfig AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTablesEncryptionConfig) Wrappers.Result { + var nativeConfig = awscryptographydbencryptionsdkdynamodbsmithygenerated.awscryptographydbencryptionsdkdynamodbsmithygenerated.DynamoDbTablesEncryptionConfig_FromDafny(inputConfig) + var nativeClient, nativeError = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.NewClient(nativeConfig) + if nativeError != nil { + return Wrappers.Companion_Result_.Create_Failure_(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_Opaque_(nativeError)) + } + return Wrappers.Companion_Result_.Create_Success_(&Shim{client: nativeClient}) +} + +func (shim *Shim) PutItemInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.PutItemInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.PutItemInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.PutItemInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) PutItemOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.PutItemOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.PutItemOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.PutItemOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) GetItemInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.GetItemInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.GetItemInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.GetItemInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) GetItemOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.GetItemOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.GetItemOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.GetItemOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) BatchWriteItemInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchWriteItemInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.BatchWriteItemInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchWriteItemInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) BatchWriteItemOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchWriteItemOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.BatchWriteItemOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchWriteItemOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) BatchGetItemInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchGetItemInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.BatchGetItemInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchGetItemInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) BatchGetItemOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchGetItemOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.BatchGetItemOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchGetItemOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) ScanInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ScanInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.ScanInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ScanInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) ScanOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ScanOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.ScanOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ScanOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) QueryInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.QueryInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.QueryInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.QueryInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) QueryOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.QueryOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.QueryOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.QueryOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) TransactWriteItemsInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.TransactWriteItemsInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.TransactWriteItemsInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.TransactWriteItemsInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) TransactWriteItemsOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.TransactWriteItemsOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.TransactWriteItemsOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.TransactWriteItemsOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) UpdateItemInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.UpdateItemInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.UpdateItemInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.UpdateItemInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) UpdateItemOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.UpdateItemOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.UpdateItemOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.UpdateItemOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) DeleteItemInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.DeleteItemInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.DeleteItemInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.DeleteItemInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) DeleteItemOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.DeleteItemOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.DeleteItemOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.DeleteItemOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) TransactGetItemsInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.TransactGetItemsInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.TransactGetItemsInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.TransactGetItemsInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) TransactGetItemsOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.TransactGetItemsOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.TransactGetItemsOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.TransactGetItemsOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) ExecuteStatementInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ExecuteStatementInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.ExecuteStatementInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ExecuteStatementInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) ExecuteStatementOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ExecuteStatementOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.ExecuteStatementOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ExecuteStatementOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) BatchExecuteStatementInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchExecuteStatementInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.BatchExecuteStatementInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchExecuteStatementInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) BatchExecuteStatementOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchExecuteStatementOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.BatchExecuteStatementOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchExecuteStatementOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) ExecuteTransactionInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ExecuteTransactionInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.ExecuteTransactionInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ExecuteTransactionInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) ExecuteTransactionOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ExecuteTransactionOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.ExecuteTransactionOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ExecuteTransactionOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) ResolveAttributes(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ResolveAttributesInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ResolveAttributesInput_FromDafny(input) + var native_response, native_error = shim.client.ResolveAttributes(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ResolveAttributesOutput_ToDafny(*native_response)) +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkStructuredEncryptionService/shim.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkStructuredEncryptionService/shim.go new file mode 100644 index 000000000..6d2ddf5e4 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkStructuredEncryptionService/shim.go @@ -0,0 +1,70 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package WrappedAwsCryptographyDbEncryptionSdkStructuredEncryptionService + +import ( + "context" + + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated" +) + +type Shim struct { + AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.IStructuredEncryptionClient + client *awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Client +} + +func (_static *CompanionStruct_Default___) WrappedStructuredEncryption(inputConfig AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredEncryptionConfig) Wrappers.Result { + var nativeConfig = awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.StructuredEncryptionConfig_FromDafny(inputConfig) + var nativeClient, nativeError = awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.NewClient(nativeConfig) + if nativeError != nil { + return Wrappers.Companion_Result_.Create_Failure_(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_Error_.Create_Opaque_(nativeError)) + } + return Wrappers.Companion_Result_.Create_Success_(&Shim{client: nativeClient}) +} + +func (shim *Shim) EncryptStructure(input AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptStructureInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.EncryptStructureInput_FromDafny(input) + var native_response, native_error = shim.client.EncryptStructure(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.EncryptStructureOutput_ToDafny(*native_response)) +} + +func (shim *Shim) DecryptStructure(input AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptStructureInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.DecryptStructureInput_FromDafny(input) + var native_response, native_error = shim.client.DecryptStructure(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.DecryptStructureOutput_ToDafny(*native_response)) +} + +func (shim *Shim) EncryptPathStructure(input AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptPathStructureInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.EncryptPathStructureInput_FromDafny(input) + var native_response, native_error = shim.client.EncryptPathStructure(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.EncryptPathStructureOutput_ToDafny(*native_response)) +} + +func (shim *Shim) DecryptPathStructure(input AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptPathStructureInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.DecryptPathStructureInput_FromDafny(input) + var native_response, native_error = shim.client.DecryptPathStructure(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.DecryptPathStructureOutput_ToDafny(*native_response)) +} + +func (shim *Shim) ResolveAuthActions(input AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ResolveAuthActionsInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.ResolveAuthActionsInput_FromDafny(input) + var native_response, native_error = shim.client.ResolveAuthActions(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.ResolveAuthActionsOutput_ToDafny(*native_response)) +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated/api_client.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated/api_client.go new file mode 100644 index 000000000..00c350137 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated/api_client.go @@ -0,0 +1,68 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated + +import ( + "context" + + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/DynamoDbItemEncryptor" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes" +) + +type Client struct { + DafnyClient AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.IDynamoDbItemEncryptorClient +} + +func NewClient(clientConfig awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorConfig) (*Client, error) { + var dafnyConfig = DynamoDbItemEncryptorConfig_ToDafny(clientConfig) + var dafny_response = DynamoDbItemEncryptor.Companion_Default___.DynamoDbItemEncryptor(dafnyConfig) + if dafny_response.Is_Failure() { + panic("Client construction failed. This should never happen") + } + var dafnyClient = dafny_response.Extract().(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.IDynamoDbItemEncryptorClient) + client := &Client{dafnyClient} + return client, nil +} + +func (client *Client) EncryptItem(ctx context.Context, params awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.EncryptItemInput) (*awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.EncryptItemOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.EncryptItemInput = EncryptItemInput_ToDafny(params) + var dafny_response = client.DafnyClient.EncryptItem(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = EncryptItemOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.EncryptItemOutput)) + return &native_response, nil + +} + +func (client *Client) DecryptItem(ctx context.Context, params awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DecryptItemInput) (*awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DecryptItemOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DecryptItemInput = DecryptItemInput_ToDafny(params) + var dafny_response = client.DafnyClient.DecryptItem(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = DecryptItemOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DecryptItemOutput)) + return &native_response, nil + +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated/to_dafny.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated/to_dafny.go new file mode 100644 index 000000000..b153d67b2 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated/to_dafny.go @@ -0,0 +1,437 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated + +import ( + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/comamazonawsdynamodbsmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/awscryptographyprimitivessmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/awscryptographyprimitivessmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UTF8" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" + dynamodbtypes "github.com/aws/aws-sdk-go-v2/service/dynamodb/types" + "github.com/aws/smithy-go" + "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" +) + +func DecryptItemInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DecryptItemInput) AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DecryptItemInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DecryptItemInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_DecryptItemInput_.Create_DecryptItemInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemInput_encryptedItem_ToDafny(nativeInput.EncryptedItem)) + }() + +} + +func DecryptItemOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DecryptItemOutput) AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DecryptItemOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DecryptItemOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_DecryptItemOutput_.Create_DecryptItemOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_plaintextItem_ToDafny(nativeOutput.PlaintextItem), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_parsedHeader_ToDafny(nativeOutput.ParsedHeader)) + }() + +} + +func EncryptItemInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.EncryptItemInput) AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.EncryptItemInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.EncryptItemInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_EncryptItemInput_.Create_EncryptItemInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemInput_plaintextItem_ToDafny(nativeInput.PlaintextItem)) + }() + +} + +func EncryptItemOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.EncryptItemOutput) AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.EncryptItemOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.EncryptItemOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_EncryptItemOutput_.Create_EncryptItemOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_encryptedItem_ToDafny(nativeOutput.EncryptedItem), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_parsedHeader_ToDafny(nativeOutput.ParsedHeader)) + }() + +} + +func DynamoDbItemEncryptorException_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorException) AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error { + return func() AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error { + + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_DynamoDbItemEncryptorException_(Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorException_message_ToDafny(nativeInput.Message)) + }() + +} + +func CollectionOfErrors_Input_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.CollectionOfErrors) AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error { + var e []interface{} + for _, i2 := range nativeInput.ListOfErrors { + e = append(e, Error_ToDafny(i2)) + } + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_CollectionOfErrors_(dafny.SeqOf(e...), func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(nativeInput.Message)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) +} +func OpaqueError_Input_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.OpaqueError) AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error { + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_Opaque_(nativeInput.ErrObject) +} + +func Error_ToDafny(err error) AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error { + switch err.(type) { + // Service Errors + case awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorException: + return DynamoDbItemEncryptorException_ToDafny(err.(awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorException)) + + //DependentErrors + case awscryptographyprimitivessmithygeneratedtypes.AwsCryptographicPrimitivesBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(awscryptographyprimitivessmithygenerated.Error_ToDafny(err)) + + case awscryptographymaterialproviderssmithygeneratedtypes.AwsCryptographicMaterialProvidersBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_AwsCryptographyMaterialProviders_(awscryptographymaterialproviderssmithygenerated.Error_ToDafny(err)) + + case awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_AwsCryptographyDbEncryptionSdkStructuredEncryption_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_ToDafny(err)) + + case awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_AwsCryptographyDbEncryptionSdkDynamoDb_(awscryptographydbencryptionsdkdynamodbsmithygenerated.Error_ToDafny(err)) + + case *smithy.OperationError: + if err.(*smithy.OperationError).Service() == "DynamoDB" { + DynamoDBError := comamazonawsdynamodbsmithygenerated.Error_ToDafny(err) + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_ComAmazonawsDynamodb_(DynamoDBError) + } + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_Opaque_(err) + + case smithy.APIError: + DynamoDBError := comamazonawsdynamodbsmithygenerated.Error_ToDafny(err) + if !DynamoDBError.Is_OpaqueWithText() { + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_ComAmazonawsDynamodb_(DynamoDBError) + } + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_Opaque_(err) + + //Unmodelled Errors + case awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.CollectionOfErrors: + return CollectionOfErrors_Input_ToDafny(err.(awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.CollectionOfErrors)) + + default: + error, ok := err.(awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.OpaqueError) + if !ok { + panic("Error is not an OpaqueError") + } + return OpaqueError_Input_ToDafny(error) + } +} + +func DynamoDbItemEncryptorConfig_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorConfig) AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DynamoDbItemEncryptorConfig { + return func() AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DynamoDbItemEncryptorConfig { + + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_DynamoDbItemEncryptorConfig_.Create_DynamoDbItemEncryptorConfig_(Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_logicalTableName_ToDafny(nativeInput.LogicalTableName), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_partitionKeyName_ToDafny(nativeInput.PartitionKeyName), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_sortKeyName_ToDafny(nativeInput.SortKeyName), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_attributeActionsOnEncrypt_ToDafny(nativeInput.AttributeActionsOnEncrypt), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributes_ToDafny(nativeInput.AllowedUnsignedAttributes), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributePrefix_ToDafny(nativeInput.AllowedUnsignedAttributePrefix), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_algorithmSuiteId_ToDafny(nativeInput.AlgorithmSuiteId), func() Wrappers.Option { + if (nativeInput.Keyring) == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(awscryptographymaterialproviderssmithygenerated.Keyring_ToDafny(nativeInput.Keyring)) + }(), func() Wrappers.Option { + if (nativeInput.Cmm) == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_ToDafny(nativeInput.Cmm)) + }(), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_legacyOverride_ToDafny(nativeInput.LegacyOverride), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_plaintextOverride_ToDafny(nativeInput.PlaintextOverride)) + }() + +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemInput_encryptedItem_ToDafny(input map[string]dynamodbtypes.AttributeValue) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_ToDafny(key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_plaintextItem_ToDafny(input map[string]dynamodbtypes.AttributeValue) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_ToDafny(key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_parsedHeader_ToDafny(input *awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.ParsedHeader) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_ParsedHeader_.Create_ParsedHeader_(Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_attributeActionsOnEncrypt_ToDafny(input.AttributeActionsOnEncrypt), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_algorithmSuiteId_ToDafny(input.AlgorithmSuiteId), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptedDataKeys_ToDafny(input.EncryptedDataKeys), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_storedEncryptionContext_ToDafny(input.StoredEncryptionContext), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptionContext_ToDafny(input.EncryptionContext), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_selectorContext_ToDafny(input.SelectorContext))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_attributeActionsOnEncrypt_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_ToDafny(key), awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_algorithmSuiteId_ToDafny(input awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId) AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId { + return func() AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId { + + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == input { + break + } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptedDataKeys_ToDafny(input []awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptedDataKeyList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_storedEncryptionContext_ToDafny(input map[string]string) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_ToDafny(key), awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptionContext_ToDafny(input map[string]string) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_ToDafny(key), awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_selectorContext_ToDafny(input map[string]dynamodbtypes.AttributeValue) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_Key_key_ToDafny(key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_Key_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemInput_plaintextItem_ToDafny(input map[string]dynamodbtypes.AttributeValue) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_ToDafny(key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_encryptedItem_ToDafny(input map[string]dynamodbtypes.AttributeValue) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_ToDafny(key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_parsedHeader_ToDafny(input *awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.ParsedHeader) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_ParsedHeader_.Create_ParsedHeader_(Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_attributeActionsOnEncrypt_ToDafny(input.AttributeActionsOnEncrypt), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_algorithmSuiteId_ToDafny(input.AlgorithmSuiteId), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptedDataKeys_ToDafny(input.EncryptedDataKeys), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_storedEncryptionContext_ToDafny(input.StoredEncryptionContext), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptionContext_ToDafny(input.EncryptionContext), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_selectorContext_ToDafny(input.SelectorContext))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorException_message_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_logicalTableName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_partitionKeyName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_sortKeyName_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_attributeActionsOnEncrypt_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_ToDafny(key), awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributes_ToDafny(input []string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeNameList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributePrefix_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_algorithmSuiteId_ToDafny(input *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == *input { + break + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return Wrappers.Companion_Option_.Create_Some_(enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_legacyOverride_ToDafny(input *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_LegacyOverride_.Create_LegacyOverride_(awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_policy_ToDafny(input.Policy), awscryptographydbencryptionsdkdynamodbsmithygenerated.LegacyDynamoDbEncryptor_ToDafny(input.Encryptor), awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_ToDafny(input.AttributeActionsOnEncrypt), awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_defaultAttributeFlag_ToDafny(input.DefaultAttributeFlag))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_plaintextOverride_ToDafny(input *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == *input { + break + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_PlaintextOverride_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return Wrappers.Companion_Option_.Create_Some_(enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride)) + }() +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated/to_native.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated/to_native.go new file mode 100644 index 000000000..8262392cc --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated/to_native.go @@ -0,0 +1,447 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated + +import ( + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/comamazonawsdynamodbsmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/awscryptographyprimitivessmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UTF8" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" + dynamodbtypes "github.com/aws/aws-sdk-go-v2/service/dynamodb/types" + "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" +) + +func DecryptItemInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DecryptItemInput) awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DecryptItemInput { + + return awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DecryptItemInput{EncryptedItem: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemInput_encryptedItem_FromDafny(dafnyInput.Dtor_encryptedItem())} + +} + +func DecryptItemOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DecryptItemOutput) awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DecryptItemOutput { + + return awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DecryptItemOutput{PlaintextItem: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_plaintextItem_FromDafny(dafnyOutput.Dtor_plaintextItem()), + ParsedHeader: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_parsedHeader_FromDafny(dafnyOutput.Dtor_parsedHeader().UnwrapOr(nil)), + } + +} + +func EncryptItemInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.EncryptItemInput) awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.EncryptItemInput { + + return awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.EncryptItemInput{PlaintextItem: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemInput_plaintextItem_FromDafny(dafnyInput.Dtor_plaintextItem())} + +} + +func EncryptItemOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.EncryptItemOutput) awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.EncryptItemOutput { + + return awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.EncryptItemOutput{EncryptedItem: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_encryptedItem_FromDafny(dafnyOutput.Dtor_encryptedItem()), + ParsedHeader: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_parsedHeader_FromDafny(dafnyOutput.Dtor_parsedHeader().UnwrapOr(nil)), + } + +} + +func DynamoDbItemEncryptorException_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error) awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorException { + return awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorException{Message: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorException_message_FromDafny(dafnyOutput.Dtor_message())} + +} + +func CollectionOfErrors_Output_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error) awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.CollectionOfErrors { + listOfErrors := dafnyOutput.Dtor_list() + message := dafnyOutput.Dtor_message() + t := awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.CollectionOfErrors{} + for i := dafny.Iterate(listOfErrors); ; { + val, ok := i() + if !ok { + break + } + err := val.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error) + t.ListOfErrors = append(t.ListOfErrors, Error_FromDafny(err)) + + } + t.Message = func() string { + a := UTF8.Encode(message.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + return s + }() + return t +} +func OpaqueError_Output_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error) awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.OpaqueError { + return awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.OpaqueError{ + ErrObject: dafnyOutput.Dtor_obj(), + } +} + +func Error_FromDafny(err AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error) error { + // Service Errors + if err.Is_DynamoDbItemEncryptorException() { + return DynamoDbItemEncryptorException_FromDafny(err) + } + + //DependentErrors + if err.Is_AwsCryptographyPrimitives() { + return awscryptographyprimitivessmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyPrimitives()) + } + + if err.Is_ComAmazonawsDynamodb() { + return comamazonawsdynamodbsmithygenerated.Error_FromDafny(err.Dtor_ComAmazonawsDynamodb()) + } + + if err.Is_AwsCryptographyMaterialProviders() { + return awscryptographymaterialproviderssmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyMaterialProviders()) + } + + if err.Is_AwsCryptographyDbEncryptionSdkStructuredEncryption() { + return awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyDbEncryptionSdkStructuredEncryption()) + } + + if err.Is_AwsCryptographyDbEncryptionSdkDynamoDb() { + return awscryptographydbencryptionsdkdynamodbsmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyDbEncryptionSdkDynamoDb()) + } + + //Unmodelled Errors + if err.Is_CollectionOfErrors() { + return CollectionOfErrors_Output_FromDafny(err) + } + + return OpaqueError_Output_FromDafny(err) +} + +func DynamoDbItemEncryptorConfig_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DynamoDbItemEncryptorConfig) awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorConfig { + return awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorConfig{LogicalTableName: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_logicalTableName_FromDafny(dafnyOutput.Dtor_logicalTableName()), + PartitionKeyName: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_partitionKeyName_FromDafny(dafnyOutput.Dtor_partitionKeyName()), + SortKeyName: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_sortKeyName_FromDafny(dafnyOutput.Dtor_sortKeyName().UnwrapOr(nil)), + AttributeActionsOnEncrypt: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_attributeActionsOnEncrypt_FromDafny(dafnyOutput.Dtor_attributeActionsOnEncrypt()), + AllowedUnsignedAttributes: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributes_FromDafny(dafnyOutput.Dtor_allowedUnsignedAttributes().UnwrapOr(nil)), + AllowedUnsignedAttributePrefix: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributePrefix_FromDafny(dafnyOutput.Dtor_allowedUnsignedAttributePrefix().UnwrapOr(nil)), + AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_algorithmSuiteId_FromDafny(dafnyOutput.Dtor_algorithmSuiteId().UnwrapOr(nil)), + Keyring: func() awscryptographymaterialproviderssmithygeneratedtypes.IKeyring { + if dafnyOutput.Dtor_keyring().UnwrapOr(nil) == nil { + return nil + } + return awscryptographymaterialproviderssmithygenerated.Keyring_FromDafny(dafnyOutput.Dtor_keyring().UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.IKeyring)) + }(), + Cmm: func() awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager { + if dafnyOutput.Dtor_cmm().UnwrapOr(nil) == nil { + return nil + } + return awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_FromDafny(dafnyOutput.Dtor_cmm().UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsManager)) + }(), + LegacyOverride: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_legacyOverride_FromDafny(dafnyOutput.Dtor_legacyOverride().UnwrapOr(nil)), + PlaintextOverride: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_plaintextOverride_FromDafny(dafnyOutput.Dtor_plaintextOverride().UnwrapOr(nil)), + } + +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemInput_encryptedItem_FromDafny(input interface{}) map[string]dynamodbtypes.AttributeValue { + var m map[string]dynamodbtypes.AttributeValue = make(map[string]dynamodbtypes.AttributeValue) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_plaintextItem_FromDafny(input interface{}) map[string]dynamodbtypes.AttributeValue { + var m map[string]dynamodbtypes.AttributeValue = make(map[string]dynamodbtypes.AttributeValue) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_parsedHeader_FromDafny(input interface{}) *awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.ParsedHeader { + if input == nil { + return nil + } + return &awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.ParsedHeader{AttributeActionsOnEncrypt: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_attributeActionsOnEncrypt_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_attributeActionsOnEncrypt()), + AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_algorithmSuiteId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_algorithmSuiteId()), + EncryptedDataKeys: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptedDataKeys_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_encryptedDataKeys()), + StoredEncryptionContext: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_storedEncryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_storedEncryptionContext()), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_encryptionContext()), + SelectorContext: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_selectorContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_selectorContext()), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_attributeActionsOnEncrypt_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_algorithmSuiteId_FromDafny(input interface{}) awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + return func() awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + var u awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + inputEnum := input.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptedDataKeys_FromDafny(input interface{}) []awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey { + fieldValue := make([]awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptedDataKeyList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_storedEncryptionContext_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptionContext_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_selectorContext_FromDafny(input interface{}) map[string]dynamodbtypes.AttributeValue { + var m map[string]dynamodbtypes.AttributeValue = make(map[string]dynamodbtypes.AttributeValue) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_Key_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_Key_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemInput_plaintextItem_FromDafny(input interface{}) map[string]dynamodbtypes.AttributeValue { + var m map[string]dynamodbtypes.AttributeValue = make(map[string]dynamodbtypes.AttributeValue) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_encryptedItem_FromDafny(input interface{}) map[string]dynamodbtypes.AttributeValue { + var m map[string]dynamodbtypes.AttributeValue = make(map[string]dynamodbtypes.AttributeValue) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_parsedHeader_FromDafny(input interface{}) *awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.ParsedHeader { + if input == nil { + return nil + } + return &awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.ParsedHeader{AttributeActionsOnEncrypt: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_attributeActionsOnEncrypt_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_attributeActionsOnEncrypt()), + AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_algorithmSuiteId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_algorithmSuiteId()), + EncryptedDataKeys: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptedDataKeys_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_encryptedDataKeys()), + StoredEncryptionContext: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_storedEncryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_storedEncryptionContext()), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_encryptionContext()), + SelectorContext: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_selectorContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_selectorContext()), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorException_message_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_logicalTableName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_partitionKeyName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_sortKeyName_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_attributeActionsOnEncrypt_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributes_FromDafny(input interface{}) []string { + if input == nil { + return nil + } + fieldValue := make([]string, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeNameList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributePrefix_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_algorithmSuiteId_FromDafny(input interface{}) *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + return func() *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + var u awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + if input == nil { + return nil + } + inputEnum := input.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId).Equals(inputEnum) { + break + } + } + } + + return &u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_legacyOverride_FromDafny(input interface{}) *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride { + if input == nil { + return nil + } + return &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride{Policy: awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_policy_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_policy()), + Encryptor: awscryptographydbencryptionsdkdynamodbsmithygenerated.LegacyDynamoDbEncryptor_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_encryptor()), + AttributeActionsOnEncrypt: awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_attributeActionsOnEncrypt()), + DefaultAttributeFlag: awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_defaultAttributeFlag_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_defaultAttributeFlag().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_plaintextOverride_FromDafny(input interface{}) *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride { + return func() *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride { + var u awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride + if input == nil { + return nil + } + inputEnum := input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_PlaintextOverride_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride).Equals(inputEnum) { + break + } + } + } + + return &u.Values()[index] + }() +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes/errors.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes/errors.go new file mode 100644 index 000000000..7dbd6b99e --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes/errors.go @@ -0,0 +1,17 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes + +import ( + "fmt" +) + +type DynamoDbItemEncryptorException struct { + DynamoDbItemEncryptorBaseException + Message string + ErrorCodeOverride *string +} + +func (e DynamoDbItemEncryptorException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCodeOverride, e.Message) +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes/types.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes/types.go new file mode 100644 index 000000000..dbe8e708c --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes/types.go @@ -0,0 +1,852 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes + +import ( + "fmt" + "unicode/utf8" + + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" + dynamodbtypes "github.com/aws/aws-sdk-go-v2/service/dynamodb/types" +) + +type DecryptItemInput struct { + EncryptedItem map[string]dynamodbtypes.AttributeValue +} + +func (input DecryptItemInput) Validate() error { + if input.EncryptedItem == nil { + return fmt.Errorf("input.EncryptedItem is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemInput_encryptedItem_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemInput_encryptedItem_Validate() + } + + return nil +} + +func (input DecryptItemInput) Com_amazonaws_dynamodb_AttributeMap_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input DecryptItemInput) Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + if input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input DecryptItemInput) Com_amazonaws_dynamodb_AttributeValue_M_Validate(Value map[string]dynamodbtypes.AttributeValue) error { + for key, value := range Value { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) + } + } + + return nil +} +func (input DecryptItemInput) Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + if input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input DecryptItemInput) Com_amazonaws_dynamodb_AttributeValue_L_Validate(Value []dynamodbtypes.AttributeValue) error { + for _, item := range Value { + if input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) != nil { + return input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) + } + } + + return nil +} +func (input DecryptItemInput) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemInput_encryptedItem_Validate() error { + for key, value := range input.EncryptedItem { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) + } + } + + return nil +} + +type EncryptItemInput struct { + PlaintextItem map[string]dynamodbtypes.AttributeValue +} + +func (input EncryptItemInput) Validate() error { + if input.PlaintextItem == nil { + return fmt.Errorf("input.PlaintextItem is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemInput_plaintextItem_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemInput_plaintextItem_Validate() + } + + return nil +} + +func (input EncryptItemInput) Com_amazonaws_dynamodb_AttributeMap_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input EncryptItemInput) Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + if input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input EncryptItemInput) Com_amazonaws_dynamodb_AttributeValue_M_Validate(Value map[string]dynamodbtypes.AttributeValue) error { + for key, value := range Value { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) + } + } + + return nil +} +func (input EncryptItemInput) Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + if input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input EncryptItemInput) Com_amazonaws_dynamodb_AttributeValue_L_Validate(Value []dynamodbtypes.AttributeValue) error { + for _, item := range Value { + if input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) != nil { + return input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) + } + } + + return nil +} +func (input EncryptItemInput) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemInput_plaintextItem_Validate() error { + for key, value := range input.PlaintextItem { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) + } + } + + return nil +} + +type ParsedHeader struct { + AlgorithmSuiteId awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + + AttributeActionsOnEncrypt map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction + + EncryptedDataKeys []awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey + + EncryptionContext map[string]string + + SelectorContext map[string]dynamodbtypes.AttributeValue + + StoredEncryptionContext map[string]string +} + +func (input ParsedHeader) Validate() error { + if input.AttributeActionsOnEncrypt == nil { + return fmt.Errorf("input.AttributeActionsOnEncrypt is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_attributeActionsOnEncrypt_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_attributeActionsOnEncrypt_Validate() + } + if input.EncryptedDataKeys == nil { + return fmt.Errorf("input.EncryptedDataKeys is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptedDataKeys_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptedDataKeys_Validate() + } + if input.EncryptionContext == nil { + return fmt.Errorf("input.EncryptionContext is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptionContext_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptionContext_Validate() + } + if input.SelectorContext == nil { + return fmt.Errorf("input.SelectorContext is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_selectorContext_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_selectorContext_Validate() + } + if input.StoredEncryptionContext == nil { + return fmt.Errorf("input.StoredEncryptionContext is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_storedEncryptionContext_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_storedEncryptionContext_Validate() + } + + return nil +} + +func (input ParsedHeader) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_attributeActionsOnEncrypt_Validate() error { + for key, _ := range input.AttributeActionsOnEncrypt { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + } + + return nil +} +func (input ParsedHeader) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptedDataKeys_Validate() error { + for _, item := range input.EncryptedDataKeys { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input ParsedHeader) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptionContext_Validate() error { + for key, value := range input.EncryptionContext { + if !utf8.ValidString(key) { + return fmt.Errorf("Invalid UTF bytes %s ", key) + } + if !utf8.ValidString(value) { + return fmt.Errorf("Invalid UTF bytes %s ", value) + } + } + + return nil +} +func (input ParsedHeader) Com_amazonaws_dynamodb_Key_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input ParsedHeader) Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + if input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input ParsedHeader) Com_amazonaws_dynamodb_AttributeValue_M_Validate(Value map[string]dynamodbtypes.AttributeValue) error { + for key, value := range Value { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) + } + } + + return nil +} +func (input ParsedHeader) Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + if input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input ParsedHeader) Com_amazonaws_dynamodb_AttributeValue_L_Validate(Value []dynamodbtypes.AttributeValue) error { + for _, item := range Value { + if input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) != nil { + return input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) + } + } + + return nil +} +func (input ParsedHeader) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_selectorContext_Validate() error { + for key, value := range input.SelectorContext { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_Key_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_Key_value_Validate(value) + } + } + + return nil +} +func (input ParsedHeader) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_storedEncryptionContext_Validate() error { + for key, value := range input.StoredEncryptionContext { + if !utf8.ValidString(key) { + return fmt.Errorf("Invalid UTF bytes %s ", key) + } + if !utf8.ValidString(value) { + return fmt.Errorf("Invalid UTF bytes %s ", value) + } + } + + return nil +} + +type DecryptItemOutput struct { + PlaintextItem map[string]dynamodbtypes.AttributeValue + + ParsedHeader *ParsedHeader +} + +func (input DecryptItemOutput) Validate() error { + if input.PlaintextItem == nil { + return fmt.Errorf("input.PlaintextItem is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_plaintextItem_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_plaintextItem_Validate() + } + if input.ParsedHeader != nil { + if input.ParsedHeader.Validate() != nil { + return input.ParsedHeader.Validate() + } + + } + + return nil +} + +func (input DecryptItemOutput) Com_amazonaws_dynamodb_AttributeMap_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input DecryptItemOutput) Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + if input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input DecryptItemOutput) Com_amazonaws_dynamodb_AttributeValue_M_Validate(Value map[string]dynamodbtypes.AttributeValue) error { + for key, value := range Value { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) + } + } + + return nil +} +func (input DecryptItemOutput) Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + if input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input DecryptItemOutput) Com_amazonaws_dynamodb_AttributeValue_L_Validate(Value []dynamodbtypes.AttributeValue) error { + for _, item := range Value { + if input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) != nil { + return input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) + } + } + + return nil +} +func (input DecryptItemOutput) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_plaintextItem_Validate() error { + for key, value := range input.PlaintextItem { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) + } + } + + return nil +} + +type EncryptItemOutput struct { + EncryptedItem map[string]dynamodbtypes.AttributeValue + + ParsedHeader *ParsedHeader +} + +func (input EncryptItemOutput) Validate() error { + if input.EncryptedItem == nil { + return fmt.Errorf("input.EncryptedItem is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_encryptedItem_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_encryptedItem_Validate() + } + if input.ParsedHeader != nil { + if input.ParsedHeader.Validate() != nil { + return input.ParsedHeader.Validate() + } + + } + + return nil +} + +func (input EncryptItemOutput) Com_amazonaws_dynamodb_AttributeMap_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input EncryptItemOutput) Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + if input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input EncryptItemOutput) Com_amazonaws_dynamodb_AttributeValue_M_Validate(Value map[string]dynamodbtypes.AttributeValue) error { + for key, value := range Value { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) + } + } + + return nil +} +func (input EncryptItemOutput) Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + if input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input EncryptItemOutput) Com_amazonaws_dynamodb_AttributeValue_L_Validate(Value []dynamodbtypes.AttributeValue) error { + for _, item := range Value { + if input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) != nil { + return input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) + } + } + + return nil +} +func (input EncryptItemOutput) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_encryptedItem_Validate() error { + for key, value := range input.EncryptedItem { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) + } + } + + return nil +} + +type AtomicPrimitivesReference struct { +} + +func (input AtomicPrimitivesReference) Validate() error { + + return nil +} + +type DynamoDbItemEncryptorConfig struct { + AttributeActionsOnEncrypt map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction + + LogicalTableName string + + PartitionKeyName string + + AlgorithmSuiteId *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + + AllowedUnsignedAttributePrefix *string + + AllowedUnsignedAttributes []string + + Cmm awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager + + Keyring awscryptographymaterialproviderssmithygeneratedtypes.IKeyring + + LegacyOverride *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride + + PlaintextOverride *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride + + SortKeyName *string +} + +func (input DynamoDbItemEncryptorConfig) Validate() error { + if input.AttributeActionsOnEncrypt == nil { + return fmt.Errorf("input.AttributeActionsOnEncrypt is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_attributeActionsOnEncrypt_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_attributeActionsOnEncrypt_Validate() + } + if len(input.PartitionKeyName) < 1 { + return fmt.Errorf("KeySchemaAttributeName has a minimum length of 1 but has the length of %d.", len(input.PartitionKeyName)) + } + if len(input.PartitionKeyName) > 255 { + return fmt.Errorf("KeySchemaAttributeName has a maximum length of 255 but has the length of %d.", len(input.PartitionKeyName)) + } + if len(input.AllowedUnsignedAttributes) < 1 { + return fmt.Errorf("AttributeNameList has a minimum length of 1 but has the length of %d.", len(input.AllowedUnsignedAttributes)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributes_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributes_Validate() + } + if input.LegacyOverride != nil { + if input.LegacyOverride.Validate() != nil { + return input.LegacyOverride.Validate() + } + + } + if input.SortKeyName != nil { + if len(*input.SortKeyName) < 1 { + return fmt.Errorf("KeySchemaAttributeName has a minimum length of 1 but has the length of %d.", len(*input.SortKeyName)) + } + if len(*input.SortKeyName) > 255 { + return fmt.Errorf("KeySchemaAttributeName has a maximum length of 255 but has the length of %d.", len(*input.SortKeyName)) + } + } + + return nil +} + +func (input DynamoDbItemEncryptorConfig) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_attributeActionsOnEncrypt_Validate() error { + for key, _ := range input.AttributeActionsOnEncrypt { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + } + + return nil +} +func (input DynamoDbItemEncryptorConfig) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributes_Validate() error { + for _, item := range input.AllowedUnsignedAttributes { + if len(item) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(item)) + } + if len(item) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(item)) + } + } + + return nil +} + +type StructuredEncryptionReference struct { +} + +func (input StructuredEncryptionReference) Validate() error { + + return nil +} + +type DynamoDbItemEncryptorBaseException interface { + // This is a dummy method to allow type assertion since Go empty interfaces + // aren't useful for type assertion checks. No concrete class is expected to implement + // this method. This is also not exported. + interfaceBindingMethod() +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes/unmodelled_errors.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes/unmodelled_errors.go new file mode 100644 index 000000000..e6a12a0b3 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes/unmodelled_errors.go @@ -0,0 +1,26 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes + +import ( + "fmt" +) + +type CollectionOfErrors struct { + DynamoDbItemEncryptorBaseException + ListOfErrors []error + Message string +} + +func (e CollectionOfErrors) Error() string { + return fmt.Sprintf("message: %s\n err %v", e.Message, e.ListOfErrors) +} + +type OpaqueError struct { + DynamoDbItemEncryptorBaseException + ErrObject interface{} +} + +func (e OpaqueError) Error() string { + return fmt.Sprintf("message: %v", e.ErrObject) +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/DynamoDbKeyBranchKeyIdSupplier.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/DynamoDbKeyBranchKeyIdSupplier.go new file mode 100644 index 000000000..3be011021 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/DynamoDbKeyBranchKeyIdSupplier.go @@ -0,0 +1,25 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygenerated + +import ( + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" +) + +type DynamoDbKeyBranchKeyIdSupplier struct { + Impl AwsCryptographyDbEncryptionSdkDynamoDbTypes.IDynamoDbKeyBranchKeyIdSupplier +} + +func (this *DynamoDbKeyBranchKeyIdSupplier) GetBranchKeyIdFromDdbKey(params awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetBranchKeyIdFromDdbKeyInput) (*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetBranchKeyIdFromDdbKeyOutput, error) { + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetBranchKeyIdFromDdbKeyInput = GetBranchKeyIdFromDdbKeyInput_ToDafny(params) + var dafny_response = this.Impl.GetBranchKeyIdFromDdbKey(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = GetBranchKeyIdFromDdbKeyOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetBranchKeyIdFromDdbKeyOutput)) + return &native_response, nil + +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/DynamoDbKeyBranchKeyIdSupplierNativeWrapper.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/DynamoDbKeyBranchKeyIdSupplierNativeWrapper.go new file mode 100644 index 000000000..49450292e --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/DynamoDbKeyBranchKeyIdSupplierNativeWrapper.go @@ -0,0 +1,23 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygenerated + +import ( + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" +) + +type DynamoDbKeyBranchKeyIdSupplierNativeWrapper struct { + AwsCryptographyDbEncryptionSdkDynamoDbTypes.IDynamoDbKeyBranchKeyIdSupplier + Impl awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.IDynamoDbKeyBranchKeyIdSupplier +} + +func (this *DynamoDbKeyBranchKeyIdSupplierNativeWrapper) GetBranchKeyIdFromDdbKey(input AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetBranchKeyIdFromDdbKeyInput) Wrappers.Result { + var native_request = GetBranchKeyIdFromDdbKeyInput_FromDafny(input) + var native_response, native_error = this.Impl.GetBranchKeyIdFromDdbKey(native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(GetBranchKeyIdFromDdbKeyOutput_ToDafny(*native_response)) +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/LegacyDynamoDbEncryptor.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/LegacyDynamoDbEncryptor.go new file mode 100644 index 000000000..eafc684e5 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/LegacyDynamoDbEncryptor.go @@ -0,0 +1,11 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygenerated + +import ( + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" +) + +type LegacyDynamoDbEncryptor struct { + Impl AwsCryptographyDbEncryptionSdkDynamoDbTypes.ILegacyDynamoDbEncryptor +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/LegacyDynamoDbEncryptorNativeWrapper.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/LegacyDynamoDbEncryptorNativeWrapper.go new file mode 100644 index 000000000..785ae9a55 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/LegacyDynamoDbEncryptorNativeWrapper.go @@ -0,0 +1,13 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygenerated + +import ( + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" +) + +type LegacyDynamoDbEncryptorNativeWrapper struct { + AwsCryptographyDbEncryptionSdkDynamoDbTypes.ILegacyDynamoDbEncryptor + Impl awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ILegacyDynamoDbEncryptor +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/api_client.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/api_client.go new file mode 100644 index 000000000..beeda18d4 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/api_client.go @@ -0,0 +1,68 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygenerated + +import ( + "context" + + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/DynamoDbEncryption" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" +) + +type Client struct { + DafnyClient AwsCryptographyDbEncryptionSdkDynamoDbTypes.IDynamoDbEncryptionClient +} + +func NewClient(clientConfig awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionConfig) (*Client, error) { + var dafnyConfig = DynamoDbEncryptionConfig_ToDafny(clientConfig) + var dafny_response = DynamoDbEncryption.Companion_Default___.DynamoDbEncryption(dafnyConfig) + if dafny_response.Is_Failure() { + panic("Client construction failed. This should never happen") + } + var dafnyClient = dafny_response.Extract().(AwsCryptographyDbEncryptionSdkDynamoDbTypes.IDynamoDbEncryptionClient) + client := &Client{dafnyClient} + return client, nil +} + +func (client *Client) CreateDynamoDbEncryptionBranchKeyIdSupplier(ctx context.Context, params awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CreateDynamoDbEncryptionBranchKeyIdSupplierInput) (*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CreateDynamoDbEncryptionBranchKeyIdSupplierOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTypes.CreateDynamoDbEncryptionBranchKeyIdSupplierInput = CreateDynamoDbEncryptionBranchKeyIdSupplierInput_ToDafny(params) + var dafny_response = client.DafnyClient.CreateDynamoDbEncryptionBranchKeyIdSupplier(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = CreateDynamoDbEncryptionBranchKeyIdSupplierOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CreateDynamoDbEncryptionBranchKeyIdSupplierOutput)) + return &native_response, nil + +} + +func (client *Client) GetEncryptedDataKeyDescription(ctx context.Context, params awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionInput) (*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionInput = GetEncryptedDataKeyDescriptionInput_ToDafny(params) + var dafny_response = client.DafnyClient.GetEncryptedDataKeyDescription(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = GetEncryptedDataKeyDescriptionOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionOutput)) + return &native_response, nil + +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/to_dafny.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/to_dafny.go new file mode 100644 index 000000000..015d4054d --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/to_dafny.go @@ -0,0 +1,1821 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygenerated + +import ( + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/comamazonawsdynamodbsmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographykeystoresmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographykeystoresmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/awscryptographyprimitivessmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/awscryptographyprimitivessmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UTF8" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" + dynamodbtypes "github.com/aws/aws-sdk-go-v2/service/dynamodb/types" + "github.com/aws/smithy-go" + "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" +) + +func CreateDynamoDbEncryptionBranchKeyIdSupplierInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CreateDynamoDbEncryptionBranchKeyIdSupplierInput) AwsCryptographyDbEncryptionSdkDynamoDbTypes.CreateDynamoDbEncryptionBranchKeyIdSupplierInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.CreateDynamoDbEncryptionBranchKeyIdSupplierInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_CreateDynamoDbEncryptionBranchKeyIdSupplierInput_.Create_CreateDynamoDbEncryptionBranchKeyIdSupplierInput_(DynamoDbKeyBranchKeyIdSupplier_ToDafny(nativeInput.DdbKeyBranchKeyIdSupplier)) + }() + +} + +func CreateDynamoDbEncryptionBranchKeyIdSupplierOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CreateDynamoDbEncryptionBranchKeyIdSupplierOutput) AwsCryptographyDbEncryptionSdkDynamoDbTypes.CreateDynamoDbEncryptionBranchKeyIdSupplierOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.CreateDynamoDbEncryptionBranchKeyIdSupplierOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_CreateDynamoDbEncryptionBranchKeyIdSupplierOutput_.Create_CreateDynamoDbEncryptionBranchKeyIdSupplierOutput_(awscryptographymaterialproviderssmithygenerated.BranchKeyIdSupplier_ToDafny(nativeOutput.BranchKeyIdSupplier)) + }() + +} + +func GetEncryptedDataKeyDescriptionInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionInput) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetEncryptedDataKeyDescriptionInput_.Create_GetEncryptedDataKeyDescriptionInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionInput_input_ToDafny(nativeInput.Input)) + }() + +} + +func GetEncryptedDataKeyDescriptionOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionOutput) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetEncryptedDataKeyDescriptionOutput_.Create_GetEncryptedDataKeyDescriptionOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionOutput_EncryptedDataKeyDescriptionOutput_ToDafny(nativeOutput.EncryptedDataKeyDescriptionOutput)) + }() + +} + +func GetBranchKeyIdFromDdbKeyInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetBranchKeyIdFromDdbKeyInput) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetBranchKeyIdFromDdbKeyInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetBranchKeyIdFromDdbKeyInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetBranchKeyIdFromDdbKeyInput_.Create_GetBranchKeyIdFromDdbKeyInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyInput_ddbKey_ToDafny(nativeInput.DdbKey)) + }() + +} + +func GetBranchKeyIdFromDdbKeyOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetBranchKeyIdFromDdbKeyOutput) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetBranchKeyIdFromDdbKeyOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetBranchKeyIdFromDdbKeyOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetBranchKeyIdFromDdbKeyOutput_.Create_GetBranchKeyIdFromDdbKeyOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyOutput_branchKeyId_ToDafny(nativeOutput.BranchKeyId)) + }() + +} + +func DynamoDbKeyBranchKeyIdSupplier_ToDafny(nativeResource awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.IDynamoDbKeyBranchKeyIdSupplier) AwsCryptographyDbEncryptionSdkDynamoDbTypes.IDynamoDbKeyBranchKeyIdSupplier { + val, ok := nativeResource.(*DynamoDbKeyBranchKeyIdSupplier) + if ok { + return val.Impl + } + return DynamoDbKeyBranchKeyIdSupplier{&DynamoDbKeyBranchKeyIdSupplierNativeWrapper{Impl: nativeResource}}.Impl + +} + +func LegacyDynamoDbEncryptor_ToDafny(nativeResource awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ILegacyDynamoDbEncryptor) AwsCryptographyDbEncryptionSdkDynamoDbTypes.ILegacyDynamoDbEncryptor { + val, ok := nativeResource.(*LegacyDynamoDbEncryptor) + if ok { + return val.Impl + } + return LegacyDynamoDbEncryptor{&LegacyDynamoDbEncryptorNativeWrapper{Impl: nativeResource}}.Impl + +} + +func DynamoDbEncryptionException_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionException) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_DynamoDbEncryptionException_(Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbEncryptionException_message_ToDafny(nativeInput.Message)) + }() + +} + +func CollectionOfErrors_Input_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CollectionOfErrors) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error { + var e []interface{} + for _, i2 := range nativeInput.ListOfErrors { + e = append(e, Error_ToDafny(i2)) + } + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_CollectionOfErrors_(dafny.SeqOf(e...), func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(nativeInput.Message)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) +} +func OpaqueError_Input_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.OpaqueError) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error { + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_Opaque_(nativeInput.ErrObject) +} + +func Error_ToDafny(err error) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error { + switch err.(type) { + // Service Errors + case awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionException: + return DynamoDbEncryptionException_ToDafny(err.(awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionException)) + + //DependentErrors + case awscryptographyprimitivessmithygeneratedtypes.AwsCryptographicPrimitivesBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(awscryptographyprimitivessmithygenerated.Error_ToDafny(err)) + + case awscryptographymaterialproviderssmithygeneratedtypes.AwsCryptographicMaterialProvidersBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_AwsCryptographyMaterialProviders_(awscryptographymaterialproviderssmithygenerated.Error_ToDafny(err)) + + case awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_AwsCryptographyDbEncryptionSdkStructuredEncryption_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_ToDafny(err)) + + case awscryptographykeystoresmithygeneratedtypes.KeyStoreBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_AwsCryptographyKeyStore_(awscryptographykeystoresmithygenerated.Error_ToDafny(err)) + + case *smithy.OperationError: + if err.(*smithy.OperationError).Service() == "DynamoDB" { + DynamoDBError := comamazonawsdynamodbsmithygenerated.Error_ToDafny(err) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_ComAmazonawsDynamodb_(DynamoDBError) + } + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_Opaque_(err) + + case smithy.APIError: + DynamoDBError := comamazonawsdynamodbsmithygenerated.Error_ToDafny(err) + if !DynamoDBError.Is_OpaqueWithText() { + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_ComAmazonawsDynamodb_(DynamoDBError) + } + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_Opaque_(err) + + //Unmodelled Errors + case awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CollectionOfErrors: + return CollectionOfErrors_Input_ToDafny(err.(awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CollectionOfErrors)) + + default: + error, ok := err.(awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.OpaqueError) + if !ok { + panic("Error is not an OpaqueError") + } + return OpaqueError_Input_ToDafny(error) + } +} + +func DynamoDbEncryptionConfig_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionConfig) AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbEncryptionConfig { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbEncryptionConfig { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_DynamoDbEncryptionConfig_.Create_DynamoDbEncryptionConfig_() + }() + +} + +func AsSet_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.AsSet) AwsCryptographyDbEncryptionSdkDynamoDbTypes.AsSet { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.AsSet { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_AsSet_.Create_AsSet_() + }() + +} + +func MultiKeyStore_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.MultiKeyStore) AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_MultiKeyStore_.Create_MultiKeyStore_(Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_keyFieldName_ToDafny(nativeInput.KeyFieldName), Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cacheTTL_ToDafny(nativeInput.CacheTTL), Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cache_ToDafny(nativeInput.Cache), Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_partitionId_ToDafny(nativeInput.PartitionId)) + }() + +} + +func SingleKeyStore_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SingleKeyStore) AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_SingleKeyStore_.Create_SingleKeyStore_(Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_keyId_ToDafny(nativeInput.KeyId), Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cacheTTL_ToDafny(nativeInput.CacheTTL), Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cache_ToDafny(nativeInput.Cache), Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_partitionId_ToDafny(nativeInput.PartitionId)) + }() + +} + +func BeaconKeySource_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySource) AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource { + + switch nativeInput.(type) { + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembersingle: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_single_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembersingle).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconKeySource_{}.Create_single_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembermulti: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_multi_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembermulti).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconKeySource_{}.Create_multi_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore)) + + default: + panic("Unhandled union type") + } + }() + +} + +func PartOnly_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PartOnly) AwsCryptographyDbEncryptionSdkDynamoDbTypes.PartOnly { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.PartOnly { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_PartOnly_.Create_PartOnly_() + }() + +} + +func Shared_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Shared) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Shared { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.Shared { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Shared_.Create_Shared_(Aws_cryptography_dbEncryptionSdk_dynamoDb_Shared_other_ToDafny(nativeInput.Other)) + }() + +} + +func SharedSet_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SharedSet) AwsCryptographyDbEncryptionSdkDynamoDbTypes.SharedSet { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.SharedSet { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_SharedSet_.Create_SharedSet_(Aws_cryptography_dbEncryptionSdk_dynamoDb_SharedSet_other_ToDafny(nativeInput.Other)) + }() + +} + +func BeaconStyle_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyle) AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle { + + switch nativeInput.(type) { + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberpartOnly: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_partOnly_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberpartOnly).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconStyle_{}.Create_partOnly_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PartOnly)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembershared: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_shared_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembershared).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconStyle_{}.Create_shared_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Shared)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberasSet: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_asSet_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberasSet).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconStyle_{}.Create_asSet_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.AsSet)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembersharedSet: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_sharedSet_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembersharedSet).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconStyle_{}.Create_sharedSet_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SharedSet)) + + default: + panic("Unhandled union type") + } + }() + +} + +func ConstructorPart_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ConstructorPart) AwsCryptographyDbEncryptionSdkDynamoDbTypes.ConstructorPart { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.ConstructorPart { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_ConstructorPart_.Create_ConstructorPart_(Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_name_ToDafny(nativeInput.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_required_ToDafny(nativeInput.Required)) + }() + +} + +func Constructor_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Constructor) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Constructor { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.Constructor { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Constructor_.Create_Constructor_(Aws_cryptography_dbEncryptionSdk_dynamoDb_Constructor_parts_ToDafny(nativeInput.Parts)) + }() + +} + +func EncryptedPart_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart) AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedPart { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedPart { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_EncryptedPart_.Create_EncryptedPart_(Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_name_ToDafny(nativeInput.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_prefix_ToDafny(nativeInput.Prefix)) + }() + +} + +func SignedPart_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart) AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_SignedPart_.Create_SignedPart_(Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_name_ToDafny(nativeInput.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_prefix_ToDafny(nativeInput.Prefix), Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_loc_ToDafny(nativeInput.Loc)) + }() + +} + +func CompoundBeacon_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CompoundBeacon) AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_CompoundBeacon_.Create_CompoundBeacon_(Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_name_ToDafny(nativeInput.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_split_ToDafny(nativeInput.Split), Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_encrypted_ToDafny(nativeInput.Encrypted), Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_signed_ToDafny(nativeInput.Signed), Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_constructors_ToDafny(nativeInput.Constructors)) + }() + +} + +func StandardBeacon_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.StandardBeacon) AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_StandardBeacon_.Create_StandardBeacon_(Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_name_ToDafny(nativeInput.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_length_ToDafny(nativeInput.Length), Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_loc_ToDafny(nativeInput.Loc), Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_style_ToDafny(nativeInput.Style)) + }() + +} + +func Insert_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Insert) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Insert { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.Insert { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Insert_.Create_Insert_(Aws_cryptography_dbEncryptionSdk_dynamoDb_Insert_literal_ToDafny(nativeInput.Literal)) + }() + +} + +func Lower_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Lower) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Lower { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.Lower { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Lower_.Create_Lower_() + }() + +} + +func GetPrefix_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetPrefix) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetPrefix { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetPrefix { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetPrefix_.Create_GetPrefix_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetPrefix_length_ToDafny(nativeInput.Length)) + }() + +} + +func GetSegment_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegment) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegment { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegment { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetSegment_.Create_GetSegment_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_split_ToDafny(nativeInput.Split), Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_index_ToDafny(nativeInput.Index)) + }() + +} + +func GetSegments_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegments) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetSegments_.Create_GetSegments_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_split_ToDafny(nativeInput.Split), Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_low_ToDafny(nativeInput.Low), Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_high_ToDafny(nativeInput.High)) + }() + +} + +func GetSubstring_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSubstring) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSubstring { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSubstring { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetSubstring_.Create_GetSubstring_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_low_ToDafny(nativeInput.Low), Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_high_ToDafny(nativeInput.High)) + }() + +} + +func GetSuffix_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSuffix) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSuffix { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSuffix { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetSuffix_.Create_GetSuffix_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSuffix_length_ToDafny(nativeInput.Length)) + }() + +} + +func Upper_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Upper) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Upper { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.Upper { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Upper_.Create_Upper_() + }() + +} + +func VirtualTransform_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransform) AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform { + + switch nativeInput.(type) { + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberupper: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_upper_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberupper).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_upper_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Upper)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberlower: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_lower_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberlower).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_lower_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Lower)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberinsert: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_insert_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberinsert).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_insert_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Insert)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberprefix: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_prefix_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberprefix).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_prefix_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetPrefix)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersuffix: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_suffix_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersuffix).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_suffix_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSuffix)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersubstring: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_substring_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersubstring).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_substring_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSubstring)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegment: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segment_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegment).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_segment_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegment)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegments: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segments_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegments).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_segments_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments)) + + default: + panic("Unhandled union type") + } + }() + +} + +func VirtualPart_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualPart) AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualPart { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualPart { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_VirtualPart_.Create_VirtualPart_(Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_loc_ToDafny(nativeInput.Loc), Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_trans_ToDafny(nativeInput.Trans)) + }() + +} + +func VirtualField_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualField) AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualField { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualField { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_VirtualField_.Create_VirtualField_(Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_name_ToDafny(nativeInput.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_parts_ToDafny(nativeInput.Parts)) + }() + +} + +func BeaconVersion_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconVersion) AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_BeaconVersion_.Create_BeaconVersion_(Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_version_ToDafny(nativeInput.Version), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keyStore_ToDafny(nativeInput.KeyStore), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keySource_ToDafny(nativeInput.KeySource), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_standardBeacons_ToDafny(nativeInput.StandardBeacons), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_compoundBeacons_ToDafny(nativeInput.CompoundBeacons), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_virtualFields_ToDafny(nativeInput.VirtualFields), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_encryptedParts_ToDafny(nativeInput.EncryptedParts), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_signedParts_ToDafny(nativeInput.SignedParts)) + }() + +} + +func LegacyPolicy_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyPolicy) AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy { + + var index int + for _, enumVal := range nativeInput.Values() { + index++ + if enumVal == nativeInput { + break + } + if index == len(nativeInput.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_LegacyPolicy_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy) + }() + +} + +func LegacyOverride_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride) AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_LegacyOverride_.Create_LegacyOverride_(Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_policy_ToDafny(nativeInput.Policy), LegacyDynamoDbEncryptor_ToDafny(nativeInput.Encryptor), Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_ToDafny(nativeInput.AttributeActionsOnEncrypt), Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_defaultAttributeFlag_ToDafny(nativeInput.DefaultAttributeFlag)) + }() + +} + +func PlaintextOverride_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride) AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride { + + var index int + for _, enumVal := range nativeInput.Values() { + index++ + if enumVal == nativeInput { + break + } + if index == len(nativeInput.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_PlaintextOverride_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride) + }() + +} + +func SearchConfig_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SearchConfig) AwsCryptographyDbEncryptionSdkDynamoDbTypes.SearchConfig { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.SearchConfig { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_SearchConfig_.Create_SearchConfig_(Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_versions_ToDafny(nativeInput.Versions), Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_writeVersion_ToDafny(nativeInput.WriteVersion)) + }() + +} + +func DynamoDbTableEncryptionConfig_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig) AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_DynamoDbTableEncryptionConfig_.Create_DynamoDbTableEncryptionConfig_(Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_logicalTableName_ToDafny(nativeInput.LogicalTableName), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_partitionKeyName_ToDafny(nativeInput.PartitionKeyName), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_sortKeyName_ToDafny(nativeInput.SortKeyName), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_search_ToDafny(nativeInput.Search), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_attributeActionsOnEncrypt_ToDafny(nativeInput.AttributeActionsOnEncrypt), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributes_ToDafny(nativeInput.AllowedUnsignedAttributes), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributePrefix_ToDafny(nativeInput.AllowedUnsignedAttributePrefix), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_algorithmSuiteId_ToDafny(nativeInput.AlgorithmSuiteId), func() Wrappers.Option { + if (nativeInput.Keyring) == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(awscryptographymaterialproviderssmithygenerated.Keyring_ToDafny(nativeInput.Keyring)) + }(), func() Wrappers.Option { + if (nativeInput.Cmm) == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_ToDafny(nativeInput.Cmm)) + }(), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_legacyOverride_ToDafny(nativeInput.LegacyOverride), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_plaintextOverride_ToDafny(nativeInput.PlaintextOverride)) + }() + +} + +func DynamoDbTablesEncryptionConfig_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTablesEncryptionConfig) AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTablesEncryptionConfig { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTablesEncryptionConfig { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_DynamoDbTablesEncryptionConfig_.Create_DynamoDbTablesEncryptionConfig_(Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTablesEncryptionConfig_tableEncryptionConfigs_ToDafny(nativeInput.TableEncryptionConfigs)) + }() + +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionInput_input_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionUnion) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionUnion { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionUnion { + + switch input.(type) { + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionUnionMemberheader: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_header_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionUnionMemberheader).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_GetEncryptedDataKeyDescriptionUnion_{}.Create_header_(inputToConversion.UnwrapOr(nil).(dafny.Sequence)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionUnionMemberitem: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_item_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionUnionMemberitem).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_GetEncryptedDataKeyDescriptionUnion_{}.Create_item_(inputToConversion.UnwrapOr(nil).(dafny.Map)) + + default: + panic("Unhandled union type") + } + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_header_ToDafny(input []byte) Wrappers.Option { + return func() Wrappers.Option { + v := make([]interface{}, 0, len(input)) + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + for _, e := range input { + v = append(v, e) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqFromArray(v, false)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_item_ToDafny(input map[string]dynamodbtypes.AttributeValue) Wrappers.Option { + return func() Wrappers.Option { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_ToDafny(key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_ToDafny(val)) + } + return Wrappers.Companion_Option_.Create_Some_(fieldValue.ToMap()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionOutput_EncryptedDataKeyDescriptionOutput_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedDataKeyDescription) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescriptionList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescriptionList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedDataKeyDescription) AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedDataKeyDescription { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedDataKeyDescription { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_EncryptedDataKeyDescription_.Create_EncryptedDataKeyDescription_(Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_keyProviderId_ToDafny(input.KeyProviderId), Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_keyProviderInfo_ToDafny(input.KeyProviderInfo), Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_branchKeyId_ToDafny(input.BranchKeyId), Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_branchKeyVersion_ToDafny(input.BranchKeyVersion)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_keyProviderId_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_keyProviderInfo_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_branchKeyId_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_branchKeyVersion_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyInput_ddbKey_ToDafny(input map[string]dynamodbtypes.AttributeValue) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_Key_key_ToDafny(key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_Key_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyOutput_branchKeyId_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbEncryptionException_message_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_keyFieldName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cacheTTL_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cache_ToDafny(input awscryptographymaterialproviderssmithygeneratedtypes.CacheType) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + switch input.(type) { + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberDefault: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_Default_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberDefault).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_Default_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.DefaultCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberNo: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_No_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberNo).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_No_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.NoCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberSingleThreaded: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_SingleThreaded_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberSingleThreaded).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_SingleThreaded_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.SingleThreadedCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberMultiThreaded: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_MultiThreaded_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberMultiThreaded).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_MultiThreaded_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.MultiThreadedCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberStormTracking: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_StormTracking_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberStormTracking).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_StormTracking_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.StormTrackingCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared: + var inputToConversion = func() Wrappers.Option { + if (input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared).Value) == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsCache_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared).Value)) + }() + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_Shared_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsCache))) + + default: + panic("Unhandled union type") + } + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_partitionId_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_keyId_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cacheTTL_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cache_ToDafny(input awscryptographymaterialproviderssmithygeneratedtypes.CacheType) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + switch input.(type) { + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberDefault: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_Default_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberDefault).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_Default_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.DefaultCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberNo: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_No_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberNo).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_No_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.NoCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberSingleThreaded: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_SingleThreaded_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberSingleThreaded).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_SingleThreaded_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.SingleThreadedCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberMultiThreaded: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_MultiThreaded_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberMultiThreaded).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_MultiThreaded_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.MultiThreadedCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberStormTracking: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_StormTracking_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberStormTracking).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_StormTracking_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.StormTrackingCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared: + var inputToConversion = func() Wrappers.Option { + if (input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared).Value) == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsCache_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared).Value)) + }() + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_Shared_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsCache))) + + default: + panic("Unhandled union type") + } + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_partitionId_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_single_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SingleKeyStore) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_SingleKeyStore_.Create_SingleKeyStore_(Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_keyId_ToDafny(input.KeyId), Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cacheTTL_ToDafny(input.CacheTTL), Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cache_ToDafny(input.Cache), Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_partitionId_ToDafny(input.PartitionId))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_multi_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.MultiKeyStore) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_MultiKeyStore_.Create_MultiKeyStore_(Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_keyFieldName_ToDafny(input.KeyFieldName), Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cacheTTL_ToDafny(input.CacheTTL), Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cache_ToDafny(input.Cache), Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_partitionId_ToDafny(input.PartitionId))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_Shared_other_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SharedSet_other_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_partOnly_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PartOnly) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_PartOnly_.Create_PartOnly_()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_shared_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Shared) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Shared_.Create_Shared_(Aws_cryptography_dbEncryptionSdk_dynamoDb_Shared_other_ToDafny(input.Other))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_asSet_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.AsSet) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_AsSet_.Create_AsSet_()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_sharedSet_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SharedSet) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_SharedSet_.Create_SharedSet_(Aws_cryptography_dbEncryptionSdk_dynamoDb_SharedSet_other_ToDafny(input.Other))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_name_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_required_ToDafny(input bool) bool { + return func() bool { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_Constructor_parts_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ConstructorPart) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPartList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPartList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ConstructorPart) AwsCryptographyDbEncryptionSdkDynamoDbTypes.ConstructorPart { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.ConstructorPart { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_ConstructorPart_.Create_ConstructorPart_(Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_name_ToDafny(input.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_required_ToDafny(input.Required)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_name_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_prefix_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_name_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_prefix_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_loc_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_name_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_split_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_encrypted_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPartsList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPartsList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart) AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedPart { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedPart { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_EncryptedPart_.Create_EncryptedPart_(Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_name_ToDafny(input.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_prefix_ToDafny(input.Prefix)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_signed_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPartsList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPartsList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart) AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_SignedPart_.Create_SignedPart_(Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_name_ToDafny(input.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_prefix_ToDafny(input.Prefix), Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_loc_ToDafny(input.Loc)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_constructors_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Constructor) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Constructor) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Constructor { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.Constructor { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Constructor_.Create_Constructor_(Aws_cryptography_dbEncryptionSdk_dynamoDb_Constructor_parts_ToDafny(input.Parts)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_name_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_length_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_loc_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_style_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyle) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + switch input.(type) { + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberpartOnly: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_partOnly_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberpartOnly).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconStyle_{}.Create_partOnly_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PartOnly))) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembershared: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_shared_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembershared).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconStyle_{}.Create_shared_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Shared))) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberasSet: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_asSet_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberasSet).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconStyle_{}.Create_asSet_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.AsSet))) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembersharedSet: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_sharedSet_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembersharedSet).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconStyle_{}.Create_sharedSet_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SharedSet))) + + default: + panic("Unhandled union type") + } + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_Insert_literal_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetPrefix_length_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_split_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_index_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_split_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_low_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_high_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_low_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_high_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSuffix_length_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_upper_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Upper) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Upper_.Create_Upper_()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_lower_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Lower) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Lower_.Create_Lower_()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_insert_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Insert) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Insert_.Create_Insert_(Aws_cryptography_dbEncryptionSdk_dynamoDb_Insert_literal_ToDafny(input.Literal))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_prefix_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetPrefix) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetPrefix_.Create_GetPrefix_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetPrefix_length_ToDafny(input.Length))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_suffix_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSuffix) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetSuffix_.Create_GetSuffix_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSuffix_length_ToDafny(input.Length))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_substring_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSubstring) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetSubstring_.Create_GetSubstring_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_low_ToDafny(input.Low), Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_high_ToDafny(input.High))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segment_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegment) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetSegment_.Create_GetSegment_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_split_ToDafny(input.Split), Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_index_ToDafny(input.Index))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segments_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegments) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetSegments_.Create_GetSegments_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_split_ToDafny(input.Split), Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_low_ToDafny(input.Low), Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_high_ToDafny(input.High))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_loc_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_trans_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransform) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransformList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransformList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransform) AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform { + + switch input.(type) { + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberupper: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_upper_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberupper).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_upper_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Upper)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberlower: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_lower_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberlower).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_lower_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Lower)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberinsert: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_insert_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberinsert).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_insert_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Insert)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberprefix: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_prefix_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberprefix).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_prefix_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetPrefix)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersuffix: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_suffix_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersuffix).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_suffix_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSuffix)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersubstring: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_substring_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersubstring).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_substring_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSubstring)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegment: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segment_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegment).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_segment_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegment)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegments: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segments_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegments).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_segments_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments)) + + default: + panic("Unhandled union type") + } + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_name_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_parts_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualPart) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPartList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPartList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualPart) AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualPart { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualPart { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_VirtualPart_.Create_VirtualPart_(Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_loc_ToDafny(input.Loc), Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_trans_ToDafny(input.Trans)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_version_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keyStore_ToDafny(input *awscryptographykeystoresmithygenerated.Client) AwsCryptographyKeyStoreTypes.IKeyStoreClient { + return input.DafnyClient +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keySource_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySource) AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource { + + switch input.(type) { + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembersingle: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_single_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembersingle).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconKeySource_{}.Create_single_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembermulti: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_multi_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembermulti).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconKeySource_{}.Create_multi_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore)) + + default: + panic("Unhandled union type") + } + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_standardBeacons_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.StandardBeacon) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeaconList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeaconList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.StandardBeacon) AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_StandardBeacon_.Create_StandardBeacon_(Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_name_ToDafny(input.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_length_ToDafny(input.Length), Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_loc_ToDafny(input.Loc), Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_style_ToDafny(input.Style)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_compoundBeacons_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CompoundBeacon) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeaconList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeaconList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CompoundBeacon) AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_CompoundBeacon_.Create_CompoundBeacon_(Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_name_ToDafny(input.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_split_ToDafny(input.Split), Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_encrypted_ToDafny(input.Encrypted), Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_signed_ToDafny(input.Signed), Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_constructors_ToDafny(input.Constructors)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_virtualFields_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualField) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualFieldList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualFieldList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualField) AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualField { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualField { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_VirtualField_.Create_VirtualField_(Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_name_ToDafny(input.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_parts_ToDafny(input.Parts)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_encryptedParts_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPartsList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_signedParts_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPartsList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_policy_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyPolicy) AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy { + + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == input { + break + } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_LegacyPolicy_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction { + + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == input { + break + } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_CryptoAction_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_defaultAttributeFlag_ToDafny(input *awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == *input { + break + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_CryptoAction_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return Wrappers.Companion_Option_.Create_Some_(enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_versions_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconVersion) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersionList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersionList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconVersion) AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_BeaconVersion_.Create_BeaconVersion_(Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_version_ToDafny(input.Version), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keyStore_ToDafny(input.KeyStore), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keySource_ToDafny(input.KeySource), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_standardBeacons_ToDafny(input.StandardBeacons), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_compoundBeacons_ToDafny(input.CompoundBeacons), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_virtualFields_ToDafny(input.VirtualFields), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_encryptedParts_ToDafny(input.EncryptedParts), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_signedParts_ToDafny(input.SignedParts)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_writeVersion_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_logicalTableName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_partitionKeyName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_sortKeyName_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_search_ToDafny(input *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SearchConfig) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_SearchConfig_.Create_SearchConfig_(Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_versions_ToDafny(input.Versions), Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_writeVersion_ToDafny(input.WriteVersion))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_attributeActionsOnEncrypt_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributes_ToDafny(input []string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeNameList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributePrefix_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_algorithmSuiteId_ToDafny(input *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == *input { + break + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return Wrappers.Companion_Option_.Create_Some_(enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_legacyOverride_ToDafny(input *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_LegacyOverride_.Create_LegacyOverride_(Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_policy_ToDafny(input.Policy), LegacyDynamoDbEncryptor_ToDafny(input.Encryptor), Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_ToDafny(input.AttributeActionsOnEncrypt), Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_defaultAttributeFlag_ToDafny(input.DefaultAttributeFlag))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_plaintextOverride_ToDafny(input *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == *input { + break + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_PlaintextOverride_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return Wrappers.Companion_Option_.Create_Some_(enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTablesEncryptionConfig_tableEncryptionConfigs_ToDafny(input map[string]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfigList_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfigList_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfigList_key_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfigList_value_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig) AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_DynamoDbTableEncryptionConfig_.Create_DynamoDbTableEncryptionConfig_(Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_logicalTableName_ToDafny(input.LogicalTableName), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_partitionKeyName_ToDafny(input.PartitionKeyName), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_sortKeyName_ToDafny(input.SortKeyName), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_search_ToDafny(input.Search), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_attributeActionsOnEncrypt_ToDafny(input.AttributeActionsOnEncrypt), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributes_ToDafny(input.AllowedUnsignedAttributes), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributePrefix_ToDafny(input.AllowedUnsignedAttributePrefix), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_algorithmSuiteId_ToDafny(input.AlgorithmSuiteId), func() Wrappers.Option { + if (input.Keyring) == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(awscryptographymaterialproviderssmithygenerated.Keyring_ToDafny(input.Keyring)) + }(), func() Wrappers.Option { + if (input.Cmm) == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_ToDafny(input.Cmm)) + }(), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_legacyOverride_ToDafny(input.LegacyOverride), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_plaintextOverride_ToDafny(input.PlaintextOverride)) + }() +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/to_native.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/to_native.go new file mode 100644 index 000000000..b0db0fe5e --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/to_native.go @@ -0,0 +1,1658 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygenerated + +import ( + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/comamazonawsdynamodbsmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographykeystoresmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/awscryptographyprimitivessmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UTF8" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" + dynamodbtypes "github.com/aws/aws-sdk-go-v2/service/dynamodb/types" + "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" +) + +func CreateDynamoDbEncryptionBranchKeyIdSupplierInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTypes.CreateDynamoDbEncryptionBranchKeyIdSupplierInput) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CreateDynamoDbEncryptionBranchKeyIdSupplierInput { + + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CreateDynamoDbEncryptionBranchKeyIdSupplierInput{DdbKeyBranchKeyIdSupplier: DynamoDbKeyBranchKeyIdSupplier_FromDafny(dafnyInput.Dtor_ddbKeyBranchKeyIdSupplier())} + +} + +func CreateDynamoDbEncryptionBranchKeyIdSupplierOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTypes.CreateDynamoDbEncryptionBranchKeyIdSupplierOutput) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CreateDynamoDbEncryptionBranchKeyIdSupplierOutput { + + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CreateDynamoDbEncryptionBranchKeyIdSupplierOutput{BranchKeyIdSupplier: awscryptographymaterialproviderssmithygenerated.BranchKeyIdSupplier_FromDafny(dafnyOutput.Dtor_branchKeyIdSupplier())} + +} + +func GetEncryptedDataKeyDescriptionInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionInput) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionInput { + + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionInput{Input: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionInput_input_FromDafny(dafnyInput.Dtor_input())} + +} + +func GetEncryptedDataKeyDescriptionOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionOutput) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionOutput { + + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionOutput{EncryptedDataKeyDescriptionOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionOutput_EncryptedDataKeyDescriptionOutput_FromDafny(dafnyOutput.Dtor_EncryptedDataKeyDescriptionOutput())} + +} + +func GetBranchKeyIdFromDdbKeyInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetBranchKeyIdFromDdbKeyInput) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetBranchKeyIdFromDdbKeyInput { + + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetBranchKeyIdFromDdbKeyInput{DdbKey: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyInput_ddbKey_FromDafny(dafnyInput.Dtor_ddbKey())} + +} + +func GetBranchKeyIdFromDdbKeyOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetBranchKeyIdFromDdbKeyOutput) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetBranchKeyIdFromDdbKeyOutput { + + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetBranchKeyIdFromDdbKeyOutput{BranchKeyId: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyOutput_branchKeyId_FromDafny(dafnyOutput.Dtor_branchKeyId())} + +} + +func DynamoDbKeyBranchKeyIdSupplier_FromDafny(dafnyResource AwsCryptographyDbEncryptionSdkDynamoDbTypes.IDynamoDbKeyBranchKeyIdSupplier) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.IDynamoDbKeyBranchKeyIdSupplier { + val, ok := dafnyResource.(*DynamoDbKeyBranchKeyIdSupplierNativeWrapper) + if ok { + return val.Impl + } + + return &DynamoDbKeyBranchKeyIdSupplier{dafnyResource} +} + +func LegacyDynamoDbEncryptor_FromDafny(dafnyResource AwsCryptographyDbEncryptionSdkDynamoDbTypes.ILegacyDynamoDbEncryptor) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ILegacyDynamoDbEncryptor { + val, ok := dafnyResource.(*LegacyDynamoDbEncryptorNativeWrapper) + if ok { + return val.Impl + } + + return &LegacyDynamoDbEncryptor{dafnyResource} +} + +func DynamoDbEncryptionException_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionException { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionException{Message: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbEncryptionException_message_FromDafny(dafnyOutput.Dtor_message())} + +} + +func CollectionOfErrors_Output_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CollectionOfErrors { + listOfErrors := dafnyOutput.Dtor_list() + message := dafnyOutput.Dtor_message() + t := awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CollectionOfErrors{} + for i := dafny.Iterate(listOfErrors); ; { + val, ok := i() + if !ok { + break + } + err := val.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error) + t.ListOfErrors = append(t.ListOfErrors, Error_FromDafny(err)) + + } + t.Message = func() string { + a := UTF8.Encode(message.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + return s + }() + return t +} +func OpaqueError_Output_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.OpaqueError { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.OpaqueError{ + ErrObject: dafnyOutput.Dtor_obj(), + } +} + +func Error_FromDafny(err AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error) error { + // Service Errors + if err.Is_DynamoDbEncryptionException() { + return DynamoDbEncryptionException_FromDafny(err) + } + + //DependentErrors + if err.Is_AwsCryptographyPrimitives() { + return awscryptographyprimitivessmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyPrimitives()) + } + + if err.Is_ComAmazonawsDynamodb() { + return comamazonawsdynamodbsmithygenerated.Error_FromDafny(err.Dtor_ComAmazonawsDynamodb()) + } + + if err.Is_AwsCryptographyMaterialProviders() { + return awscryptographymaterialproviderssmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyMaterialProviders()) + } + + if err.Is_AwsCryptographyDbEncryptionSdkStructuredEncryption() { + return awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyDbEncryptionSdkStructuredEncryption()) + } + + if err.Is_AwsCryptographyKeyStore() { + return awscryptographykeystoresmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyKeyStore()) + } + + //Unmodelled Errors + if err.Is_CollectionOfErrors() { + return CollectionOfErrors_Output_FromDafny(err) + } + + return OpaqueError_Output_FromDafny(err) +} + +func DynamoDbEncryptionConfig_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbEncryptionConfig) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionConfig { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionConfig{} + +} + +func AsSet_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.AsSet { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.AsSet{} + +} + +func MultiKeyStore_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.MultiKeyStore { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.MultiKeyStore{KeyFieldName: Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_keyFieldName_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore).Dtor_keyFieldName()), + CacheTTL: Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cacheTTL_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore).Dtor_cacheTTL()), + Cache: Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cache_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore).Dtor_cache().UnwrapOr(nil)), + PartitionId: Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_partitionId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore).Dtor_partitionId().UnwrapOr(nil)), + } + +} + +func SingleKeyStore_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SingleKeyStore { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SingleKeyStore{KeyId: Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_keyId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore).Dtor_keyId()), + CacheTTL: Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cacheTTL_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore).Dtor_cacheTTL()), + Cache: Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cache_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore).Dtor_cache().UnwrapOr(nil)), + PartitionId: Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_partitionId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore).Dtor_partitionId().UnwrapOr(nil)), + } + +} + +func BeaconKeySource_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySource { + var union awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySource + + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource)).Is_single() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembersingle{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_single_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource)).Dtor_single())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource)).Is_multi() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembermulti{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_multi_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource)).Dtor_multi())), + } + } + + return union + +} + +func PartOnly_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PartOnly { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PartOnly{} + +} + +func Shared_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Shared { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Shared{Other: Aws_cryptography_dbEncryptionSdk_dynamoDb_Shared_other_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Shared).Dtor_other())} + +} + +func SharedSet_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SharedSet { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SharedSet{Other: Aws_cryptography_dbEncryptionSdk_dynamoDb_SharedSet_other_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SharedSet).Dtor_other())} + +} + +func BeaconStyle_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyle { + var union awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyle + + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Is_partOnly() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberpartOnly{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_partOnly_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Dtor_partOnly())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Is_shared() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembershared{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_shared_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Dtor_shared())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Is_asSet() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberasSet{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_asSet_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Dtor_asSet())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Is_sharedSet() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembersharedSet{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_sharedSet_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Dtor_sharedSet())), + } + } + + return union + +} + +func ConstructorPart_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ConstructorPart { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ConstructorPart{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.ConstructorPart).Dtor_name()), + Required: Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_required_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.ConstructorPart).Dtor_required()), + } + +} + +func Constructor_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Constructor { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Constructor{Parts: Aws_cryptography_dbEncryptionSdk_dynamoDb_Constructor_parts_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Constructor).Dtor_parts())} + +} + +func EncryptedPart_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedPart).Dtor_name()), + Prefix: Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_prefix_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedPart).Dtor_prefix()), + } + +} + +func SignedPart_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart).Dtor_name()), + Prefix: Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_prefix_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart).Dtor_prefix()), + Loc: Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_loc_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart).Dtor_loc().UnwrapOr(nil)), + } + +} + +func CompoundBeacon_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CompoundBeacon { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CompoundBeacon{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_name()), + Split: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_split_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_split()), + Encrypted: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_encrypted_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_encrypted().UnwrapOr(nil)), + Signed: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_signed_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_signed().UnwrapOr(nil)), + Constructors: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_constructors_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_constructors().UnwrapOr(nil)), + } + +} + +func StandardBeacon_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.StandardBeacon { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.StandardBeacon{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon).Dtor_name()), + Length: Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_length_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon).Dtor_length()), + Loc: Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_loc_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon).Dtor_loc().UnwrapOr(nil)), + Style: Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_style_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon).Dtor_style().UnwrapOr(nil)), + } + +} + +func Insert_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Insert { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Insert{Literal: Aws_cryptography_dbEncryptionSdk_dynamoDb_Insert_literal_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Insert).Dtor_literal())} + +} + +func Lower_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Lower { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Lower{} + +} + +func GetPrefix_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetPrefix { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetPrefix{Length: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetPrefix_length_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetPrefix).Dtor_length())} + +} + +func GetSegment_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegment { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegment{Split: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_split_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegment).Dtor_split()), + Index: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_index_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegment).Dtor_index()), + } + +} + +func GetSegments_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegments { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegments{Split: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_split_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments).Dtor_split()), + Low: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_low_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments).Dtor_low()), + High: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_high_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments).Dtor_high()), + } + +} + +func GetSubstring_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSubstring { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSubstring{Low: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_low_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSubstring).Dtor_low()), + High: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_high_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSubstring).Dtor_high()), + } + +} + +func GetSuffix_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSuffix { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSuffix{Length: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSuffix_length_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSuffix).Dtor_length())} + +} + +func Upper_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Upper { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Upper{} + +} + +func VirtualTransform_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransform { + var union awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransform + + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_upper() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberupper{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_upper_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_upper())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_lower() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberlower{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_lower_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_lower())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_insert() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberinsert{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_insert_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_insert())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_prefix() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberprefix{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_prefix_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_prefix())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_suffix() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersuffix{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_suffix_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_suffix())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_substring() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersubstring{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_substring_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_substring())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_segment() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegment{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segment_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_segment())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_segments() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegments{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segments_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_segments())), + } + } + + return union + +} + +func VirtualPart_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualPart { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualPart{Loc: Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_loc_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualPart).Dtor_loc()), + Trans: Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_trans_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualPart).Dtor_trans().UnwrapOr(nil)), + } + +} + +func VirtualField_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualField { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualField{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualField).Dtor_name()), + Parts: Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_parts_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualField).Dtor_parts()), + } + +} + +func BeaconVersion_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconVersion { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconVersion{Version: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_version_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_version()), + KeyStore: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keyStore_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_keyStore()), + KeySource: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keySource_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_keySource()), + StandardBeacons: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_standardBeacons_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_standardBeacons()), + CompoundBeacons: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_compoundBeacons_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_compoundBeacons().UnwrapOr(nil)), + VirtualFields: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_virtualFields_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_virtualFields().UnwrapOr(nil)), + EncryptedParts: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_encryptedParts_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_encryptedParts().UnwrapOr(nil)), + SignedParts: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_signedParts_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_signedParts().UnwrapOr(nil)), + } + +} + +func LegacyPolicy_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyPolicy { + return func() awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyPolicy { + var u awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyPolicy + inputEnum := input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_LegacyPolicy_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() + +} + +func LegacyOverride_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride{Policy: Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_policy_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_policy()), + Encryptor: LegacyDynamoDbEncryptor_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_encryptor()), + AttributeActionsOnEncrypt: Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_attributeActionsOnEncrypt()), + DefaultAttributeFlag: Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_defaultAttributeFlag_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_defaultAttributeFlag().UnwrapOr(nil)), + } + +} + +func PlaintextOverride_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride { + return func() awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride { + var u awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride + inputEnum := input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_PlaintextOverride_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() + +} + +func SearchConfig_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SearchConfig { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SearchConfig{Versions: Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_versions_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SearchConfig).Dtor_versions()), + WriteVersion: Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_writeVersion_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SearchConfig).Dtor_writeVersion()), + } + +} + +func DynamoDbTableEncryptionConfig_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig{LogicalTableName: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_logicalTableName_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_logicalTableName()), + PartitionKeyName: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_partitionKeyName_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_partitionKeyName()), + SortKeyName: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_sortKeyName_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_sortKeyName().UnwrapOr(nil)), + Search: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_search_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_search().UnwrapOr(nil)), + AttributeActionsOnEncrypt: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_attributeActionsOnEncrypt_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_attributeActionsOnEncrypt()), + AllowedUnsignedAttributes: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributes_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_allowedUnsignedAttributes().UnwrapOr(nil)), + AllowedUnsignedAttributePrefix: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributePrefix_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_allowedUnsignedAttributePrefix().UnwrapOr(nil)), + AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_algorithmSuiteId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_algorithmSuiteId().UnwrapOr(nil)), + Keyring: func() awscryptographymaterialproviderssmithygeneratedtypes.IKeyring { + if input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_keyring().UnwrapOr(nil) == nil { + return nil + } + return awscryptographymaterialproviderssmithygenerated.Keyring_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_keyring().UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.IKeyring)) + }(), + Cmm: func() awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager { + if input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_cmm().UnwrapOr(nil) == nil { + return nil + } + return awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_cmm().UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsManager)) + }(), + LegacyOverride: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_legacyOverride_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_legacyOverride().UnwrapOr(nil)), + PlaintextOverride: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_plaintextOverride_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_plaintextOverride().UnwrapOr(nil)), + } + +} + +func DynamoDbTablesEncryptionConfig_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTablesEncryptionConfig { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTablesEncryptionConfig{TableEncryptionConfigs: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTablesEncryptionConfig_tableEncryptionConfigs_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTablesEncryptionConfig).Dtor_tableEncryptionConfigs())} + +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionInput_input_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionUnion { + var union awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionUnion + + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionUnion)).Is_header() { + var dataSource = Wrappers.Companion_Option_.Create_Some_((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionUnion)).Dtor_header()) + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionUnionMemberheader{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_header_FromDafny(dataSource.UnwrapOr(nil))), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionUnion)).Is_item() { + var dataSource = Wrappers.Companion_Option_.Create_Some_((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionUnion)).Dtor_item()) + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionUnionMemberitem{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_item_FromDafny(dataSource.UnwrapOr(nil))), + } + } + + return union + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_header_FromDafny(input interface{}) []byte { + return func() []byte { + if input == nil { + return nil + } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) + } + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_item_FromDafny(input interface{}) map[string]dynamodbtypes.AttributeValue { + var m map[string]dynamodbtypes.AttributeValue = make(map[string]dynamodbtypes.AttributeValue) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionOutput_EncryptedDataKeyDescriptionOutput_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedDataKeyDescription { + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedDataKeyDescription, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescriptionList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescriptionList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedDataKeyDescription { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedDataKeyDescription{KeyProviderId: Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_keyProviderId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedDataKeyDescription).Dtor_keyProviderId()), + KeyProviderInfo: Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_keyProviderInfo_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedDataKeyDescription).Dtor_keyProviderInfo().UnwrapOr(nil)), + BranchKeyId: Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_branchKeyId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedDataKeyDescription).Dtor_branchKeyId().UnwrapOr(nil)), + BranchKeyVersion: Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_branchKeyVersion_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedDataKeyDescription).Dtor_branchKeyVersion().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_keyProviderId_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_keyProviderInfo_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_branchKeyId_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_branchKeyVersion_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyInput_ddbKey_FromDafny(input interface{}) map[string]dynamodbtypes.AttributeValue { + var m map[string]dynamodbtypes.AttributeValue = make(map[string]dynamodbtypes.AttributeValue) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_Key_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_Key_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyOutput_branchKeyId_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbEncryptionException_message_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_keyFieldName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cacheTTL_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cache_FromDafny(input interface{}) awscryptographymaterialproviderssmithygeneratedtypes.CacheType { + var union awscryptographymaterialproviderssmithygeneratedtypes.CacheType + if input == nil { + return nil + } + + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_Default() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberDefault{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_Default_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_Default())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_No() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberNo{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_No_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_No())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_SingleThreaded() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberSingleThreaded{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_SingleThreaded_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_SingleThreaded())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_MultiThreaded() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberMultiThreaded{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_MultiThreaded_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_MultiThreaded())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_StormTracking() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberStormTracking{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_StormTracking_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_StormTracking())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_Shared() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared{ + Value: (awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsCache_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_Shared().(AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsCache))), + } + } + + return union + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_partitionId_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_keyId_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cacheTTL_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cache_FromDafny(input interface{}) awscryptographymaterialproviderssmithygeneratedtypes.CacheType { + var union awscryptographymaterialproviderssmithygeneratedtypes.CacheType + if input == nil { + return nil + } + + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_Default() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberDefault{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_Default_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_Default())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_No() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberNo{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_No_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_No())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_SingleThreaded() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberSingleThreaded{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_SingleThreaded_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_SingleThreaded())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_MultiThreaded() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberMultiThreaded{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_MultiThreaded_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_MultiThreaded())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_StormTracking() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberStormTracking{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_StormTracking_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_StormTracking())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_Shared() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared{ + Value: (awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsCache_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_Shared().(AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsCache))), + } + } + + return union + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_partitionId_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_single_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SingleKeyStore { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SingleKeyStore{KeyId: Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_keyId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore).Dtor_keyId()), + CacheTTL: Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cacheTTL_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore).Dtor_cacheTTL()), + Cache: Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cache_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore).Dtor_cache().UnwrapOr(nil)), + PartitionId: Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_partitionId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore).Dtor_partitionId().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_multi_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.MultiKeyStore { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.MultiKeyStore{KeyFieldName: Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_keyFieldName_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore).Dtor_keyFieldName()), + CacheTTL: Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cacheTTL_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore).Dtor_cacheTTL()), + Cache: Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cache_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore).Dtor_cache().UnwrapOr(nil)), + PartitionId: Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_partitionId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore).Dtor_partitionId().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_Shared_other_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SharedSet_other_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_partOnly_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PartOnly { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PartOnly{} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_shared_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Shared { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Shared{Other: Aws_cryptography_dbEncryptionSdk_dynamoDb_Shared_other_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Shared).Dtor_other())} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_asSet_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.AsSet { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.AsSet{} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_sharedSet_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SharedSet { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SharedSet{Other: Aws_cryptography_dbEncryptionSdk_dynamoDb_SharedSet_other_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SharedSet).Dtor_other())} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_name_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_required_FromDafny(input interface{}) bool { + return input.(bool) +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_Constructor_parts_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ConstructorPart { + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ConstructorPart, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPartList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPartList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ConstructorPart { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ConstructorPart{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.ConstructorPart).Dtor_name()), + Required: Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_required_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.ConstructorPart).Dtor_required()), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_name_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_prefix_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_name_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_prefix_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_loc_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_name_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_split_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_encrypted_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart { + if input == nil { + return nil + } + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPartsList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPartsList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedPart).Dtor_name()), + Prefix: Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_prefix_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedPart).Dtor_prefix()), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_signed_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart { + if input == nil { + return nil + } + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPartsList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPartsList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart).Dtor_name()), + Prefix: Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_prefix_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart).Dtor_prefix()), + Loc: Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_loc_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart).Dtor_loc().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_constructors_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Constructor { + if input == nil { + return nil + } + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Constructor, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Constructor { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Constructor{Parts: Aws_cryptography_dbEncryptionSdk_dynamoDb_Constructor_parts_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Constructor).Dtor_parts())} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_name_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_length_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_loc_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_style_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyle { + var union awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyle + if input == nil { + return nil + } + + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Is_partOnly() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberpartOnly{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_partOnly_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Dtor_partOnly())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Is_shared() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembershared{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_shared_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Dtor_shared())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Is_asSet() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberasSet{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_asSet_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Dtor_asSet())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Is_sharedSet() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembersharedSet{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_sharedSet_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Dtor_sharedSet())), + } + } + + return union + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_Insert_literal_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetPrefix_length_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_split_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_index_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_split_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_low_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_high_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_low_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_high_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSuffix_length_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_upper_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Upper { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Upper{} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_lower_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Lower { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Lower{} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_insert_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Insert { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Insert{Literal: Aws_cryptography_dbEncryptionSdk_dynamoDb_Insert_literal_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Insert).Dtor_literal())} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_prefix_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetPrefix { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetPrefix{Length: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetPrefix_length_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetPrefix).Dtor_length())} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_suffix_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSuffix { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSuffix{Length: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSuffix_length_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSuffix).Dtor_length())} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_substring_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSubstring { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSubstring{Low: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_low_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSubstring).Dtor_low()), + High: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_high_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSubstring).Dtor_high()), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segment_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegment { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegment{Split: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_split_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegment).Dtor_split()), + Index: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_index_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegment).Dtor_index()), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segments_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegments { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegments{Split: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_split_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments).Dtor_split()), + Low: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_low_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments).Dtor_low()), + High: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_high_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments).Dtor_high()), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_loc_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_trans_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransform { + if input == nil { + return nil + } + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransform, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransformList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransformList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransform { + var union awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransform + + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_upper() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberupper{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_upper_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_upper())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_lower() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberlower{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_lower_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_lower())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_insert() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberinsert{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_insert_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_insert())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_prefix() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberprefix{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_prefix_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_prefix())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_suffix() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersuffix{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_suffix_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_suffix())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_substring() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersubstring{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_substring_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_substring())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_segment() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegment{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segment_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_segment())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_segments() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegments{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segments_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_segments())), + } + } + + return union + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_name_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_parts_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualPart { + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualPart, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPartList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPartList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualPart { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualPart{Loc: Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_loc_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualPart).Dtor_loc()), + Trans: Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_trans_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualPart).Dtor_trans().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_version_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keyStore_FromDafny(input interface{}) *awscryptographykeystoresmithygenerated.Client { + value, ok := input.(AwsCryptographyKeyStoreTypes.IKeyStoreClient) + if !ok { + panic("invalid type found.") + } + return &awscryptographykeystoresmithygenerated.Client{value} + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keySource_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySource { + var union awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySource + + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource)).Is_single() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembersingle{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_single_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource)).Dtor_single())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource)).Is_multi() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembermulti{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_multi_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource)).Dtor_multi())), + } + } + + return union + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_standardBeacons_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.StandardBeacon { + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.StandardBeacon, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeaconList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeaconList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.StandardBeacon { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.StandardBeacon{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon).Dtor_name()), + Length: Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_length_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon).Dtor_length()), + Loc: Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_loc_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon).Dtor_loc().UnwrapOr(nil)), + Style: Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_style_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon).Dtor_style().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_compoundBeacons_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CompoundBeacon { + if input == nil { + return nil + } + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CompoundBeacon, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeaconList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeaconList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CompoundBeacon { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CompoundBeacon{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_name()), + Split: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_split_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_split()), + Encrypted: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_encrypted_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_encrypted().UnwrapOr(nil)), + Signed: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_signed_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_signed().UnwrapOr(nil)), + Constructors: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_constructors_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_constructors().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_virtualFields_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualField { + if input == nil { + return nil + } + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualField, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualFieldList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualFieldList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualField { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualField{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualField).Dtor_name()), + Parts: Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_parts_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualField).Dtor_parts()), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_encryptedParts_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart { + if input == nil { + return nil + } + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPartsList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_signedParts_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart { + if input == nil { + return nil + } + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPartsList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_policy_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyPolicy { + return func() awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyPolicy { + var u awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyPolicy + inputEnum := input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_LegacyPolicy_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + return func() awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var u awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction + inputEnum := input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_CryptoAction_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_defaultAttributeFlag_FromDafny(input interface{}) *awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + return func() *awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var u awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction + if input == nil { + return nil + } + inputEnum := input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_CryptoAction_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction).Equals(inputEnum) { + break + } + } + } + + return &u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_versions_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconVersion { + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconVersion, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersionList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersionList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconVersion { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconVersion{Version: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_version_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_version()), + KeyStore: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keyStore_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_keyStore()), + KeySource: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keySource_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_keySource()), + StandardBeacons: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_standardBeacons_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_standardBeacons()), + CompoundBeacons: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_compoundBeacons_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_compoundBeacons().UnwrapOr(nil)), + VirtualFields: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_virtualFields_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_virtualFields().UnwrapOr(nil)), + EncryptedParts: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_encryptedParts_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_encryptedParts().UnwrapOr(nil)), + SignedParts: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_signedParts_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_signedParts().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_writeVersion_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_logicalTableName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_partitionKeyName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_sortKeyName_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_search_FromDafny(input interface{}) *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SearchConfig { + if input == nil { + return nil + } + return &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SearchConfig{Versions: Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_versions_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SearchConfig).Dtor_versions()), + WriteVersion: Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_writeVersion_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SearchConfig).Dtor_writeVersion()), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_attributeActionsOnEncrypt_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributes_FromDafny(input interface{}) []string { + if input == nil { + return nil + } + fieldValue := make([]string, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeNameList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributePrefix_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_algorithmSuiteId_FromDafny(input interface{}) *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + return func() *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + var u awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + if input == nil { + return nil + } + inputEnum := input.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId).Equals(inputEnum) { + break + } + } + } + + return &u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_legacyOverride_FromDafny(input interface{}) *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride { + if input == nil { + return nil + } + return &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride{Policy: Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_policy_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_policy()), + Encryptor: LegacyDynamoDbEncryptor_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_encryptor()), + AttributeActionsOnEncrypt: Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_attributeActionsOnEncrypt()), + DefaultAttributeFlag: Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_defaultAttributeFlag_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_defaultAttributeFlag().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_plaintextOverride_FromDafny(input interface{}) *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride { + return func() *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride { + var u awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride + if input == nil { + return nil + } + inputEnum := input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_PlaintextOverride_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride).Equals(inputEnum) { + break + } + } + } + + return &u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTablesEncryptionConfig_tableEncryptionConfigs_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig { + var m map[string]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig = make(map[string]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfigList_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfigList_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfigList_key_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfigList_value_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig{LogicalTableName: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_logicalTableName_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_logicalTableName()), + PartitionKeyName: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_partitionKeyName_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_partitionKeyName()), + SortKeyName: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_sortKeyName_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_sortKeyName().UnwrapOr(nil)), + Search: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_search_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_search().UnwrapOr(nil)), + AttributeActionsOnEncrypt: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_attributeActionsOnEncrypt_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_attributeActionsOnEncrypt()), + AllowedUnsignedAttributes: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributes_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_allowedUnsignedAttributes().UnwrapOr(nil)), + AllowedUnsignedAttributePrefix: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributePrefix_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_allowedUnsignedAttributePrefix().UnwrapOr(nil)), + AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_algorithmSuiteId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_algorithmSuiteId().UnwrapOr(nil)), + Keyring: func() awscryptographymaterialproviderssmithygeneratedtypes.IKeyring { + if input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_keyring().UnwrapOr(nil) == nil { + return nil + } + return awscryptographymaterialproviderssmithygenerated.Keyring_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_keyring().UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.IKeyring)) + }(), + Cmm: func() awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager { + if input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_cmm().UnwrapOr(nil) == nil { + return nil + } + return awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_cmm().UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsManager)) + }(), + LegacyOverride: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_legacyOverride_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_legacyOverride().UnwrapOr(nil)), + PlaintextOverride: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_plaintextOverride_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_plaintextOverride().UnwrapOr(nil)), + } +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/enums.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/enums.go new file mode 100644 index 000000000..53b10ce6b --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/enums.go @@ -0,0 +1,35 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes + +type LegacyPolicy string + +const ( + LegacyPolicyForceLegacyEncryptAllowLegacyDecrypt LegacyPolicy = "FORCE_LEGACY_ENCRYPT_ALLOW_LEGACY_DECRYPT" + LegacyPolicyForbidLegacyEncryptAllowLegacyDecrypt LegacyPolicy = "FORBID_LEGACY_ENCRYPT_ALLOW_LEGACY_DECRYPT" + LegacyPolicyForbidLegacyEncryptForbidLegacyDecrypt LegacyPolicy = "FORBID_LEGACY_ENCRYPT_FORBID_LEGACY_DECRYPT" +) + +func (LegacyPolicy) Values() []LegacyPolicy { + return []LegacyPolicy{ + "FORCE_LEGACY_ENCRYPT_ALLOW_LEGACY_DECRYPT", + "FORBID_LEGACY_ENCRYPT_ALLOW_LEGACY_DECRYPT", + "FORBID_LEGACY_ENCRYPT_FORBID_LEGACY_DECRYPT", + } +} + +type PlaintextOverride string + +const ( + PlaintextOverrideForcePlaintextWriteAllowPlaintextRead PlaintextOverride = "FORCE_PLAINTEXT_WRITE_ALLOW_PLAINTEXT_READ" + PlaintextOverrideForbidPlaintextWriteAllowPlaintextRead PlaintextOverride = "FORBID_PLAINTEXT_WRITE_ALLOW_PLAINTEXT_READ" + PlaintextOverrideForbidPlaintextWriteForbidPlaintextRead PlaintextOverride = "FORBID_PLAINTEXT_WRITE_FORBID_PLAINTEXT_READ" +) + +func (PlaintextOverride) Values() []PlaintextOverride { + return []PlaintextOverride{ + "FORCE_PLAINTEXT_WRITE_ALLOW_PLAINTEXT_READ", + "FORBID_PLAINTEXT_WRITE_ALLOW_PLAINTEXT_READ", + "FORBID_PLAINTEXT_WRITE_FORBID_PLAINTEXT_READ", + } +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/errors.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/errors.go new file mode 100644 index 000000000..777cb6302 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/errors.go @@ -0,0 +1,17 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes + +import ( + "fmt" +) + +type DynamoDbEncryptionException struct { + DynamoDbEncryptionBaseException + Message string + ErrorCodeOverride *string +} + +func (e DynamoDbEncryptionException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCodeOverride, e.Message) +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/types.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/types.go new file mode 100644 index 000000000..f85e3375a --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/types.go @@ -0,0 +1,1391 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes + +import ( + "fmt" + + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographykeystoresmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" + dynamodbtypes "github.com/aws/aws-sdk-go-v2/service/dynamodb/types" +) + +type DynamoDbKeyBranchKeyIdSupplierReference struct { +} + +func (input DynamoDbKeyBranchKeyIdSupplierReference) Validate() error { + + return nil +} + +type CreateDynamoDbEncryptionBranchKeyIdSupplierInput struct { + DdbKeyBranchKeyIdSupplier IDynamoDbKeyBranchKeyIdSupplier +} + +func (input CreateDynamoDbEncryptionBranchKeyIdSupplierInput) Validate() error { + + return nil +} + +type CreateDynamoDbEncryptionBranchKeyIdSupplierOutput struct { + BranchKeyIdSupplier awscryptographymaterialproviderssmithygeneratedtypes.IBranchKeyIdSupplier +} + +func (input CreateDynamoDbEncryptionBranchKeyIdSupplierOutput) Validate() error { + + return nil +} + +type EncryptedDataKeyDescription struct { + KeyProviderId string + + BranchKeyId *string + + BranchKeyVersion *string + + KeyProviderInfo *string +} + +func (input EncryptedDataKeyDescription) Validate() error { + + return nil +} + +type GetEncryptedDataKeyDescriptionOutput struct { + EncryptedDataKeyDescriptionOutput []EncryptedDataKeyDescription +} + +func (input GetEncryptedDataKeyDescriptionOutput) Validate() error { + if input.EncryptedDataKeyDescriptionOutput == nil { + return fmt.Errorf("input.EncryptedDataKeyDescriptionOutput is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionOutput_EncryptedDataKeyDescriptionOutput_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionOutput_EncryptedDataKeyDescriptionOutput_Validate() + } + + return nil +} + +func (input GetEncryptedDataKeyDescriptionOutput) Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionOutput_EncryptedDataKeyDescriptionOutput_Validate() error { + for _, item := range input.EncryptedDataKeyDescriptionOutput { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type GetEncryptedDataKeyDescriptionInput struct { + Input GetEncryptedDataKeyDescriptionUnion +} + +func (input GetEncryptedDataKeyDescriptionInput) Validate() error { + if input.Input == nil { + return fmt.Errorf("input.Input is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionInput_input_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionInput_input_Validate() + } + + return nil +} + +func (input GetEncryptedDataKeyDescriptionInput) Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionInput_input_Validate() error { + if input.Input == nil { + return nil + } + switch unionType := input.Input.(type) { + case *GetEncryptedDataKeyDescriptionUnionMemberheader: + case *GetEncryptedDataKeyDescriptionUnionMemberitem: + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_item_Validate(unionType.Value) != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_item_Validate(unionType.Value) + } + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input GetEncryptedDataKeyDescriptionInput) Com_amazonaws_dynamodb_AttributeMap_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input GetEncryptedDataKeyDescriptionInput) Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + if input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input GetEncryptedDataKeyDescriptionInput) Com_amazonaws_dynamodb_AttributeValue_M_Validate(Value map[string]dynamodbtypes.AttributeValue) error { + for key, value := range Value { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) + } + } + + return nil +} +func (input GetEncryptedDataKeyDescriptionInput) Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + if input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input GetEncryptedDataKeyDescriptionInput) Com_amazonaws_dynamodb_AttributeValue_L_Validate(Value []dynamodbtypes.AttributeValue) error { + for _, item := range Value { + if input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) != nil { + return input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) + } + } + + return nil +} +func (input GetEncryptedDataKeyDescriptionInput) Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_item_Validate(Value map[string]dynamodbtypes.AttributeValue) error { + for key, value := range Value { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) + } + } + + return nil +} + +type AsSet struct { +} + +func (input AsSet) Validate() error { + + return nil +} + +type AtomicPrimitivesReference struct { +} + +func (input AtomicPrimitivesReference) Validate() error { + + return nil +} + +type MultiKeyStore struct { + CacheTTL int32 + + KeyFieldName string + + Cache awscryptographymaterialproviderssmithygeneratedtypes.CacheType + + PartitionId *string +} + +func (input MultiKeyStore) Validate() error { + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cache_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cache_Validate() + } + + return nil +} + +func (input MultiKeyStore) Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cache_Validate() error { + if input.Cache == nil { + return nil + } + switch unionType := input.Cache.(type) { + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberDefault: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberNo: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberSingleThreaded: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberMultiThreaded: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberStormTracking: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} + +type SingleKeyStore struct { + CacheTTL int32 + + KeyId string + + Cache awscryptographymaterialproviderssmithygeneratedtypes.CacheType + + PartitionId *string +} + +func (input SingleKeyStore) Validate() error { + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cache_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cache_Validate() + } + + return nil +} + +func (input SingleKeyStore) Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cache_Validate() error { + if input.Cache == nil { + return nil + } + switch unionType := input.Cache.(type) { + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberDefault: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberNo: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberSingleThreaded: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberMultiThreaded: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberStormTracking: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} + +type PartOnly struct { +} + +func (input PartOnly) Validate() error { + + return nil +} + +type Shared struct { + Other string +} + +func (input Shared) Validate() error { + + return nil +} + +type SharedSet struct { + Other string +} + +func (input SharedSet) Validate() error { + + return nil +} + +type ConstructorPart struct { + Name string + + Required bool +} + +func (input ConstructorPart) Validate() error { + + return nil +} + +type Constructor struct { + Parts []ConstructorPart +} + +func (input Constructor) Validate() error { + if len(input.Parts) < 1 { + return fmt.Errorf("ConstructorPartList has a minimum length of 1 but has the length of %d.", len(input.Parts)) + } + if input.Parts == nil { + return fmt.Errorf("input.Parts is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_Constructor_parts_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_Constructor_parts_Validate() + } + + return nil +} + +func (input Constructor) Aws_cryptography_dbEncryptionSdk_dynamoDb_Constructor_parts_Validate() error { + for _, item := range input.Parts { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type EncryptedPart struct { + Name string + + Prefix string +} + +func (input EncryptedPart) Validate() error { + if len(input.Prefix) < 1 { + return fmt.Errorf("Prefix has a minimum length of 1 but has the length of %d.", len(input.Prefix)) + } + + return nil +} + +type SignedPart struct { + Name string + + Prefix string + + Loc *string +} + +func (input SignedPart) Validate() error { + if len(input.Prefix) < 1 { + return fmt.Errorf("Prefix has a minimum length of 1 but has the length of %d.", len(input.Prefix)) + } + if input.Loc != nil { + if len(*input.Loc) < 1 { + return fmt.Errorf("TerminalLocation has a minimum length of 1 but has the length of %d.", len(*input.Loc)) + } + } + + return nil +} + +type CompoundBeacon struct { + Name string + + Split string + + Constructors []Constructor + + Encrypted []EncryptedPart + + Signed []SignedPart +} + +func (input CompoundBeacon) Validate() error { + if len(input.Split) < 1 { + return fmt.Errorf("Char has a minimum length of 1 but has the length of %d.", len(input.Split)) + } + if len(input.Split) > 1 { + return fmt.Errorf("Char has a maximum length of 1 but has the length of %d.", len(input.Split)) + } + if len(input.Constructors) < 1 { + return fmt.Errorf("ConstructorList has a minimum length of 1 but has the length of %d.", len(input.Constructors)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_constructors_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_constructors_Validate() + } + if len(input.Encrypted) < 1 { + return fmt.Errorf("EncryptedPartsList has a minimum length of 1 but has the length of %d.", len(input.Encrypted)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_encrypted_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_encrypted_Validate() + } + if len(input.Signed) < 1 { + return fmt.Errorf("SignedPartsList has a minimum length of 1 but has the length of %d.", len(input.Signed)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_signed_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_signed_Validate() + } + + return nil +} + +func (input CompoundBeacon) Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_constructors_Validate() error { + for _, item := range input.Constructors { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input CompoundBeacon) Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_encrypted_Validate() error { + for _, item := range input.Encrypted { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input CompoundBeacon) Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_signed_Validate() error { + for _, item := range input.Signed { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type KeyStoreReference struct { +} + +func (input KeyStoreReference) Validate() error { + + return nil +} + +type StandardBeacon struct { + Length int32 + + Name string + + Loc *string + + Style BeaconStyle +} + +func (input StandardBeacon) Validate() error { + if input.Length < 1 { + return fmt.Errorf("BeaconBitLength has a minimum of 1 but has the value of %d.", input.Length) + } + if input.Length > 63 { + return fmt.Errorf("BeaconBitLength has a maximum of 63 but has the value of %d.", input.Length) + } + if input.Loc != nil { + if len(*input.Loc) < 1 { + return fmt.Errorf("TerminalLocation has a minimum length of 1 but has the length of %d.", len(*input.Loc)) + } + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_style_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_style_Validate() + } + + return nil +} + +func (input StandardBeacon) Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_style_Validate() error { + if input.Style == nil { + return nil + } + switch unionType := input.Style.(type) { + case *BeaconStyleMemberpartOnly: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *BeaconStyleMembershared: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *BeaconStyleMemberasSet: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *BeaconStyleMembersharedSet: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} + +type Insert struct { + Literal string +} + +func (input Insert) Validate() error { + + return nil +} + +type Lower struct { +} + +func (input Lower) Validate() error { + + return nil +} + +type GetPrefix struct { + Length int32 +} + +func (input GetPrefix) Validate() error { + + return nil +} + +type GetSegment struct { + Index int32 + + Split string +} + +func (input GetSegment) Validate() error { + if len(input.Split) < 1 { + return fmt.Errorf("Char has a minimum length of 1 but has the length of %d.", len(input.Split)) + } + if len(input.Split) > 1 { + return fmt.Errorf("Char has a maximum length of 1 but has the length of %d.", len(input.Split)) + } + + return nil +} + +type GetSegments struct { + High int32 + + Low int32 + + Split string +} + +func (input GetSegments) Validate() error { + if len(input.Split) < 1 { + return fmt.Errorf("Char has a minimum length of 1 but has the length of %d.", len(input.Split)) + } + if len(input.Split) > 1 { + return fmt.Errorf("Char has a maximum length of 1 but has the length of %d.", len(input.Split)) + } + + return nil +} + +type GetSubstring struct { + High int32 + + Low int32 +} + +func (input GetSubstring) Validate() error { + + return nil +} + +type GetSuffix struct { + Length int32 +} + +func (input GetSuffix) Validate() error { + + return nil +} + +type Upper struct { +} + +func (input Upper) Validate() error { + + return nil +} + +type VirtualPart struct { + Loc string + + Trans []VirtualTransform +} + +func (input VirtualPart) Validate() error { + if len(input.Loc) < 1 { + return fmt.Errorf("TerminalLocation has a minimum length of 1 but has the length of %d.", len(input.Loc)) + } + if len(input.Trans) < 1 { + return fmt.Errorf("VirtualTransformList has a minimum length of 1 but has the length of %d.", len(input.Trans)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_trans_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_trans_Validate() + } + + return nil +} + +func (input VirtualPart) Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransformList_member_Validate(Value VirtualTransform) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *VirtualTransformMemberupper: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *VirtualTransformMemberlower: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *VirtualTransformMemberinsert: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *VirtualTransformMemberprefix: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *VirtualTransformMembersuffix: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *VirtualTransformMembersubstring: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *VirtualTransformMembersegment: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *VirtualTransformMembersegments: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input VirtualPart) Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_trans_Validate() error { + for _, item := range input.Trans { + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransformList_member_Validate(item) != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransformList_member_Validate(item) + } + } + + return nil +} + +type VirtualField struct { + Name string + + Parts []VirtualPart +} + +func (input VirtualField) Validate() error { + if len(input.Parts) < 1 { + return fmt.Errorf("VirtualPartList has a minimum length of 1 but has the length of %d.", len(input.Parts)) + } + if input.Parts == nil { + return fmt.Errorf("input.Parts is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_parts_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_parts_Validate() + } + + return nil +} + +func (input VirtualField) Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_parts_Validate() error { + for _, item := range input.Parts { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type BeaconVersion struct { + KeySource BeaconKeySource + + KeyStore *awscryptographykeystoresmithygenerated.Client + + StandardBeacons []StandardBeacon + + Version int32 + + CompoundBeacons []CompoundBeacon + + EncryptedParts []EncryptedPart + + SignedParts []SignedPart + + VirtualFields []VirtualField +} + +func (input BeaconVersion) Validate() error { + if input.KeySource == nil { + return fmt.Errorf("input.KeySource is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keySource_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keySource_Validate() + } + if len(input.StandardBeacons) < 1 { + return fmt.Errorf("StandardBeaconList has a minimum length of 1 but has the length of %d.", len(input.StandardBeacons)) + } + if input.StandardBeacons == nil { + return fmt.Errorf("input.StandardBeacons is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_standardBeacons_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_standardBeacons_Validate() + } + if input.Version < 1 { + return fmt.Errorf("VersionNumber has a minimum of 1 but has the value of %d.", input.Version) + } + if len(input.CompoundBeacons) < 1 { + return fmt.Errorf("CompoundBeaconList has a minimum length of 1 but has the length of %d.", len(input.CompoundBeacons)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_compoundBeacons_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_compoundBeacons_Validate() + } + if len(input.EncryptedParts) < 1 { + return fmt.Errorf("EncryptedPartsList has a minimum length of 1 but has the length of %d.", len(input.EncryptedParts)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_encryptedParts_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_encryptedParts_Validate() + } + if len(input.SignedParts) < 1 { + return fmt.Errorf("SignedPartsList has a minimum length of 1 but has the length of %d.", len(input.SignedParts)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_signedParts_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_signedParts_Validate() + } + if len(input.VirtualFields) < 1 { + return fmt.Errorf("VirtualFieldList has a minimum length of 1 but has the length of %d.", len(input.VirtualFields)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_virtualFields_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_virtualFields_Validate() + } + + return nil +} + +func (input BeaconVersion) Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keySource_Validate() error { + if input.KeySource == nil { + return nil + } + switch unionType := input.KeySource.(type) { + case *BeaconKeySourceMembersingle: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *BeaconKeySourceMembermulti: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input BeaconVersion) Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_standardBeacons_Validate() error { + for _, item := range input.StandardBeacons { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input BeaconVersion) Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_compoundBeacons_Validate() error { + for _, item := range input.CompoundBeacons { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input BeaconVersion) Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_encryptedParts_Validate() error { + for _, item := range input.EncryptedParts { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input BeaconVersion) Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_signedParts_Validate() error { + for _, item := range input.SignedParts { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input BeaconVersion) Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_virtualFields_Validate() error { + for _, item := range input.VirtualFields { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type DynamoDbEncryptionConfig struct { +} + +func (input DynamoDbEncryptionConfig) Validate() error { + + return nil +} + +type GetBranchKeyIdFromDdbKeyOutput struct { + BranchKeyId string +} + +func (input GetBranchKeyIdFromDdbKeyOutput) Validate() error { + + return nil +} + +type LegacyDynamoDbEncryptorReference struct { +} + +func (input LegacyDynamoDbEncryptorReference) Validate() error { + + return nil +} + +type LegacyOverride struct { + AttributeActionsOnEncrypt map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction + + Encryptor ILegacyDynamoDbEncryptor + + Policy LegacyPolicy + + DefaultAttributeFlag *awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction +} + +func (input LegacyOverride) Validate() error { + if input.AttributeActionsOnEncrypt == nil { + return fmt.Errorf("input.AttributeActionsOnEncrypt is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_Validate() + } + + return nil +} + +func (input LegacyOverride) Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_Validate() error { + for key, _ := range input.AttributeActionsOnEncrypt { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + } + + return nil +} + +type SearchConfig struct { + Versions []BeaconVersion + + WriteVersion int32 +} + +func (input SearchConfig) Validate() error { + if len(input.Versions) < 1 { + return fmt.Errorf("BeaconVersionList has a minimum length of 1 but has the length of %d.", len(input.Versions)) + } + if len(input.Versions) > 1 { + return fmt.Errorf("BeaconVersionList has a maximum length of 1 but has the length of %d.", len(input.Versions)) + } + if input.Versions == nil { + return fmt.Errorf("input.Versions is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_versions_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_versions_Validate() + } + if input.WriteVersion < 1 { + return fmt.Errorf("VersionNumber has a minimum of 1 but has the value of %d.", input.WriteVersion) + } + + return nil +} + +func (input SearchConfig) Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_versions_Validate() error { + for _, item := range input.Versions { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type DynamoDbTableEncryptionConfig struct { + AttributeActionsOnEncrypt map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction + + LogicalTableName string + + PartitionKeyName string + + AlgorithmSuiteId *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + + AllowedUnsignedAttributePrefix *string + + AllowedUnsignedAttributes []string + + Cmm awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager + + Keyring awscryptographymaterialproviderssmithygeneratedtypes.IKeyring + + LegacyOverride *LegacyOverride + + PlaintextOverride *PlaintextOverride + + Search *SearchConfig + + SortKeyName *string +} + +func (input DynamoDbTableEncryptionConfig) Validate() error { + if input.AttributeActionsOnEncrypt == nil { + return fmt.Errorf("input.AttributeActionsOnEncrypt is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_attributeActionsOnEncrypt_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_attributeActionsOnEncrypt_Validate() + } + if len(input.PartitionKeyName) < 1 { + return fmt.Errorf("KeySchemaAttributeName has a minimum length of 1 but has the length of %d.", len(input.PartitionKeyName)) + } + if len(input.PartitionKeyName) > 255 { + return fmt.Errorf("KeySchemaAttributeName has a maximum length of 255 but has the length of %d.", len(input.PartitionKeyName)) + } + if len(input.AllowedUnsignedAttributes) < 1 { + return fmt.Errorf("AttributeNameList has a minimum length of 1 but has the length of %d.", len(input.AllowedUnsignedAttributes)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributes_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributes_Validate() + } + if input.LegacyOverride != nil { + if input.LegacyOverride.Validate() != nil { + return input.LegacyOverride.Validate() + } + + } + if input.Search != nil { + if input.Search.Validate() != nil { + return input.Search.Validate() + } + + } + if input.SortKeyName != nil { + if len(*input.SortKeyName) < 1 { + return fmt.Errorf("KeySchemaAttributeName has a minimum length of 1 but has the length of %d.", len(*input.SortKeyName)) + } + if len(*input.SortKeyName) > 255 { + return fmt.Errorf("KeySchemaAttributeName has a maximum length of 255 but has the length of %d.", len(*input.SortKeyName)) + } + } + + return nil +} + +func (input DynamoDbTableEncryptionConfig) Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_attributeActionsOnEncrypt_Validate() error { + for key, _ := range input.AttributeActionsOnEncrypt { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + } + + return nil +} +func (input DynamoDbTableEncryptionConfig) Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributes_Validate() error { + for _, item := range input.AllowedUnsignedAttributes { + if len(item) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(item)) + } + if len(item) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(item)) + } + } + + return nil +} + +type DynamoDbTablesEncryptionConfig struct { + TableEncryptionConfigs map[string]DynamoDbTableEncryptionConfig +} + +func (input DynamoDbTablesEncryptionConfig) Validate() error { + if input.TableEncryptionConfigs == nil { + return fmt.Errorf("input.TableEncryptionConfigs is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTablesEncryptionConfig_tableEncryptionConfigs_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTablesEncryptionConfig_tableEncryptionConfigs_Validate() + } + + return nil +} + +func (input DynamoDbTablesEncryptionConfig) Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTablesEncryptionConfig_tableEncryptionConfigs_Validate() error { + for key, value := range input.TableEncryptionConfigs { + if len(key) < 3 { + return fmt.Errorf("TableName has a minimum length of 3 but has the length of %d.", len(key)) + } + if len(key) > 255 { + return fmt.Errorf("TableName has a maximum length of 255 but has the length of %d.", len(key)) + } + if value.Validate() != nil { + return value.Validate() + } + } + + return nil +} + +type GetBranchKeyIdFromDdbKeyInput struct { + DdbKey map[string]dynamodbtypes.AttributeValue +} + +func (input GetBranchKeyIdFromDdbKeyInput) Validate() error { + if input.DdbKey == nil { + return fmt.Errorf("input.DdbKey is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyInput_ddbKey_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyInput_ddbKey_Validate() + } + + return nil +} + +func (input GetBranchKeyIdFromDdbKeyInput) Com_amazonaws_dynamodb_Key_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input GetBranchKeyIdFromDdbKeyInput) Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + if input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input GetBranchKeyIdFromDdbKeyInput) Com_amazonaws_dynamodb_AttributeValue_M_Validate(Value map[string]dynamodbtypes.AttributeValue) error { + for key, value := range Value { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) + } + } + + return nil +} +func (input GetBranchKeyIdFromDdbKeyInput) Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + if input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input GetBranchKeyIdFromDdbKeyInput) Com_amazonaws_dynamodb_AttributeValue_L_Validate(Value []dynamodbtypes.AttributeValue) error { + for _, item := range Value { + if input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) != nil { + return input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) + } + } + + return nil +} +func (input GetBranchKeyIdFromDdbKeyInput) Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyInput_ddbKey_Validate() error { + for key, value := range input.DdbKey { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_Key_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_Key_value_Validate(value) + } + } + + return nil +} + +// BeaconKeySourceMembermulti +// BeaconKeySourceMembersingle +type BeaconKeySource interface { + isBeaconKeySource() +} + +type BeaconKeySourceMembermulti struct { + Value MultiKeyStore +} + +func (*BeaconKeySourceMembermulti) isBeaconKeySource() {} + +type BeaconKeySourceMembersingle struct { + Value SingleKeyStore +} + +func (*BeaconKeySourceMembersingle) isBeaconKeySource() {} + +// BeaconStyleMemberasSet +// BeaconStyleMemberpartOnly +// BeaconStyleMembershared +// BeaconStyleMembersharedSet +type BeaconStyle interface { + isBeaconStyle() +} + +type BeaconStyleMemberasSet struct { + Value AsSet +} + +func (*BeaconStyleMemberasSet) isBeaconStyle() {} + +type BeaconStyleMemberpartOnly struct { + Value PartOnly +} + +func (*BeaconStyleMemberpartOnly) isBeaconStyle() {} + +type BeaconStyleMembershared struct { + Value Shared +} + +func (*BeaconStyleMembershared) isBeaconStyle() {} + +type BeaconStyleMembersharedSet struct { + Value SharedSet +} + +func (*BeaconStyleMembersharedSet) isBeaconStyle() {} + +// GetEncryptedDataKeyDescriptionUnionMemberheader +// GetEncryptedDataKeyDescriptionUnionMemberitem +type GetEncryptedDataKeyDescriptionUnion interface { + isGetEncryptedDataKeyDescriptionUnion() +} + +type GetEncryptedDataKeyDescriptionUnionMemberheader struct { + Value []byte +} + +func (*GetEncryptedDataKeyDescriptionUnionMemberheader) isGetEncryptedDataKeyDescriptionUnion() {} + +type GetEncryptedDataKeyDescriptionUnionMemberitem struct { + Value map[string]dynamodbtypes.AttributeValue +} + +func (*GetEncryptedDataKeyDescriptionUnionMemberitem) isGetEncryptedDataKeyDescriptionUnion() {} + +// VirtualTransformMemberinsert +// VirtualTransformMemberlower +// VirtualTransformMemberprefix +// VirtualTransformMembersegment +// VirtualTransformMembersegments +// VirtualTransformMembersubstring +// VirtualTransformMembersuffix +// VirtualTransformMemberupper +type VirtualTransform interface { + isVirtualTransform() +} + +type VirtualTransformMemberinsert struct { + Value Insert +} + +func (*VirtualTransformMemberinsert) isVirtualTransform() {} + +type VirtualTransformMemberlower struct { + Value Lower +} + +func (*VirtualTransformMemberlower) isVirtualTransform() {} + +type VirtualTransformMemberprefix struct { + Value GetPrefix +} + +func (*VirtualTransformMemberprefix) isVirtualTransform() {} + +type VirtualTransformMembersegment struct { + Value GetSegment +} + +func (*VirtualTransformMembersegment) isVirtualTransform() {} + +type VirtualTransformMembersegments struct { + Value GetSegments +} + +func (*VirtualTransformMembersegments) isVirtualTransform() {} + +type VirtualTransformMembersubstring struct { + Value GetSubstring +} + +func (*VirtualTransformMembersubstring) isVirtualTransform() {} + +type VirtualTransformMembersuffix struct { + Value GetSuffix +} + +func (*VirtualTransformMembersuffix) isVirtualTransform() {} + +type VirtualTransformMemberupper struct { + Value Upper +} + +func (*VirtualTransformMemberupper) isVirtualTransform() {} + +type DynamoDbEncryptionBaseException interface { + // This is a dummy method to allow type assertion since Go empty interfaces + // aren't useful for type assertion checks. No concrete class is expected to implement + // this method. This is also not exported. + interfaceBindingMethod() +} + +type IDynamoDbKeyBranchKeyIdSupplier interface { + GetBranchKeyIdFromDdbKey(GetBranchKeyIdFromDdbKeyInput) (*GetBranchKeyIdFromDdbKeyOutput, error) +} + +type ILegacyDynamoDbEncryptor interface { +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/unmodelled_errors.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/unmodelled_errors.go new file mode 100644 index 000000000..d7d920e5f --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/unmodelled_errors.go @@ -0,0 +1,26 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes + +import ( + "fmt" +) + +type CollectionOfErrors struct { + DynamoDbEncryptionBaseException + ListOfErrors []error + Message string +} + +func (e CollectionOfErrors) Error() string { + return fmt.Sprintf("message: %s\n err %v", e.Message, e.ListOfErrors) +} + +type OpaqueError struct { + DynamoDbEncryptionBaseException + ErrObject interface{} +} + +func (e OpaqueError) Error() string { + return fmt.Sprintf("message: %v", e.ErrObject) +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated/api_client.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated/api_client.go new file mode 100644 index 000000000..a904df22a --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated/api_client.go @@ -0,0 +1,595 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbtransformssmithygenerated + +import ( + "context" + + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/DynamoDbEncryptionTransforms" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes" +) + +type Client struct { + DafnyClient AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.IDynamoDbEncryptionTransformsClient +} + +func NewClient(clientConfig awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTablesEncryptionConfig) (*Client, error) { + var dafnyConfig = awscryptographydbencryptionsdkdynamodbsmithygenerated.DynamoDbTablesEncryptionConfig_ToDafny(clientConfig) + var dafny_response = DynamoDbEncryptionTransforms.Companion_Default___.DynamoDbEncryptionTransforms(dafnyConfig) + if dafny_response.Is_Failure() { + panic("Client construction failed. This should never happen") + } + var dafnyClient = dafny_response.Extract().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.IDynamoDbEncryptionTransformsClient) + client := &Client{dafnyClient} + return client, nil +} + +func (client *Client) PutItemInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemInputTransformInput = PutItemInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.PutItemInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = PutItemInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) PutItemOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemOutputTransformInput = PutItemOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.PutItemOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = PutItemOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) GetItemInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemInputTransformInput = GetItemInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.GetItemInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = GetItemInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) GetItemOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemOutputTransformInput = GetItemOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.GetItemOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = GetItemOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) BatchWriteItemInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemInputTransformInput = BatchWriteItemInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.BatchWriteItemInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = BatchWriteItemInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) BatchWriteItemOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemOutputTransformInput = BatchWriteItemOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.BatchWriteItemOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = BatchWriteItemOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) BatchGetItemInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemInputTransformInput = BatchGetItemInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.BatchGetItemInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = BatchGetItemInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) BatchGetItemOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemOutputTransformInput = BatchGetItemOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.BatchGetItemOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = BatchGetItemOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) ScanInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanInputTransformInput = ScanInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.ScanInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = ScanInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) ScanOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanOutputTransformInput = ScanOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.ScanOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = ScanOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) QueryInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryInputTransformInput = QueryInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.QueryInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = QueryInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) QueryOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryOutputTransformInput = QueryOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.QueryOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = QueryOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) TransactWriteItemsInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsInputTransformInput = TransactWriteItemsInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.TransactWriteItemsInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = TransactWriteItemsInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) TransactWriteItemsOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsOutputTransformInput = TransactWriteItemsOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.TransactWriteItemsOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = TransactWriteItemsOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) UpdateItemInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemInputTransformInput = UpdateItemInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.UpdateItemInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = UpdateItemInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) UpdateItemOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemOutputTransformInput = UpdateItemOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.UpdateItemOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = UpdateItemOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) DeleteItemInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemInputTransformInput = DeleteItemInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.DeleteItemInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = DeleteItemInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) DeleteItemOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemOutputTransformInput = DeleteItemOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.DeleteItemOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = DeleteItemOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) TransactGetItemsInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsInputTransformInput = TransactGetItemsInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.TransactGetItemsInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = TransactGetItemsInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) TransactGetItemsOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsOutputTransformInput = TransactGetItemsOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.TransactGetItemsOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = TransactGetItemsOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) ExecuteStatementInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementInputTransformInput = ExecuteStatementInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.ExecuteStatementInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = ExecuteStatementInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) ExecuteStatementOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementOutputTransformInput = ExecuteStatementOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.ExecuteStatementOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = ExecuteStatementOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) BatchExecuteStatementInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementInputTransformInput = BatchExecuteStatementInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.BatchExecuteStatementInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = BatchExecuteStatementInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) BatchExecuteStatementOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementOutputTransformInput = BatchExecuteStatementOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.BatchExecuteStatementOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = BatchExecuteStatementOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) ExecuteTransactionInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionInputTransformInput = ExecuteTransactionInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.ExecuteTransactionInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = ExecuteTransactionInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) ExecuteTransactionOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionOutputTransformInput = ExecuteTransactionOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.ExecuteTransactionOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = ExecuteTransactionOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) ResolveAttributes(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ResolveAttributesInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ResolveAttributesOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ResolveAttributesInput = ResolveAttributesInput_ToDafny(params) + var dafny_response = client.DafnyClient.ResolveAttributes(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = ResolveAttributesOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ResolveAttributesOutput)) + return &native_response, nil + +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated/to_dafny.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated/to_dafny.go new file mode 100644 index 000000000..74b0cca02 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated/to_dafny.go @@ -0,0 +1,1127 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbtransformssmithygenerated + +import ( + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/ComAmazonawsDynamodbTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/comamazonawsdynamodbsmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UTF8" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" + "github.com/aws/aws-sdk-go-v2/service/dynamodb" + dynamodbtypes "github.com/aws/aws-sdk-go-v2/service/dynamodb/types" + "github.com/aws/smithy-go" + "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" +) + +func BatchExecuteStatementInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchExecuteStatementInputTransformInput_.Create_BatchExecuteStatementInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func BatchExecuteStatementInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchExecuteStatementInputTransformOutput_.Create_BatchExecuteStatementInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func BatchExecuteStatementOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchExecuteStatementOutputTransformInput_.Create_BatchExecuteStatementOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func BatchExecuteStatementOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchExecuteStatementOutputTransformOutput_.Create_BatchExecuteStatementOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func BatchGetItemInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchGetItemInputTransformInput_.Create_BatchGetItemInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func BatchGetItemInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchGetItemInputTransformOutput_.Create_BatchGetItemInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func BatchGetItemOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchGetItemOutputTransformInput_.Create_BatchGetItemOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func BatchGetItemOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchGetItemOutputTransformOutput_.Create_BatchGetItemOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func BatchWriteItemInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchWriteItemInputTransformInput_.Create_BatchWriteItemInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func BatchWriteItemInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchWriteItemInputTransformOutput_.Create_BatchWriteItemInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func BatchWriteItemOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchWriteItemOutputTransformInput_.Create_BatchWriteItemOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func BatchWriteItemOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchWriteItemOutputTransformOutput_.Create_BatchWriteItemOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func DeleteItemInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_DeleteItemInputTransformInput_.Create_DeleteItemInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func DeleteItemInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_DeleteItemInputTransformOutput_.Create_DeleteItemInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func DeleteItemOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_DeleteItemOutputTransformInput_.Create_DeleteItemOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func DeleteItemOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_DeleteItemOutputTransformOutput_.Create_DeleteItemOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func ExecuteStatementInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ExecuteStatementInputTransformInput_.Create_ExecuteStatementInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func ExecuteStatementInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ExecuteStatementInputTransformOutput_.Create_ExecuteStatementInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func ExecuteStatementOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ExecuteStatementOutputTransformInput_.Create_ExecuteStatementOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func ExecuteStatementOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ExecuteStatementOutputTransformOutput_.Create_ExecuteStatementOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func ExecuteTransactionInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ExecuteTransactionInputTransformInput_.Create_ExecuteTransactionInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func ExecuteTransactionInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ExecuteTransactionInputTransformOutput_.Create_ExecuteTransactionInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func ExecuteTransactionOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ExecuteTransactionOutputTransformInput_.Create_ExecuteTransactionOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func ExecuteTransactionOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ExecuteTransactionOutputTransformOutput_.Create_ExecuteTransactionOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func GetItemInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_GetItemInputTransformInput_.Create_GetItemInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func GetItemInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_GetItemInputTransformOutput_.Create_GetItemInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func GetItemOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_GetItemOutputTransformInput_.Create_GetItemOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func GetItemOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_GetItemOutputTransformOutput_.Create_GetItemOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func PutItemInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_PutItemInputTransformInput_.Create_PutItemInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func PutItemInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_PutItemInputTransformOutput_.Create_PutItemInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func PutItemOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_PutItemOutputTransformInput_.Create_PutItemOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func PutItemOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_PutItemOutputTransformOutput_.Create_PutItemOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func QueryInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_QueryInputTransformInput_.Create_QueryInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func QueryInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_QueryInputTransformOutput_.Create_QueryInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func QueryOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_QueryOutputTransformInput_.Create_QueryOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func QueryOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_QueryOutputTransformOutput_.Create_QueryOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func ResolveAttributesInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ResolveAttributesInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ResolveAttributesInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ResolveAttributesInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ResolveAttributesInput_.Create_ResolveAttributesInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_TableName_ToDafny(nativeInput.TableName), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Item_ToDafny(nativeInput.Item), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Version_ToDafny(nativeInput.Version)) + }() + +} + +func ResolveAttributesOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ResolveAttributesOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ResolveAttributesOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ResolveAttributesOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ResolveAttributesOutput_.Create_ResolveAttributesOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesOutput_VirtualFields_ToDafny(nativeOutput.VirtualFields), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesOutput_CompoundBeacons_ToDafny(nativeOutput.CompoundBeacons)) + }() + +} + +func ScanInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ScanInputTransformInput_.Create_ScanInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func ScanInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ScanInputTransformOutput_.Create_ScanInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func ScanOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ScanOutputTransformInput_.Create_ScanOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func ScanOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ScanOutputTransformOutput_.Create_ScanOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func TransactGetItemsInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_TransactGetItemsInputTransformInput_.Create_TransactGetItemsInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func TransactGetItemsInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_TransactGetItemsInputTransformOutput_.Create_TransactGetItemsInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func TransactGetItemsOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_TransactGetItemsOutputTransformInput_.Create_TransactGetItemsOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func TransactGetItemsOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_TransactGetItemsOutputTransformOutput_.Create_TransactGetItemsOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func TransactWriteItemsInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_TransactWriteItemsInputTransformInput_.Create_TransactWriteItemsInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func TransactWriteItemsInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_TransactWriteItemsInputTransformOutput_.Create_TransactWriteItemsInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func TransactWriteItemsOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_TransactWriteItemsOutputTransformInput_.Create_TransactWriteItemsOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func TransactWriteItemsOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_TransactWriteItemsOutputTransformOutput_.Create_TransactWriteItemsOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func UpdateItemInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_UpdateItemInputTransformInput_.Create_UpdateItemInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func UpdateItemInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_UpdateItemInputTransformOutput_.Create_UpdateItemInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func UpdateItemOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_UpdateItemOutputTransformInput_.Create_UpdateItemOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func UpdateItemOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_UpdateItemOutputTransformOutput_.Create_UpdateItemOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func DynamoDbEncryptionTransformsException_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DynamoDbEncryptionTransformsException) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_DynamoDbEncryptionTransformsException_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DynamoDbEncryptionTransformsException_message_ToDafny(nativeInput.Message)) + }() + +} + +func CollectionOfErrors_Input_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.CollectionOfErrors) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error { + var e []interface{} + for _, i2 := range nativeInput.ListOfErrors { + e = append(e, Error_ToDafny(i2)) + } + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_CollectionOfErrors_(dafny.SeqOf(e...), func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(nativeInput.Message)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) +} +func OpaqueError_Input_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error { + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_Opaque_(nativeInput.ErrObject) +} + +func Error_ToDafny(err error) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error { + switch err.(type) { + // Service Errors + case awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DynamoDbEncryptionTransformsException: + return DynamoDbEncryptionTransformsException_ToDafny(err.(awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DynamoDbEncryptionTransformsException)) + + //DependentErrors + case awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_AwsCryptographyDbEncryptionSdkDynamoDb_(awscryptographydbencryptionsdkdynamodbsmithygenerated.Error_ToDafny(err)) + + case awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptor_(awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.Error_ToDafny(err)) + + case awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_AwsCryptographyDbEncryptionSdkStructuredEncryption_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_ToDafny(err)) + + case awscryptographymaterialproviderssmithygeneratedtypes.AwsCryptographicMaterialProvidersBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_AwsCryptographyMaterialProviders_(awscryptographymaterialproviderssmithygenerated.Error_ToDafny(err)) + + case *smithy.OperationError: + if err.(*smithy.OperationError).Service() == "DynamoDB" { + DynamoDBError := comamazonawsdynamodbsmithygenerated.Error_ToDafny(err) + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_ComAmazonawsDynamodb_(DynamoDBError) + } + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_Opaque_(err) + + case smithy.APIError: + DynamoDBError := comamazonawsdynamodbsmithygenerated.Error_ToDafny(err) + if !DynamoDBError.Is_OpaqueWithText() { + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_ComAmazonawsDynamodb_(DynamoDBError) + } + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_Opaque_(err) + + //Unmodelled Errors + case awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.CollectionOfErrors: + return CollectionOfErrors_Input_ToDafny(err.(awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.CollectionOfErrors)) + + default: + error, ok := err.(awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError) + if !ok { + panic("Error is not an OpaqueError") + } + return OpaqueError_Input_ToDafny(error) + } +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementInputTransformInput_sdkInput_ToDafny(input dynamodb.BatchExecuteStatementInput) ComAmazonawsDynamodbTypes.BatchExecuteStatementInput { + return func() ComAmazonawsDynamodbTypes.BatchExecuteStatementInput { + + return ComAmazonawsDynamodbTypes.Companion_BatchExecuteStatementInput_.Create_BatchExecuteStatementInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_Statements_ToDafny(input.Statements), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementInputTransformOutput_transformedInput_ToDafny(input dynamodb.BatchExecuteStatementInput) ComAmazonawsDynamodbTypes.BatchExecuteStatementInput { + return func() ComAmazonawsDynamodbTypes.BatchExecuteStatementInput { + + return ComAmazonawsDynamodbTypes.Companion_BatchExecuteStatementInput_.Create_BatchExecuteStatementInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_Statements_ToDafny(input.Statements), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformInput_sdkOutput_ToDafny(input dynamodb.BatchExecuteStatementOutput) ComAmazonawsDynamodbTypes.BatchExecuteStatementOutput { + return func() ComAmazonawsDynamodbTypes.BatchExecuteStatementOutput { + + return ComAmazonawsDynamodbTypes.Companion_BatchExecuteStatementOutput_.Create_BatchExecuteStatementOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementOutput_Responses_ToDafny(input.Responses), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformInput_originalInput_ToDafny(input dynamodb.BatchExecuteStatementInput) ComAmazonawsDynamodbTypes.BatchExecuteStatementInput { + return func() ComAmazonawsDynamodbTypes.BatchExecuteStatementInput { + + return ComAmazonawsDynamodbTypes.Companion_BatchExecuteStatementInput_.Create_BatchExecuteStatementInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_Statements_ToDafny(input.Statements), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.BatchExecuteStatementOutput) ComAmazonawsDynamodbTypes.BatchExecuteStatementOutput { + return func() ComAmazonawsDynamodbTypes.BatchExecuteStatementOutput { + + return ComAmazonawsDynamodbTypes.Companion_BatchExecuteStatementOutput_.Create_BatchExecuteStatementOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementOutput_Responses_ToDafny(input.Responses), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemInputTransformInput_sdkInput_ToDafny(input dynamodb.BatchGetItemInput) ComAmazonawsDynamodbTypes.BatchGetItemInput { + return func() ComAmazonawsDynamodbTypes.BatchGetItemInput { + + return ComAmazonawsDynamodbTypes.Companion_BatchGetItemInput_.Create_BatchGetItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_RequestItems_ToDafny(input.RequestItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemInputTransformOutput_transformedInput_ToDafny(input dynamodb.BatchGetItemInput) ComAmazonawsDynamodbTypes.BatchGetItemInput { + return func() ComAmazonawsDynamodbTypes.BatchGetItemInput { + + return ComAmazonawsDynamodbTypes.Companion_BatchGetItemInput_.Create_BatchGetItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_RequestItems_ToDafny(input.RequestItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformInput_sdkOutput_ToDafny(input dynamodb.BatchGetItemOutput) ComAmazonawsDynamodbTypes.BatchGetItemOutput { + return func() ComAmazonawsDynamodbTypes.BatchGetItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_BatchGetItemOutput_.Create_BatchGetItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_Responses_ToDafny(input.Responses), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_UnprocessedKeys_ToDafny(input.UnprocessedKeys), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformInput_originalInput_ToDafny(input dynamodb.BatchGetItemInput) ComAmazonawsDynamodbTypes.BatchGetItemInput { + return func() ComAmazonawsDynamodbTypes.BatchGetItemInput { + + return ComAmazonawsDynamodbTypes.Companion_BatchGetItemInput_.Create_BatchGetItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_RequestItems_ToDafny(input.RequestItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.BatchGetItemOutput) ComAmazonawsDynamodbTypes.BatchGetItemOutput { + return func() ComAmazonawsDynamodbTypes.BatchGetItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_BatchGetItemOutput_.Create_BatchGetItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_Responses_ToDafny(input.Responses), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_UnprocessedKeys_ToDafny(input.UnprocessedKeys), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemInputTransformInput_sdkInput_ToDafny(input dynamodb.BatchWriteItemInput) ComAmazonawsDynamodbTypes.BatchWriteItemInput { + return func() ComAmazonawsDynamodbTypes.BatchWriteItemInput { + + return ComAmazonawsDynamodbTypes.Companion_BatchWriteItemInput_.Create_BatchWriteItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_RequestItems_ToDafny(input.RequestItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemInputTransformOutput_transformedInput_ToDafny(input dynamodb.BatchWriteItemInput) ComAmazonawsDynamodbTypes.BatchWriteItemInput { + return func() ComAmazonawsDynamodbTypes.BatchWriteItemInput { + + return ComAmazonawsDynamodbTypes.Companion_BatchWriteItemInput_.Create_BatchWriteItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_RequestItems_ToDafny(input.RequestItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformInput_sdkOutput_ToDafny(input dynamodb.BatchWriteItemOutput) ComAmazonawsDynamodbTypes.BatchWriteItemOutput { + return func() ComAmazonawsDynamodbTypes.BatchWriteItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_BatchWriteItemOutput_.Create_BatchWriteItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_UnprocessedItems_ToDafny(input.UnprocessedItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformInput_originalInput_ToDafny(input dynamodb.BatchWriteItemInput) ComAmazonawsDynamodbTypes.BatchWriteItemInput { + return func() ComAmazonawsDynamodbTypes.BatchWriteItemInput { + + return ComAmazonawsDynamodbTypes.Companion_BatchWriteItemInput_.Create_BatchWriteItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_RequestItems_ToDafny(input.RequestItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.BatchWriteItemOutput) ComAmazonawsDynamodbTypes.BatchWriteItemOutput { + return func() ComAmazonawsDynamodbTypes.BatchWriteItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_BatchWriteItemOutput_.Create_BatchWriteItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_UnprocessedItems_ToDafny(input.UnprocessedItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemInputTransformInput_sdkInput_ToDafny(input dynamodb.DeleteItemInput) ComAmazonawsDynamodbTypes.DeleteItemInput { + return func() ComAmazonawsDynamodbTypes.DeleteItemInput { + + return ComAmazonawsDynamodbTypes.Companion_DeleteItemInput_.Create_DeleteItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Key_ToDafny(input.Key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Expected_ToDafny(input.Expected), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValues_ToDafny(input.ReturnValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionExpression_ToDafny(input.ConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemInputTransformOutput_transformedInput_ToDafny(input dynamodb.DeleteItemInput) ComAmazonawsDynamodbTypes.DeleteItemInput { + return func() ComAmazonawsDynamodbTypes.DeleteItemInput { + + return ComAmazonawsDynamodbTypes.Companion_DeleteItemInput_.Create_DeleteItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Key_ToDafny(input.Key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Expected_ToDafny(input.Expected), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValues_ToDafny(input.ReturnValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionExpression_ToDafny(input.ConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformInput_sdkOutput_ToDafny(input dynamodb.DeleteItemOutput) ComAmazonawsDynamodbTypes.DeleteItemOutput { + return func() ComAmazonawsDynamodbTypes.DeleteItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_DeleteItemOutput_.Create_DeleteItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_Attributes_ToDafny(input.Attributes), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformInput_originalInput_ToDafny(input dynamodb.DeleteItemInput) ComAmazonawsDynamodbTypes.DeleteItemInput { + return func() ComAmazonawsDynamodbTypes.DeleteItemInput { + + return ComAmazonawsDynamodbTypes.Companion_DeleteItemInput_.Create_DeleteItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Key_ToDafny(input.Key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Expected_ToDafny(input.Expected), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValues_ToDafny(input.ReturnValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionExpression_ToDafny(input.ConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.DeleteItemOutput) ComAmazonawsDynamodbTypes.DeleteItemOutput { + return func() ComAmazonawsDynamodbTypes.DeleteItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_DeleteItemOutput_.Create_DeleteItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_Attributes_ToDafny(input.Attributes), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementInputTransformInput_sdkInput_ToDafny(input dynamodb.ExecuteStatementInput) ComAmazonawsDynamodbTypes.ExecuteStatementInput { + return func() ComAmazonawsDynamodbTypes.ExecuteStatementInput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteStatementInput_.Create_ExecuteStatementInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Statement_ToDafny(input.Statement), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Parameters_ToDafny(input.Parameters), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ConsistentRead_ToDafny(input.ConsistentRead), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_NextToken_ToDafny(input.NextToken), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Limit_ToDafny(input.Limit), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementInputTransformOutput_transformedInput_ToDafny(input dynamodb.ExecuteStatementInput) ComAmazonawsDynamodbTypes.ExecuteStatementInput { + return func() ComAmazonawsDynamodbTypes.ExecuteStatementInput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteStatementInput_.Create_ExecuteStatementInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Statement_ToDafny(input.Statement), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Parameters_ToDafny(input.Parameters), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ConsistentRead_ToDafny(input.ConsistentRead), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_NextToken_ToDafny(input.NextToken), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Limit_ToDafny(input.Limit), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformInput_sdkOutput_ToDafny(input dynamodb.ExecuteStatementOutput) ComAmazonawsDynamodbTypes.ExecuteStatementOutput { + return func() ComAmazonawsDynamodbTypes.ExecuteStatementOutput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteStatementOutput_.Create_ExecuteStatementOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_Items_ToDafny(input.Items), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_NextToken_ToDafny(input.NextToken), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_LastEvaluatedKey_ToDafny(input.LastEvaluatedKey)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformInput_originalInput_ToDafny(input dynamodb.ExecuteStatementInput) ComAmazonawsDynamodbTypes.ExecuteStatementInput { + return func() ComAmazonawsDynamodbTypes.ExecuteStatementInput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteStatementInput_.Create_ExecuteStatementInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Statement_ToDafny(input.Statement), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Parameters_ToDafny(input.Parameters), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ConsistentRead_ToDafny(input.ConsistentRead), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_NextToken_ToDafny(input.NextToken), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Limit_ToDafny(input.Limit), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.ExecuteStatementOutput) ComAmazonawsDynamodbTypes.ExecuteStatementOutput { + return func() ComAmazonawsDynamodbTypes.ExecuteStatementOutput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteStatementOutput_.Create_ExecuteStatementOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_Items_ToDafny(input.Items), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_NextToken_ToDafny(input.NextToken), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_LastEvaluatedKey_ToDafny(input.LastEvaluatedKey)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionInputTransformInput_sdkInput_ToDafny(input dynamodb.ExecuteTransactionInput) ComAmazonawsDynamodbTypes.ExecuteTransactionInput { + return func() ComAmazonawsDynamodbTypes.ExecuteTransactionInput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteTransactionInput_.Create_ExecuteTransactionInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_TransactStatements_ToDafny(input.TransactStatements), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ClientRequestToken_ToDafny(input.ClientRequestToken), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionInputTransformOutput_transformedInput_ToDafny(input dynamodb.ExecuteTransactionInput) ComAmazonawsDynamodbTypes.ExecuteTransactionInput { + return func() ComAmazonawsDynamodbTypes.ExecuteTransactionInput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteTransactionInput_.Create_ExecuteTransactionInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_TransactStatements_ToDafny(input.TransactStatements), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ClientRequestToken_ToDafny(input.ClientRequestToken), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformInput_sdkOutput_ToDafny(input dynamodb.ExecuteTransactionOutput) ComAmazonawsDynamodbTypes.ExecuteTransactionOutput { + return func() ComAmazonawsDynamodbTypes.ExecuteTransactionOutput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteTransactionOutput_.Create_ExecuteTransactionOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionOutput_Responses_ToDafny(input.Responses), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformInput_originalInput_ToDafny(input dynamodb.ExecuteTransactionInput) ComAmazonawsDynamodbTypes.ExecuteTransactionInput { + return func() ComAmazonawsDynamodbTypes.ExecuteTransactionInput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteTransactionInput_.Create_ExecuteTransactionInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_TransactStatements_ToDafny(input.TransactStatements), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ClientRequestToken_ToDafny(input.ClientRequestToken), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.ExecuteTransactionOutput) ComAmazonawsDynamodbTypes.ExecuteTransactionOutput { + return func() ComAmazonawsDynamodbTypes.ExecuteTransactionOutput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteTransactionOutput_.Create_ExecuteTransactionOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionOutput_Responses_ToDafny(input.Responses), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemInputTransformInput_sdkInput_ToDafny(input dynamodb.GetItemInput) ComAmazonawsDynamodbTypes.GetItemInput { + return func() ComAmazonawsDynamodbTypes.GetItemInput { + + return ComAmazonawsDynamodbTypes.Companion_GetItemInput_.Create_GetItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_Key_ToDafny(input.Key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_AttributesToGet_ToDafny(input.AttributesToGet), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ConsistentRead_ToDafny(input.ConsistentRead), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ProjectionExpression_ToDafny(input.ProjectionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemInputTransformOutput_transformedInput_ToDafny(input dynamodb.GetItemInput) ComAmazonawsDynamodbTypes.GetItemInput { + return func() ComAmazonawsDynamodbTypes.GetItemInput { + + return ComAmazonawsDynamodbTypes.Companion_GetItemInput_.Create_GetItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_Key_ToDafny(input.Key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_AttributesToGet_ToDafny(input.AttributesToGet), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ConsistentRead_ToDafny(input.ConsistentRead), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ProjectionExpression_ToDafny(input.ProjectionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformInput_sdkOutput_ToDafny(input dynamodb.GetItemOutput) ComAmazonawsDynamodbTypes.GetItemOutput { + return func() ComAmazonawsDynamodbTypes.GetItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_GetItemOutput_.Create_GetItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemOutput_Item_ToDafny(input.Item), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformInput_originalInput_ToDafny(input dynamodb.GetItemInput) ComAmazonawsDynamodbTypes.GetItemInput { + return func() ComAmazonawsDynamodbTypes.GetItemInput { + + return ComAmazonawsDynamodbTypes.Companion_GetItemInput_.Create_GetItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_Key_ToDafny(input.Key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_AttributesToGet_ToDafny(input.AttributesToGet), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ConsistentRead_ToDafny(input.ConsistentRead), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ProjectionExpression_ToDafny(input.ProjectionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.GetItemOutput) ComAmazonawsDynamodbTypes.GetItemOutput { + return func() ComAmazonawsDynamodbTypes.GetItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_GetItemOutput_.Create_GetItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemOutput_Item_ToDafny(input.Item), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemInputTransformInput_sdkInput_ToDafny(input dynamodb.PutItemInput) ComAmazonawsDynamodbTypes.PutItemInput { + return func() ComAmazonawsDynamodbTypes.PutItemInput { + + return ComAmazonawsDynamodbTypes.Companion_PutItemInput_.Create_PutItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Item_ToDafny(input.Item), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Expected_ToDafny(input.Expected), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValues_ToDafny(input.ReturnValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionExpression_ToDafny(input.ConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemInputTransformOutput_transformedInput_ToDafny(input dynamodb.PutItemInput) ComAmazonawsDynamodbTypes.PutItemInput { + return func() ComAmazonawsDynamodbTypes.PutItemInput { + + return ComAmazonawsDynamodbTypes.Companion_PutItemInput_.Create_PutItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Item_ToDafny(input.Item), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Expected_ToDafny(input.Expected), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValues_ToDafny(input.ReturnValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionExpression_ToDafny(input.ConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformInput_sdkOutput_ToDafny(input dynamodb.PutItemOutput) ComAmazonawsDynamodbTypes.PutItemOutput { + return func() ComAmazonawsDynamodbTypes.PutItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_PutItemOutput_.Create_PutItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_Attributes_ToDafny(input.Attributes), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformInput_originalInput_ToDafny(input dynamodb.PutItemInput) ComAmazonawsDynamodbTypes.PutItemInput { + return func() ComAmazonawsDynamodbTypes.PutItemInput { + + return ComAmazonawsDynamodbTypes.Companion_PutItemInput_.Create_PutItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Item_ToDafny(input.Item), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Expected_ToDafny(input.Expected), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValues_ToDafny(input.ReturnValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionExpression_ToDafny(input.ConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.PutItemOutput) ComAmazonawsDynamodbTypes.PutItemOutput { + return func() ComAmazonawsDynamodbTypes.PutItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_PutItemOutput_.Create_PutItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_Attributes_ToDafny(input.Attributes), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryInputTransformInput_sdkInput_ToDafny(input dynamodb.QueryInput) ComAmazonawsDynamodbTypes.QueryInput { + return func() ComAmazonawsDynamodbTypes.QueryInput { + + return ComAmazonawsDynamodbTypes.Companion_QueryInput_.Create_QueryInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_IndexName_ToDafny(input.IndexName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Select_ToDafny(input.Select), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_AttributesToGet_ToDafny(input.AttributesToGet), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Limit_ToDafny(input.Limit), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConsistentRead_ToDafny(input.ConsistentRead), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditions_ToDafny(input.KeyConditions), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_QueryFilter_ToDafny(input.QueryFilter), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ScanIndexForward_ToDafny(input.ScanIndexForward), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExclusiveStartKey_ToDafny(input.ExclusiveStartKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ProjectionExpression_ToDafny(input.ProjectionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_FilterExpression_ToDafny(input.FilterExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditionExpression_ToDafny(input.KeyConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryInputTransformOutput_transformedInput_ToDafny(input dynamodb.QueryInput) ComAmazonawsDynamodbTypes.QueryInput { + return func() ComAmazonawsDynamodbTypes.QueryInput { + + return ComAmazonawsDynamodbTypes.Companion_QueryInput_.Create_QueryInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_IndexName_ToDafny(input.IndexName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Select_ToDafny(input.Select), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_AttributesToGet_ToDafny(input.AttributesToGet), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Limit_ToDafny(input.Limit), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConsistentRead_ToDafny(input.ConsistentRead), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditions_ToDafny(input.KeyConditions), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_QueryFilter_ToDafny(input.QueryFilter), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ScanIndexForward_ToDafny(input.ScanIndexForward), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExclusiveStartKey_ToDafny(input.ExclusiveStartKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ProjectionExpression_ToDafny(input.ProjectionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_FilterExpression_ToDafny(input.FilterExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditionExpression_ToDafny(input.KeyConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformInput_sdkOutput_ToDafny(input dynamodb.QueryOutput) ComAmazonawsDynamodbTypes.QueryOutput { + return func() ComAmazonawsDynamodbTypes.QueryOutput { + + return ComAmazonawsDynamodbTypes.Companion_QueryOutput_.Create_QueryOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_Items_ToDafny(input.Items), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_Count_ToDafny(input.Count), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_ScannedCount_ToDafny(input.ScannedCount), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_LastEvaluatedKey_ToDafny(input.LastEvaluatedKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformInput_originalInput_ToDafny(input dynamodb.QueryInput) ComAmazonawsDynamodbTypes.QueryInput { + return func() ComAmazonawsDynamodbTypes.QueryInput { + + return ComAmazonawsDynamodbTypes.Companion_QueryInput_.Create_QueryInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_IndexName_ToDafny(input.IndexName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Select_ToDafny(input.Select), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_AttributesToGet_ToDafny(input.AttributesToGet), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Limit_ToDafny(input.Limit), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConsistentRead_ToDafny(input.ConsistentRead), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditions_ToDafny(input.KeyConditions), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_QueryFilter_ToDafny(input.QueryFilter), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ScanIndexForward_ToDafny(input.ScanIndexForward), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExclusiveStartKey_ToDafny(input.ExclusiveStartKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ProjectionExpression_ToDafny(input.ProjectionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_FilterExpression_ToDafny(input.FilterExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditionExpression_ToDafny(input.KeyConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.QueryOutput) ComAmazonawsDynamodbTypes.QueryOutput { + return func() ComAmazonawsDynamodbTypes.QueryOutput { + + return ComAmazonawsDynamodbTypes.Companion_QueryOutput_.Create_QueryOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_Items_ToDafny(input.Items), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_Count_ToDafny(input.Count), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_ScannedCount_ToDafny(input.ScannedCount), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_LastEvaluatedKey_ToDafny(input.LastEvaluatedKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_TableName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Item_ToDafny(input map[string]dynamodbtypes.AttributeValue) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_ToDafny(key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Version_ToDafny(input *int32) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(*input) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesOutput_VirtualFields_ToDafny(input map[string]string) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_key_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_value_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesOutput_CompoundBeacons_ToDafny(input map[string]string) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanInputTransformInput_sdkInput_ToDafny(input dynamodb.ScanInput) ComAmazonawsDynamodbTypes.ScanInput { + return func() ComAmazonawsDynamodbTypes.ScanInput { + + return ComAmazonawsDynamodbTypes.Companion_ScanInput_.Create_ScanInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_IndexName_ToDafny(input.IndexName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_AttributesToGet_ToDafny(input.AttributesToGet), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Limit_ToDafny(input.Limit), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Select_ToDafny(input.Select), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ScanFilter_ToDafny(input.ScanFilter), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExclusiveStartKey_ToDafny(input.ExclusiveStartKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TotalSegments_ToDafny(input.TotalSegments), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Segment_ToDafny(input.Segment), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ProjectionExpression_ToDafny(input.ProjectionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_FilterExpression_ToDafny(input.FilterExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConsistentRead_ToDafny(input.ConsistentRead)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanInputTransformOutput_transformedInput_ToDafny(input dynamodb.ScanInput) ComAmazonawsDynamodbTypes.ScanInput { + return func() ComAmazonawsDynamodbTypes.ScanInput { + + return ComAmazonawsDynamodbTypes.Companion_ScanInput_.Create_ScanInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_IndexName_ToDafny(input.IndexName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_AttributesToGet_ToDafny(input.AttributesToGet), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Limit_ToDafny(input.Limit), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Select_ToDafny(input.Select), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ScanFilter_ToDafny(input.ScanFilter), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExclusiveStartKey_ToDafny(input.ExclusiveStartKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TotalSegments_ToDafny(input.TotalSegments), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Segment_ToDafny(input.Segment), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ProjectionExpression_ToDafny(input.ProjectionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_FilterExpression_ToDafny(input.FilterExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConsistentRead_ToDafny(input.ConsistentRead)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformInput_sdkOutput_ToDafny(input dynamodb.ScanOutput) ComAmazonawsDynamodbTypes.ScanOutput { + return func() ComAmazonawsDynamodbTypes.ScanOutput { + + return ComAmazonawsDynamodbTypes.Companion_ScanOutput_.Create_ScanOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_Items_ToDafny(input.Items), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_Count_ToDafny(input.Count), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_ScannedCount_ToDafny(input.ScannedCount), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_LastEvaluatedKey_ToDafny(input.LastEvaluatedKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformInput_originalInput_ToDafny(input dynamodb.ScanInput) ComAmazonawsDynamodbTypes.ScanInput { + return func() ComAmazonawsDynamodbTypes.ScanInput { + + return ComAmazonawsDynamodbTypes.Companion_ScanInput_.Create_ScanInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_IndexName_ToDafny(input.IndexName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_AttributesToGet_ToDafny(input.AttributesToGet), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Limit_ToDafny(input.Limit), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Select_ToDafny(input.Select), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ScanFilter_ToDafny(input.ScanFilter), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExclusiveStartKey_ToDafny(input.ExclusiveStartKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TotalSegments_ToDafny(input.TotalSegments), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Segment_ToDafny(input.Segment), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ProjectionExpression_ToDafny(input.ProjectionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_FilterExpression_ToDafny(input.FilterExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConsistentRead_ToDafny(input.ConsistentRead)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.ScanOutput) ComAmazonawsDynamodbTypes.ScanOutput { + return func() ComAmazonawsDynamodbTypes.ScanOutput { + + return ComAmazonawsDynamodbTypes.Companion_ScanOutput_.Create_ScanOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_Items_ToDafny(input.Items), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_Count_ToDafny(input.Count), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_ScannedCount_ToDafny(input.ScannedCount), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_LastEvaluatedKey_ToDafny(input.LastEvaluatedKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsInputTransformInput_sdkInput_ToDafny(input dynamodb.TransactGetItemsInput) ComAmazonawsDynamodbTypes.TransactGetItemsInput { + return func() ComAmazonawsDynamodbTypes.TransactGetItemsInput { + + return ComAmazonawsDynamodbTypes.Companion_TransactGetItemsInput_.Create_TransactGetItemsInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_TransactItems_ToDafny(input.TransactItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsInputTransformOutput_transformedInput_ToDafny(input dynamodb.TransactGetItemsInput) ComAmazonawsDynamodbTypes.TransactGetItemsInput { + return func() ComAmazonawsDynamodbTypes.TransactGetItemsInput { + + return ComAmazonawsDynamodbTypes.Companion_TransactGetItemsInput_.Create_TransactGetItemsInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_TransactItems_ToDafny(input.TransactItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformInput_sdkOutput_ToDafny(input dynamodb.TransactGetItemsOutput) ComAmazonawsDynamodbTypes.TransactGetItemsOutput { + return func() ComAmazonawsDynamodbTypes.TransactGetItemsOutput { + + return ComAmazonawsDynamodbTypes.Companion_TransactGetItemsOutput_.Create_TransactGetItemsOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsOutput_Responses_ToDafny(input.Responses)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformInput_originalInput_ToDafny(input dynamodb.TransactGetItemsInput) ComAmazonawsDynamodbTypes.TransactGetItemsInput { + return func() ComAmazonawsDynamodbTypes.TransactGetItemsInput { + + return ComAmazonawsDynamodbTypes.Companion_TransactGetItemsInput_.Create_TransactGetItemsInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_TransactItems_ToDafny(input.TransactItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.TransactGetItemsOutput) ComAmazonawsDynamodbTypes.TransactGetItemsOutput { + return func() ComAmazonawsDynamodbTypes.TransactGetItemsOutput { + + return ComAmazonawsDynamodbTypes.Companion_TransactGetItemsOutput_.Create_TransactGetItemsOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsOutput_Responses_ToDafny(input.Responses)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsInputTransformInput_sdkInput_ToDafny(input dynamodb.TransactWriteItemsInput) ComAmazonawsDynamodbTypes.TransactWriteItemsInput { + return func() ComAmazonawsDynamodbTypes.TransactWriteItemsInput { + + return ComAmazonawsDynamodbTypes.Companion_TransactWriteItemsInput_.Create_TransactWriteItemsInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_TransactItems_ToDafny(input.TransactItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ClientRequestToken_ToDafny(input.ClientRequestToken)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsInputTransformOutput_transformedInput_ToDafny(input dynamodb.TransactWriteItemsInput) ComAmazonawsDynamodbTypes.TransactWriteItemsInput { + return func() ComAmazonawsDynamodbTypes.TransactWriteItemsInput { + + return ComAmazonawsDynamodbTypes.Companion_TransactWriteItemsInput_.Create_TransactWriteItemsInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_TransactItems_ToDafny(input.TransactItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ClientRequestToken_ToDafny(input.ClientRequestToken)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformInput_sdkOutput_ToDafny(input dynamodb.TransactWriteItemsOutput) ComAmazonawsDynamodbTypes.TransactWriteItemsOutput { + return func() ComAmazonawsDynamodbTypes.TransactWriteItemsOutput { + + return ComAmazonawsDynamodbTypes.Companion_TransactWriteItemsOutput_.Create_TransactWriteItemsOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformInput_originalInput_ToDafny(input dynamodb.TransactWriteItemsInput) ComAmazonawsDynamodbTypes.TransactWriteItemsInput { + return func() ComAmazonawsDynamodbTypes.TransactWriteItemsInput { + + return ComAmazonawsDynamodbTypes.Companion_TransactWriteItemsInput_.Create_TransactWriteItemsInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_TransactItems_ToDafny(input.TransactItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ClientRequestToken_ToDafny(input.ClientRequestToken)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.TransactWriteItemsOutput) ComAmazonawsDynamodbTypes.TransactWriteItemsOutput { + return func() ComAmazonawsDynamodbTypes.TransactWriteItemsOutput { + + return ComAmazonawsDynamodbTypes.Companion_TransactWriteItemsOutput_.Create_TransactWriteItemsOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemInputTransformInput_sdkInput_ToDafny(input dynamodb.UpdateItemInput) ComAmazonawsDynamodbTypes.UpdateItemInput { + return func() ComAmazonawsDynamodbTypes.UpdateItemInput { + + return ComAmazonawsDynamodbTypes.Companion_UpdateItemInput_.Create_UpdateItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Key_ToDafny(input.Key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_AttributeUpdates_ToDafny(input.AttributeUpdates), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Expected_ToDafny(input.Expected), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValues_ToDafny(input.ReturnValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_UpdateExpression_ToDafny(input.UpdateExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionExpression_ToDafny(input.ConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemInputTransformOutput_transformedInput_ToDafny(input dynamodb.UpdateItemInput) ComAmazonawsDynamodbTypes.UpdateItemInput { + return func() ComAmazonawsDynamodbTypes.UpdateItemInput { + + return ComAmazonawsDynamodbTypes.Companion_UpdateItemInput_.Create_UpdateItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Key_ToDafny(input.Key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_AttributeUpdates_ToDafny(input.AttributeUpdates), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Expected_ToDafny(input.Expected), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValues_ToDafny(input.ReturnValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_UpdateExpression_ToDafny(input.UpdateExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionExpression_ToDafny(input.ConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformInput_sdkOutput_ToDafny(input dynamodb.UpdateItemOutput) ComAmazonawsDynamodbTypes.UpdateItemOutput { + return func() ComAmazonawsDynamodbTypes.UpdateItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_UpdateItemOutput_.Create_UpdateItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_Attributes_ToDafny(input.Attributes), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformInput_originalInput_ToDafny(input dynamodb.UpdateItemInput) ComAmazonawsDynamodbTypes.UpdateItemInput { + return func() ComAmazonawsDynamodbTypes.UpdateItemInput { + + return ComAmazonawsDynamodbTypes.Companion_UpdateItemInput_.Create_UpdateItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Key_ToDafny(input.Key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_AttributeUpdates_ToDafny(input.AttributeUpdates), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Expected_ToDafny(input.Expected), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValues_ToDafny(input.ReturnValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_UpdateExpression_ToDafny(input.UpdateExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionExpression_ToDafny(input.ConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.UpdateItemOutput) ComAmazonawsDynamodbTypes.UpdateItemOutput { + return func() ComAmazonawsDynamodbTypes.UpdateItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_UpdateItemOutput_.Create_UpdateItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_Attributes_ToDafny(input.Attributes), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DynamoDbEncryptionTransformsException_message_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated/to_native.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated/to_native.go new file mode 100644 index 000000000..851f227fb --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated/to_native.go @@ -0,0 +1,1098 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbtransformssmithygenerated + +import ( + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/ComAmazonawsDynamodbTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/comamazonawsdynamodbsmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UTF8" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated" + "github.com/aws/aws-sdk-go-v2/service/dynamodb" + dynamodbtypes "github.com/aws/aws-sdk-go-v2/service/dynamodb/types" + "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" +) + +func BatchExecuteStatementInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func BatchExecuteStatementInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func BatchExecuteStatementOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func BatchExecuteStatementOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func BatchGetItemInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func BatchGetItemInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func BatchGetItemOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func BatchGetItemOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func BatchWriteItemInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func BatchWriteItemInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func BatchWriteItemOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func BatchWriteItemOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func DeleteItemInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func DeleteItemInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func DeleteItemOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func DeleteItemOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func ExecuteStatementInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func ExecuteStatementInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func ExecuteStatementOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func ExecuteStatementOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func ExecuteTransactionInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func ExecuteTransactionInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func ExecuteTransactionOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func ExecuteTransactionOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func GetItemInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func GetItemInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func GetItemOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func GetItemOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func PutItemInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func PutItemInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func PutItemOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func PutItemOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func QueryInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func QueryInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func QueryOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func QueryOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func ResolveAttributesInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ResolveAttributesInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ResolveAttributesInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ResolveAttributesInput{TableName: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_TableName_FromDafny(dafnyInput.Dtor_TableName()), + Item: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Item_FromDafny(dafnyInput.Dtor_Item()), + Version: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Version_FromDafny(dafnyInput.Dtor_Version().UnwrapOr(nil)), + } + +} + +func ResolveAttributesOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ResolveAttributesOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ResolveAttributesOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ResolveAttributesOutput{VirtualFields: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesOutput_VirtualFields_FromDafny(dafnyOutput.Dtor_VirtualFields()), + CompoundBeacons: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesOutput_CompoundBeacons_FromDafny(dafnyOutput.Dtor_CompoundBeacons()), + } + +} + +func ScanInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func ScanInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func ScanOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func ScanOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func TransactGetItemsInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func TransactGetItemsInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func TransactGetItemsOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func TransactGetItemsOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func TransactWriteItemsInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func TransactWriteItemsInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func TransactWriteItemsOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func TransactWriteItemsOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func UpdateItemInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func UpdateItemInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func UpdateItemOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func UpdateItemOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func DynamoDbEncryptionTransformsException_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DynamoDbEncryptionTransformsException { + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DynamoDbEncryptionTransformsException{Message: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DynamoDbEncryptionTransformsException_message_FromDafny(dafnyOutput.Dtor_message())} + +} + +func CollectionOfErrors_Output_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.CollectionOfErrors { + listOfErrors := dafnyOutput.Dtor_list() + message := dafnyOutput.Dtor_message() + t := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.CollectionOfErrors{} + for i := dafny.Iterate(listOfErrors); ; { + val, ok := i() + if !ok { + break + } + err := val.(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + t.ListOfErrors = append(t.ListOfErrors, Error_FromDafny(err)) + + } + t.Message = func() string { + a := UTF8.Encode(message.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + return s + }() + return t +} +func OpaqueError_Output_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError { + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: dafnyOutput.Dtor_obj(), + } +} + +func Error_FromDafny(err AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) error { + // Service Errors + if err.Is_DynamoDbEncryptionTransformsException() { + return DynamoDbEncryptionTransformsException_FromDafny(err) + } + + //DependentErrors + if err.Is_ComAmazonawsDynamodb() { + return comamazonawsdynamodbsmithygenerated.Error_FromDafny(err.Dtor_ComAmazonawsDynamodb()) + } + + if err.Is_AwsCryptographyDbEncryptionSdkDynamoDb() { + return awscryptographydbencryptionsdkdynamodbsmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyDbEncryptionSdkDynamoDb()) + } + + if err.Is_AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptor() { + return awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptor()) + } + + if err.Is_AwsCryptographyDbEncryptionSdkStructuredEncryption() { + return awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyDbEncryptionSdkStructuredEncryption()) + } + + if err.Is_AwsCryptographyMaterialProviders() { + return awscryptographymaterialproviderssmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyMaterialProviders()) + } + + //Unmodelled Errors + if err.Is_CollectionOfErrors() { + return CollectionOfErrors_Output_FromDafny(err) + } + + return OpaqueError_Output_FromDafny(err) +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.BatchExecuteStatementInput { + return dynamodb.BatchExecuteStatementInput{Statements: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_Statements_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementInput).Dtor_Statements()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.BatchExecuteStatementInput { + return dynamodb.BatchExecuteStatementInput{Statements: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_Statements_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementInput).Dtor_Statements()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.BatchExecuteStatementOutput { + return dynamodb.BatchExecuteStatementOutput{Responses: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementOutput_Responses_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementOutput).Dtor_Responses().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.BatchExecuteStatementInput { + return dynamodb.BatchExecuteStatementInput{Statements: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_Statements_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementInput).Dtor_Statements()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.BatchExecuteStatementOutput { + return dynamodb.BatchExecuteStatementOutput{Responses: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementOutput_Responses_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementOutput).Dtor_Responses().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.BatchGetItemInput { + return dynamodb.BatchGetItemInput{RequestItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_RequestItems_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemInput).Dtor_RequestItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.BatchGetItemInput { + return dynamodb.BatchGetItemInput{RequestItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_RequestItems_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemInput).Dtor_RequestItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.BatchGetItemOutput { + return dynamodb.BatchGetItemOutput{Responses: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_Responses_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemOutput).Dtor_Responses().UnwrapOr(nil)), + UnprocessedKeys: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_UnprocessedKeys_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemOutput).Dtor_UnprocessedKeys().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.BatchGetItemInput { + return dynamodb.BatchGetItemInput{RequestItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_RequestItems_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemInput).Dtor_RequestItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.BatchGetItemOutput { + return dynamodb.BatchGetItemOutput{Responses: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_Responses_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemOutput).Dtor_Responses().UnwrapOr(nil)), + UnprocessedKeys: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_UnprocessedKeys_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemOutput).Dtor_UnprocessedKeys().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.BatchWriteItemInput { + return dynamodb.BatchWriteItemInput{RequestItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_RequestItems_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemInput).Dtor_RequestItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.BatchWriteItemInput { + return dynamodb.BatchWriteItemInput{RequestItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_RequestItems_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemInput).Dtor_RequestItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.BatchWriteItemOutput { + return dynamodb.BatchWriteItemOutput{UnprocessedItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_UnprocessedItems_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemOutput).Dtor_UnprocessedItems().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.BatchWriteItemInput { + return dynamodb.BatchWriteItemInput{RequestItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_RequestItems_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemInput).Dtor_RequestItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.BatchWriteItemOutput { + return dynamodb.BatchWriteItemOutput{UnprocessedItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_UnprocessedItems_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemOutput).Dtor_UnprocessedItems().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.DeleteItemInput { + return dynamodb.DeleteItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_TableName()), + Key: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Key_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_Key()), + Expected: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Expected_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_Expected().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ReturnValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValues_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnValues().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + ConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.DeleteItemInput { + return dynamodb.DeleteItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_TableName()), + Key: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Key_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_Key()), + Expected: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Expected_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_Expected().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ReturnValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValues_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnValues().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + ConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.DeleteItemOutput { + return dynamodb.DeleteItemOutput{Attributes: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_Attributes_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemOutput).Dtor_Attributes().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.DeleteItemInput { + return dynamodb.DeleteItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_TableName()), + Key: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Key_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_Key()), + Expected: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Expected_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_Expected().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ReturnValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValues_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnValues().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + ConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.DeleteItemOutput { + return dynamodb.DeleteItemOutput{Attributes: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_Attributes_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemOutput).Dtor_Attributes().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.ExecuteStatementInput { + return dynamodb.ExecuteStatementInput{Statement: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Statement_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_Statement()), + Parameters: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Parameters_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_Parameters().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_ConsistentRead().UnwrapOr(nil)), + NextToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_NextToken_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_NextToken().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + Limit: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Limit_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_Limit().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.ExecuteStatementInput { + return dynamodb.ExecuteStatementInput{Statement: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Statement_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_Statement()), + Parameters: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Parameters_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_Parameters().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_ConsistentRead().UnwrapOr(nil)), + NextToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_NextToken_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_NextToken().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + Limit: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Limit_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_Limit().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.ExecuteStatementOutput { + return dynamodb.ExecuteStatementOutput{Items: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_Items_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementOutput).Dtor_Items().UnwrapOr(nil)), + NextToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_NextToken_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementOutput).Dtor_NextToken().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + LastEvaluatedKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_LastEvaluatedKey_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementOutput).Dtor_LastEvaluatedKey().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.ExecuteStatementInput { + return dynamodb.ExecuteStatementInput{Statement: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Statement_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_Statement()), + Parameters: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Parameters_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_Parameters().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_ConsistentRead().UnwrapOr(nil)), + NextToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_NextToken_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_NextToken().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + Limit: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Limit_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_Limit().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.ExecuteStatementOutput { + return dynamodb.ExecuteStatementOutput{Items: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_Items_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementOutput).Dtor_Items().UnwrapOr(nil)), + NextToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_NextToken_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementOutput).Dtor_NextToken().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + LastEvaluatedKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_LastEvaluatedKey_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementOutput).Dtor_LastEvaluatedKey().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.ExecuteTransactionInput { + return dynamodb.ExecuteTransactionInput{TransactStatements: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_TransactStatements_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionInput).Dtor_TransactStatements()), + ClientRequestToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ClientRequestToken_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionInput).Dtor_ClientRequestToken().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.ExecuteTransactionInput { + return dynamodb.ExecuteTransactionInput{TransactStatements: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_TransactStatements_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionInput).Dtor_TransactStatements()), + ClientRequestToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ClientRequestToken_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionInput).Dtor_ClientRequestToken().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.ExecuteTransactionOutput { + return dynamodb.ExecuteTransactionOutput{Responses: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionOutput_Responses_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionOutput).Dtor_Responses().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.ExecuteTransactionInput { + return dynamodb.ExecuteTransactionInput{TransactStatements: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_TransactStatements_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionInput).Dtor_TransactStatements()), + ClientRequestToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ClientRequestToken_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionInput).Dtor_ClientRequestToken().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.ExecuteTransactionOutput { + return dynamodb.ExecuteTransactionOutput{Responses: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionOutput_Responses_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionOutput).Dtor_Responses().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.GetItemInput { + return dynamodb.GetItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_TableName()), + Key: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_Key_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_Key()), + AttributesToGet: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_AttributesToGet_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_AttributesToGet().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ConsistentRead().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ProjectionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ProjectionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ProjectionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.GetItemInput { + return dynamodb.GetItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_TableName()), + Key: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_Key_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_Key()), + AttributesToGet: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_AttributesToGet_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_AttributesToGet().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ConsistentRead().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ProjectionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ProjectionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ProjectionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.GetItemOutput { + return dynamodb.GetItemOutput{Item: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemOutput_Item_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemOutput).Dtor_Item().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.GetItemInput { + return dynamodb.GetItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_TableName()), + Key: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_Key_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_Key()), + AttributesToGet: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_AttributesToGet_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_AttributesToGet().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ConsistentRead().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ProjectionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ProjectionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ProjectionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.GetItemOutput { + return dynamodb.GetItemOutput{Item: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemOutput_Item_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemOutput).Dtor_Item().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.PutItemInput { + return dynamodb.PutItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_TableName()), + Item: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Item_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_Item()), + Expected: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Expected_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_Expected().UnwrapOr(nil)), + ReturnValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValues_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnValues().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.PutItemInput { + return dynamodb.PutItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_TableName()), + Item: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Item_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_Item()), + Expected: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Expected_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_Expected().UnwrapOr(nil)), + ReturnValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValues_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnValues().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.PutItemOutput { + return dynamodb.PutItemOutput{Attributes: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_Attributes_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemOutput).Dtor_Attributes().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.PutItemInput { + return dynamodb.PutItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_TableName()), + Item: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Item_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_Item()), + Expected: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Expected_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_Expected().UnwrapOr(nil)), + ReturnValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValues_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnValues().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.PutItemOutput { + return dynamodb.PutItemOutput{Attributes: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_Attributes_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemOutput).Dtor_Attributes().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.QueryInput { + return dynamodb.QueryInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_TableName()), + IndexName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_IndexName_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_IndexName().UnwrapOr(nil)), + Select: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Select_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_Select().UnwrapOr(nil)), + AttributesToGet: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_AttributesToGet_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_AttributesToGet().UnwrapOr(nil)), + Limit: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Limit_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_Limit().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ConsistentRead().UnwrapOr(nil)), + KeyConditions: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditions_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_KeyConditions().UnwrapOr(nil)), + QueryFilter: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_QueryFilter_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_QueryFilter().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ScanIndexForward: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ScanIndexForward_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ScanIndexForward().UnwrapOr(nil)), + ExclusiveStartKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExclusiveStartKey_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ExclusiveStartKey().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ProjectionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ProjectionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ProjectionExpression().UnwrapOr(nil)), + FilterExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_FilterExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_FilterExpression().UnwrapOr(nil)), + KeyConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_KeyConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.QueryInput { + return dynamodb.QueryInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_TableName()), + IndexName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_IndexName_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_IndexName().UnwrapOr(nil)), + Select: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Select_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_Select().UnwrapOr(nil)), + AttributesToGet: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_AttributesToGet_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_AttributesToGet().UnwrapOr(nil)), + Limit: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Limit_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_Limit().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ConsistentRead().UnwrapOr(nil)), + KeyConditions: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditions_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_KeyConditions().UnwrapOr(nil)), + QueryFilter: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_QueryFilter_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_QueryFilter().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ScanIndexForward: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ScanIndexForward_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ScanIndexForward().UnwrapOr(nil)), + ExclusiveStartKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExclusiveStartKey_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ExclusiveStartKey().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ProjectionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ProjectionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ProjectionExpression().UnwrapOr(nil)), + FilterExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_FilterExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_FilterExpression().UnwrapOr(nil)), + KeyConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_KeyConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.QueryOutput { + return dynamodb.QueryOutput{Items: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_Items_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_Items().UnwrapOr(nil)), + Count: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_Count_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_Count().UnwrapOr(nil)), + ScannedCount: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_ScannedCount_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_ScannedCount().UnwrapOr(nil)), + LastEvaluatedKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_LastEvaluatedKey_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_LastEvaluatedKey().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.QueryInput { + return dynamodb.QueryInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_TableName()), + IndexName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_IndexName_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_IndexName().UnwrapOr(nil)), + Select: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Select_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_Select().UnwrapOr(nil)), + AttributesToGet: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_AttributesToGet_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_AttributesToGet().UnwrapOr(nil)), + Limit: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Limit_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_Limit().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ConsistentRead().UnwrapOr(nil)), + KeyConditions: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditions_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_KeyConditions().UnwrapOr(nil)), + QueryFilter: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_QueryFilter_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_QueryFilter().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ScanIndexForward: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ScanIndexForward_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ScanIndexForward().UnwrapOr(nil)), + ExclusiveStartKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExclusiveStartKey_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ExclusiveStartKey().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ProjectionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ProjectionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ProjectionExpression().UnwrapOr(nil)), + FilterExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_FilterExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_FilterExpression().UnwrapOr(nil)), + KeyConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_KeyConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.QueryOutput { + return dynamodb.QueryOutput{Items: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_Items_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_Items().UnwrapOr(nil)), + Count: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_Count_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_Count().UnwrapOr(nil)), + ScannedCount: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_ScannedCount_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_ScannedCount().UnwrapOr(nil)), + LastEvaluatedKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_LastEvaluatedKey_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_LastEvaluatedKey().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_TableName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Item_FromDafny(input interface{}) map[string]dynamodbtypes.AttributeValue { + var m map[string]dynamodbtypes.AttributeValue = make(map[string]dynamodbtypes.AttributeValue) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Version_FromDafny(input interface{}) *int32 { + return func() *int32 { + var b int32 + if input == nil { + return nil + } + b = input.(int32) + return &b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesOutput_VirtualFields_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_key_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_value_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesOutput_CompoundBeacons_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.ScanInput { + return dynamodb.ScanInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_TableName()), + IndexName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_IndexName_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_IndexName().UnwrapOr(nil)), + AttributesToGet: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_AttributesToGet_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_AttributesToGet().UnwrapOr(nil)), + Limit: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Limit_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_Limit().UnwrapOr(nil)), + Select: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Select_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_Select().UnwrapOr(nil)), + ScanFilter: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ScanFilter_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ScanFilter().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ExclusiveStartKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExclusiveStartKey_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ExclusiveStartKey().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + TotalSegments: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TotalSegments_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_TotalSegments().UnwrapOr(nil)), + Segment: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Segment_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_Segment().UnwrapOr(nil)), + ProjectionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ProjectionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ProjectionExpression().UnwrapOr(nil)), + FilterExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_FilterExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_FilterExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ConsistentRead().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.ScanInput { + return dynamodb.ScanInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_TableName()), + IndexName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_IndexName_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_IndexName().UnwrapOr(nil)), + AttributesToGet: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_AttributesToGet_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_AttributesToGet().UnwrapOr(nil)), + Limit: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Limit_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_Limit().UnwrapOr(nil)), + Select: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Select_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_Select().UnwrapOr(nil)), + ScanFilter: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ScanFilter_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ScanFilter().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ExclusiveStartKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExclusiveStartKey_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ExclusiveStartKey().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + TotalSegments: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TotalSegments_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_TotalSegments().UnwrapOr(nil)), + Segment: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Segment_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_Segment().UnwrapOr(nil)), + ProjectionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ProjectionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ProjectionExpression().UnwrapOr(nil)), + FilterExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_FilterExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_FilterExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ConsistentRead().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.ScanOutput { + return dynamodb.ScanOutput{Items: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_Items_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_Items().UnwrapOr(nil)), + Count: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_Count_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_Count().UnwrapOr(nil)), + ScannedCount: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_ScannedCount_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_ScannedCount().UnwrapOr(nil)), + LastEvaluatedKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_LastEvaluatedKey_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_LastEvaluatedKey().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.ScanInput { + return dynamodb.ScanInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_TableName()), + IndexName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_IndexName_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_IndexName().UnwrapOr(nil)), + AttributesToGet: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_AttributesToGet_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_AttributesToGet().UnwrapOr(nil)), + Limit: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Limit_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_Limit().UnwrapOr(nil)), + Select: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Select_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_Select().UnwrapOr(nil)), + ScanFilter: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ScanFilter_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ScanFilter().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ExclusiveStartKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExclusiveStartKey_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ExclusiveStartKey().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + TotalSegments: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TotalSegments_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_TotalSegments().UnwrapOr(nil)), + Segment: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Segment_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_Segment().UnwrapOr(nil)), + ProjectionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ProjectionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ProjectionExpression().UnwrapOr(nil)), + FilterExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_FilterExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_FilterExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ConsistentRead().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.ScanOutput { + return dynamodb.ScanOutput{Items: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_Items_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_Items().UnwrapOr(nil)), + Count: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_Count_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_Count().UnwrapOr(nil)), + ScannedCount: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_ScannedCount_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_ScannedCount().UnwrapOr(nil)), + LastEvaluatedKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_LastEvaluatedKey_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_LastEvaluatedKey().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.TransactGetItemsInput { + return dynamodb.TransactGetItemsInput{TransactItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_TransactItems_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsInput).Dtor_TransactItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.TransactGetItemsInput { + return dynamodb.TransactGetItemsInput{TransactItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_TransactItems_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsInput).Dtor_TransactItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.TransactGetItemsOutput { + return dynamodb.TransactGetItemsOutput{ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + Responses: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsOutput_Responses_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsOutput).Dtor_Responses().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.TransactGetItemsInput { + return dynamodb.TransactGetItemsInput{TransactItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_TransactItems_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsInput).Dtor_TransactItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.TransactGetItemsOutput { + return dynamodb.TransactGetItemsOutput{ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + Responses: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsOutput_Responses_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsOutput).Dtor_Responses().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.TransactWriteItemsInput { + return dynamodb.TransactWriteItemsInput{TransactItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_TransactItems_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_TransactItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + ClientRequestToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ClientRequestToken_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_ClientRequestToken().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.TransactWriteItemsInput { + return dynamodb.TransactWriteItemsInput{TransactItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_TransactItems_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_TransactItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + ClientRequestToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ClientRequestToken_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_ClientRequestToken().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.TransactWriteItemsOutput { + return dynamodb.TransactWriteItemsOutput{ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.TransactWriteItemsInput { + return dynamodb.TransactWriteItemsInput{TransactItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_TransactItems_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_TransactItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + ClientRequestToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ClientRequestToken_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_ClientRequestToken().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.TransactWriteItemsOutput { + return dynamodb.TransactWriteItemsOutput{ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.UpdateItemInput { + return dynamodb.UpdateItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_TableName()), + Key: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Key_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_Key()), + AttributeUpdates: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_AttributeUpdates_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_AttributeUpdates().UnwrapOr(nil)), + Expected: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Expected_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_Expected().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ReturnValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValues_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnValues().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + UpdateExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_UpdateExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_UpdateExpression().UnwrapOr(nil)), + ConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.UpdateItemInput { + return dynamodb.UpdateItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_TableName()), + Key: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Key_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_Key()), + AttributeUpdates: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_AttributeUpdates_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_AttributeUpdates().UnwrapOr(nil)), + Expected: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Expected_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_Expected().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ReturnValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValues_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnValues().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + UpdateExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_UpdateExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_UpdateExpression().UnwrapOr(nil)), + ConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.UpdateItemOutput { + return dynamodb.UpdateItemOutput{Attributes: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_Attributes_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemOutput).Dtor_Attributes().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.UpdateItemInput { + return dynamodb.UpdateItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_TableName()), + Key: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Key_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_Key()), + AttributeUpdates: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_AttributeUpdates_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_AttributeUpdates().UnwrapOr(nil)), + Expected: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Expected_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_Expected().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ReturnValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValues_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnValues().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + UpdateExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_UpdateExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_UpdateExpression().UnwrapOr(nil)), + ConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.UpdateItemOutput { + return dynamodb.UpdateItemOutput{Attributes: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_Attributes_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemOutput).Dtor_Attributes().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DynamoDbEncryptionTransformsException_message_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes/errors.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes/errors.go new file mode 100644 index 000000000..c827f8620 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes/errors.go @@ -0,0 +1,17 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes + +import ( + "fmt" +) + +type DynamoDbEncryptionTransformsException struct { + DynamoDbEncryptionTransformsBaseException + Message string + ErrorCodeOverride *string +} + +func (e DynamoDbEncryptionTransformsException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCodeOverride, e.Message) +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes/types.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes/types.go new file mode 100644 index 000000000..55c7f111b --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes/types.go @@ -0,0 +1,702 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes + +import ( + "fmt" + + "github.com/aws/aws-sdk-go-v2/service/dynamodb" + dynamodbtypes "github.com/aws/aws-sdk-go-v2/service/dynamodb/types" +) + +type ResolveAttributesOutput struct { + CompoundBeacons map[string]string + + VirtualFields map[string]string +} + +func (input ResolveAttributesOutput) Validate() error { + if input.CompoundBeacons == nil { + return fmt.Errorf("input.CompoundBeacons is required but has a nil value.") + } + if input.VirtualFields == nil { + return fmt.Errorf("input.VirtualFields is required but has a nil value.") + } + + return nil +} + +type ResolveAttributesInput struct { + Item map[string]dynamodbtypes.AttributeValue + + TableName string + + Version *int32 +} + +func (input ResolveAttributesInput) Validate() error { + if input.Item == nil { + return fmt.Errorf("input.Item is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Item_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Item_Validate() + } + if len(input.TableName) < 3 { + return fmt.Errorf("TableName has a minimum length of 3 but has the length of %d.", len(input.TableName)) + } + if len(input.TableName) > 255 { + return fmt.Errorf("TableName has a maximum length of 255 but has the length of %d.", len(input.TableName)) + } + if input.Version != nil { + if *input.Version < 1 { + return fmt.Errorf("VersionNumber has a minimum of 1 but has the value of %d.", *input.Version) + } + } + + return nil +} + +func (input ResolveAttributesInput) Com_amazonaws_dynamodb_AttributeMap_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input ResolveAttributesInput) Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + if input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input ResolveAttributesInput) Com_amazonaws_dynamodb_AttributeValue_M_Validate(Value map[string]dynamodbtypes.AttributeValue) error { + for key, value := range Value { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) + } + } + + return nil +} +func (input ResolveAttributesInput) Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + if input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input ResolveAttributesInput) Com_amazonaws_dynamodb_AttributeValue_L_Validate(Value []dynamodbtypes.AttributeValue) error { + for _, item := range Value { + if input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) != nil { + return input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) + } + } + + return nil +} +func (input ResolveAttributesInput) Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Item_Validate() error { + for key, value := range input.Item { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) + } + } + + return nil +} + +type ExecuteStatementInputTransformInput struct { + SdkInput dynamodb.ExecuteStatementInput +} + +func (input ExecuteStatementInputTransformInput) Validate() error { + + return nil +} + +type ExecuteStatementInputTransformOutput struct { + TransformedInput dynamodb.ExecuteStatementInput +} + +func (input ExecuteStatementInputTransformOutput) Validate() error { + + return nil +} + +type GetItemInputTransformInput struct { + SdkInput dynamodb.GetItemInput +} + +func (input GetItemInputTransformInput) Validate() error { + + return nil +} + +type GetItemInputTransformOutput struct { + TransformedInput dynamodb.GetItemInput +} + +func (input GetItemInputTransformOutput) Validate() error { + + return nil +} + +type GetItemOutputTransformOutput struct { + TransformedOutput dynamodb.GetItemOutput +} + +func (input GetItemOutputTransformOutput) Validate() error { + + return nil +} + +type BatchExecuteStatementInputTransformInput struct { + SdkInput dynamodb.BatchExecuteStatementInput +} + +func (input BatchExecuteStatementInputTransformInput) Validate() error { + + return nil +} + +type BatchExecuteStatementInputTransformOutput struct { + TransformedInput dynamodb.BatchExecuteStatementInput +} + +func (input BatchExecuteStatementInputTransformOutput) Validate() error { + + return nil +} + +type ExecuteTransactionInputTransformInput struct { + SdkInput dynamodb.ExecuteTransactionInput +} + +func (input ExecuteTransactionInputTransformInput) Validate() error { + + return nil +} + +type ExecuteTransactionInputTransformOutput struct { + TransformedInput dynamodb.ExecuteTransactionInput +} + +func (input ExecuteTransactionInputTransformOutput) Validate() error { + + return nil +} + +type ExecuteTransactionOutputTransformOutput struct { + TransformedOutput dynamodb.ExecuteTransactionOutput +} + +func (input ExecuteTransactionOutputTransformOutput) Validate() error { + + return nil +} + +type TransactGetItemsOutputTransformOutput struct { + TransformedOutput dynamodb.TransactGetItemsOutput +} + +func (input TransactGetItemsOutputTransformOutput) Validate() error { + + return nil +} + +type BatchGetItemInputTransformInput struct { + SdkInput dynamodb.BatchGetItemInput +} + +func (input BatchGetItemInputTransformInput) Validate() error { + + return nil +} + +type BatchGetItemInputTransformOutput struct { + TransformedInput dynamodb.BatchGetItemInput +} + +func (input BatchGetItemInputTransformOutput) Validate() error { + + return nil +} + +type TransactGetItemsInputTransformInput struct { + SdkInput dynamodb.TransactGetItemsInput +} + +func (input TransactGetItemsInputTransformInput) Validate() error { + + return nil +} + +type TransactGetItemsInputTransformOutput struct { + TransformedInput dynamodb.TransactGetItemsInput +} + +func (input TransactGetItemsInputTransformOutput) Validate() error { + + return nil +} + +type TransactWriteItemsOutputTransformOutput struct { + TransformedOutput dynamodb.TransactWriteItemsOutput +} + +func (input TransactWriteItemsOutputTransformOutput) Validate() error { + + return nil +} + +type GetItemOutputTransformInput struct { + OriginalInput dynamodb.GetItemInput + + SdkOutput dynamodb.GetItemOutput +} + +func (input GetItemOutputTransformInput) Validate() error { + + return nil +} + +type DeleteItemOutputTransformOutput struct { + TransformedOutput dynamodb.DeleteItemOutput +} + +func (input DeleteItemOutputTransformOutput) Validate() error { + + return nil +} + +type ExecuteStatementOutputTransformOutput struct { + TransformedOutput dynamodb.ExecuteStatementOutput +} + +func (input ExecuteStatementOutputTransformOutput) Validate() error { + + return nil +} + +type PutItemOutputTransformOutput struct { + TransformedOutput dynamodb.PutItemOutput +} + +func (input PutItemOutputTransformOutput) Validate() error { + + return nil +} + +type QueryOutputTransformOutput struct { + TransformedOutput dynamodb.QueryOutput +} + +func (input QueryOutputTransformOutput) Validate() error { + + return nil +} + +type ScanOutputTransformOutput struct { + TransformedOutput dynamodb.ScanOutput +} + +func (input ScanOutputTransformOutput) Validate() error { + + return nil +} + +type UpdateItemOutputTransformOutput struct { + TransformedOutput dynamodb.UpdateItemOutput +} + +func (input UpdateItemOutputTransformOutput) Validate() error { + + return nil +} + +type ExecuteTransactionOutputTransformInput struct { + OriginalInput dynamodb.ExecuteTransactionInput + + SdkOutput dynamodb.ExecuteTransactionOutput +} + +func (input ExecuteTransactionOutputTransformInput) Validate() error { + + return nil +} + +type BatchExecuteStatementOutputTransformOutput struct { + TransformedOutput dynamodb.BatchExecuteStatementOutput +} + +func (input BatchExecuteStatementOutputTransformOutput) Validate() error { + + return nil +} + +type BatchGetItemOutputTransformOutput struct { + TransformedOutput dynamodb.BatchGetItemOutput +} + +func (input BatchGetItemOutputTransformOutput) Validate() error { + + return nil +} + +type TransactGetItemsOutputTransformInput struct { + OriginalInput dynamodb.TransactGetItemsInput + + SdkOutput dynamodb.TransactGetItemsOutput +} + +func (input TransactGetItemsOutputTransformInput) Validate() error { + + return nil +} + +type ExecuteStatementOutputTransformInput struct { + OriginalInput dynamodb.ExecuteStatementInput + + SdkOutput dynamodb.ExecuteStatementOutput +} + +func (input ExecuteStatementOutputTransformInput) Validate() error { + + return nil +} + +type ScanInputTransformInput struct { + SdkInput dynamodb.ScanInput +} + +func (input ScanInputTransformInput) Validate() error { + + return nil +} + +type ScanInputTransformOutput struct { + TransformedInput dynamodb.ScanInput +} + +func (input ScanInputTransformOutput) Validate() error { + + return nil +} + +type BatchWriteItemInputTransformInput struct { + SdkInput dynamodb.BatchWriteItemInput +} + +func (input BatchWriteItemInputTransformInput) Validate() error { + + return nil +} + +type BatchWriteItemInputTransformOutput struct { + TransformedInput dynamodb.BatchWriteItemInput +} + +func (input BatchWriteItemInputTransformOutput) Validate() error { + + return nil +} + +type BatchExecuteStatementOutputTransformInput struct { + OriginalInput dynamodb.BatchExecuteStatementInput + + SdkOutput dynamodb.BatchExecuteStatementOutput +} + +func (input BatchExecuteStatementOutputTransformInput) Validate() error { + + return nil +} + +type BatchGetItemOutputTransformInput struct { + OriginalInput dynamodb.BatchGetItemInput + + SdkOutput dynamodb.BatchGetItemOutput +} + +func (input BatchGetItemOutputTransformInput) Validate() error { + + return nil +} + +type DeleteItemInputTransformInput struct { + SdkInput dynamodb.DeleteItemInput +} + +func (input DeleteItemInputTransformInput) Validate() error { + + return nil +} + +type DeleteItemInputTransformOutput struct { + TransformedInput dynamodb.DeleteItemInput +} + +func (input DeleteItemInputTransformOutput) Validate() error { + + return nil +} + +type PutItemInputTransformInput struct { + SdkInput dynamodb.PutItemInput +} + +func (input PutItemInputTransformInput) Validate() error { + + return nil +} + +type PutItemInputTransformOutput struct { + TransformedInput dynamodb.PutItemInput +} + +func (input PutItemInputTransformOutput) Validate() error { + + return nil +} + +type QueryInputTransformInput struct { + SdkInput dynamodb.QueryInput +} + +func (input QueryInputTransformInput) Validate() error { + + return nil +} + +type QueryInputTransformOutput struct { + TransformedInput dynamodb.QueryInput +} + +func (input QueryInputTransformOutput) Validate() error { + + return nil +} + +type BatchWriteItemOutputTransformOutput struct { + TransformedOutput dynamodb.BatchWriteItemOutput +} + +func (input BatchWriteItemOutputTransformOutput) Validate() error { + + return nil +} + +type ScanOutputTransformInput struct { + OriginalInput dynamodb.ScanInput + + SdkOutput dynamodb.ScanOutput +} + +func (input ScanOutputTransformInput) Validate() error { + + return nil +} + +type UpdateItemInputTransformInput struct { + SdkInput dynamodb.UpdateItemInput +} + +func (input UpdateItemInputTransformInput) Validate() error { + + return nil +} + +type UpdateItemInputTransformOutput struct { + TransformedInput dynamodb.UpdateItemInput +} + +func (input UpdateItemInputTransformOutput) Validate() error { + + return nil +} + +type DeleteItemOutputTransformInput struct { + OriginalInput dynamodb.DeleteItemInput + + SdkOutput dynamodb.DeleteItemOutput +} + +func (input DeleteItemOutputTransformInput) Validate() error { + + return nil +} + +type PutItemOutputTransformInput struct { + OriginalInput dynamodb.PutItemInput + + SdkOutput dynamodb.PutItemOutput +} + +func (input PutItemOutputTransformInput) Validate() error { + + return nil +} + +type QueryOutputTransformInput struct { + OriginalInput dynamodb.QueryInput + + SdkOutput dynamodb.QueryOutput +} + +func (input QueryOutputTransformInput) Validate() error { + + return nil +} + +type UpdateItemOutputTransformInput struct { + OriginalInput dynamodb.UpdateItemInput + + SdkOutput dynamodb.UpdateItemOutput +} + +func (input UpdateItemOutputTransformInput) Validate() error { + + return nil +} + +type BatchWriteItemOutputTransformInput struct { + OriginalInput dynamodb.BatchWriteItemInput + + SdkOutput dynamodb.BatchWriteItemOutput +} + +func (input BatchWriteItemOutputTransformInput) Validate() error { + + return nil +} + +type TransactWriteItemsInputTransformInput struct { + SdkInput dynamodb.TransactWriteItemsInput +} + +func (input TransactWriteItemsInputTransformInput) Validate() error { + + return nil +} + +type TransactWriteItemsInputTransformOutput struct { + TransformedInput dynamodb.TransactWriteItemsInput +} + +func (input TransactWriteItemsInputTransformOutput) Validate() error { + + return nil +} + +type TransactWriteItemsOutputTransformInput struct { + OriginalInput dynamodb.TransactWriteItemsInput + + SdkOutput dynamodb.TransactWriteItemsOutput +} + +func (input TransactWriteItemsOutputTransformInput) Validate() error { + + return nil +} + +type AwsCryptographicMaterialProvidersReference struct { +} + +func (input AwsCryptographicMaterialProvidersReference) Validate() error { + + return nil +} + +type DynamoDbEncryptionReference struct { +} + +func (input DynamoDbEncryptionReference) Validate() error { + + return nil +} + +type DynamoDbItemEncryptorReference struct { +} + +func (input DynamoDbItemEncryptorReference) Validate() error { + + return nil +} + +type StructuredEncryptionReference struct { +} + +func (input StructuredEncryptionReference) Validate() error { + + return nil +} + +type DynamoDbEncryptionTransformsBaseException interface { + // This is a dummy method to allow type assertion since Go empty interfaces + // aren't useful for type assertion checks. No concrete class is expected to implement + // this method. This is also not exported. + interfaceBindingMethod() +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes/unmodelled_errors.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes/unmodelled_errors.go new file mode 100644 index 000000000..5b0d77454 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes/unmodelled_errors.go @@ -0,0 +1,26 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes + +import ( + "fmt" +) + +type CollectionOfErrors struct { + DynamoDbEncryptionTransformsBaseException + ListOfErrors []error + Message string +} + +func (e CollectionOfErrors) Error() string { + return fmt.Sprintf("message: %s\n err %v", e.Message, e.ListOfErrors) +} + +type OpaqueError struct { + DynamoDbEncryptionTransformsBaseException + ErrObject interface{} +} + +func (e OpaqueError) Error() string { + return fmt.Sprintf("message: %v", e.ErrObject) +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated/api_client.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated/api_client.go new file mode 100644 index 000000000..c4aec9a70 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated/api_client.go @@ -0,0 +1,131 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkstructuredencryptionsmithygenerated + +import ( + "context" + + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/StructuredEncryption" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" +) + +type Client struct { + DafnyClient AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.IStructuredEncryptionClient +} + +func NewClient(clientConfig awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionConfig) (*Client, error) { + var dafnyConfig = StructuredEncryptionConfig_ToDafny(clientConfig) + var dafny_response = StructuredEncryption.Companion_Default___.StructuredEncryption(dafnyConfig) + if dafny_response.Is_Failure() { + panic("Client construction failed. This should never happen") + } + var dafnyClient = dafny_response.Extract().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.IStructuredEncryptionClient) + client := &Client{dafnyClient} + return client, nil +} + +func (client *Client) EncryptStructure(ctx context.Context, params awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptStructureInput) (*awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptStructureOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptStructureInput = EncryptStructureInput_ToDafny(params) + var dafny_response = client.DafnyClient.EncryptStructure(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = EncryptStructureOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptStructureOutput)) + return &native_response, nil + +} + +func (client *Client) DecryptStructure(ctx context.Context, params awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptStructureInput) (*awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptStructureOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptStructureInput = DecryptStructureInput_ToDafny(params) + var dafny_response = client.DafnyClient.DecryptStructure(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = DecryptStructureOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptStructureOutput)) + return &native_response, nil + +} + +func (client *Client) EncryptPathStructure(ctx context.Context, params awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptPathStructureInput) (*awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptPathStructureOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptPathStructureInput = EncryptPathStructureInput_ToDafny(params) + var dafny_response = client.DafnyClient.EncryptPathStructure(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = EncryptPathStructureOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptPathStructureOutput)) + return &native_response, nil + +} + +func (client *Client) DecryptPathStructure(ctx context.Context, params awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptPathStructureInput) (*awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptPathStructureOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptPathStructureInput = DecryptPathStructureInput_ToDafny(params) + var dafny_response = client.DafnyClient.DecryptPathStructure(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = DecryptPathStructureOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptPathStructureOutput)) + return &native_response, nil + +} + +func (client *Client) ResolveAuthActions(ctx context.Context, params awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ResolveAuthActionsInput) (*awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ResolveAuthActionsOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ResolveAuthActionsInput = ResolveAuthActionsInput_ToDafny(params) + var dafny_response = client.DafnyClient.ResolveAuthActions(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = ResolveAuthActionsOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ResolveAuthActionsOutput)) + return &native_response, nil + +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated/to_dafny.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated/to_dafny.go new file mode 100644 index 000000000..28db8f6f4 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated/to_dafny.go @@ -0,0 +1,846 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkstructuredencryptionsmithygenerated + +import ( + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/awscryptographyprimitivessmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/awscryptographyprimitivessmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UTF8" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" + "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" +) + +func DecryptPathStructureInput_ToDafny(nativeInput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptPathStructureInput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptPathStructureInput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptPathStructureInput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_DecryptPathStructureInput_.Create_DecryptPathStructureInput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_tableName_ToDafny(nativeInput.TableName), Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptedStructure_ToDafny(nativeInput.EncryptedStructure), awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_ToDafny(nativeInput.Cmm), Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptionContext_ToDafny(nativeInput.EncryptionContext)) + }() + +} + +func DecryptPathStructureOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptPathStructureOutput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptPathStructureOutput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptPathStructureOutput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_DecryptPathStructureOutput_.Create_DecryptPathStructureOutput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_plaintextStructure_ToDafny(nativeOutput.PlaintextStructure), Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_parsedHeader_ToDafny(nativeOutput.ParsedHeader)) + }() + +} + +func DecryptStructureInput_ToDafny(nativeInput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptStructureInput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptStructureInput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptStructureInput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_DecryptStructureInput_.Create_DecryptStructureInput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_tableName_ToDafny(nativeInput.TableName), Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptedStructure_ToDafny(nativeInput.EncryptedStructure), Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_authenticateSchema_ToDafny(nativeInput.AuthenticateSchema), awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_ToDafny(nativeInput.Cmm), Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptionContext_ToDafny(nativeInput.EncryptionContext)) + }() + +} + +func DecryptStructureOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptStructureOutput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptStructureOutput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptStructureOutput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_DecryptStructureOutput_.Create_DecryptStructureOutput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_plaintextStructure_ToDafny(nativeOutput.PlaintextStructure), Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_cryptoSchema_ToDafny(nativeOutput.CryptoSchema), Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_parsedHeader_ToDafny(nativeOutput.ParsedHeader)) + }() + +} + +func EncryptPathStructureInput_ToDafny(nativeInput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptPathStructureInput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptPathStructureInput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptPathStructureInput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_EncryptPathStructureInput_.Create_EncryptPathStructureInput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_tableName_ToDafny(nativeInput.TableName), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_plaintextStructure_ToDafny(nativeInput.PlaintextStructure), awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_ToDafny(nativeInput.Cmm), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_algorithmSuiteId_ToDafny(nativeInput.AlgorithmSuiteId), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_encryptionContext_ToDafny(nativeInput.EncryptionContext)) + }() + +} + +func EncryptPathStructureOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptPathStructureOutput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptPathStructureOutput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptPathStructureOutput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_EncryptPathStructureOutput_.Create_EncryptPathStructureOutput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_encryptedStructure_ToDafny(nativeOutput.EncryptedStructure), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_parsedHeader_ToDafny(nativeOutput.ParsedHeader)) + }() + +} + +func EncryptStructureInput_ToDafny(nativeInput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptStructureInput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptStructureInput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptStructureInput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_EncryptStructureInput_.Create_EncryptStructureInput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_tableName_ToDafny(nativeInput.TableName), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_plaintextStructure_ToDafny(nativeInput.PlaintextStructure), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_cryptoSchema_ToDafny(nativeInput.CryptoSchema), awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_ToDafny(nativeInput.Cmm), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_algorithmSuiteId_ToDafny(nativeInput.AlgorithmSuiteId), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_encryptionContext_ToDafny(nativeInput.EncryptionContext)) + }() + +} + +func EncryptStructureOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptStructureOutput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptStructureOutput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptStructureOutput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_EncryptStructureOutput_.Create_EncryptStructureOutput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_encryptedStructure_ToDafny(nativeOutput.EncryptedStructure), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_cryptoSchema_ToDafny(nativeOutput.CryptoSchema), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_parsedHeader_ToDafny(nativeOutput.ParsedHeader)) + }() + +} + +func ResolveAuthActionsInput_ToDafny(nativeInput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ResolveAuthActionsInput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ResolveAuthActionsInput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ResolveAuthActionsInput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_ResolveAuthActionsInput_.Create_ResolveAuthActionsInput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_tableName_ToDafny(nativeInput.TableName), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_authActions_ToDafny(nativeInput.AuthActions), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_headerBytes_ToDafny(nativeInput.HeaderBytes)) + }() + +} + +func ResolveAuthActionsOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ResolveAuthActionsOutput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ResolveAuthActionsOutput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ResolveAuthActionsOutput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_ResolveAuthActionsOutput_.Create_ResolveAuthActionsOutput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsOutput_cryptoActions_ToDafny(nativeOutput.CryptoActions)) + }() + +} + +func StructuredEncryptionException_ToDafny(nativeInput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionException) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_Error_.Create_StructuredEncryptionException_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredEncryptionException_message_ToDafny(nativeInput.Message)) + }() + +} + +func CollectionOfErrors_Input_ToDafny(nativeInput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CollectionOfErrors) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error { + var e []interface{} + for _, i2 := range nativeInput.ListOfErrors { + e = append(e, Error_ToDafny(i2)) + } + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_Error_.Create_CollectionOfErrors_(dafny.SeqOf(e...), func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(nativeInput.Message)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) +} +func OpaqueError_Input_ToDafny(nativeInput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.OpaqueError) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error { + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_Error_.Create_Opaque_(nativeInput.ErrObject) +} + +func Error_ToDafny(err error) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error { + switch err.(type) { + // Service Errors + case awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionException: + return StructuredEncryptionException_ToDafny(err.(awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionException)) + + //DependentErrors + case awscryptographyprimitivessmithygeneratedtypes.AwsCryptographicPrimitivesBaseException: + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(awscryptographyprimitivessmithygenerated.Error_ToDafny(err)) + + case awscryptographymaterialproviderssmithygeneratedtypes.AwsCryptographicMaterialProvidersBaseException: + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_Error_.Create_AwsCryptographyMaterialProviders_(awscryptographymaterialproviderssmithygenerated.Error_ToDafny(err)) + + //Unmodelled Errors + case awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CollectionOfErrors: + return CollectionOfErrors_Input_ToDafny(err.(awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CollectionOfErrors)) + + default: + error, ok := err.(awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.OpaqueError) + if !ok { + panic("Error is not an OpaqueError") + } + return OpaqueError_Input_ToDafny(error) + } +} + +func StructuredEncryptionConfig_ToDafny(nativeInput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionConfig) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredEncryptionConfig { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredEncryptionConfig { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_StructuredEncryptionConfig_.Create_StructuredEncryptionConfig_() + }() + +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_tableName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptedStructure_ToDafny(input []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthItem) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthList_member_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthItem) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthItem { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthItem { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_AuthItem_.Create_AuthItem_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_key_ToDafny(input.Key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_data_ToDafny(input.Data), Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_action_ToDafny(input.Action)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_key_ToDafny(input []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegment) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegment) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.PathSegment { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.PathSegment { + + switch input.(type) { + case *awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegmentMembermember: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_structuredEncryption_PathSegment_member_ToDafny(input.(*awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegmentMembermember).Value) + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_PathSegment_{}.Create_member_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructureSegment)) + + default: + panic("Unhandled union type") + } + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_PathSegment_member_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructureSegment) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_StructureSegment_.Create_StructureSegment_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructureSegment_key_ToDafny(input.Key))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructureSegment_key_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_data_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_StructuredDataTerminal_.Create_StructuredDataTerminal_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_value_ToDafny(input.Value), Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_typeId_ToDafny(input.TypeId)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_value_ToDafny(input []byte) dafny.Sequence { + return func() dafny.Sequence { + v := make([]interface{}, 0, len(input)) + if input == nil { + return nil + } + for _, e := range input { + v = append(v, e) + } + return dafny.SeqFromArray(v, false) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_typeId_ToDafny(input []byte) dafny.Sequence { + return func() dafny.Sequence { + v := make([]interface{}, 0, len(input)) + if input == nil { + return nil + } + for _, e := range input { + v = append(v, e) + } + return dafny.SeqFromArray(v, false) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_action_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction { + + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == input { + break + } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_AuthenticateAction_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptionContext_ToDafny(input map[string]string) Wrappers.Option { + return func() Wrappers.Option { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_ToDafny(key), awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_ToDafny(val)) + } + return Wrappers.Companion_Option_.Create_Some_(fieldValue.ToMap()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_plaintextStructure_ToDafny(input []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoItem { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoItem { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_CryptoItem_.Create_CryptoItem_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_key_ToDafny(input.Key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_data_ToDafny(input.Data), Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_action_ToDafny(input.Action)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_key_ToDafny(input []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegment) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_data_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_StructuredDataTerminal_.Create_StructuredDataTerminal_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_value_ToDafny(input.Value), Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_typeId_ToDafny(input.TypeId)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_action_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction { + + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == input { + break + } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_CryptoAction_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_parsedHeader_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_ParsedHeader_.Create_ParsedHeader_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_ToDafny(input.AlgorithmSuiteId), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_ToDafny(input.EncryptedDataKeys), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_ToDafny(input.StoredEncryptionContext), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_ToDafny(input.EncryptionContext)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_ToDafny(input awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId) AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId { + return func() AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId { + + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == input { + break + } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_ToDafny(input []awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptedDataKeyList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_ToDafny(input map[string]string) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_ToDafny(key), awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_ToDafny(input map[string]string) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_ToDafny(key), awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_tableName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptedStructure_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_StructuredDataTerminal_.Create_StructuredDataTerminal_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_value_ToDafny(input.Value), Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_typeId_ToDafny(input.TypeId)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_authenticateSchema_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthenticateSchemaMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthenticateSchemaMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthenticateSchemaMap_key_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthenticateSchemaMap_value_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction { + + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == input { + break + } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_AuthenticateAction_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptionContext_ToDafny(input map[string]string) Wrappers.Option { + return func() Wrappers.Option { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_ToDafny(key), awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_ToDafny(val)) + } + return Wrappers.Companion_Option_.Create_Some_(fieldValue.ToMap()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_plaintextStructure_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_cryptoSchema_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_key_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_value_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction { + + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == input { + break + } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_CryptoAction_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_parsedHeader_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_ParsedHeader_.Create_ParsedHeader_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_ToDafny(input.AlgorithmSuiteId), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_ToDafny(input.EncryptedDataKeys), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_ToDafny(input.StoredEncryptionContext), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_ToDafny(input.EncryptionContext)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_tableName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_plaintextStructure_ToDafny(input []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_algorithmSuiteId_ToDafny(input *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == *input { + break + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return Wrappers.Companion_Option_.Create_Some_(enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_encryptionContext_ToDafny(input map[string]string) Wrappers.Option { + return func() Wrappers.Option { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_ToDafny(key), awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_ToDafny(val)) + } + return Wrappers.Companion_Option_.Create_Some_(fieldValue.ToMap()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_encryptedStructure_ToDafny(input []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_parsedHeader_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_ParsedHeader_.Create_ParsedHeader_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_ToDafny(input.AlgorithmSuiteId), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_ToDafny(input.EncryptedDataKeys), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_ToDafny(input.StoredEncryptionContext), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_ToDafny(input.EncryptionContext)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_tableName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_plaintextStructure_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_cryptoSchema_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_algorithmSuiteId_ToDafny(input *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == *input { + break + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return Wrappers.Companion_Option_.Create_Some_(enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_encryptionContext_ToDafny(input map[string]string) Wrappers.Option { + return func() Wrappers.Option { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_ToDafny(key), awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_ToDafny(val)) + } + return Wrappers.Companion_Option_.Create_Some_(fieldValue.ToMap()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_encryptedStructure_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_cryptoSchema_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_parsedHeader_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_ParsedHeader_.Create_ParsedHeader_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_ToDafny(input.AlgorithmSuiteId), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_ToDafny(input.EncryptedDataKeys), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_ToDafny(input.StoredEncryptionContext), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_ToDafny(input.EncryptionContext)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_tableName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_authActions_ToDafny(input []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthItem) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_headerBytes_ToDafny(input []byte) dafny.Sequence { + return func() dafny.Sequence { + v := make([]interface{}, 0, len(input)) + if input == nil { + return nil + } + for _, e := range input { + v = append(v, e) + } + return dafny.SeqFromArray(v, false) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsOutput_cryptoActions_ToDafny(input []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredEncryptionException_message_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated/to_native.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated/to_native.go new file mode 100644 index 000000000..cf49457e6 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated/to_native.go @@ -0,0 +1,808 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkstructuredencryptionsmithygenerated + +import ( + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/awscryptographyprimitivessmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UTF8" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" + "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" +) + +func DecryptPathStructureInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptPathStructureInput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptPathStructureInput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptPathStructureInput{TableName: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_tableName_FromDafny(dafnyInput.Dtor_tableName()), + EncryptedStructure: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptedStructure_FromDafny(dafnyInput.Dtor_encryptedStructure()), + Cmm: awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_FromDafny(dafnyInput.Dtor_cmm()), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptionContext_FromDafny(dafnyInput.Dtor_encryptionContext().UnwrapOr(nil)), + } + +} + +func DecryptPathStructureOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptPathStructureOutput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptPathStructureOutput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptPathStructureOutput{PlaintextStructure: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_plaintextStructure_FromDafny(dafnyOutput.Dtor_plaintextStructure()), + ParsedHeader: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_parsedHeader_FromDafny(dafnyOutput.Dtor_parsedHeader()), + } + +} + +func DecryptStructureInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptStructureInput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptStructureInput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptStructureInput{TableName: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_tableName_FromDafny(dafnyInput.Dtor_tableName()), + EncryptedStructure: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptedStructure_FromDafny(dafnyInput.Dtor_encryptedStructure()), + AuthenticateSchema: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_authenticateSchema_FromDafny(dafnyInput.Dtor_authenticateSchema()), + Cmm: awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_FromDafny(dafnyInput.Dtor_cmm()), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptionContext_FromDafny(dafnyInput.Dtor_encryptionContext().UnwrapOr(nil)), + } + +} + +func DecryptStructureOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptStructureOutput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptStructureOutput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptStructureOutput{PlaintextStructure: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_plaintextStructure_FromDafny(dafnyOutput.Dtor_plaintextStructure()), + CryptoSchema: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_cryptoSchema_FromDafny(dafnyOutput.Dtor_cryptoSchema()), + ParsedHeader: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_parsedHeader_FromDafny(dafnyOutput.Dtor_parsedHeader()), + } + +} + +func EncryptPathStructureInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptPathStructureInput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptPathStructureInput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptPathStructureInput{TableName: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_tableName_FromDafny(dafnyInput.Dtor_tableName()), + PlaintextStructure: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_plaintextStructure_FromDafny(dafnyInput.Dtor_plaintextStructure()), + Cmm: awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_FromDafny(dafnyInput.Dtor_cmm()), + AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_algorithmSuiteId_FromDafny(dafnyInput.Dtor_algorithmSuiteId().UnwrapOr(nil)), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_encryptionContext_FromDafny(dafnyInput.Dtor_encryptionContext().UnwrapOr(nil)), + } + +} + +func EncryptPathStructureOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptPathStructureOutput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptPathStructureOutput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptPathStructureOutput{EncryptedStructure: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_encryptedStructure_FromDafny(dafnyOutput.Dtor_encryptedStructure()), + ParsedHeader: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_parsedHeader_FromDafny(dafnyOutput.Dtor_parsedHeader()), + } + +} + +func EncryptStructureInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptStructureInput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptStructureInput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptStructureInput{TableName: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_tableName_FromDafny(dafnyInput.Dtor_tableName()), + PlaintextStructure: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_plaintextStructure_FromDafny(dafnyInput.Dtor_plaintextStructure()), + CryptoSchema: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_cryptoSchema_FromDafny(dafnyInput.Dtor_cryptoSchema()), + Cmm: awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_FromDafny(dafnyInput.Dtor_cmm()), + AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_algorithmSuiteId_FromDafny(dafnyInput.Dtor_algorithmSuiteId().UnwrapOr(nil)), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_encryptionContext_FromDafny(dafnyInput.Dtor_encryptionContext().UnwrapOr(nil)), + } + +} + +func EncryptStructureOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptStructureOutput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptStructureOutput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptStructureOutput{EncryptedStructure: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_encryptedStructure_FromDafny(dafnyOutput.Dtor_encryptedStructure()), + CryptoSchema: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_cryptoSchema_FromDafny(dafnyOutput.Dtor_cryptoSchema()), + ParsedHeader: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_parsedHeader_FromDafny(dafnyOutput.Dtor_parsedHeader()), + } + +} + +func ResolveAuthActionsInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ResolveAuthActionsInput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ResolveAuthActionsInput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ResolveAuthActionsInput{TableName: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_tableName_FromDafny(dafnyInput.Dtor_tableName()), + AuthActions: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_authActions_FromDafny(dafnyInput.Dtor_authActions()), + HeaderBytes: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_headerBytes_FromDafny(dafnyInput.Dtor_headerBytes()), + } + +} + +func ResolveAuthActionsOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ResolveAuthActionsOutput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ResolveAuthActionsOutput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ResolveAuthActionsOutput{CryptoActions: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsOutput_cryptoActions_FromDafny(dafnyOutput.Dtor_cryptoActions())} + +} + +func StructuredEncryptionException_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionException { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionException{Message: Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredEncryptionException_message_FromDafny(dafnyOutput.Dtor_message())} + +} + +func CollectionOfErrors_Output_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CollectionOfErrors { + listOfErrors := dafnyOutput.Dtor_list() + message := dafnyOutput.Dtor_message() + t := awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CollectionOfErrors{} + for i := dafny.Iterate(listOfErrors); ; { + val, ok := i() + if !ok { + break + } + err := val.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) + t.ListOfErrors = append(t.ListOfErrors, Error_FromDafny(err)) + + } + t.Message = func() string { + a := UTF8.Encode(message.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + return s + }() + return t +} +func OpaqueError_Output_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.OpaqueError { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.OpaqueError{ + ErrObject: dafnyOutput.Dtor_obj(), + } +} + +func Error_FromDafny(err AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) error { + // Service Errors + if err.Is_StructuredEncryptionException() { + return StructuredEncryptionException_FromDafny(err) + } + + //DependentErrors + if err.Is_AwsCryptographyPrimitives() { + return awscryptographyprimitivessmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyPrimitives()) + } + + if err.Is_AwsCryptographyMaterialProviders() { + return awscryptographymaterialproviderssmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyMaterialProviders()) + } + + //Unmodelled Errors + if err.Is_CollectionOfErrors() { + return CollectionOfErrors_Output_FromDafny(err) + } + + return OpaqueError_Output_FromDafny(err) +} + +func StructuredEncryptionConfig_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredEncryptionConfig) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionConfig { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionConfig{} + +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_tableName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptedStructure_FromDafny(input interface{}) []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthItem { + fieldValue := make([]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthItem, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthItem { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthItem{Key: Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_key_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthItem).Dtor_key()), + Data: Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_data_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthItem).Dtor_data()), + Action: Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_action_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthItem).Dtor_action()), + } +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_key_FromDafny(input interface{}) []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegment { + fieldValue := make([]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegment, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegment { + var union awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegment + + if (input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.PathSegment)).Is_member() { + + union = &awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegmentMembermember{ + Value: (Aws_cryptography_dbEncryptionSdk_structuredEncryption_PathSegment_member_FromDafny((input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.PathSegment)).Dtor_member())), + } + } + + return union + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_PathSegment_member_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructureSegment { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructureSegment{Key: Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructureSegment_key_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructureSegment).Dtor_key())} +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructureSegment_key_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_data_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal{Value: Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_value_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal).Dtor_value()), + TypeId: Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_typeId_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal).Dtor_typeId()), + } +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_value_FromDafny(input interface{}) []byte { + return func() []byte { + if input == nil { + return nil + } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) + } + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_typeId_FromDafny(input interface{}) []byte { + return func() []byte { + if input == nil { + return nil + } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) + } + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_action_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction { + return func() awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction { + var u awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction + inputEnum := input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_AuthenticateAction_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptionContext_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_plaintextStructure_FromDafny(input interface{}) []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem { + fieldValue := make([]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem{Key: Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_key_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoItem).Dtor_key()), + Data: Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_data_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoItem).Dtor_data()), + Action: Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_action_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoItem).Dtor_action()), + } +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_key_FromDafny(input interface{}) []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegment { + fieldValue := make([]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegment, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_data_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal{Value: Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_value_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal).Dtor_value()), + TypeId: Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_typeId_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal).Dtor_typeId()), + } +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_action_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + return func() awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var u awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction + inputEnum := input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_CryptoAction_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_parsedHeader_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader{AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_algorithmSuiteId()), + EncryptedDataKeys: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_encryptedDataKeys()), + StoredEncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_storedEncryptionContext()), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_encryptionContext()), + } +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_FromDafny(input interface{}) awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + return func() awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + var u awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + inputEnum := input.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_FromDafny(input interface{}) []awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey { + fieldValue := make([]awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptedDataKeyList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_tableName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptedStructure_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal{Value: Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_value_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal).Dtor_value()), + TypeId: Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_typeId_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal).Dtor_typeId()), + } +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_authenticateSchema_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthenticateSchemaMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthenticateSchemaMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthenticateSchemaMap_key_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthenticateSchemaMap_value_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction { + return func() awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction { + var u awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction + inputEnum := input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_AuthenticateAction_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptionContext_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_plaintextStructure_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_cryptoSchema_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_key_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_value_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + return func() awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var u awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction + inputEnum := input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_CryptoAction_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_parsedHeader_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader{AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_algorithmSuiteId()), + EncryptedDataKeys: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_encryptedDataKeys()), + StoredEncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_storedEncryptionContext()), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_encryptionContext()), + } +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_tableName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_plaintextStructure_FromDafny(input interface{}) []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem { + fieldValue := make([]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_algorithmSuiteId_FromDafny(input interface{}) *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + return func() *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + var u awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + if input == nil { + return nil + } + inputEnum := input.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId).Equals(inputEnum) { + break + } + } + } + + return &u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_encryptionContext_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_encryptedStructure_FromDafny(input interface{}) []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem { + fieldValue := make([]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_parsedHeader_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader{AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_algorithmSuiteId()), + EncryptedDataKeys: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_encryptedDataKeys()), + StoredEncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_storedEncryptionContext()), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_encryptionContext()), + } +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_tableName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_plaintextStructure_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_cryptoSchema_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_algorithmSuiteId_FromDafny(input interface{}) *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + return func() *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + var u awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + if input == nil { + return nil + } + inputEnum := input.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId).Equals(inputEnum) { + break + } + } + } + + return &u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_encryptionContext_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_encryptedStructure_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_cryptoSchema_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_parsedHeader_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader{AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_algorithmSuiteId()), + EncryptedDataKeys: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_encryptedDataKeys()), + StoredEncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_storedEncryptionContext()), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_encryptionContext()), + } +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_tableName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_authActions_FromDafny(input interface{}) []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthItem { + fieldValue := make([]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthItem, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_headerBytes_FromDafny(input interface{}) []byte { + return func() []byte { + if input == nil { + return nil + } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) + } + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsOutput_cryptoActions_FromDafny(input interface{}) []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem { + fieldValue := make([]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredEncryptionException_message_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/enums.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/enums.go new file mode 100644 index 000000000..bf38d1e83 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/enums.go @@ -0,0 +1,35 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes + +type AuthenticateAction string + +const ( + AuthenticateActionSign AuthenticateAction = "SIGN" + AuthenticateActionDoNotSign AuthenticateAction = "DO_NOT_SIGN" +) + +func (AuthenticateAction) Values() []AuthenticateAction { + return []AuthenticateAction{ + "SIGN", + "DO_NOT_SIGN", + } +} + +type CryptoAction string + +const ( + CryptoActionEncryptAndSign CryptoAction = "ENCRYPT_AND_SIGN" + CryptoActionSignAndIncludeInEncryptionContext CryptoAction = "SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT" + CryptoActionSignOnly CryptoAction = "SIGN_ONLY" + CryptoActionDoNothing CryptoAction = "DO_NOTHING" +) + +func (CryptoAction) Values() []CryptoAction { + return []CryptoAction{ + "ENCRYPT_AND_SIGN", + "SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT", + "SIGN_ONLY", + "DO_NOTHING", + } +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/errors.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/errors.go new file mode 100644 index 000000000..ba37c71a0 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/errors.go @@ -0,0 +1,17 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes + +import ( + "fmt" +) + +type StructuredEncryptionException struct { + StructuredEncryptionBaseException + Message string + ErrorCodeOverride *string +} + +func (e StructuredEncryptionException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCodeOverride, e.Message) +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/types.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/types.go new file mode 100644 index 000000000..2401b2204 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/types.go @@ -0,0 +1,615 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes + +import ( + "fmt" + "unicode/utf8" + + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" +) + +type StructuredDataTerminal struct { + TypeId []byte + + Value []byte +} + +func (input StructuredDataTerminal) Validate() error { + if len(input.TypeId) < 2 { + return fmt.Errorf("TerminalTypeId has a minimum length of 2 but has the length of %d.", len(input.TypeId)) + } + if len(input.TypeId) > 2 { + return fmt.Errorf("TerminalTypeId has a maximum length of 2 but has the length of %d.", len(input.TypeId)) + } + + return nil +} + +type StructureSegment struct { + Key string +} + +func (input StructureSegment) Validate() error { + + return nil +} + +type AuthItem struct { + Action AuthenticateAction + + Data StructuredDataTerminal + + Key []PathSegment +} + +func (input AuthItem) Validate() error { + if input.Data.Validate() != nil { + return input.Data.Validate() + } + if input.Key == nil { + return fmt.Errorf("input.Key is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_key_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_key_Validate() + } + + return nil +} + +func (input AuthItem) Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_Validate(Value PathSegment) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *PathSegmentMembermember: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input AuthItem) Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_key_Validate() error { + for _, item := range input.Key { + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_Validate(item) != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_Validate(item) + } + } + + return nil +} + +type CryptoItem struct { + Action CryptoAction + + Data StructuredDataTerminal + + Key []PathSegment +} + +func (input CryptoItem) Validate() error { + if input.Data.Validate() != nil { + return input.Data.Validate() + } + if input.Key == nil { + return fmt.Errorf("input.Key is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_key_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_key_Validate() + } + + return nil +} + +func (input CryptoItem) Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_Validate(Value PathSegment) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *PathSegmentMembermember: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input CryptoItem) Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_key_Validate() error { + for _, item := range input.Key { + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_Validate(item) != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_Validate(item) + } + } + + return nil +} + +type DecryptPathStructureInput struct { + Cmm awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager + + EncryptedStructure []AuthItem + + TableName string + + EncryptionContext map[string]string +} + +func (input DecryptPathStructureInput) Validate() error { + if input.EncryptedStructure == nil { + return fmt.Errorf("input.EncryptedStructure is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptedStructure_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptedStructure_Validate() + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptionContext_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptionContext_Validate() + } + + return nil +} + +func (input DecryptPathStructureInput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptedStructure_Validate() error { + for _, item := range input.EncryptedStructure { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input DecryptPathStructureInput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptionContext_Validate() error { + for key, value := range input.EncryptionContext { + if !utf8.ValidString(key) { + return fmt.Errorf("Invalid UTF bytes %s ", key) + } + if !utf8.ValidString(value) { + return fmt.Errorf("Invalid UTF bytes %s ", value) + } + } + + return nil +} + +type ParsedHeader struct { + AlgorithmSuiteId awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + + EncryptedDataKeys []awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey + + EncryptionContext map[string]string + + StoredEncryptionContext map[string]string +} + +func (input ParsedHeader) Validate() error { + if input.EncryptedDataKeys == nil { + return fmt.Errorf("input.EncryptedDataKeys is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_Validate() + } + if input.EncryptionContext == nil { + return fmt.Errorf("input.EncryptionContext is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_Validate() + } + if input.StoredEncryptionContext == nil { + return fmt.Errorf("input.StoredEncryptionContext is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_Validate() + } + + return nil +} + +func (input ParsedHeader) Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_Validate() error { + for _, item := range input.EncryptedDataKeys { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input ParsedHeader) Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_Validate() error { + for key, value := range input.EncryptionContext { + if !utf8.ValidString(key) { + return fmt.Errorf("Invalid UTF bytes %s ", key) + } + if !utf8.ValidString(value) { + return fmt.Errorf("Invalid UTF bytes %s ", value) + } + } + + return nil +} +func (input ParsedHeader) Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_Validate() error { + for key, value := range input.StoredEncryptionContext { + if !utf8.ValidString(key) { + return fmt.Errorf("Invalid UTF bytes %s ", key) + } + if !utf8.ValidString(value) { + return fmt.Errorf("Invalid UTF bytes %s ", value) + } + } + + return nil +} + +type DecryptPathStructureOutput struct { + ParsedHeader ParsedHeader + + PlaintextStructure []CryptoItem +} + +func (input DecryptPathStructureOutput) Validate() error { + if input.ParsedHeader.Validate() != nil { + return input.ParsedHeader.Validate() + } + if input.PlaintextStructure == nil { + return fmt.Errorf("input.PlaintextStructure is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_plaintextStructure_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_plaintextStructure_Validate() + } + + return nil +} + +func (input DecryptPathStructureOutput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_plaintextStructure_Validate() error { + for _, item := range input.PlaintextStructure { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type DecryptStructureInput struct { + AuthenticateSchema map[string]AuthenticateAction + + Cmm awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager + + EncryptedStructure map[string]StructuredDataTerminal + + TableName string + + EncryptionContext map[string]string +} + +func (input DecryptStructureInput) Validate() error { + if input.AuthenticateSchema == nil { + return fmt.Errorf("input.AuthenticateSchema is required but has a nil value.") + } + if input.EncryptedStructure == nil { + return fmt.Errorf("input.EncryptedStructure is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptedStructure_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptedStructure_Validate() + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptionContext_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptionContext_Validate() + } + + return nil +} + +func (input DecryptStructureInput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptedStructure_Validate() error { + for _, value := range input.EncryptedStructure { + if value.Validate() != nil { + return value.Validate() + } + } + + return nil +} +func (input DecryptStructureInput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptionContext_Validate() error { + for key, value := range input.EncryptionContext { + if !utf8.ValidString(key) { + return fmt.Errorf("Invalid UTF bytes %s ", key) + } + if !utf8.ValidString(value) { + return fmt.Errorf("Invalid UTF bytes %s ", value) + } + } + + return nil +} + +type DecryptStructureOutput struct { + CryptoSchema map[string]CryptoAction + + ParsedHeader ParsedHeader + + PlaintextStructure map[string]StructuredDataTerminal +} + +func (input DecryptStructureOutput) Validate() error { + if input.CryptoSchema == nil { + return fmt.Errorf("input.CryptoSchema is required but has a nil value.") + } + if input.ParsedHeader.Validate() != nil { + return input.ParsedHeader.Validate() + } + if input.PlaintextStructure == nil { + return fmt.Errorf("input.PlaintextStructure is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_plaintextStructure_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_plaintextStructure_Validate() + } + + return nil +} + +func (input DecryptStructureOutput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_plaintextStructure_Validate() error { + for _, value := range input.PlaintextStructure { + if value.Validate() != nil { + return value.Validate() + } + } + + return nil +} + +type EncryptPathStructureInput struct { + Cmm awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager + + PlaintextStructure []CryptoItem + + TableName string + + AlgorithmSuiteId *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + + EncryptionContext map[string]string +} + +func (input EncryptPathStructureInput) Validate() error { + if input.PlaintextStructure == nil { + return fmt.Errorf("input.PlaintextStructure is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_plaintextStructure_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_plaintextStructure_Validate() + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_encryptionContext_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_encryptionContext_Validate() + } + + return nil +} + +func (input EncryptPathStructureInput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_plaintextStructure_Validate() error { + for _, item := range input.PlaintextStructure { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input EncryptPathStructureInput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_encryptionContext_Validate() error { + for key, value := range input.EncryptionContext { + if !utf8.ValidString(key) { + return fmt.Errorf("Invalid UTF bytes %s ", key) + } + if !utf8.ValidString(value) { + return fmt.Errorf("Invalid UTF bytes %s ", value) + } + } + + return nil +} + +type EncryptPathStructureOutput struct { + EncryptedStructure []CryptoItem + + ParsedHeader ParsedHeader +} + +func (input EncryptPathStructureOutput) Validate() error { + if input.EncryptedStructure == nil { + return fmt.Errorf("input.EncryptedStructure is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_encryptedStructure_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_encryptedStructure_Validate() + } + if input.ParsedHeader.Validate() != nil { + return input.ParsedHeader.Validate() + } + + return nil +} + +func (input EncryptPathStructureOutput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_encryptedStructure_Validate() error { + for _, item := range input.EncryptedStructure { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type EncryptStructureInput struct { + Cmm awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager + + CryptoSchema map[string]CryptoAction + + PlaintextStructure map[string]StructuredDataTerminal + + TableName string + + AlgorithmSuiteId *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + + EncryptionContext map[string]string +} + +func (input EncryptStructureInput) Validate() error { + if input.CryptoSchema == nil { + return fmt.Errorf("input.CryptoSchema is required but has a nil value.") + } + if input.PlaintextStructure == nil { + return fmt.Errorf("input.PlaintextStructure is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_plaintextStructure_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_plaintextStructure_Validate() + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_encryptionContext_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_encryptionContext_Validate() + } + + return nil +} + +func (input EncryptStructureInput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_plaintextStructure_Validate() error { + for _, value := range input.PlaintextStructure { + if value.Validate() != nil { + return value.Validate() + } + } + + return nil +} +func (input EncryptStructureInput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_encryptionContext_Validate() error { + for key, value := range input.EncryptionContext { + if !utf8.ValidString(key) { + return fmt.Errorf("Invalid UTF bytes %s ", key) + } + if !utf8.ValidString(value) { + return fmt.Errorf("Invalid UTF bytes %s ", value) + } + } + + return nil +} + +type EncryptStructureOutput struct { + CryptoSchema map[string]CryptoAction + + EncryptedStructure map[string]StructuredDataTerminal + + ParsedHeader ParsedHeader +} + +func (input EncryptStructureOutput) Validate() error { + if input.CryptoSchema == nil { + return fmt.Errorf("input.CryptoSchema is required but has a nil value.") + } + if input.EncryptedStructure == nil { + return fmt.Errorf("input.EncryptedStructure is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_encryptedStructure_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_encryptedStructure_Validate() + } + if input.ParsedHeader.Validate() != nil { + return input.ParsedHeader.Validate() + } + + return nil +} + +func (input EncryptStructureOutput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_encryptedStructure_Validate() error { + for _, value := range input.EncryptedStructure { + if value.Validate() != nil { + return value.Validate() + } + } + + return nil +} + +type ResolveAuthActionsInput struct { + AuthActions []AuthItem + + HeaderBytes []byte + + TableName string +} + +func (input ResolveAuthActionsInput) Validate() error { + if input.AuthActions == nil { + return fmt.Errorf("input.AuthActions is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_authActions_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_authActions_Validate() + } + + return nil +} + +func (input ResolveAuthActionsInput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_authActions_Validate() error { + for _, item := range input.AuthActions { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type ResolveAuthActionsOutput struct { + CryptoActions []CryptoItem +} + +func (input ResolveAuthActionsOutput) Validate() error { + if input.CryptoActions == nil { + return fmt.Errorf("input.CryptoActions is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsOutput_cryptoActions_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsOutput_cryptoActions_Validate() + } + + return nil +} + +func (input ResolveAuthActionsOutput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsOutput_cryptoActions_Validate() error { + for _, item := range input.CryptoActions { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type AtomicPrimitivesReference struct { +} + +func (input AtomicPrimitivesReference) Validate() error { + + return nil +} + +type StructuredEncryptionConfig struct { +} + +func (input StructuredEncryptionConfig) Validate() error { + + return nil +} + +// PathSegmentMembermember +type PathSegment interface { + isPathSegment() +} + +type PathSegmentMembermember struct { + Value StructureSegment +} + +func (*PathSegmentMembermember) isPathSegment() {} + +type StructuredEncryptionBaseException interface { + // This is a dummy method to allow type assertion since Go empty interfaces + // aren't useful for type assertion checks. No concrete class is expected to implement + // this method. This is also not exported. + interfaceBindingMethod() +} diff --git a/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/unmodelled_errors.go b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/unmodelled_errors.go new file mode 100644 index 000000000..43a2adee7 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/ImplementationFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/unmodelled_errors.go @@ -0,0 +1,26 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes + +import ( + "fmt" +) + +type CollectionOfErrors struct { + StructuredEncryptionBaseException + ListOfErrors []error + Message string +} + +func (e CollectionOfErrors) Error() string { + return fmt.Sprintf("message: %s\n err %v", e.Message, e.ListOfErrors) +} + +type OpaqueError struct { + StructuredEncryptionBaseException + ErrObject interface{} +} + +func (e OpaqueError) Error() string { + return fmt.Sprintf("message: %v", e.ErrObject) +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorService/shim.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorService/shim.go new file mode 100644 index 000000000..9018b4bb4 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorService/shim.go @@ -0,0 +1,43 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package WrappedAwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorService + +import ( + "context" + + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated" +) + +type Shim struct { + AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.IDynamoDbItemEncryptorClient + client *awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.Client +} + +func (_static *CompanionStruct_Default___) WrappedDynamoDbItemEncryptor(inputConfig AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DynamoDbItemEncryptorConfig) Wrappers.Result { + var nativeConfig = awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.DynamoDbItemEncryptorConfig_FromDafny(inputConfig) + var nativeClient, nativeError = awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.NewClient(nativeConfig) + if nativeError != nil { + return Wrappers.Companion_Result_.Create_Failure_(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_Opaque_(nativeError)) + } + return Wrappers.Companion_Result_.Create_Success_(&Shim{client: nativeClient}) +} + +func (shim *Shim) EncryptItem(input AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.EncryptItemInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.EncryptItemInput_FromDafny(input) + var native_response, native_error = shim.client.EncryptItem(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.EncryptItemOutput_ToDafny(*native_response)) +} + +func (shim *Shim) DecryptItem(input AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DecryptItemInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.DecryptItemInput_FromDafny(input) + var native_response, native_error = shim.client.DecryptItem(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.DecryptItemOutput_ToDafny(*native_response)) +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbService/shim.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbService/shim.go new file mode 100644 index 000000000..0124631c5 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbService/shim.go @@ -0,0 +1,43 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package WrappedAwsCryptographyDbEncryptionSdkDynamoDbService + +import ( + "context" + + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygenerated" +) + +type Shim struct { + AwsCryptographyDbEncryptionSdkDynamoDbTypes.IDynamoDbEncryptionClient + client *awscryptographydbencryptionsdkdynamodbsmithygenerated.Client +} + +func (_static *CompanionStruct_Default___) WrappedDynamoDbEncryption(inputConfig AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbEncryptionConfig) Wrappers.Result { + var nativeConfig = awscryptographydbencryptionsdkdynamodbsmithygenerated.DynamoDbEncryptionConfig_FromDafny(inputConfig) + var nativeClient, nativeError = awscryptographydbencryptionsdkdynamodbsmithygenerated.NewClient(nativeConfig) + if nativeError != nil { + return Wrappers.Companion_Result_.Create_Failure_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_Opaque_(nativeError)) + } + return Wrappers.Companion_Result_.Create_Success_(&Shim{client: nativeClient}) +} + +func (shim *Shim) CreateDynamoDbEncryptionBranchKeyIdSupplier(input AwsCryptographyDbEncryptionSdkDynamoDbTypes.CreateDynamoDbEncryptionBranchKeyIdSupplierInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbsmithygenerated.CreateDynamoDbEncryptionBranchKeyIdSupplierInput_FromDafny(input) + var native_response, native_error = shim.client.CreateDynamoDbEncryptionBranchKeyIdSupplier(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbsmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbsmithygenerated.CreateDynamoDbEncryptionBranchKeyIdSupplierOutput_ToDafny(*native_response)) +} + +func (shim *Shim) GetEncryptedDataKeyDescription(input AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbsmithygenerated.GetEncryptedDataKeyDescriptionInput_FromDafny(input) + var native_response, native_error = shim.client.GetEncryptedDataKeyDescription(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbsmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbsmithygenerated.GetEncryptedDataKeyDescriptionOutput_ToDafny(*native_response)) +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbTransformsService/shim.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbTransformsService/shim.go new file mode 100644 index 000000000..41c6a6043 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkDynamoDbTransformsService/shim.go @@ -0,0 +1,268 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package WrappedAwsCryptographyDbEncryptionSdkDynamoDbTransformsService + +import ( + "context" + + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated" +) + +type Shim struct { + AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.IDynamoDbEncryptionTransformsClient + client *awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Client +} + +func (_static *CompanionStruct_Default___) WrappedDynamoDbEncryptionTransforms(inputConfig AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTablesEncryptionConfig) Wrappers.Result { + var nativeConfig = awscryptographydbencryptionsdkdynamodbsmithygenerated.awscryptographydbencryptionsdkdynamodbsmithygenerated.DynamoDbTablesEncryptionConfig_FromDafny(inputConfig) + var nativeClient, nativeError = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.NewClient(nativeConfig) + if nativeError != nil { + return Wrappers.Companion_Result_.Create_Failure_(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_Opaque_(nativeError)) + } + return Wrappers.Companion_Result_.Create_Success_(&Shim{client: nativeClient}) +} + +func (shim *Shim) PutItemInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.PutItemInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.PutItemInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.PutItemInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) PutItemOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.PutItemOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.PutItemOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.PutItemOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) GetItemInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.GetItemInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.GetItemInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.GetItemInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) GetItemOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.GetItemOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.GetItemOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.GetItemOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) BatchWriteItemInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchWriteItemInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.BatchWriteItemInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchWriteItemInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) BatchWriteItemOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchWriteItemOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.BatchWriteItemOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchWriteItemOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) BatchGetItemInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchGetItemInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.BatchGetItemInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchGetItemInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) BatchGetItemOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchGetItemOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.BatchGetItemOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchGetItemOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) ScanInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ScanInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.ScanInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ScanInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) ScanOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ScanOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.ScanOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ScanOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) QueryInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.QueryInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.QueryInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.QueryInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) QueryOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.QueryOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.QueryOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.QueryOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) TransactWriteItemsInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.TransactWriteItemsInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.TransactWriteItemsInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.TransactWriteItemsInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) TransactWriteItemsOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.TransactWriteItemsOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.TransactWriteItemsOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.TransactWriteItemsOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) UpdateItemInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.UpdateItemInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.UpdateItemInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.UpdateItemInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) UpdateItemOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.UpdateItemOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.UpdateItemOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.UpdateItemOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) DeleteItemInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.DeleteItemInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.DeleteItemInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.DeleteItemInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) DeleteItemOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.DeleteItemOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.DeleteItemOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.DeleteItemOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) TransactGetItemsInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.TransactGetItemsInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.TransactGetItemsInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.TransactGetItemsInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) TransactGetItemsOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.TransactGetItemsOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.TransactGetItemsOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.TransactGetItemsOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) ExecuteStatementInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ExecuteStatementInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.ExecuteStatementInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ExecuteStatementInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) ExecuteStatementOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ExecuteStatementOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.ExecuteStatementOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ExecuteStatementOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) BatchExecuteStatementInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchExecuteStatementInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.BatchExecuteStatementInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchExecuteStatementInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) BatchExecuteStatementOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchExecuteStatementOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.BatchExecuteStatementOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.BatchExecuteStatementOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) ExecuteTransactionInputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionInputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ExecuteTransactionInputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.ExecuteTransactionInputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ExecuteTransactionInputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) ExecuteTransactionOutputTransform(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionOutputTransformInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ExecuteTransactionOutputTransformInput_FromDafny(input) + var native_response, native_error = shim.client.ExecuteTransactionOutputTransform(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ExecuteTransactionOutputTransformOutput_ToDafny(*native_response)) +} + +func (shim *Shim) ResolveAttributes(input AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ResolveAttributesInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ResolveAttributesInput_FromDafny(input) + var native_response, native_error = shim.client.ResolveAttributes(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkdynamodbtransformssmithygenerated.ResolveAttributesOutput_ToDafny(*native_response)) +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkStructuredEncryptionService/shim.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkStructuredEncryptionService/shim.go new file mode 100644 index 000000000..6d2ddf5e4 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/WrappedAwsCryptographyDbEncryptionSdkStructuredEncryptionService/shim.go @@ -0,0 +1,70 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package WrappedAwsCryptographyDbEncryptionSdkStructuredEncryptionService + +import ( + "context" + + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated" +) + +type Shim struct { + AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.IStructuredEncryptionClient + client *awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Client +} + +func (_static *CompanionStruct_Default___) WrappedStructuredEncryption(inputConfig AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredEncryptionConfig) Wrappers.Result { + var nativeConfig = awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.StructuredEncryptionConfig_FromDafny(inputConfig) + var nativeClient, nativeError = awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.NewClient(nativeConfig) + if nativeError != nil { + return Wrappers.Companion_Result_.Create_Failure_(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_Error_.Create_Opaque_(nativeError)) + } + return Wrappers.Companion_Result_.Create_Success_(&Shim{client: nativeClient}) +} + +func (shim *Shim) EncryptStructure(input AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptStructureInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.EncryptStructureInput_FromDafny(input) + var native_response, native_error = shim.client.EncryptStructure(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.EncryptStructureOutput_ToDafny(*native_response)) +} + +func (shim *Shim) DecryptStructure(input AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptStructureInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.DecryptStructureInput_FromDafny(input) + var native_response, native_error = shim.client.DecryptStructure(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.DecryptStructureOutput_ToDafny(*native_response)) +} + +func (shim *Shim) EncryptPathStructure(input AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptPathStructureInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.EncryptPathStructureInput_FromDafny(input) + var native_response, native_error = shim.client.EncryptPathStructure(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.EncryptPathStructureOutput_ToDafny(*native_response)) +} + +func (shim *Shim) DecryptPathStructure(input AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptPathStructureInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.DecryptPathStructureInput_FromDafny(input) + var native_response, native_error = shim.client.DecryptPathStructure(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.DecryptPathStructureOutput_ToDafny(*native_response)) +} + +func (shim *Shim) ResolveAuthActions(input AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ResolveAuthActionsInput) Wrappers.Result { + var native_request = awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.ResolveAuthActionsInput_FromDafny(input) + var native_response, native_error = shim.client.ResolveAuthActions(context.Background(), native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.ResolveAuthActionsOutput_ToDafny(*native_response)) +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated/api_client.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated/api_client.go new file mode 100644 index 000000000..00c350137 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated/api_client.go @@ -0,0 +1,68 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated + +import ( + "context" + + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/DynamoDbItemEncryptor" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes" +) + +type Client struct { + DafnyClient AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.IDynamoDbItemEncryptorClient +} + +func NewClient(clientConfig awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorConfig) (*Client, error) { + var dafnyConfig = DynamoDbItemEncryptorConfig_ToDafny(clientConfig) + var dafny_response = DynamoDbItemEncryptor.Companion_Default___.DynamoDbItemEncryptor(dafnyConfig) + if dafny_response.Is_Failure() { + panic("Client construction failed. This should never happen") + } + var dafnyClient = dafny_response.Extract().(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.IDynamoDbItemEncryptorClient) + client := &Client{dafnyClient} + return client, nil +} + +func (client *Client) EncryptItem(ctx context.Context, params awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.EncryptItemInput) (*awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.EncryptItemOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.EncryptItemInput = EncryptItemInput_ToDafny(params) + var dafny_response = client.DafnyClient.EncryptItem(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = EncryptItemOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.EncryptItemOutput)) + return &native_response, nil + +} + +func (client *Client) DecryptItem(ctx context.Context, params awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DecryptItemInput) (*awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DecryptItemOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DecryptItemInput = DecryptItemInput_ToDafny(params) + var dafny_response = client.DafnyClient.DecryptItem(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = DecryptItemOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DecryptItemOutput)) + return &native_response, nil + +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated/to_dafny.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated/to_dafny.go new file mode 100644 index 000000000..b153d67b2 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated/to_dafny.go @@ -0,0 +1,437 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated + +import ( + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/comamazonawsdynamodbsmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/awscryptographyprimitivessmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/awscryptographyprimitivessmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UTF8" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" + dynamodbtypes "github.com/aws/aws-sdk-go-v2/service/dynamodb/types" + "github.com/aws/smithy-go" + "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" +) + +func DecryptItemInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DecryptItemInput) AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DecryptItemInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DecryptItemInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_DecryptItemInput_.Create_DecryptItemInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemInput_encryptedItem_ToDafny(nativeInput.EncryptedItem)) + }() + +} + +func DecryptItemOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DecryptItemOutput) AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DecryptItemOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DecryptItemOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_DecryptItemOutput_.Create_DecryptItemOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_plaintextItem_ToDafny(nativeOutput.PlaintextItem), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_parsedHeader_ToDafny(nativeOutput.ParsedHeader)) + }() + +} + +func EncryptItemInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.EncryptItemInput) AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.EncryptItemInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.EncryptItemInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_EncryptItemInput_.Create_EncryptItemInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemInput_plaintextItem_ToDafny(nativeInput.PlaintextItem)) + }() + +} + +func EncryptItemOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.EncryptItemOutput) AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.EncryptItemOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.EncryptItemOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_EncryptItemOutput_.Create_EncryptItemOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_encryptedItem_ToDafny(nativeOutput.EncryptedItem), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_parsedHeader_ToDafny(nativeOutput.ParsedHeader)) + }() + +} + +func DynamoDbItemEncryptorException_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorException) AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error { + return func() AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error { + + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_DynamoDbItemEncryptorException_(Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorException_message_ToDafny(nativeInput.Message)) + }() + +} + +func CollectionOfErrors_Input_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.CollectionOfErrors) AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error { + var e []interface{} + for _, i2 := range nativeInput.ListOfErrors { + e = append(e, Error_ToDafny(i2)) + } + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_CollectionOfErrors_(dafny.SeqOf(e...), func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(nativeInput.Message)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) +} +func OpaqueError_Input_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.OpaqueError) AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error { + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_Opaque_(nativeInput.ErrObject) +} + +func Error_ToDafny(err error) AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error { + switch err.(type) { + // Service Errors + case awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorException: + return DynamoDbItemEncryptorException_ToDafny(err.(awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorException)) + + //DependentErrors + case awscryptographyprimitivessmithygeneratedtypes.AwsCryptographicPrimitivesBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(awscryptographyprimitivessmithygenerated.Error_ToDafny(err)) + + case awscryptographymaterialproviderssmithygeneratedtypes.AwsCryptographicMaterialProvidersBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_AwsCryptographyMaterialProviders_(awscryptographymaterialproviderssmithygenerated.Error_ToDafny(err)) + + case awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_AwsCryptographyDbEncryptionSdkStructuredEncryption_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_ToDafny(err)) + + case awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_AwsCryptographyDbEncryptionSdkDynamoDb_(awscryptographydbencryptionsdkdynamodbsmithygenerated.Error_ToDafny(err)) + + case *smithy.OperationError: + if err.(*smithy.OperationError).Service() == "DynamoDB" { + DynamoDBError := comamazonawsdynamodbsmithygenerated.Error_ToDafny(err) + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_ComAmazonawsDynamodb_(DynamoDBError) + } + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_Opaque_(err) + + case smithy.APIError: + DynamoDBError := comamazonawsdynamodbsmithygenerated.Error_ToDafny(err) + if !DynamoDBError.Is_OpaqueWithText() { + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_ComAmazonawsDynamodb_(DynamoDBError) + } + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_Error_.Create_Opaque_(err) + + //Unmodelled Errors + case awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.CollectionOfErrors: + return CollectionOfErrors_Input_ToDafny(err.(awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.CollectionOfErrors)) + + default: + error, ok := err.(awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.OpaqueError) + if !ok { + panic("Error is not an OpaqueError") + } + return OpaqueError_Input_ToDafny(error) + } +} + +func DynamoDbItemEncryptorConfig_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorConfig) AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DynamoDbItemEncryptorConfig { + return func() AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DynamoDbItemEncryptorConfig { + + return AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_DynamoDbItemEncryptorConfig_.Create_DynamoDbItemEncryptorConfig_(Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_logicalTableName_ToDafny(nativeInput.LogicalTableName), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_partitionKeyName_ToDafny(nativeInput.PartitionKeyName), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_sortKeyName_ToDafny(nativeInput.SortKeyName), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_attributeActionsOnEncrypt_ToDafny(nativeInput.AttributeActionsOnEncrypt), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributes_ToDafny(nativeInput.AllowedUnsignedAttributes), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributePrefix_ToDafny(nativeInput.AllowedUnsignedAttributePrefix), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_algorithmSuiteId_ToDafny(nativeInput.AlgorithmSuiteId), func() Wrappers.Option { + if (nativeInput.Keyring) == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(awscryptographymaterialproviderssmithygenerated.Keyring_ToDafny(nativeInput.Keyring)) + }(), func() Wrappers.Option { + if (nativeInput.Cmm) == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_ToDafny(nativeInput.Cmm)) + }(), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_legacyOverride_ToDafny(nativeInput.LegacyOverride), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_plaintextOverride_ToDafny(nativeInput.PlaintextOverride)) + }() + +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemInput_encryptedItem_ToDafny(input map[string]dynamodbtypes.AttributeValue) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_ToDafny(key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_plaintextItem_ToDafny(input map[string]dynamodbtypes.AttributeValue) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_ToDafny(key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_parsedHeader_ToDafny(input *awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.ParsedHeader) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_ParsedHeader_.Create_ParsedHeader_(Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_attributeActionsOnEncrypt_ToDafny(input.AttributeActionsOnEncrypt), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_algorithmSuiteId_ToDafny(input.AlgorithmSuiteId), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptedDataKeys_ToDafny(input.EncryptedDataKeys), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_storedEncryptionContext_ToDafny(input.StoredEncryptionContext), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptionContext_ToDafny(input.EncryptionContext), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_selectorContext_ToDafny(input.SelectorContext))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_attributeActionsOnEncrypt_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_ToDafny(key), awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_algorithmSuiteId_ToDafny(input awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId) AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId { + return func() AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId { + + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == input { + break + } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptedDataKeys_ToDafny(input []awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptedDataKeyList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_storedEncryptionContext_ToDafny(input map[string]string) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_ToDafny(key), awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptionContext_ToDafny(input map[string]string) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_ToDafny(key), awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_selectorContext_ToDafny(input map[string]dynamodbtypes.AttributeValue) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_Key_key_ToDafny(key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_Key_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemInput_plaintextItem_ToDafny(input map[string]dynamodbtypes.AttributeValue) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_ToDafny(key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_encryptedItem_ToDafny(input map[string]dynamodbtypes.AttributeValue) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_ToDafny(key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_parsedHeader_ToDafny(input *awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.ParsedHeader) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Companion_ParsedHeader_.Create_ParsedHeader_(Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_attributeActionsOnEncrypt_ToDafny(input.AttributeActionsOnEncrypt), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_algorithmSuiteId_ToDafny(input.AlgorithmSuiteId), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptedDataKeys_ToDafny(input.EncryptedDataKeys), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_storedEncryptionContext_ToDafny(input.StoredEncryptionContext), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptionContext_ToDafny(input.EncryptionContext), Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_selectorContext_ToDafny(input.SelectorContext))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorException_message_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_logicalTableName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_partitionKeyName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_sortKeyName_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_attributeActionsOnEncrypt_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_ToDafny(key), awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributes_ToDafny(input []string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeNameList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributePrefix_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_algorithmSuiteId_ToDafny(input *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == *input { + break + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return Wrappers.Companion_Option_.Create_Some_(enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_legacyOverride_ToDafny(input *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_LegacyOverride_.Create_LegacyOverride_(awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_policy_ToDafny(input.Policy), awscryptographydbencryptionsdkdynamodbsmithygenerated.LegacyDynamoDbEncryptor_ToDafny(input.Encryptor), awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_ToDafny(input.AttributeActionsOnEncrypt), awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_defaultAttributeFlag_ToDafny(input.DefaultAttributeFlag))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_plaintextOverride_ToDafny(input *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == *input { + break + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_PlaintextOverride_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return Wrappers.Companion_Option_.Create_Some_(enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride)) + }() +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated/to_native.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated/to_native.go new file mode 100644 index 000000000..8262392cc --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated/to_native.go @@ -0,0 +1,447 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated + +import ( + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/comamazonawsdynamodbsmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/awscryptographyprimitivessmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UTF8" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" + dynamodbtypes "github.com/aws/aws-sdk-go-v2/service/dynamodb/types" + "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" +) + +func DecryptItemInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DecryptItemInput) awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DecryptItemInput { + + return awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DecryptItemInput{EncryptedItem: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemInput_encryptedItem_FromDafny(dafnyInput.Dtor_encryptedItem())} + +} + +func DecryptItemOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DecryptItemOutput) awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DecryptItemOutput { + + return awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DecryptItemOutput{PlaintextItem: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_plaintextItem_FromDafny(dafnyOutput.Dtor_plaintextItem()), + ParsedHeader: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_parsedHeader_FromDafny(dafnyOutput.Dtor_parsedHeader().UnwrapOr(nil)), + } + +} + +func EncryptItemInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.EncryptItemInput) awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.EncryptItemInput { + + return awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.EncryptItemInput{PlaintextItem: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemInput_plaintextItem_FromDafny(dafnyInput.Dtor_plaintextItem())} + +} + +func EncryptItemOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.EncryptItemOutput) awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.EncryptItemOutput { + + return awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.EncryptItemOutput{EncryptedItem: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_encryptedItem_FromDafny(dafnyOutput.Dtor_encryptedItem()), + ParsedHeader: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_parsedHeader_FromDafny(dafnyOutput.Dtor_parsedHeader().UnwrapOr(nil)), + } + +} + +func DynamoDbItemEncryptorException_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error) awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorException { + return awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorException{Message: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorException_message_FromDafny(dafnyOutput.Dtor_message())} + +} + +func CollectionOfErrors_Output_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error) awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.CollectionOfErrors { + listOfErrors := dafnyOutput.Dtor_list() + message := dafnyOutput.Dtor_message() + t := awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.CollectionOfErrors{} + for i := dafny.Iterate(listOfErrors); ; { + val, ok := i() + if !ok { + break + } + err := val.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error) + t.ListOfErrors = append(t.ListOfErrors, Error_FromDafny(err)) + + } + t.Message = func() string { + a := UTF8.Encode(message.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + return s + }() + return t +} +func OpaqueError_Output_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error) awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.OpaqueError { + return awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.OpaqueError{ + ErrObject: dafnyOutput.Dtor_obj(), + } +} + +func Error_FromDafny(err AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.Error) error { + // Service Errors + if err.Is_DynamoDbItemEncryptorException() { + return DynamoDbItemEncryptorException_FromDafny(err) + } + + //DependentErrors + if err.Is_AwsCryptographyPrimitives() { + return awscryptographyprimitivessmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyPrimitives()) + } + + if err.Is_ComAmazonawsDynamodb() { + return comamazonawsdynamodbsmithygenerated.Error_FromDafny(err.Dtor_ComAmazonawsDynamodb()) + } + + if err.Is_AwsCryptographyMaterialProviders() { + return awscryptographymaterialproviderssmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyMaterialProviders()) + } + + if err.Is_AwsCryptographyDbEncryptionSdkStructuredEncryption() { + return awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyDbEncryptionSdkStructuredEncryption()) + } + + if err.Is_AwsCryptographyDbEncryptionSdkDynamoDb() { + return awscryptographydbencryptionsdkdynamodbsmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyDbEncryptionSdkDynamoDb()) + } + + //Unmodelled Errors + if err.Is_CollectionOfErrors() { + return CollectionOfErrors_Output_FromDafny(err) + } + + return OpaqueError_Output_FromDafny(err) +} + +func DynamoDbItemEncryptorConfig_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.DynamoDbItemEncryptorConfig) awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorConfig { + return awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorConfig{LogicalTableName: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_logicalTableName_FromDafny(dafnyOutput.Dtor_logicalTableName()), + PartitionKeyName: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_partitionKeyName_FromDafny(dafnyOutput.Dtor_partitionKeyName()), + SortKeyName: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_sortKeyName_FromDafny(dafnyOutput.Dtor_sortKeyName().UnwrapOr(nil)), + AttributeActionsOnEncrypt: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_attributeActionsOnEncrypt_FromDafny(dafnyOutput.Dtor_attributeActionsOnEncrypt()), + AllowedUnsignedAttributes: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributes_FromDafny(dafnyOutput.Dtor_allowedUnsignedAttributes().UnwrapOr(nil)), + AllowedUnsignedAttributePrefix: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributePrefix_FromDafny(dafnyOutput.Dtor_allowedUnsignedAttributePrefix().UnwrapOr(nil)), + AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_algorithmSuiteId_FromDafny(dafnyOutput.Dtor_algorithmSuiteId().UnwrapOr(nil)), + Keyring: func() awscryptographymaterialproviderssmithygeneratedtypes.IKeyring { + if dafnyOutput.Dtor_keyring().UnwrapOr(nil) == nil { + return nil + } + return awscryptographymaterialproviderssmithygenerated.Keyring_FromDafny(dafnyOutput.Dtor_keyring().UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.IKeyring)) + }(), + Cmm: func() awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager { + if dafnyOutput.Dtor_cmm().UnwrapOr(nil) == nil { + return nil + } + return awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_FromDafny(dafnyOutput.Dtor_cmm().UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsManager)) + }(), + LegacyOverride: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_legacyOverride_FromDafny(dafnyOutput.Dtor_legacyOverride().UnwrapOr(nil)), + PlaintextOverride: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_plaintextOverride_FromDafny(dafnyOutput.Dtor_plaintextOverride().UnwrapOr(nil)), + } + +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemInput_encryptedItem_FromDafny(input interface{}) map[string]dynamodbtypes.AttributeValue { + var m map[string]dynamodbtypes.AttributeValue = make(map[string]dynamodbtypes.AttributeValue) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_plaintextItem_FromDafny(input interface{}) map[string]dynamodbtypes.AttributeValue { + var m map[string]dynamodbtypes.AttributeValue = make(map[string]dynamodbtypes.AttributeValue) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_parsedHeader_FromDafny(input interface{}) *awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.ParsedHeader { + if input == nil { + return nil + } + return &awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.ParsedHeader{AttributeActionsOnEncrypt: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_attributeActionsOnEncrypt_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_attributeActionsOnEncrypt()), + AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_algorithmSuiteId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_algorithmSuiteId()), + EncryptedDataKeys: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptedDataKeys_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_encryptedDataKeys()), + StoredEncryptionContext: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_storedEncryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_storedEncryptionContext()), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_encryptionContext()), + SelectorContext: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_selectorContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_selectorContext()), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_attributeActionsOnEncrypt_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_algorithmSuiteId_FromDafny(input interface{}) awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + return func() awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + var u awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + inputEnum := input.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptedDataKeys_FromDafny(input interface{}) []awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey { + fieldValue := make([]awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptedDataKeyList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_storedEncryptionContext_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptionContext_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_selectorContext_FromDafny(input interface{}) map[string]dynamodbtypes.AttributeValue { + var m map[string]dynamodbtypes.AttributeValue = make(map[string]dynamodbtypes.AttributeValue) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_Key_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_Key_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemInput_plaintextItem_FromDafny(input interface{}) map[string]dynamodbtypes.AttributeValue { + var m map[string]dynamodbtypes.AttributeValue = make(map[string]dynamodbtypes.AttributeValue) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_encryptedItem_FromDafny(input interface{}) map[string]dynamodbtypes.AttributeValue { + var m map[string]dynamodbtypes.AttributeValue = make(map[string]dynamodbtypes.AttributeValue) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_parsedHeader_FromDafny(input interface{}) *awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.ParsedHeader { + if input == nil { + return nil + } + return &awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.ParsedHeader{AttributeActionsOnEncrypt: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_attributeActionsOnEncrypt_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_attributeActionsOnEncrypt()), + AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_algorithmSuiteId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_algorithmSuiteId()), + EncryptedDataKeys: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptedDataKeys_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_encryptedDataKeys()), + StoredEncryptionContext: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_storedEncryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_storedEncryptionContext()), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_encryptionContext()), + SelectorContext: Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_selectorContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptorTypes.ParsedHeader).Dtor_selectorContext()), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorException_message_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_logicalTableName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_partitionKeyName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_sortKeyName_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_attributeActionsOnEncrypt_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributes_FromDafny(input interface{}) []string { + if input == nil { + return nil + } + fieldValue := make([]string, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeNameList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributePrefix_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_algorithmSuiteId_FromDafny(input interface{}) *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + return func() *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + var u awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + if input == nil { + return nil + } + inputEnum := input.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId).Equals(inputEnum) { + break + } + } + } + + return &u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_legacyOverride_FromDafny(input interface{}) *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride { + if input == nil { + return nil + } + return &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride{Policy: awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_policy_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_policy()), + Encryptor: awscryptographydbencryptionsdkdynamodbsmithygenerated.LegacyDynamoDbEncryptor_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_encryptor()), + AttributeActionsOnEncrypt: awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_attributeActionsOnEncrypt()), + DefaultAttributeFlag: awscryptographydbencryptionsdkdynamodbsmithygenerated.Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_defaultAttributeFlag_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_defaultAttributeFlag().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_plaintextOverride_FromDafny(input interface{}) *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride { + return func() *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride { + var u awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride + if input == nil { + return nil + } + inputEnum := input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_PlaintextOverride_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride).Equals(inputEnum) { + break + } + } + } + + return &u.Values()[index] + }() +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes/errors.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes/errors.go new file mode 100644 index 000000000..7dbd6b99e --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes/errors.go @@ -0,0 +1,17 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes + +import ( + "fmt" +) + +type DynamoDbItemEncryptorException struct { + DynamoDbItemEncryptorBaseException + Message string + ErrorCodeOverride *string +} + +func (e DynamoDbItemEncryptorException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCodeOverride, e.Message) +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes/types.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes/types.go new file mode 100644 index 000000000..fc98f125c --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes/types.go @@ -0,0 +1,852 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes + +import ( + "fmt" + "unicode/utf8" + + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/test/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" + dynamodbtypes "github.com/aws/aws-sdk-go-v2/service/dynamodb/types" +) + +type DecryptItemInput struct { + EncryptedItem map[string]dynamodbtypes.AttributeValue +} + +func (input DecryptItemInput) Validate() error { + if input.EncryptedItem == nil { + return fmt.Errorf("input.EncryptedItem is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemInput_encryptedItem_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemInput_encryptedItem_Validate() + } + + return nil +} + +func (input DecryptItemInput) Com_amazonaws_dynamodb_AttributeMap_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input DecryptItemInput) Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + if input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input DecryptItemInput) Com_amazonaws_dynamodb_AttributeValue_M_Validate(Value map[string]dynamodbtypes.AttributeValue) error { + for key, value := range Value { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) + } + } + + return nil +} +func (input DecryptItemInput) Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + if input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input DecryptItemInput) Com_amazonaws_dynamodb_AttributeValue_L_Validate(Value []dynamodbtypes.AttributeValue) error { + for _, item := range Value { + if input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) != nil { + return input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) + } + } + + return nil +} +func (input DecryptItemInput) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemInput_encryptedItem_Validate() error { + for key, value := range input.EncryptedItem { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) + } + } + + return nil +} + +type EncryptItemInput struct { + PlaintextItem map[string]dynamodbtypes.AttributeValue +} + +func (input EncryptItemInput) Validate() error { + if input.PlaintextItem == nil { + return fmt.Errorf("input.PlaintextItem is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemInput_plaintextItem_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemInput_plaintextItem_Validate() + } + + return nil +} + +func (input EncryptItemInput) Com_amazonaws_dynamodb_AttributeMap_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input EncryptItemInput) Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + if input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input EncryptItemInput) Com_amazonaws_dynamodb_AttributeValue_M_Validate(Value map[string]dynamodbtypes.AttributeValue) error { + for key, value := range Value { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) + } + } + + return nil +} +func (input EncryptItemInput) Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + if input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input EncryptItemInput) Com_amazonaws_dynamodb_AttributeValue_L_Validate(Value []dynamodbtypes.AttributeValue) error { + for _, item := range Value { + if input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) != nil { + return input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) + } + } + + return nil +} +func (input EncryptItemInput) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemInput_plaintextItem_Validate() error { + for key, value := range input.PlaintextItem { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) + } + } + + return nil +} + +type ParsedHeader struct { + AlgorithmSuiteId awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + + AttributeActionsOnEncrypt map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction + + EncryptedDataKeys []awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey + + EncryptionContext map[string]string + + SelectorContext map[string]dynamodbtypes.AttributeValue + + StoredEncryptionContext map[string]string +} + +func (input ParsedHeader) Validate() error { + if input.AttributeActionsOnEncrypt == nil { + return fmt.Errorf("input.AttributeActionsOnEncrypt is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_attributeActionsOnEncrypt_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_attributeActionsOnEncrypt_Validate() + } + if input.EncryptedDataKeys == nil { + return fmt.Errorf("input.EncryptedDataKeys is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptedDataKeys_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptedDataKeys_Validate() + } + if input.EncryptionContext == nil { + return fmt.Errorf("input.EncryptionContext is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptionContext_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptionContext_Validate() + } + if input.SelectorContext == nil { + return fmt.Errorf("input.SelectorContext is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_selectorContext_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_selectorContext_Validate() + } + if input.StoredEncryptionContext == nil { + return fmt.Errorf("input.StoredEncryptionContext is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_storedEncryptionContext_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_storedEncryptionContext_Validate() + } + + return nil +} + +func (input ParsedHeader) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_attributeActionsOnEncrypt_Validate() error { + for key, _ := range input.AttributeActionsOnEncrypt { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + } + + return nil +} +func (input ParsedHeader) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptedDataKeys_Validate() error { + for _, item := range input.EncryptedDataKeys { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input ParsedHeader) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_encryptionContext_Validate() error { + for key, value := range input.EncryptionContext { + if !utf8.ValidString(key) { + return fmt.Errorf("Invalid UTF bytes %s ", key) + } + if !utf8.ValidString(value) { + return fmt.Errorf("Invalid UTF bytes %s ", value) + } + } + + return nil +} +func (input ParsedHeader) Com_amazonaws_dynamodb_Key_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input ParsedHeader) Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + if input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input ParsedHeader) Com_amazonaws_dynamodb_AttributeValue_M_Validate(Value map[string]dynamodbtypes.AttributeValue) error { + for key, value := range Value { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) + } + } + + return nil +} +func (input ParsedHeader) Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + if input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input ParsedHeader) Com_amazonaws_dynamodb_AttributeValue_L_Validate(Value []dynamodbtypes.AttributeValue) error { + for _, item := range Value { + if input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) != nil { + return input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) + } + } + + return nil +} +func (input ParsedHeader) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_selectorContext_Validate() error { + for key, value := range input.SelectorContext { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_Key_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_Key_value_Validate(value) + } + } + + return nil +} +func (input ParsedHeader) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_ParsedHeader_storedEncryptionContext_Validate() error { + for key, value := range input.StoredEncryptionContext { + if !utf8.ValidString(key) { + return fmt.Errorf("Invalid UTF bytes %s ", key) + } + if !utf8.ValidString(value) { + return fmt.Errorf("Invalid UTF bytes %s ", value) + } + } + + return nil +} + +type DecryptItemOutput struct { + PlaintextItem map[string]dynamodbtypes.AttributeValue + + ParsedHeader *ParsedHeader +} + +func (input DecryptItemOutput) Validate() error { + if input.PlaintextItem == nil { + return fmt.Errorf("input.PlaintextItem is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_plaintextItem_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_plaintextItem_Validate() + } + if input.ParsedHeader != nil { + if input.ParsedHeader.Validate() != nil { + return input.ParsedHeader.Validate() + } + + } + + return nil +} + +func (input DecryptItemOutput) Com_amazonaws_dynamodb_AttributeMap_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input DecryptItemOutput) Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + if input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input DecryptItemOutput) Com_amazonaws_dynamodb_AttributeValue_M_Validate(Value map[string]dynamodbtypes.AttributeValue) error { + for key, value := range Value { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) + } + } + + return nil +} +func (input DecryptItemOutput) Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + if input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input DecryptItemOutput) Com_amazonaws_dynamodb_AttributeValue_L_Validate(Value []dynamodbtypes.AttributeValue) error { + for _, item := range Value { + if input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) != nil { + return input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) + } + } + + return nil +} +func (input DecryptItemOutput) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DecryptItemOutput_plaintextItem_Validate() error { + for key, value := range input.PlaintextItem { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) + } + } + + return nil +} + +type EncryptItemOutput struct { + EncryptedItem map[string]dynamodbtypes.AttributeValue + + ParsedHeader *ParsedHeader +} + +func (input EncryptItemOutput) Validate() error { + if input.EncryptedItem == nil { + return fmt.Errorf("input.EncryptedItem is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_encryptedItem_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_encryptedItem_Validate() + } + if input.ParsedHeader != nil { + if input.ParsedHeader.Validate() != nil { + return input.ParsedHeader.Validate() + } + + } + + return nil +} + +func (input EncryptItemOutput) Com_amazonaws_dynamodb_AttributeMap_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input EncryptItemOutput) Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + if input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input EncryptItemOutput) Com_amazonaws_dynamodb_AttributeValue_M_Validate(Value map[string]dynamodbtypes.AttributeValue) error { + for key, value := range Value { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) + } + } + + return nil +} +func (input EncryptItemOutput) Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + if input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input EncryptItemOutput) Com_amazonaws_dynamodb_AttributeValue_L_Validate(Value []dynamodbtypes.AttributeValue) error { + for _, item := range Value { + if input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) != nil { + return input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) + } + } + + return nil +} +func (input EncryptItemOutput) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_EncryptItemOutput_encryptedItem_Validate() error { + for key, value := range input.EncryptedItem { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) + } + } + + return nil +} + +type AtomicPrimitivesReference struct { +} + +func (input AtomicPrimitivesReference) Validate() error { + + return nil +} + +type DynamoDbItemEncryptorConfig struct { + AttributeActionsOnEncrypt map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction + + LogicalTableName string + + PartitionKeyName string + + AlgorithmSuiteId *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + + AllowedUnsignedAttributePrefix *string + + AllowedUnsignedAttributes []string + + Cmm awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager + + Keyring awscryptographymaterialproviderssmithygeneratedtypes.IKeyring + + LegacyOverride *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride + + PlaintextOverride *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride + + SortKeyName *string +} + +func (input DynamoDbItemEncryptorConfig) Validate() error { + if input.AttributeActionsOnEncrypt == nil { + return fmt.Errorf("input.AttributeActionsOnEncrypt is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_attributeActionsOnEncrypt_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_attributeActionsOnEncrypt_Validate() + } + if len(input.PartitionKeyName) < 1 { + return fmt.Errorf("KeySchemaAttributeName has a minimum length of 1 but has the length of %d.", len(input.PartitionKeyName)) + } + if len(input.PartitionKeyName) > 255 { + return fmt.Errorf("KeySchemaAttributeName has a maximum length of 255 but has the length of %d.", len(input.PartitionKeyName)) + } + if len(input.AllowedUnsignedAttributes) < 1 { + return fmt.Errorf("AttributeNameList has a minimum length of 1 but has the length of %d.", len(input.AllowedUnsignedAttributes)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributes_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributes_Validate() + } + if input.LegacyOverride != nil { + if input.LegacyOverride.Validate() != nil { + return input.LegacyOverride.Validate() + } + + } + if input.SortKeyName != nil { + if len(*input.SortKeyName) < 1 { + return fmt.Errorf("KeySchemaAttributeName has a minimum length of 1 but has the length of %d.", len(*input.SortKeyName)) + } + if len(*input.SortKeyName) > 255 { + return fmt.Errorf("KeySchemaAttributeName has a maximum length of 255 but has the length of %d.", len(*input.SortKeyName)) + } + } + + return nil +} + +func (input DynamoDbItemEncryptorConfig) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_attributeActionsOnEncrypt_Validate() error { + for key, _ := range input.AttributeActionsOnEncrypt { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + } + + return nil +} +func (input DynamoDbItemEncryptorConfig) Aws_cryptography_dbEncryptionSdk_dynamoDb_itemEncryptor_DynamoDbItemEncryptorConfig_allowedUnsignedAttributes_Validate() error { + for _, item := range input.AllowedUnsignedAttributes { + if len(item) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(item)) + } + if len(item) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(item)) + } + } + + return nil +} + +type StructuredEncryptionReference struct { +} + +func (input StructuredEncryptionReference) Validate() error { + + return nil +} + +type DynamoDbItemEncryptorBaseException interface { + // This is a dummy method to allow type assertion since Go empty interfaces + // aren't useful for type assertion checks. No concrete class is expected to implement + // this method. This is also not exported. + interfaceBindingMethod() +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes/unmodelled_errors.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes/unmodelled_errors.go new file mode 100644 index 000000000..e6a12a0b3 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes/unmodelled_errors.go @@ -0,0 +1,26 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes + +import ( + "fmt" +) + +type CollectionOfErrors struct { + DynamoDbItemEncryptorBaseException + ListOfErrors []error + Message string +} + +func (e CollectionOfErrors) Error() string { + return fmt.Sprintf("message: %s\n err %v", e.Message, e.ListOfErrors) +} + +type OpaqueError struct { + DynamoDbItemEncryptorBaseException + ErrObject interface{} +} + +func (e OpaqueError) Error() string { + return fmt.Sprintf("message: %v", e.ErrObject) +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/DynamoDbKeyBranchKeyIdSupplier.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/DynamoDbKeyBranchKeyIdSupplier.go new file mode 100644 index 000000000..3be011021 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/DynamoDbKeyBranchKeyIdSupplier.go @@ -0,0 +1,25 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygenerated + +import ( + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" +) + +type DynamoDbKeyBranchKeyIdSupplier struct { + Impl AwsCryptographyDbEncryptionSdkDynamoDbTypes.IDynamoDbKeyBranchKeyIdSupplier +} + +func (this *DynamoDbKeyBranchKeyIdSupplier) GetBranchKeyIdFromDdbKey(params awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetBranchKeyIdFromDdbKeyInput) (*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetBranchKeyIdFromDdbKeyOutput, error) { + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetBranchKeyIdFromDdbKeyInput = GetBranchKeyIdFromDdbKeyInput_ToDafny(params) + var dafny_response = this.Impl.GetBranchKeyIdFromDdbKey(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = GetBranchKeyIdFromDdbKeyOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetBranchKeyIdFromDdbKeyOutput)) + return &native_response, nil + +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/DynamoDbKeyBranchKeyIdSupplierNativeWrapper.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/DynamoDbKeyBranchKeyIdSupplierNativeWrapper.go new file mode 100644 index 000000000..49450292e --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/DynamoDbKeyBranchKeyIdSupplierNativeWrapper.go @@ -0,0 +1,23 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygenerated + +import ( + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" +) + +type DynamoDbKeyBranchKeyIdSupplierNativeWrapper struct { + AwsCryptographyDbEncryptionSdkDynamoDbTypes.IDynamoDbKeyBranchKeyIdSupplier + Impl awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.IDynamoDbKeyBranchKeyIdSupplier +} + +func (this *DynamoDbKeyBranchKeyIdSupplierNativeWrapper) GetBranchKeyIdFromDdbKey(input AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetBranchKeyIdFromDdbKeyInput) Wrappers.Result { + var native_request = GetBranchKeyIdFromDdbKeyInput_FromDafny(input) + var native_response, native_error = this.Impl.GetBranchKeyIdFromDdbKey(native_request) + if native_error != nil { + return Wrappers.Companion_Result_.Create_Failure_(Error_ToDafny(native_error)) + } + return Wrappers.Companion_Result_.Create_Success_(GetBranchKeyIdFromDdbKeyOutput_ToDafny(*native_response)) +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/LegacyDynamoDbEncryptor.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/LegacyDynamoDbEncryptor.go new file mode 100644 index 000000000..eafc684e5 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/LegacyDynamoDbEncryptor.go @@ -0,0 +1,11 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygenerated + +import ( + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" +) + +type LegacyDynamoDbEncryptor struct { + Impl AwsCryptographyDbEncryptionSdkDynamoDbTypes.ILegacyDynamoDbEncryptor +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/LegacyDynamoDbEncryptorNativeWrapper.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/LegacyDynamoDbEncryptorNativeWrapper.go new file mode 100644 index 000000000..785ae9a55 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/LegacyDynamoDbEncryptorNativeWrapper.go @@ -0,0 +1,13 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygenerated + +import ( + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" +) + +type LegacyDynamoDbEncryptorNativeWrapper struct { + AwsCryptographyDbEncryptionSdkDynamoDbTypes.ILegacyDynamoDbEncryptor + Impl awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ILegacyDynamoDbEncryptor +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/api_client.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/api_client.go new file mode 100644 index 000000000..beeda18d4 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/api_client.go @@ -0,0 +1,68 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygenerated + +import ( + "context" + + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/DynamoDbEncryption" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" +) + +type Client struct { + DafnyClient AwsCryptographyDbEncryptionSdkDynamoDbTypes.IDynamoDbEncryptionClient +} + +func NewClient(clientConfig awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionConfig) (*Client, error) { + var dafnyConfig = DynamoDbEncryptionConfig_ToDafny(clientConfig) + var dafny_response = DynamoDbEncryption.Companion_Default___.DynamoDbEncryption(dafnyConfig) + if dafny_response.Is_Failure() { + panic("Client construction failed. This should never happen") + } + var dafnyClient = dafny_response.Extract().(AwsCryptographyDbEncryptionSdkDynamoDbTypes.IDynamoDbEncryptionClient) + client := &Client{dafnyClient} + return client, nil +} + +func (client *Client) CreateDynamoDbEncryptionBranchKeyIdSupplier(ctx context.Context, params awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CreateDynamoDbEncryptionBranchKeyIdSupplierInput) (*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CreateDynamoDbEncryptionBranchKeyIdSupplierOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTypes.CreateDynamoDbEncryptionBranchKeyIdSupplierInput = CreateDynamoDbEncryptionBranchKeyIdSupplierInput_ToDafny(params) + var dafny_response = client.DafnyClient.CreateDynamoDbEncryptionBranchKeyIdSupplier(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = CreateDynamoDbEncryptionBranchKeyIdSupplierOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CreateDynamoDbEncryptionBranchKeyIdSupplierOutput)) + return &native_response, nil + +} + +func (client *Client) GetEncryptedDataKeyDescription(ctx context.Context, params awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionInput) (*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionInput = GetEncryptedDataKeyDescriptionInput_ToDafny(params) + var dafny_response = client.DafnyClient.GetEncryptedDataKeyDescription(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = GetEncryptedDataKeyDescriptionOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionOutput)) + return &native_response, nil + +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/to_dafny.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/to_dafny.go new file mode 100644 index 000000000..015d4054d --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/to_dafny.go @@ -0,0 +1,1821 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygenerated + +import ( + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/comamazonawsdynamodbsmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographykeystoresmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographykeystoresmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/awscryptographyprimitivessmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/awscryptographyprimitivessmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UTF8" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" + dynamodbtypes "github.com/aws/aws-sdk-go-v2/service/dynamodb/types" + "github.com/aws/smithy-go" + "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" +) + +func CreateDynamoDbEncryptionBranchKeyIdSupplierInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CreateDynamoDbEncryptionBranchKeyIdSupplierInput) AwsCryptographyDbEncryptionSdkDynamoDbTypes.CreateDynamoDbEncryptionBranchKeyIdSupplierInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.CreateDynamoDbEncryptionBranchKeyIdSupplierInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_CreateDynamoDbEncryptionBranchKeyIdSupplierInput_.Create_CreateDynamoDbEncryptionBranchKeyIdSupplierInput_(DynamoDbKeyBranchKeyIdSupplier_ToDafny(nativeInput.DdbKeyBranchKeyIdSupplier)) + }() + +} + +func CreateDynamoDbEncryptionBranchKeyIdSupplierOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CreateDynamoDbEncryptionBranchKeyIdSupplierOutput) AwsCryptographyDbEncryptionSdkDynamoDbTypes.CreateDynamoDbEncryptionBranchKeyIdSupplierOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.CreateDynamoDbEncryptionBranchKeyIdSupplierOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_CreateDynamoDbEncryptionBranchKeyIdSupplierOutput_.Create_CreateDynamoDbEncryptionBranchKeyIdSupplierOutput_(awscryptographymaterialproviderssmithygenerated.BranchKeyIdSupplier_ToDafny(nativeOutput.BranchKeyIdSupplier)) + }() + +} + +func GetEncryptedDataKeyDescriptionInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionInput) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetEncryptedDataKeyDescriptionInput_.Create_GetEncryptedDataKeyDescriptionInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionInput_input_ToDafny(nativeInput.Input)) + }() + +} + +func GetEncryptedDataKeyDescriptionOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionOutput) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetEncryptedDataKeyDescriptionOutput_.Create_GetEncryptedDataKeyDescriptionOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionOutput_EncryptedDataKeyDescriptionOutput_ToDafny(nativeOutput.EncryptedDataKeyDescriptionOutput)) + }() + +} + +func GetBranchKeyIdFromDdbKeyInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetBranchKeyIdFromDdbKeyInput) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetBranchKeyIdFromDdbKeyInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetBranchKeyIdFromDdbKeyInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetBranchKeyIdFromDdbKeyInput_.Create_GetBranchKeyIdFromDdbKeyInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyInput_ddbKey_ToDafny(nativeInput.DdbKey)) + }() + +} + +func GetBranchKeyIdFromDdbKeyOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetBranchKeyIdFromDdbKeyOutput) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetBranchKeyIdFromDdbKeyOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetBranchKeyIdFromDdbKeyOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetBranchKeyIdFromDdbKeyOutput_.Create_GetBranchKeyIdFromDdbKeyOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyOutput_branchKeyId_ToDafny(nativeOutput.BranchKeyId)) + }() + +} + +func DynamoDbKeyBranchKeyIdSupplier_ToDafny(nativeResource awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.IDynamoDbKeyBranchKeyIdSupplier) AwsCryptographyDbEncryptionSdkDynamoDbTypes.IDynamoDbKeyBranchKeyIdSupplier { + val, ok := nativeResource.(*DynamoDbKeyBranchKeyIdSupplier) + if ok { + return val.Impl + } + return DynamoDbKeyBranchKeyIdSupplier{&DynamoDbKeyBranchKeyIdSupplierNativeWrapper{Impl: nativeResource}}.Impl + +} + +func LegacyDynamoDbEncryptor_ToDafny(nativeResource awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ILegacyDynamoDbEncryptor) AwsCryptographyDbEncryptionSdkDynamoDbTypes.ILegacyDynamoDbEncryptor { + val, ok := nativeResource.(*LegacyDynamoDbEncryptor) + if ok { + return val.Impl + } + return LegacyDynamoDbEncryptor{&LegacyDynamoDbEncryptorNativeWrapper{Impl: nativeResource}}.Impl + +} + +func DynamoDbEncryptionException_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionException) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_DynamoDbEncryptionException_(Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbEncryptionException_message_ToDafny(nativeInput.Message)) + }() + +} + +func CollectionOfErrors_Input_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CollectionOfErrors) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error { + var e []interface{} + for _, i2 := range nativeInput.ListOfErrors { + e = append(e, Error_ToDafny(i2)) + } + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_CollectionOfErrors_(dafny.SeqOf(e...), func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(nativeInput.Message)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) +} +func OpaqueError_Input_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.OpaqueError) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error { + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_Opaque_(nativeInput.ErrObject) +} + +func Error_ToDafny(err error) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error { + switch err.(type) { + // Service Errors + case awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionException: + return DynamoDbEncryptionException_ToDafny(err.(awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionException)) + + //DependentErrors + case awscryptographyprimitivessmithygeneratedtypes.AwsCryptographicPrimitivesBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(awscryptographyprimitivessmithygenerated.Error_ToDafny(err)) + + case awscryptographymaterialproviderssmithygeneratedtypes.AwsCryptographicMaterialProvidersBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_AwsCryptographyMaterialProviders_(awscryptographymaterialproviderssmithygenerated.Error_ToDafny(err)) + + case awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_AwsCryptographyDbEncryptionSdkStructuredEncryption_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_ToDafny(err)) + + case awscryptographykeystoresmithygeneratedtypes.KeyStoreBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_AwsCryptographyKeyStore_(awscryptographykeystoresmithygenerated.Error_ToDafny(err)) + + case *smithy.OperationError: + if err.(*smithy.OperationError).Service() == "DynamoDB" { + DynamoDBError := comamazonawsdynamodbsmithygenerated.Error_ToDafny(err) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_ComAmazonawsDynamodb_(DynamoDBError) + } + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_Opaque_(err) + + case smithy.APIError: + DynamoDBError := comamazonawsdynamodbsmithygenerated.Error_ToDafny(err) + if !DynamoDBError.Is_OpaqueWithText() { + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_ComAmazonawsDynamodb_(DynamoDBError) + } + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Error_.Create_Opaque_(err) + + //Unmodelled Errors + case awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CollectionOfErrors: + return CollectionOfErrors_Input_ToDafny(err.(awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CollectionOfErrors)) + + default: + error, ok := err.(awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.OpaqueError) + if !ok { + panic("Error is not an OpaqueError") + } + return OpaqueError_Input_ToDafny(error) + } +} + +func DynamoDbEncryptionConfig_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionConfig) AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbEncryptionConfig { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbEncryptionConfig { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_DynamoDbEncryptionConfig_.Create_DynamoDbEncryptionConfig_() + }() + +} + +func AsSet_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.AsSet) AwsCryptographyDbEncryptionSdkDynamoDbTypes.AsSet { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.AsSet { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_AsSet_.Create_AsSet_() + }() + +} + +func MultiKeyStore_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.MultiKeyStore) AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_MultiKeyStore_.Create_MultiKeyStore_(Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_keyFieldName_ToDafny(nativeInput.KeyFieldName), Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cacheTTL_ToDafny(nativeInput.CacheTTL), Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cache_ToDafny(nativeInput.Cache), Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_partitionId_ToDafny(nativeInput.PartitionId)) + }() + +} + +func SingleKeyStore_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SingleKeyStore) AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_SingleKeyStore_.Create_SingleKeyStore_(Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_keyId_ToDafny(nativeInput.KeyId), Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cacheTTL_ToDafny(nativeInput.CacheTTL), Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cache_ToDafny(nativeInput.Cache), Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_partitionId_ToDafny(nativeInput.PartitionId)) + }() + +} + +func BeaconKeySource_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySource) AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource { + + switch nativeInput.(type) { + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembersingle: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_single_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembersingle).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconKeySource_{}.Create_single_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembermulti: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_multi_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembermulti).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconKeySource_{}.Create_multi_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore)) + + default: + panic("Unhandled union type") + } + }() + +} + +func PartOnly_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PartOnly) AwsCryptographyDbEncryptionSdkDynamoDbTypes.PartOnly { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.PartOnly { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_PartOnly_.Create_PartOnly_() + }() + +} + +func Shared_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Shared) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Shared { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.Shared { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Shared_.Create_Shared_(Aws_cryptography_dbEncryptionSdk_dynamoDb_Shared_other_ToDafny(nativeInput.Other)) + }() + +} + +func SharedSet_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SharedSet) AwsCryptographyDbEncryptionSdkDynamoDbTypes.SharedSet { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.SharedSet { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_SharedSet_.Create_SharedSet_(Aws_cryptography_dbEncryptionSdk_dynamoDb_SharedSet_other_ToDafny(nativeInput.Other)) + }() + +} + +func BeaconStyle_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyle) AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle { + + switch nativeInput.(type) { + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberpartOnly: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_partOnly_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberpartOnly).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconStyle_{}.Create_partOnly_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PartOnly)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembershared: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_shared_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembershared).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconStyle_{}.Create_shared_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Shared)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberasSet: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_asSet_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberasSet).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconStyle_{}.Create_asSet_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.AsSet)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembersharedSet: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_sharedSet_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembersharedSet).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconStyle_{}.Create_sharedSet_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SharedSet)) + + default: + panic("Unhandled union type") + } + }() + +} + +func ConstructorPart_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ConstructorPart) AwsCryptographyDbEncryptionSdkDynamoDbTypes.ConstructorPart { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.ConstructorPart { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_ConstructorPart_.Create_ConstructorPart_(Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_name_ToDafny(nativeInput.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_required_ToDafny(nativeInput.Required)) + }() + +} + +func Constructor_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Constructor) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Constructor { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.Constructor { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Constructor_.Create_Constructor_(Aws_cryptography_dbEncryptionSdk_dynamoDb_Constructor_parts_ToDafny(nativeInput.Parts)) + }() + +} + +func EncryptedPart_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart) AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedPart { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedPart { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_EncryptedPart_.Create_EncryptedPart_(Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_name_ToDafny(nativeInput.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_prefix_ToDafny(nativeInput.Prefix)) + }() + +} + +func SignedPart_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart) AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_SignedPart_.Create_SignedPart_(Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_name_ToDafny(nativeInput.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_prefix_ToDafny(nativeInput.Prefix), Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_loc_ToDafny(nativeInput.Loc)) + }() + +} + +func CompoundBeacon_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CompoundBeacon) AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_CompoundBeacon_.Create_CompoundBeacon_(Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_name_ToDafny(nativeInput.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_split_ToDafny(nativeInput.Split), Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_encrypted_ToDafny(nativeInput.Encrypted), Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_signed_ToDafny(nativeInput.Signed), Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_constructors_ToDafny(nativeInput.Constructors)) + }() + +} + +func StandardBeacon_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.StandardBeacon) AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_StandardBeacon_.Create_StandardBeacon_(Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_name_ToDafny(nativeInput.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_length_ToDafny(nativeInput.Length), Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_loc_ToDafny(nativeInput.Loc), Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_style_ToDafny(nativeInput.Style)) + }() + +} + +func Insert_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Insert) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Insert { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.Insert { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Insert_.Create_Insert_(Aws_cryptography_dbEncryptionSdk_dynamoDb_Insert_literal_ToDafny(nativeInput.Literal)) + }() + +} + +func Lower_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Lower) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Lower { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.Lower { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Lower_.Create_Lower_() + }() + +} + +func GetPrefix_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetPrefix) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetPrefix { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetPrefix { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetPrefix_.Create_GetPrefix_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetPrefix_length_ToDafny(nativeInput.Length)) + }() + +} + +func GetSegment_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegment) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegment { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegment { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetSegment_.Create_GetSegment_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_split_ToDafny(nativeInput.Split), Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_index_ToDafny(nativeInput.Index)) + }() + +} + +func GetSegments_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegments) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetSegments_.Create_GetSegments_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_split_ToDafny(nativeInput.Split), Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_low_ToDafny(nativeInput.Low), Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_high_ToDafny(nativeInput.High)) + }() + +} + +func GetSubstring_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSubstring) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSubstring { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSubstring { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetSubstring_.Create_GetSubstring_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_low_ToDafny(nativeInput.Low), Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_high_ToDafny(nativeInput.High)) + }() + +} + +func GetSuffix_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSuffix) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSuffix { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSuffix { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetSuffix_.Create_GetSuffix_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSuffix_length_ToDafny(nativeInput.Length)) + }() + +} + +func Upper_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Upper) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Upper { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.Upper { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Upper_.Create_Upper_() + }() + +} + +func VirtualTransform_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransform) AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform { + + switch nativeInput.(type) { + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberupper: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_upper_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberupper).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_upper_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Upper)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberlower: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_lower_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberlower).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_lower_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Lower)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberinsert: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_insert_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberinsert).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_insert_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Insert)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberprefix: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_prefix_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberprefix).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_prefix_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetPrefix)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersuffix: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_suffix_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersuffix).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_suffix_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSuffix)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersubstring: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_substring_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersubstring).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_substring_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSubstring)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegment: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segment_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegment).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_segment_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegment)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegments: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segments_ToDafny(nativeInput.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegments).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_segments_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments)) + + default: + panic("Unhandled union type") + } + }() + +} + +func VirtualPart_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualPart) AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualPart { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualPart { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_VirtualPart_.Create_VirtualPart_(Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_loc_ToDafny(nativeInput.Loc), Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_trans_ToDafny(nativeInput.Trans)) + }() + +} + +func VirtualField_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualField) AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualField { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualField { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_VirtualField_.Create_VirtualField_(Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_name_ToDafny(nativeInput.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_parts_ToDafny(nativeInput.Parts)) + }() + +} + +func BeaconVersion_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconVersion) AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_BeaconVersion_.Create_BeaconVersion_(Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_version_ToDafny(nativeInput.Version), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keyStore_ToDafny(nativeInput.KeyStore), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keySource_ToDafny(nativeInput.KeySource), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_standardBeacons_ToDafny(nativeInput.StandardBeacons), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_compoundBeacons_ToDafny(nativeInput.CompoundBeacons), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_virtualFields_ToDafny(nativeInput.VirtualFields), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_encryptedParts_ToDafny(nativeInput.EncryptedParts), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_signedParts_ToDafny(nativeInput.SignedParts)) + }() + +} + +func LegacyPolicy_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyPolicy) AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy { + + var index int + for _, enumVal := range nativeInput.Values() { + index++ + if enumVal == nativeInput { + break + } + if index == len(nativeInput.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_LegacyPolicy_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy) + }() + +} + +func LegacyOverride_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride) AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_LegacyOverride_.Create_LegacyOverride_(Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_policy_ToDafny(nativeInput.Policy), LegacyDynamoDbEncryptor_ToDafny(nativeInput.Encryptor), Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_ToDafny(nativeInput.AttributeActionsOnEncrypt), Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_defaultAttributeFlag_ToDafny(nativeInput.DefaultAttributeFlag)) + }() + +} + +func PlaintextOverride_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride) AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride { + + var index int + for _, enumVal := range nativeInput.Values() { + index++ + if enumVal == nativeInput { + break + } + if index == len(nativeInput.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_PlaintextOverride_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride) + }() + +} + +func SearchConfig_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SearchConfig) AwsCryptographyDbEncryptionSdkDynamoDbTypes.SearchConfig { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.SearchConfig { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_SearchConfig_.Create_SearchConfig_(Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_versions_ToDafny(nativeInput.Versions), Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_writeVersion_ToDafny(nativeInput.WriteVersion)) + }() + +} + +func DynamoDbTableEncryptionConfig_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig) AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_DynamoDbTableEncryptionConfig_.Create_DynamoDbTableEncryptionConfig_(Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_logicalTableName_ToDafny(nativeInput.LogicalTableName), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_partitionKeyName_ToDafny(nativeInput.PartitionKeyName), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_sortKeyName_ToDafny(nativeInput.SortKeyName), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_search_ToDafny(nativeInput.Search), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_attributeActionsOnEncrypt_ToDafny(nativeInput.AttributeActionsOnEncrypt), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributes_ToDafny(nativeInput.AllowedUnsignedAttributes), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributePrefix_ToDafny(nativeInput.AllowedUnsignedAttributePrefix), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_algorithmSuiteId_ToDafny(nativeInput.AlgorithmSuiteId), func() Wrappers.Option { + if (nativeInput.Keyring) == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(awscryptographymaterialproviderssmithygenerated.Keyring_ToDafny(nativeInput.Keyring)) + }(), func() Wrappers.Option { + if (nativeInput.Cmm) == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_ToDafny(nativeInput.Cmm)) + }(), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_legacyOverride_ToDafny(nativeInput.LegacyOverride), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_plaintextOverride_ToDafny(nativeInput.PlaintextOverride)) + }() + +} + +func DynamoDbTablesEncryptionConfig_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTablesEncryptionConfig) AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTablesEncryptionConfig { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTablesEncryptionConfig { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_DynamoDbTablesEncryptionConfig_.Create_DynamoDbTablesEncryptionConfig_(Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTablesEncryptionConfig_tableEncryptionConfigs_ToDafny(nativeInput.TableEncryptionConfigs)) + }() + +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionInput_input_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionUnion) AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionUnion { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionUnion { + + switch input.(type) { + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionUnionMemberheader: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_header_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionUnionMemberheader).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_GetEncryptedDataKeyDescriptionUnion_{}.Create_header_(inputToConversion.UnwrapOr(nil).(dafny.Sequence)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionUnionMemberitem: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_item_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionUnionMemberitem).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_GetEncryptedDataKeyDescriptionUnion_{}.Create_item_(inputToConversion.UnwrapOr(nil).(dafny.Map)) + + default: + panic("Unhandled union type") + } + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_header_ToDafny(input []byte) Wrappers.Option { + return func() Wrappers.Option { + v := make([]interface{}, 0, len(input)) + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + for _, e := range input { + v = append(v, e) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqFromArray(v, false)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_item_ToDafny(input map[string]dynamodbtypes.AttributeValue) Wrappers.Option { + return func() Wrappers.Option { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_ToDafny(key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_ToDafny(val)) + } + return Wrappers.Companion_Option_.Create_Some_(fieldValue.ToMap()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionOutput_EncryptedDataKeyDescriptionOutput_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedDataKeyDescription) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescriptionList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescriptionList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedDataKeyDescription) AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedDataKeyDescription { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedDataKeyDescription { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_EncryptedDataKeyDescription_.Create_EncryptedDataKeyDescription_(Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_keyProviderId_ToDafny(input.KeyProviderId), Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_keyProviderInfo_ToDafny(input.KeyProviderInfo), Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_branchKeyId_ToDafny(input.BranchKeyId), Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_branchKeyVersion_ToDafny(input.BranchKeyVersion)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_keyProviderId_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_keyProviderInfo_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_branchKeyId_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_branchKeyVersion_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyInput_ddbKey_ToDafny(input map[string]dynamodbtypes.AttributeValue) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_Key_key_ToDafny(key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_Key_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyOutput_branchKeyId_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbEncryptionException_message_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_keyFieldName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cacheTTL_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cache_ToDafny(input awscryptographymaterialproviderssmithygeneratedtypes.CacheType) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + switch input.(type) { + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberDefault: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_Default_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberDefault).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_Default_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.DefaultCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberNo: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_No_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberNo).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_No_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.NoCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberSingleThreaded: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_SingleThreaded_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberSingleThreaded).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_SingleThreaded_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.SingleThreadedCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberMultiThreaded: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_MultiThreaded_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberMultiThreaded).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_MultiThreaded_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.MultiThreadedCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberStormTracking: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_StormTracking_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberStormTracking).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_StormTracking_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.StormTrackingCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared: + var inputToConversion = func() Wrappers.Option { + if (input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared).Value) == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsCache_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared).Value)) + }() + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_Shared_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsCache))) + + default: + panic("Unhandled union type") + } + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_partitionId_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_keyId_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cacheTTL_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cache_ToDafny(input awscryptographymaterialproviderssmithygeneratedtypes.CacheType) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + switch input.(type) { + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberDefault: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_Default_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberDefault).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_Default_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.DefaultCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberNo: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_No_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberNo).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_No_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.NoCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberSingleThreaded: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_SingleThreaded_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberSingleThreaded).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_SingleThreaded_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.SingleThreadedCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberMultiThreaded: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_MultiThreaded_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberMultiThreaded).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_MultiThreaded_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.MultiThreadedCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberStormTracking: + var inputToConversion = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_StormTracking_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberStormTracking).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_StormTracking_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.StormTrackingCache))) + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared: + var inputToConversion = func() Wrappers.Option { + if (input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared).Value) == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsCache_ToDafny(input.(*awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared).Value)) + }() + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyMaterialProvidersTypes.CompanionStruct_CacheType_{}.Create_Shared_(inputToConversion.UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsCache))) + + default: + panic("Unhandled union type") + } + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_partitionId_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_single_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SingleKeyStore) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_SingleKeyStore_.Create_SingleKeyStore_(Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_keyId_ToDafny(input.KeyId), Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cacheTTL_ToDafny(input.CacheTTL), Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cache_ToDafny(input.Cache), Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_partitionId_ToDafny(input.PartitionId))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_multi_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.MultiKeyStore) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_MultiKeyStore_.Create_MultiKeyStore_(Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_keyFieldName_ToDafny(input.KeyFieldName), Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cacheTTL_ToDafny(input.CacheTTL), Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cache_ToDafny(input.Cache), Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_partitionId_ToDafny(input.PartitionId))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_Shared_other_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SharedSet_other_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_partOnly_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PartOnly) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_PartOnly_.Create_PartOnly_()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_shared_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Shared) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Shared_.Create_Shared_(Aws_cryptography_dbEncryptionSdk_dynamoDb_Shared_other_ToDafny(input.Other))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_asSet_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.AsSet) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_AsSet_.Create_AsSet_()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_sharedSet_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SharedSet) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_SharedSet_.Create_SharedSet_(Aws_cryptography_dbEncryptionSdk_dynamoDb_SharedSet_other_ToDafny(input.Other))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_name_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_required_ToDafny(input bool) bool { + return func() bool { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_Constructor_parts_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ConstructorPart) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPartList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPartList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ConstructorPart) AwsCryptographyDbEncryptionSdkDynamoDbTypes.ConstructorPart { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.ConstructorPart { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_ConstructorPart_.Create_ConstructorPart_(Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_name_ToDafny(input.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_required_ToDafny(input.Required)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_name_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_prefix_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_name_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_prefix_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_loc_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_name_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_split_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_encrypted_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPartsList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPartsList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart) AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedPart { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedPart { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_EncryptedPart_.Create_EncryptedPart_(Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_name_ToDafny(input.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_prefix_ToDafny(input.Prefix)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_signed_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPartsList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPartsList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart) AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_SignedPart_.Create_SignedPart_(Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_name_ToDafny(input.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_prefix_ToDafny(input.Prefix), Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_loc_ToDafny(input.Loc)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_constructors_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Constructor) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Constructor) AwsCryptographyDbEncryptionSdkDynamoDbTypes.Constructor { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.Constructor { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Constructor_.Create_Constructor_(Aws_cryptography_dbEncryptionSdk_dynamoDb_Constructor_parts_ToDafny(input.Parts)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_name_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_length_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_loc_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_style_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyle) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + switch input.(type) { + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberpartOnly: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_partOnly_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberpartOnly).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconStyle_{}.Create_partOnly_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PartOnly))) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembershared: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_shared_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembershared).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconStyle_{}.Create_shared_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Shared))) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberasSet: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_asSet_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberasSet).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconStyle_{}.Create_asSet_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.AsSet))) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembersharedSet: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_sharedSet_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembersharedSet).Value) + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconStyle_{}.Create_sharedSet_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SharedSet))) + + default: + panic("Unhandled union type") + } + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_Insert_literal_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetPrefix_length_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_split_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_index_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_split_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_low_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_high_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_low_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_high_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSuffix_length_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_upper_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Upper) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Upper_.Create_Upper_()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_lower_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Lower) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Lower_.Create_Lower_()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_insert_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Insert) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_Insert_.Create_Insert_(Aws_cryptography_dbEncryptionSdk_dynamoDb_Insert_literal_ToDafny(input.Literal))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_prefix_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetPrefix) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetPrefix_.Create_GetPrefix_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetPrefix_length_ToDafny(input.Length))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_suffix_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSuffix) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetSuffix_.Create_GetSuffix_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSuffix_length_ToDafny(input.Length))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_substring_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSubstring) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetSubstring_.Create_GetSubstring_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_low_ToDafny(input.Low), Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_high_ToDafny(input.High))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segment_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegment) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetSegment_.Create_GetSegment_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_split_ToDafny(input.Split), Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_index_ToDafny(input.Index))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segments_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegments) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_GetSegments_.Create_GetSegments_(Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_split_ToDafny(input.Split), Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_low_ToDafny(input.Low), Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_high_ToDafny(input.High))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_loc_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_trans_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransform) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransformList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransformList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransform) AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform { + + switch input.(type) { + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberupper: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_upper_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberupper).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_upper_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Upper)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberlower: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_lower_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberlower).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_lower_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Lower)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberinsert: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_insert_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberinsert).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_insert_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Insert)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberprefix: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_prefix_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberprefix).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_prefix_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetPrefix)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersuffix: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_suffix_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersuffix).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_suffix_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSuffix)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersubstring: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_substring_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersubstring).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_substring_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSubstring)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegment: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segment_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegment).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_segment_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegment)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegments: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segments_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegments).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_VirtualTransform_{}.Create_segments_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments)) + + default: + panic("Unhandled union type") + } + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_name_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_parts_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualPart) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPartList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPartList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualPart) AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualPart { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualPart { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_VirtualPart_.Create_VirtualPart_(Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_loc_ToDafny(input.Loc), Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_trans_ToDafny(input.Trans)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_version_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keyStore_ToDafny(input *awscryptographykeystoresmithygenerated.Client) AwsCryptographyKeyStoreTypes.IKeyStoreClient { + return input.DafnyClient +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keySource_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySource) AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource { + + switch input.(type) { + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembersingle: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_single_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembersingle).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconKeySource_{}.Create_single_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore)) + case *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembermulti: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_multi_ToDafny(input.(*awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembermulti).Value) + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_BeaconKeySource_{}.Create_multi_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore)) + + default: + panic("Unhandled union type") + } + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_standardBeacons_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.StandardBeacon) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeaconList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeaconList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.StandardBeacon) AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_StandardBeacon_.Create_StandardBeacon_(Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_name_ToDafny(input.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_length_ToDafny(input.Length), Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_loc_ToDafny(input.Loc), Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_style_ToDafny(input.Style)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_compoundBeacons_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CompoundBeacon) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeaconList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeaconList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CompoundBeacon) AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_CompoundBeacon_.Create_CompoundBeacon_(Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_name_ToDafny(input.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_split_ToDafny(input.Split), Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_encrypted_ToDafny(input.Encrypted), Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_signed_ToDafny(input.Signed), Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_constructors_ToDafny(input.Constructors)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_virtualFields_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualField) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualFieldList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualFieldList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualField) AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualField { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualField { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_VirtualField_.Create_VirtualField_(Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_name_ToDafny(input.Name), Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_parts_ToDafny(input.Parts)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_encryptedParts_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPartsList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_signedParts_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPartsList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_policy_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyPolicy) AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy { + + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == input { + break + } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_LegacyPolicy_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction { + + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == input { + break + } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_CryptoAction_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_defaultAttributeFlag_ToDafny(input *awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == *input { + break + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_CryptoAction_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return Wrappers.Companion_Option_.Create_Some_(enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_versions_ToDafny(input []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconVersion) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersionList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersionList_member_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconVersion) AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_BeaconVersion_.Create_BeaconVersion_(Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_version_ToDafny(input.Version), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keyStore_ToDafny(input.KeyStore), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keySource_ToDafny(input.KeySource), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_standardBeacons_ToDafny(input.StandardBeacons), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_compoundBeacons_ToDafny(input.CompoundBeacons), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_virtualFields_ToDafny(input.VirtualFields), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_encryptedParts_ToDafny(input.EncryptedParts), Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_signedParts_ToDafny(input.SignedParts)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_writeVersion_ToDafny(input int32) int32 { + return func() int32 { + + return input + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_logicalTableName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_partitionKeyName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_sortKeyName_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_search_ToDafny(input *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SearchConfig) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_SearchConfig_.Create_SearchConfig_(Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_versions_ToDafny(input.Versions), Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_writeVersion_ToDafny(input.WriteVersion))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_attributeActionsOnEncrypt_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributes_ToDafny(input []string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeNameList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(fieldValue...)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributePrefix_ToDafny(input *string) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(*input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_algorithmSuiteId_ToDafny(input *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == *input { + break + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return Wrappers.Companion_Option_.Create_Some_(enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_legacyOverride_ToDafny(input *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_LegacyOverride_.Create_LegacyOverride_(Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_policy_ToDafny(input.Policy), LegacyDynamoDbEncryptor_ToDafny(input.Encryptor), Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_ToDafny(input.AttributeActionsOnEncrypt), Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_defaultAttributeFlag_ToDafny(input.DefaultAttributeFlag))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_plaintextOverride_ToDafny(input *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == *input { + break + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_PlaintextOverride_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return Wrappers.Companion_Option_.Create_Some_(enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTablesEncryptionConfig_tableEncryptionConfigs_ToDafny(input map[string]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfigList_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfigList_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfigList_key_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfigList_value_ToDafny(input awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig) AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig { + + return AwsCryptographyDbEncryptionSdkDynamoDbTypes.Companion_DynamoDbTableEncryptionConfig_.Create_DynamoDbTableEncryptionConfig_(Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_logicalTableName_ToDafny(input.LogicalTableName), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_partitionKeyName_ToDafny(input.PartitionKeyName), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_sortKeyName_ToDafny(input.SortKeyName), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_search_ToDafny(input.Search), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_attributeActionsOnEncrypt_ToDafny(input.AttributeActionsOnEncrypt), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributes_ToDafny(input.AllowedUnsignedAttributes), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributePrefix_ToDafny(input.AllowedUnsignedAttributePrefix), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_algorithmSuiteId_ToDafny(input.AlgorithmSuiteId), func() Wrappers.Option { + if (input.Keyring) == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(awscryptographymaterialproviderssmithygenerated.Keyring_ToDafny(input.Keyring)) + }(), func() Wrappers.Option { + if (input.Cmm) == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_ToDafny(input.Cmm)) + }(), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_legacyOverride_ToDafny(input.LegacyOverride), Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_plaintextOverride_ToDafny(input.PlaintextOverride)) + }() +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/to_native.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/to_native.go new file mode 100644 index 000000000..b0db0fe5e --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygenerated/to_native.go @@ -0,0 +1,1658 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygenerated + +import ( + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/comamazonawsdynamodbsmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographykeystoresmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/awscryptographyprimitivessmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UTF8" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" + dynamodbtypes "github.com/aws/aws-sdk-go-v2/service/dynamodb/types" + "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" +) + +func CreateDynamoDbEncryptionBranchKeyIdSupplierInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTypes.CreateDynamoDbEncryptionBranchKeyIdSupplierInput) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CreateDynamoDbEncryptionBranchKeyIdSupplierInput { + + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CreateDynamoDbEncryptionBranchKeyIdSupplierInput{DdbKeyBranchKeyIdSupplier: DynamoDbKeyBranchKeyIdSupplier_FromDafny(dafnyInput.Dtor_ddbKeyBranchKeyIdSupplier())} + +} + +func CreateDynamoDbEncryptionBranchKeyIdSupplierOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTypes.CreateDynamoDbEncryptionBranchKeyIdSupplierOutput) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CreateDynamoDbEncryptionBranchKeyIdSupplierOutput { + + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CreateDynamoDbEncryptionBranchKeyIdSupplierOutput{BranchKeyIdSupplier: awscryptographymaterialproviderssmithygenerated.BranchKeyIdSupplier_FromDafny(dafnyOutput.Dtor_branchKeyIdSupplier())} + +} + +func GetEncryptedDataKeyDescriptionInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionInput) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionInput { + + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionInput{Input: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionInput_input_FromDafny(dafnyInput.Dtor_input())} + +} + +func GetEncryptedDataKeyDescriptionOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionOutput) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionOutput { + + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionOutput{EncryptedDataKeyDescriptionOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionOutput_EncryptedDataKeyDescriptionOutput_FromDafny(dafnyOutput.Dtor_EncryptedDataKeyDescriptionOutput())} + +} + +func GetBranchKeyIdFromDdbKeyInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetBranchKeyIdFromDdbKeyInput) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetBranchKeyIdFromDdbKeyInput { + + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetBranchKeyIdFromDdbKeyInput{DdbKey: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyInput_ddbKey_FromDafny(dafnyInput.Dtor_ddbKey())} + +} + +func GetBranchKeyIdFromDdbKeyOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetBranchKeyIdFromDdbKeyOutput) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetBranchKeyIdFromDdbKeyOutput { + + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetBranchKeyIdFromDdbKeyOutput{BranchKeyId: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyOutput_branchKeyId_FromDafny(dafnyOutput.Dtor_branchKeyId())} + +} + +func DynamoDbKeyBranchKeyIdSupplier_FromDafny(dafnyResource AwsCryptographyDbEncryptionSdkDynamoDbTypes.IDynamoDbKeyBranchKeyIdSupplier) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.IDynamoDbKeyBranchKeyIdSupplier { + val, ok := dafnyResource.(*DynamoDbKeyBranchKeyIdSupplierNativeWrapper) + if ok { + return val.Impl + } + + return &DynamoDbKeyBranchKeyIdSupplier{dafnyResource} +} + +func LegacyDynamoDbEncryptor_FromDafny(dafnyResource AwsCryptographyDbEncryptionSdkDynamoDbTypes.ILegacyDynamoDbEncryptor) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ILegacyDynamoDbEncryptor { + val, ok := dafnyResource.(*LegacyDynamoDbEncryptorNativeWrapper) + if ok { + return val.Impl + } + + return &LegacyDynamoDbEncryptor{dafnyResource} +} + +func DynamoDbEncryptionException_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionException { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionException{Message: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbEncryptionException_message_FromDafny(dafnyOutput.Dtor_message())} + +} + +func CollectionOfErrors_Output_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CollectionOfErrors { + listOfErrors := dafnyOutput.Dtor_list() + message := dafnyOutput.Dtor_message() + t := awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CollectionOfErrors{} + for i := dafny.Iterate(listOfErrors); ; { + val, ok := i() + if !ok { + break + } + err := val.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error) + t.ListOfErrors = append(t.ListOfErrors, Error_FromDafny(err)) + + } + t.Message = func() string { + a := UTF8.Encode(message.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + return s + }() + return t +} +func OpaqueError_Output_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.OpaqueError { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.OpaqueError{ + ErrObject: dafnyOutput.Dtor_obj(), + } +} + +func Error_FromDafny(err AwsCryptographyDbEncryptionSdkDynamoDbTypes.Error) error { + // Service Errors + if err.Is_DynamoDbEncryptionException() { + return DynamoDbEncryptionException_FromDafny(err) + } + + //DependentErrors + if err.Is_AwsCryptographyPrimitives() { + return awscryptographyprimitivessmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyPrimitives()) + } + + if err.Is_ComAmazonawsDynamodb() { + return comamazonawsdynamodbsmithygenerated.Error_FromDafny(err.Dtor_ComAmazonawsDynamodb()) + } + + if err.Is_AwsCryptographyMaterialProviders() { + return awscryptographymaterialproviderssmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyMaterialProviders()) + } + + if err.Is_AwsCryptographyDbEncryptionSdkStructuredEncryption() { + return awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyDbEncryptionSdkStructuredEncryption()) + } + + if err.Is_AwsCryptographyKeyStore() { + return awscryptographykeystoresmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyKeyStore()) + } + + //Unmodelled Errors + if err.Is_CollectionOfErrors() { + return CollectionOfErrors_Output_FromDafny(err) + } + + return OpaqueError_Output_FromDafny(err) +} + +func DynamoDbEncryptionConfig_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbEncryptionConfig) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionConfig { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionConfig{} + +} + +func AsSet_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.AsSet { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.AsSet{} + +} + +func MultiKeyStore_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.MultiKeyStore { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.MultiKeyStore{KeyFieldName: Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_keyFieldName_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore).Dtor_keyFieldName()), + CacheTTL: Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cacheTTL_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore).Dtor_cacheTTL()), + Cache: Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cache_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore).Dtor_cache().UnwrapOr(nil)), + PartitionId: Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_partitionId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore).Dtor_partitionId().UnwrapOr(nil)), + } + +} + +func SingleKeyStore_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SingleKeyStore { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SingleKeyStore{KeyId: Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_keyId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore).Dtor_keyId()), + CacheTTL: Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cacheTTL_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore).Dtor_cacheTTL()), + Cache: Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cache_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore).Dtor_cache().UnwrapOr(nil)), + PartitionId: Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_partitionId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore).Dtor_partitionId().UnwrapOr(nil)), + } + +} + +func BeaconKeySource_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySource { + var union awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySource + + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource)).Is_single() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembersingle{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_single_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource)).Dtor_single())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource)).Is_multi() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembermulti{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_multi_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource)).Dtor_multi())), + } + } + + return union + +} + +func PartOnly_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PartOnly { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PartOnly{} + +} + +func Shared_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Shared { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Shared{Other: Aws_cryptography_dbEncryptionSdk_dynamoDb_Shared_other_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Shared).Dtor_other())} + +} + +func SharedSet_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SharedSet { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SharedSet{Other: Aws_cryptography_dbEncryptionSdk_dynamoDb_SharedSet_other_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SharedSet).Dtor_other())} + +} + +func BeaconStyle_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyle { + var union awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyle + + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Is_partOnly() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberpartOnly{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_partOnly_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Dtor_partOnly())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Is_shared() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembershared{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_shared_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Dtor_shared())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Is_asSet() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberasSet{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_asSet_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Dtor_asSet())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Is_sharedSet() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembersharedSet{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_sharedSet_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Dtor_sharedSet())), + } + } + + return union + +} + +func ConstructorPart_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ConstructorPart { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ConstructorPart{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.ConstructorPart).Dtor_name()), + Required: Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_required_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.ConstructorPart).Dtor_required()), + } + +} + +func Constructor_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Constructor { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Constructor{Parts: Aws_cryptography_dbEncryptionSdk_dynamoDb_Constructor_parts_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Constructor).Dtor_parts())} + +} + +func EncryptedPart_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedPart).Dtor_name()), + Prefix: Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_prefix_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedPart).Dtor_prefix()), + } + +} + +func SignedPart_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart).Dtor_name()), + Prefix: Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_prefix_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart).Dtor_prefix()), + Loc: Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_loc_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart).Dtor_loc().UnwrapOr(nil)), + } + +} + +func CompoundBeacon_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CompoundBeacon { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CompoundBeacon{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_name()), + Split: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_split_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_split()), + Encrypted: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_encrypted_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_encrypted().UnwrapOr(nil)), + Signed: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_signed_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_signed().UnwrapOr(nil)), + Constructors: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_constructors_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_constructors().UnwrapOr(nil)), + } + +} + +func StandardBeacon_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.StandardBeacon { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.StandardBeacon{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon).Dtor_name()), + Length: Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_length_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon).Dtor_length()), + Loc: Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_loc_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon).Dtor_loc().UnwrapOr(nil)), + Style: Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_style_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon).Dtor_style().UnwrapOr(nil)), + } + +} + +func Insert_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Insert { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Insert{Literal: Aws_cryptography_dbEncryptionSdk_dynamoDb_Insert_literal_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Insert).Dtor_literal())} + +} + +func Lower_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Lower { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Lower{} + +} + +func GetPrefix_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetPrefix { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetPrefix{Length: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetPrefix_length_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetPrefix).Dtor_length())} + +} + +func GetSegment_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegment { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegment{Split: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_split_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegment).Dtor_split()), + Index: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_index_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegment).Dtor_index()), + } + +} + +func GetSegments_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegments { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegments{Split: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_split_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments).Dtor_split()), + Low: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_low_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments).Dtor_low()), + High: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_high_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments).Dtor_high()), + } + +} + +func GetSubstring_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSubstring { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSubstring{Low: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_low_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSubstring).Dtor_low()), + High: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_high_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSubstring).Dtor_high()), + } + +} + +func GetSuffix_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSuffix { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSuffix{Length: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSuffix_length_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSuffix).Dtor_length())} + +} + +func Upper_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Upper { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Upper{} + +} + +func VirtualTransform_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransform { + var union awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransform + + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_upper() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberupper{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_upper_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_upper())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_lower() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberlower{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_lower_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_lower())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_insert() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberinsert{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_insert_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_insert())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_prefix() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberprefix{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_prefix_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_prefix())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_suffix() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersuffix{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_suffix_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_suffix())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_substring() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersubstring{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_substring_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_substring())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_segment() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegment{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segment_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_segment())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_segments() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegments{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segments_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_segments())), + } + } + + return union + +} + +func VirtualPart_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualPart { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualPart{Loc: Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_loc_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualPart).Dtor_loc()), + Trans: Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_trans_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualPart).Dtor_trans().UnwrapOr(nil)), + } + +} + +func VirtualField_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualField { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualField{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualField).Dtor_name()), + Parts: Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_parts_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualField).Dtor_parts()), + } + +} + +func BeaconVersion_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconVersion { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconVersion{Version: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_version_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_version()), + KeyStore: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keyStore_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_keyStore()), + KeySource: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keySource_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_keySource()), + StandardBeacons: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_standardBeacons_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_standardBeacons()), + CompoundBeacons: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_compoundBeacons_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_compoundBeacons().UnwrapOr(nil)), + VirtualFields: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_virtualFields_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_virtualFields().UnwrapOr(nil)), + EncryptedParts: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_encryptedParts_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_encryptedParts().UnwrapOr(nil)), + SignedParts: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_signedParts_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_signedParts().UnwrapOr(nil)), + } + +} + +func LegacyPolicy_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyPolicy { + return func() awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyPolicy { + var u awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyPolicy + inputEnum := input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_LegacyPolicy_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() + +} + +func LegacyOverride_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride{Policy: Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_policy_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_policy()), + Encryptor: LegacyDynamoDbEncryptor_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_encryptor()), + AttributeActionsOnEncrypt: Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_attributeActionsOnEncrypt()), + DefaultAttributeFlag: Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_defaultAttributeFlag_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_defaultAttributeFlag().UnwrapOr(nil)), + } + +} + +func PlaintextOverride_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride { + return func() awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride { + var u awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride + inputEnum := input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_PlaintextOverride_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() + +} + +func SearchConfig_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SearchConfig { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SearchConfig{Versions: Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_versions_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SearchConfig).Dtor_versions()), + WriteVersion: Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_writeVersion_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SearchConfig).Dtor_writeVersion()), + } + +} + +func DynamoDbTableEncryptionConfig_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig{LogicalTableName: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_logicalTableName_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_logicalTableName()), + PartitionKeyName: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_partitionKeyName_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_partitionKeyName()), + SortKeyName: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_sortKeyName_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_sortKeyName().UnwrapOr(nil)), + Search: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_search_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_search().UnwrapOr(nil)), + AttributeActionsOnEncrypt: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_attributeActionsOnEncrypt_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_attributeActionsOnEncrypt()), + AllowedUnsignedAttributes: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributes_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_allowedUnsignedAttributes().UnwrapOr(nil)), + AllowedUnsignedAttributePrefix: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributePrefix_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_allowedUnsignedAttributePrefix().UnwrapOr(nil)), + AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_algorithmSuiteId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_algorithmSuiteId().UnwrapOr(nil)), + Keyring: func() awscryptographymaterialproviderssmithygeneratedtypes.IKeyring { + if input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_keyring().UnwrapOr(nil) == nil { + return nil + } + return awscryptographymaterialproviderssmithygenerated.Keyring_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_keyring().UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.IKeyring)) + }(), + Cmm: func() awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager { + if input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_cmm().UnwrapOr(nil) == nil { + return nil + } + return awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_cmm().UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsManager)) + }(), + LegacyOverride: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_legacyOverride_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_legacyOverride().UnwrapOr(nil)), + PlaintextOverride: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_plaintextOverride_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_plaintextOverride().UnwrapOr(nil)), + } + +} + +func DynamoDbTablesEncryptionConfig_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTablesEncryptionConfig { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTablesEncryptionConfig{TableEncryptionConfigs: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTablesEncryptionConfig_tableEncryptionConfigs_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTablesEncryptionConfig).Dtor_tableEncryptionConfigs())} + +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionInput_input_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionUnion { + var union awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionUnion + + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionUnion)).Is_header() { + var dataSource = Wrappers.Companion_Option_.Create_Some_((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionUnion)).Dtor_header()) + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionUnionMemberheader{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_header_FromDafny(dataSource.UnwrapOr(nil))), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionUnion)).Is_item() { + var dataSource = Wrappers.Companion_Option_.Create_Some_((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetEncryptedDataKeyDescriptionUnion)).Dtor_item()) + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetEncryptedDataKeyDescriptionUnionMemberitem{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_item_FromDafny(dataSource.UnwrapOr(nil))), + } + } + + return union + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_header_FromDafny(input interface{}) []byte { + return func() []byte { + if input == nil { + return nil + } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) + } + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_item_FromDafny(input interface{}) map[string]dynamodbtypes.AttributeValue { + var m map[string]dynamodbtypes.AttributeValue = make(map[string]dynamodbtypes.AttributeValue) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionOutput_EncryptedDataKeyDescriptionOutput_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedDataKeyDescription { + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedDataKeyDescription, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescriptionList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescriptionList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedDataKeyDescription { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedDataKeyDescription{KeyProviderId: Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_keyProviderId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedDataKeyDescription).Dtor_keyProviderId()), + KeyProviderInfo: Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_keyProviderInfo_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedDataKeyDescription).Dtor_keyProviderInfo().UnwrapOr(nil)), + BranchKeyId: Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_branchKeyId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedDataKeyDescription).Dtor_branchKeyId().UnwrapOr(nil)), + BranchKeyVersion: Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_branchKeyVersion_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedDataKeyDescription).Dtor_branchKeyVersion().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_keyProviderId_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_keyProviderInfo_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_branchKeyId_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedDataKeyDescription_branchKeyVersion_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyInput_ddbKey_FromDafny(input interface{}) map[string]dynamodbtypes.AttributeValue { + var m map[string]dynamodbtypes.AttributeValue = make(map[string]dynamodbtypes.AttributeValue) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_Key_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_Key_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyOutput_branchKeyId_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbEncryptionException_message_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_keyFieldName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cacheTTL_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cache_FromDafny(input interface{}) awscryptographymaterialproviderssmithygeneratedtypes.CacheType { + var union awscryptographymaterialproviderssmithygeneratedtypes.CacheType + if input == nil { + return nil + } + + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_Default() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberDefault{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_Default_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_Default())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_No() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberNo{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_No_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_No())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_SingleThreaded() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberSingleThreaded{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_SingleThreaded_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_SingleThreaded())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_MultiThreaded() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberMultiThreaded{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_MultiThreaded_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_MultiThreaded())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_StormTracking() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberStormTracking{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_StormTracking_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_StormTracking())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_Shared() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared{ + Value: (awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsCache_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_Shared().(AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsCache))), + } + } + + return union + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_partitionId_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_keyId_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cacheTTL_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cache_FromDafny(input interface{}) awscryptographymaterialproviderssmithygeneratedtypes.CacheType { + var union awscryptographymaterialproviderssmithygeneratedtypes.CacheType + if input == nil { + return nil + } + + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_Default() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberDefault{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_Default_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_Default())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_No() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberNo{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_No_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_No())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_SingleThreaded() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberSingleThreaded{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_SingleThreaded_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_SingleThreaded())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_MultiThreaded() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberMultiThreaded{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_MultiThreaded_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_MultiThreaded())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_StormTracking() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberStormTracking{ + Value: (awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_CacheType_StormTracking_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_StormTracking())), + } + } + if (input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Is_Shared() { + + union = &awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared{ + Value: (awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsCache_FromDafny((input.(AwsCryptographyMaterialProvidersTypes.CacheType)).Dtor_Shared().(AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsCache))), + } + } + + return union + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_partitionId_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_single_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SingleKeyStore { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SingleKeyStore{KeyId: Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_keyId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore).Dtor_keyId()), + CacheTTL: Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cacheTTL_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore).Dtor_cacheTTL()), + Cache: Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cache_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore).Dtor_cache().UnwrapOr(nil)), + PartitionId: Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_partitionId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SingleKeyStore).Dtor_partitionId().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_multi_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.MultiKeyStore { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.MultiKeyStore{KeyFieldName: Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_keyFieldName_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore).Dtor_keyFieldName()), + CacheTTL: Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cacheTTL_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore).Dtor_cacheTTL()), + Cache: Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cache_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore).Dtor_cache().UnwrapOr(nil)), + PartitionId: Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_partitionId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.MultiKeyStore).Dtor_partitionId().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_Shared_other_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SharedSet_other_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_partOnly_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PartOnly { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PartOnly{} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_shared_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Shared { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Shared{Other: Aws_cryptography_dbEncryptionSdk_dynamoDb_Shared_other_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Shared).Dtor_other())} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_asSet_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.AsSet { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.AsSet{} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_sharedSet_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SharedSet { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SharedSet{Other: Aws_cryptography_dbEncryptionSdk_dynamoDb_SharedSet_other_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SharedSet).Dtor_other())} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_name_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_required_FromDafny(input interface{}) bool { + return input.(bool) +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_Constructor_parts_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ConstructorPart { + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ConstructorPart, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPartList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPartList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ConstructorPart { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.ConstructorPart{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.ConstructorPart).Dtor_name()), + Required: Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorPart_required_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.ConstructorPart).Dtor_required()), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_name_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_prefix_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_name_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_prefix_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_loc_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_name_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_split_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_encrypted_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart { + if input == nil { + return nil + } + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPartsList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPartsList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedPart).Dtor_name()), + Prefix: Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPart_prefix_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.EncryptedPart).Dtor_prefix()), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_signed_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart { + if input == nil { + return nil + } + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPartsList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPartsList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart).Dtor_name()), + Prefix: Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_prefix_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart).Dtor_prefix()), + Loc: Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPart_loc_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SignedPart).Dtor_loc().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_constructors_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Constructor { + if input == nil { + return nil + } + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Constructor, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_ConstructorList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Constructor { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Constructor{Parts: Aws_cryptography_dbEncryptionSdk_dynamoDb_Constructor_parts_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Constructor).Dtor_parts())} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_name_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_length_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_loc_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_style_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyle { + var union awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyle + if input == nil { + return nil + } + + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Is_partOnly() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberpartOnly{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_partOnly_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Dtor_partOnly())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Is_shared() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembershared{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_shared_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Dtor_shared())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Is_asSet() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMemberasSet{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_asSet_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Dtor_asSet())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Is_sharedSet() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconStyleMembersharedSet{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconStyle_sharedSet_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconStyle)).Dtor_sharedSet())), + } + } + + return union + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_Insert_literal_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetPrefix_length_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_split_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_index_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_split_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_low_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_high_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_low_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_high_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSuffix_length_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_upper_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Upper { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Upper{} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_lower_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Lower { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Lower{} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_insert_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Insert { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.Insert{Literal: Aws_cryptography_dbEncryptionSdk_dynamoDb_Insert_literal_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.Insert).Dtor_literal())} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_prefix_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetPrefix { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetPrefix{Length: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetPrefix_length_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetPrefix).Dtor_length())} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_suffix_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSuffix { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSuffix{Length: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSuffix_length_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSuffix).Dtor_length())} +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_substring_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSubstring { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSubstring{Low: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_low_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSubstring).Dtor_low()), + High: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSubstring_high_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSubstring).Dtor_high()), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segment_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegment { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegment{Split: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_split_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegment).Dtor_split()), + Index: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegment_index_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegment).Dtor_index()), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segments_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegments { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.GetSegments{Split: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_split_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments).Dtor_split()), + Low: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_low_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments).Dtor_low()), + High: Aws_cryptography_dbEncryptionSdk_dynamoDb_GetSegments_high_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.GetSegments).Dtor_high()), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_loc_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_trans_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransform { + if input == nil { + return nil + } + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransform, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransformList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransformList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransform { + var union awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransform + + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_upper() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberupper{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_upper_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_upper())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_lower() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberlower{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_lower_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_lower())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_insert() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberinsert{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_insert_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_insert())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_prefix() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMemberprefix{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_prefix_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_prefix())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_suffix() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersuffix{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_suffix_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_suffix())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_substring() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersubstring{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_substring_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_substring())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_segment() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegment{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segment_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_segment())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Is_segments() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualTransformMembersegments{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransform_segments_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualTransform)).Dtor_segments())), + } + } + + return union + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_name_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_parts_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualPart { + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualPart, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPartList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPartList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualPart { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualPart{Loc: Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_loc_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualPart).Dtor_loc()), + Trans: Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_trans_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualPart).Dtor_trans().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_version_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keyStore_FromDafny(input interface{}) *awscryptographykeystoresmithygenerated.Client { + value, ok := input.(AwsCryptographyKeyStoreTypes.IKeyStoreClient) + if !ok { + panic("invalid type found.") + } + return &awscryptographykeystoresmithygenerated.Client{value} + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keySource_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySource { + var union awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySource + + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource)).Is_single() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembersingle{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_single_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource)).Dtor_single())), + } + } + if (input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource)).Is_multi() { + + union = &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconKeySourceMembermulti{ + Value: (Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconKeySource_multi_FromDafny((input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconKeySource)).Dtor_multi())), + } + } + + return union + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_standardBeacons_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.StandardBeacon { + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.StandardBeacon, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeaconList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeaconList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.StandardBeacon { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.StandardBeacon{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon).Dtor_name()), + Length: Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_length_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon).Dtor_length()), + Loc: Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_loc_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon).Dtor_loc().UnwrapOr(nil)), + Style: Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_style_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.StandardBeacon).Dtor_style().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_compoundBeacons_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CompoundBeacon { + if input == nil { + return nil + } + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CompoundBeacon, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeaconList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeaconList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CompoundBeacon { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.CompoundBeacon{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_name()), + Split: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_split_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_split()), + Encrypted: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_encrypted_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_encrypted().UnwrapOr(nil)), + Signed: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_signed_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_signed().UnwrapOr(nil)), + Constructors: Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_constructors_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompoundBeacon).Dtor_constructors().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_virtualFields_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualField { + if input == nil { + return nil + } + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualField, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualFieldList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualFieldList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualField { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.VirtualField{Name: Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_name_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualField).Dtor_name()), + Parts: Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_parts_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.VirtualField).Dtor_parts()), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_encryptedParts_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart { + if input == nil { + return nil + } + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.EncryptedPart, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_EncryptedPartsList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_signedParts_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart { + if input == nil { + return nil + } + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SignedPart, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_SignedPartsList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_policy_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyPolicy { + return func() awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyPolicy { + var u awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyPolicy + inputEnum := input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_LegacyPolicy_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyPolicy).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + return func() awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var u awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction + inputEnum := input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_CryptoAction_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_defaultAttributeFlag_FromDafny(input interface{}) *awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + return func() *awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var u awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction + if input == nil { + return nil + } + inputEnum := input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_CryptoAction_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction).Equals(inputEnum) { + break + } + } + } + + return &u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_versions_FromDafny(input interface{}) []awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconVersion { + fieldValue := make([]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconVersion, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersionList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersionList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconVersion { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.BeaconVersion{Version: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_version_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_version()), + KeyStore: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keyStore_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_keyStore()), + KeySource: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keySource_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_keySource()), + StandardBeacons: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_standardBeacons_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_standardBeacons()), + CompoundBeacons: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_compoundBeacons_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_compoundBeacons().UnwrapOr(nil)), + VirtualFields: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_virtualFields_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_virtualFields().UnwrapOr(nil)), + EncryptedParts: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_encryptedParts_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_encryptedParts().UnwrapOr(nil)), + SignedParts: Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_signedParts_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.BeaconVersion).Dtor_signedParts().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_writeVersion_FromDafny(input interface{}) int32 { + return func() int32 { + var b = input.(int32) + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_logicalTableName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_partitionKeyName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_sortKeyName_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_search_FromDafny(input interface{}) *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SearchConfig { + if input == nil { + return nil + } + return &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.SearchConfig{Versions: Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_versions_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SearchConfig).Dtor_versions()), + WriteVersion: Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_writeVersion_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.SearchConfig).Dtor_writeVersion()), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_attributeActionsOnEncrypt_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_dynamoDb_AttributeActions_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributes_FromDafny(input interface{}) []string { + if input == nil { + return nil + } + fieldValue := make([]string, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeNameList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributePrefix_FromDafny(input interface{}) *string { + return func() *string { + if input == nil { + return nil + } + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return &s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_algorithmSuiteId_FromDafny(input interface{}) *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + return func() *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + var u awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + if input == nil { + return nil + } + inputEnum := input.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId).Equals(inputEnum) { + break + } + } + } + + return &u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_legacyOverride_FromDafny(input interface{}) *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride { + if input == nil { + return nil + } + return &awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.LegacyOverride{Policy: Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_policy_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_policy()), + Encryptor: LegacyDynamoDbEncryptor_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_encryptor()), + AttributeActionsOnEncrypt: Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_attributeActionsOnEncrypt()), + DefaultAttributeFlag: Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_defaultAttributeFlag_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.LegacyOverride).Dtor_defaultAttributeFlag().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_plaintextOverride_FromDafny(input interface{}) *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride { + return func() *awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride { + var u awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.PlaintextOverride + if input == nil { + return nil + } + inputEnum := input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkDynamoDbTypes.CompanionStruct_PlaintextOverride_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.PlaintextOverride).Equals(inputEnum) { + break + } + } + } + + return &u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTablesEncryptionConfig_tableEncryptionConfigs_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig { + var m map[string]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig = make(map[string]awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfigList_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfigList_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfigList_key_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfigList_value_FromDafny(input interface{}) awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig { + return awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTableEncryptionConfig{LogicalTableName: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_logicalTableName_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_logicalTableName()), + PartitionKeyName: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_partitionKeyName_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_partitionKeyName()), + SortKeyName: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_sortKeyName_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_sortKeyName().UnwrapOr(nil)), + Search: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_search_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_search().UnwrapOr(nil)), + AttributeActionsOnEncrypt: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_attributeActionsOnEncrypt_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_attributeActionsOnEncrypt()), + AllowedUnsignedAttributes: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributes_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_allowedUnsignedAttributes().UnwrapOr(nil)), + AllowedUnsignedAttributePrefix: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributePrefix_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_allowedUnsignedAttributePrefix().UnwrapOr(nil)), + AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_algorithmSuiteId_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_algorithmSuiteId().UnwrapOr(nil)), + Keyring: func() awscryptographymaterialproviderssmithygeneratedtypes.IKeyring { + if input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_keyring().UnwrapOr(nil) == nil { + return nil + } + return awscryptographymaterialproviderssmithygenerated.Keyring_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_keyring().UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.IKeyring)) + }(), + Cmm: func() awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager { + if input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_cmm().UnwrapOr(nil) == nil { + return nil + } + return awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_cmm().UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsManager)) + }(), + LegacyOverride: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_legacyOverride_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_legacyOverride().UnwrapOr(nil)), + PlaintextOverride: Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_plaintextOverride_FromDafny(input.(AwsCryptographyDbEncryptionSdkDynamoDbTypes.DynamoDbTableEncryptionConfig).Dtor_plaintextOverride().UnwrapOr(nil)), + } +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/enums.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/enums.go new file mode 100644 index 000000000..53b10ce6b --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/enums.go @@ -0,0 +1,35 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes + +type LegacyPolicy string + +const ( + LegacyPolicyForceLegacyEncryptAllowLegacyDecrypt LegacyPolicy = "FORCE_LEGACY_ENCRYPT_ALLOW_LEGACY_DECRYPT" + LegacyPolicyForbidLegacyEncryptAllowLegacyDecrypt LegacyPolicy = "FORBID_LEGACY_ENCRYPT_ALLOW_LEGACY_DECRYPT" + LegacyPolicyForbidLegacyEncryptForbidLegacyDecrypt LegacyPolicy = "FORBID_LEGACY_ENCRYPT_FORBID_LEGACY_DECRYPT" +) + +func (LegacyPolicy) Values() []LegacyPolicy { + return []LegacyPolicy{ + "FORCE_LEGACY_ENCRYPT_ALLOW_LEGACY_DECRYPT", + "FORBID_LEGACY_ENCRYPT_ALLOW_LEGACY_DECRYPT", + "FORBID_LEGACY_ENCRYPT_FORBID_LEGACY_DECRYPT", + } +} + +type PlaintextOverride string + +const ( + PlaintextOverrideForcePlaintextWriteAllowPlaintextRead PlaintextOverride = "FORCE_PLAINTEXT_WRITE_ALLOW_PLAINTEXT_READ" + PlaintextOverrideForbidPlaintextWriteAllowPlaintextRead PlaintextOverride = "FORBID_PLAINTEXT_WRITE_ALLOW_PLAINTEXT_READ" + PlaintextOverrideForbidPlaintextWriteForbidPlaintextRead PlaintextOverride = "FORBID_PLAINTEXT_WRITE_FORBID_PLAINTEXT_READ" +) + +func (PlaintextOverride) Values() []PlaintextOverride { + return []PlaintextOverride{ + "FORCE_PLAINTEXT_WRITE_ALLOW_PLAINTEXT_READ", + "FORBID_PLAINTEXT_WRITE_ALLOW_PLAINTEXT_READ", + "FORBID_PLAINTEXT_WRITE_FORBID_PLAINTEXT_READ", + } +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/errors.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/errors.go new file mode 100644 index 000000000..777cb6302 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/errors.go @@ -0,0 +1,17 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes + +import ( + "fmt" +) + +type DynamoDbEncryptionException struct { + DynamoDbEncryptionBaseException + Message string + ErrorCodeOverride *string +} + +func (e DynamoDbEncryptionException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCodeOverride, e.Message) +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/types.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/types.go new file mode 100644 index 000000000..42d53d241 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/types.go @@ -0,0 +1,1391 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes + +import ( + "fmt" + + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographykeystoresmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/test/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" + dynamodbtypes "github.com/aws/aws-sdk-go-v2/service/dynamodb/types" +) + +type DynamoDbKeyBranchKeyIdSupplierReference struct { +} + +func (input DynamoDbKeyBranchKeyIdSupplierReference) Validate() error { + + return nil +} + +type CreateDynamoDbEncryptionBranchKeyIdSupplierInput struct { + DdbKeyBranchKeyIdSupplier IDynamoDbKeyBranchKeyIdSupplier +} + +func (input CreateDynamoDbEncryptionBranchKeyIdSupplierInput) Validate() error { + + return nil +} + +type CreateDynamoDbEncryptionBranchKeyIdSupplierOutput struct { + BranchKeyIdSupplier awscryptographymaterialproviderssmithygeneratedtypes.IBranchKeyIdSupplier +} + +func (input CreateDynamoDbEncryptionBranchKeyIdSupplierOutput) Validate() error { + + return nil +} + +type EncryptedDataKeyDescription struct { + KeyProviderId string + + BranchKeyId *string + + BranchKeyVersion *string + + KeyProviderInfo *string +} + +func (input EncryptedDataKeyDescription) Validate() error { + + return nil +} + +type GetEncryptedDataKeyDescriptionOutput struct { + EncryptedDataKeyDescriptionOutput []EncryptedDataKeyDescription +} + +func (input GetEncryptedDataKeyDescriptionOutput) Validate() error { + if input.EncryptedDataKeyDescriptionOutput == nil { + return fmt.Errorf("input.EncryptedDataKeyDescriptionOutput is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionOutput_EncryptedDataKeyDescriptionOutput_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionOutput_EncryptedDataKeyDescriptionOutput_Validate() + } + + return nil +} + +func (input GetEncryptedDataKeyDescriptionOutput) Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionOutput_EncryptedDataKeyDescriptionOutput_Validate() error { + for _, item := range input.EncryptedDataKeyDescriptionOutput { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type GetEncryptedDataKeyDescriptionInput struct { + Input GetEncryptedDataKeyDescriptionUnion +} + +func (input GetEncryptedDataKeyDescriptionInput) Validate() error { + if input.Input == nil { + return fmt.Errorf("input.Input is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionInput_input_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionInput_input_Validate() + } + + return nil +} + +func (input GetEncryptedDataKeyDescriptionInput) Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionInput_input_Validate() error { + if input.Input == nil { + return nil + } + switch unionType := input.Input.(type) { + case *GetEncryptedDataKeyDescriptionUnionMemberheader: + case *GetEncryptedDataKeyDescriptionUnionMemberitem: + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_item_Validate(unionType.Value) != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_item_Validate(unionType.Value) + } + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input GetEncryptedDataKeyDescriptionInput) Com_amazonaws_dynamodb_AttributeMap_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input GetEncryptedDataKeyDescriptionInput) Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + if input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input GetEncryptedDataKeyDescriptionInput) Com_amazonaws_dynamodb_AttributeValue_M_Validate(Value map[string]dynamodbtypes.AttributeValue) error { + for key, value := range Value { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) + } + } + + return nil +} +func (input GetEncryptedDataKeyDescriptionInput) Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + if input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input GetEncryptedDataKeyDescriptionInput) Com_amazonaws_dynamodb_AttributeValue_L_Validate(Value []dynamodbtypes.AttributeValue) error { + for _, item := range Value { + if input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) != nil { + return input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) + } + } + + return nil +} +func (input GetEncryptedDataKeyDescriptionInput) Aws_cryptography_dbEncryptionSdk_dynamoDb_GetEncryptedDataKeyDescriptionUnion_item_Validate(Value map[string]dynamodbtypes.AttributeValue) error { + for key, value := range Value { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) + } + } + + return nil +} + +type AsSet struct { +} + +func (input AsSet) Validate() error { + + return nil +} + +type AtomicPrimitivesReference struct { +} + +func (input AtomicPrimitivesReference) Validate() error { + + return nil +} + +type MultiKeyStore struct { + CacheTTL int32 + + KeyFieldName string + + Cache awscryptographymaterialproviderssmithygeneratedtypes.CacheType + + PartitionId *string +} + +func (input MultiKeyStore) Validate() error { + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cache_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cache_Validate() + } + + return nil +} + +func (input MultiKeyStore) Aws_cryptography_dbEncryptionSdk_dynamoDb_MultiKeyStore_cache_Validate() error { + if input.Cache == nil { + return nil + } + switch unionType := input.Cache.(type) { + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberDefault: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberNo: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberSingleThreaded: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberMultiThreaded: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberStormTracking: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} + +type SingleKeyStore struct { + CacheTTL int32 + + KeyId string + + Cache awscryptographymaterialproviderssmithygeneratedtypes.CacheType + + PartitionId *string +} + +func (input SingleKeyStore) Validate() error { + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cache_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cache_Validate() + } + + return nil +} + +func (input SingleKeyStore) Aws_cryptography_dbEncryptionSdk_dynamoDb_SingleKeyStore_cache_Validate() error { + if input.Cache == nil { + return nil + } + switch unionType := input.Cache.(type) { + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberDefault: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberNo: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberSingleThreaded: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberMultiThreaded: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberStormTracking: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *awscryptographymaterialproviderssmithygeneratedtypes.CacheTypeMemberShared: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} + +type PartOnly struct { +} + +func (input PartOnly) Validate() error { + + return nil +} + +type Shared struct { + Other string +} + +func (input Shared) Validate() error { + + return nil +} + +type SharedSet struct { + Other string +} + +func (input SharedSet) Validate() error { + + return nil +} + +type ConstructorPart struct { + Name string + + Required bool +} + +func (input ConstructorPart) Validate() error { + + return nil +} + +type Constructor struct { + Parts []ConstructorPart +} + +func (input Constructor) Validate() error { + if len(input.Parts) < 1 { + return fmt.Errorf("ConstructorPartList has a minimum length of 1 but has the length of %d.", len(input.Parts)) + } + if input.Parts == nil { + return fmt.Errorf("input.Parts is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_Constructor_parts_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_Constructor_parts_Validate() + } + + return nil +} + +func (input Constructor) Aws_cryptography_dbEncryptionSdk_dynamoDb_Constructor_parts_Validate() error { + for _, item := range input.Parts { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type EncryptedPart struct { + Name string + + Prefix string +} + +func (input EncryptedPart) Validate() error { + if len(input.Prefix) < 1 { + return fmt.Errorf("Prefix has a minimum length of 1 but has the length of %d.", len(input.Prefix)) + } + + return nil +} + +type SignedPart struct { + Name string + + Prefix string + + Loc *string +} + +func (input SignedPart) Validate() error { + if len(input.Prefix) < 1 { + return fmt.Errorf("Prefix has a minimum length of 1 but has the length of %d.", len(input.Prefix)) + } + if input.Loc != nil { + if len(*input.Loc) < 1 { + return fmt.Errorf("TerminalLocation has a minimum length of 1 but has the length of %d.", len(*input.Loc)) + } + } + + return nil +} + +type CompoundBeacon struct { + Name string + + Split string + + Constructors []Constructor + + Encrypted []EncryptedPart + + Signed []SignedPart +} + +func (input CompoundBeacon) Validate() error { + if len(input.Split) < 1 { + return fmt.Errorf("Char has a minimum length of 1 but has the length of %d.", len(input.Split)) + } + if len(input.Split) > 1 { + return fmt.Errorf("Char has a maximum length of 1 but has the length of %d.", len(input.Split)) + } + if len(input.Constructors) < 1 { + return fmt.Errorf("ConstructorList has a minimum length of 1 but has the length of %d.", len(input.Constructors)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_constructors_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_constructors_Validate() + } + if len(input.Encrypted) < 1 { + return fmt.Errorf("EncryptedPartsList has a minimum length of 1 but has the length of %d.", len(input.Encrypted)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_encrypted_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_encrypted_Validate() + } + if len(input.Signed) < 1 { + return fmt.Errorf("SignedPartsList has a minimum length of 1 but has the length of %d.", len(input.Signed)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_signed_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_signed_Validate() + } + + return nil +} + +func (input CompoundBeacon) Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_constructors_Validate() error { + for _, item := range input.Constructors { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input CompoundBeacon) Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_encrypted_Validate() error { + for _, item := range input.Encrypted { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input CompoundBeacon) Aws_cryptography_dbEncryptionSdk_dynamoDb_CompoundBeacon_signed_Validate() error { + for _, item := range input.Signed { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type KeyStoreReference struct { +} + +func (input KeyStoreReference) Validate() error { + + return nil +} + +type StandardBeacon struct { + Length int32 + + Name string + + Loc *string + + Style BeaconStyle +} + +func (input StandardBeacon) Validate() error { + if input.Length < 1 { + return fmt.Errorf("BeaconBitLength has a minimum of 1 but has the value of %d.", input.Length) + } + if input.Length > 63 { + return fmt.Errorf("BeaconBitLength has a maximum of 63 but has the value of %d.", input.Length) + } + if input.Loc != nil { + if len(*input.Loc) < 1 { + return fmt.Errorf("TerminalLocation has a minimum length of 1 but has the length of %d.", len(*input.Loc)) + } + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_style_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_style_Validate() + } + + return nil +} + +func (input StandardBeacon) Aws_cryptography_dbEncryptionSdk_dynamoDb_StandardBeacon_style_Validate() error { + if input.Style == nil { + return nil + } + switch unionType := input.Style.(type) { + case *BeaconStyleMemberpartOnly: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *BeaconStyleMembershared: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *BeaconStyleMemberasSet: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *BeaconStyleMembersharedSet: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} + +type Insert struct { + Literal string +} + +func (input Insert) Validate() error { + + return nil +} + +type Lower struct { +} + +func (input Lower) Validate() error { + + return nil +} + +type GetPrefix struct { + Length int32 +} + +func (input GetPrefix) Validate() error { + + return nil +} + +type GetSegment struct { + Index int32 + + Split string +} + +func (input GetSegment) Validate() error { + if len(input.Split) < 1 { + return fmt.Errorf("Char has a minimum length of 1 but has the length of %d.", len(input.Split)) + } + if len(input.Split) > 1 { + return fmt.Errorf("Char has a maximum length of 1 but has the length of %d.", len(input.Split)) + } + + return nil +} + +type GetSegments struct { + High int32 + + Low int32 + + Split string +} + +func (input GetSegments) Validate() error { + if len(input.Split) < 1 { + return fmt.Errorf("Char has a minimum length of 1 but has the length of %d.", len(input.Split)) + } + if len(input.Split) > 1 { + return fmt.Errorf("Char has a maximum length of 1 but has the length of %d.", len(input.Split)) + } + + return nil +} + +type GetSubstring struct { + High int32 + + Low int32 +} + +func (input GetSubstring) Validate() error { + + return nil +} + +type GetSuffix struct { + Length int32 +} + +func (input GetSuffix) Validate() error { + + return nil +} + +type Upper struct { +} + +func (input Upper) Validate() error { + + return nil +} + +type VirtualPart struct { + Loc string + + Trans []VirtualTransform +} + +func (input VirtualPart) Validate() error { + if len(input.Loc) < 1 { + return fmt.Errorf("TerminalLocation has a minimum length of 1 but has the length of %d.", len(input.Loc)) + } + if len(input.Trans) < 1 { + return fmt.Errorf("VirtualTransformList has a minimum length of 1 but has the length of %d.", len(input.Trans)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_trans_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_trans_Validate() + } + + return nil +} + +func (input VirtualPart) Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransformList_member_Validate(Value VirtualTransform) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *VirtualTransformMemberupper: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *VirtualTransformMemberlower: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *VirtualTransformMemberinsert: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *VirtualTransformMemberprefix: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *VirtualTransformMembersuffix: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *VirtualTransformMembersubstring: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *VirtualTransformMembersegment: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *VirtualTransformMembersegments: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input VirtualPart) Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualPart_trans_Validate() error { + for _, item := range input.Trans { + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransformList_member_Validate(item) != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualTransformList_member_Validate(item) + } + } + + return nil +} + +type VirtualField struct { + Name string + + Parts []VirtualPart +} + +func (input VirtualField) Validate() error { + if len(input.Parts) < 1 { + return fmt.Errorf("VirtualPartList has a minimum length of 1 but has the length of %d.", len(input.Parts)) + } + if input.Parts == nil { + return fmt.Errorf("input.Parts is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_parts_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_parts_Validate() + } + + return nil +} + +func (input VirtualField) Aws_cryptography_dbEncryptionSdk_dynamoDb_VirtualField_parts_Validate() error { + for _, item := range input.Parts { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type BeaconVersion struct { + KeySource BeaconKeySource + + KeyStore *awscryptographykeystoresmithygenerated.Client + + StandardBeacons []StandardBeacon + + Version int32 + + CompoundBeacons []CompoundBeacon + + EncryptedParts []EncryptedPart + + SignedParts []SignedPart + + VirtualFields []VirtualField +} + +func (input BeaconVersion) Validate() error { + if input.KeySource == nil { + return fmt.Errorf("input.KeySource is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keySource_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keySource_Validate() + } + if len(input.StandardBeacons) < 1 { + return fmt.Errorf("StandardBeaconList has a minimum length of 1 but has the length of %d.", len(input.StandardBeacons)) + } + if input.StandardBeacons == nil { + return fmt.Errorf("input.StandardBeacons is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_standardBeacons_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_standardBeacons_Validate() + } + if input.Version < 1 { + return fmt.Errorf("VersionNumber has a minimum of 1 but has the value of %d.", input.Version) + } + if len(input.CompoundBeacons) < 1 { + return fmt.Errorf("CompoundBeaconList has a minimum length of 1 but has the length of %d.", len(input.CompoundBeacons)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_compoundBeacons_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_compoundBeacons_Validate() + } + if len(input.EncryptedParts) < 1 { + return fmt.Errorf("EncryptedPartsList has a minimum length of 1 but has the length of %d.", len(input.EncryptedParts)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_encryptedParts_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_encryptedParts_Validate() + } + if len(input.SignedParts) < 1 { + return fmt.Errorf("SignedPartsList has a minimum length of 1 but has the length of %d.", len(input.SignedParts)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_signedParts_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_signedParts_Validate() + } + if len(input.VirtualFields) < 1 { + return fmt.Errorf("VirtualFieldList has a minimum length of 1 but has the length of %d.", len(input.VirtualFields)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_virtualFields_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_virtualFields_Validate() + } + + return nil +} + +func (input BeaconVersion) Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_keySource_Validate() error { + if input.KeySource == nil { + return nil + } + switch unionType := input.KeySource.(type) { + case *BeaconKeySourceMembersingle: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + case *BeaconKeySourceMembermulti: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input BeaconVersion) Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_standardBeacons_Validate() error { + for _, item := range input.StandardBeacons { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input BeaconVersion) Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_compoundBeacons_Validate() error { + for _, item := range input.CompoundBeacons { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input BeaconVersion) Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_encryptedParts_Validate() error { + for _, item := range input.EncryptedParts { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input BeaconVersion) Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_signedParts_Validate() error { + for _, item := range input.SignedParts { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input BeaconVersion) Aws_cryptography_dbEncryptionSdk_dynamoDb_BeaconVersion_virtualFields_Validate() error { + for _, item := range input.VirtualFields { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type DynamoDbEncryptionConfig struct { +} + +func (input DynamoDbEncryptionConfig) Validate() error { + + return nil +} + +type GetBranchKeyIdFromDdbKeyOutput struct { + BranchKeyId string +} + +func (input GetBranchKeyIdFromDdbKeyOutput) Validate() error { + + return nil +} + +type LegacyDynamoDbEncryptorReference struct { +} + +func (input LegacyDynamoDbEncryptorReference) Validate() error { + + return nil +} + +type LegacyOverride struct { + AttributeActionsOnEncrypt map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction + + Encryptor ILegacyDynamoDbEncryptor + + Policy LegacyPolicy + + DefaultAttributeFlag *awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction +} + +func (input LegacyOverride) Validate() error { + if input.AttributeActionsOnEncrypt == nil { + return fmt.Errorf("input.AttributeActionsOnEncrypt is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_Validate() + } + + return nil +} + +func (input LegacyOverride) Aws_cryptography_dbEncryptionSdk_dynamoDb_LegacyOverride_attributeActionsOnEncrypt_Validate() error { + for key, _ := range input.AttributeActionsOnEncrypt { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + } + + return nil +} + +type SearchConfig struct { + Versions []BeaconVersion + + WriteVersion int32 +} + +func (input SearchConfig) Validate() error { + if len(input.Versions) < 1 { + return fmt.Errorf("BeaconVersionList has a minimum length of 1 but has the length of %d.", len(input.Versions)) + } + if len(input.Versions) > 1 { + return fmt.Errorf("BeaconVersionList has a maximum length of 1 but has the length of %d.", len(input.Versions)) + } + if input.Versions == nil { + return fmt.Errorf("input.Versions is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_versions_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_versions_Validate() + } + if input.WriteVersion < 1 { + return fmt.Errorf("VersionNumber has a minimum of 1 but has the value of %d.", input.WriteVersion) + } + + return nil +} + +func (input SearchConfig) Aws_cryptography_dbEncryptionSdk_dynamoDb_SearchConfig_versions_Validate() error { + for _, item := range input.Versions { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type DynamoDbTableEncryptionConfig struct { + AttributeActionsOnEncrypt map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction + + LogicalTableName string + + PartitionKeyName string + + AlgorithmSuiteId *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + + AllowedUnsignedAttributePrefix *string + + AllowedUnsignedAttributes []string + + Cmm awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager + + Keyring awscryptographymaterialproviderssmithygeneratedtypes.IKeyring + + LegacyOverride *LegacyOverride + + PlaintextOverride *PlaintextOverride + + Search *SearchConfig + + SortKeyName *string +} + +func (input DynamoDbTableEncryptionConfig) Validate() error { + if input.AttributeActionsOnEncrypt == nil { + return fmt.Errorf("input.AttributeActionsOnEncrypt is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_attributeActionsOnEncrypt_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_attributeActionsOnEncrypt_Validate() + } + if len(input.PartitionKeyName) < 1 { + return fmt.Errorf("KeySchemaAttributeName has a minimum length of 1 but has the length of %d.", len(input.PartitionKeyName)) + } + if len(input.PartitionKeyName) > 255 { + return fmt.Errorf("KeySchemaAttributeName has a maximum length of 255 but has the length of %d.", len(input.PartitionKeyName)) + } + if len(input.AllowedUnsignedAttributes) < 1 { + return fmt.Errorf("AttributeNameList has a minimum length of 1 but has the length of %d.", len(input.AllowedUnsignedAttributes)) + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributes_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributes_Validate() + } + if input.LegacyOverride != nil { + if input.LegacyOverride.Validate() != nil { + return input.LegacyOverride.Validate() + } + + } + if input.Search != nil { + if input.Search.Validate() != nil { + return input.Search.Validate() + } + + } + if input.SortKeyName != nil { + if len(*input.SortKeyName) < 1 { + return fmt.Errorf("KeySchemaAttributeName has a minimum length of 1 but has the length of %d.", len(*input.SortKeyName)) + } + if len(*input.SortKeyName) > 255 { + return fmt.Errorf("KeySchemaAttributeName has a maximum length of 255 but has the length of %d.", len(*input.SortKeyName)) + } + } + + return nil +} + +func (input DynamoDbTableEncryptionConfig) Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_attributeActionsOnEncrypt_Validate() error { + for key, _ := range input.AttributeActionsOnEncrypt { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + } + + return nil +} +func (input DynamoDbTableEncryptionConfig) Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTableEncryptionConfig_allowedUnsignedAttributes_Validate() error { + for _, item := range input.AllowedUnsignedAttributes { + if len(item) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(item)) + } + if len(item) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(item)) + } + } + + return nil +} + +type DynamoDbTablesEncryptionConfig struct { + TableEncryptionConfigs map[string]DynamoDbTableEncryptionConfig +} + +func (input DynamoDbTablesEncryptionConfig) Validate() error { + if input.TableEncryptionConfigs == nil { + return fmt.Errorf("input.TableEncryptionConfigs is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTablesEncryptionConfig_tableEncryptionConfigs_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTablesEncryptionConfig_tableEncryptionConfigs_Validate() + } + + return nil +} + +func (input DynamoDbTablesEncryptionConfig) Aws_cryptography_dbEncryptionSdk_dynamoDb_DynamoDbTablesEncryptionConfig_tableEncryptionConfigs_Validate() error { + for key, value := range input.TableEncryptionConfigs { + if len(key) < 3 { + return fmt.Errorf("TableName has a minimum length of 3 but has the length of %d.", len(key)) + } + if len(key) > 255 { + return fmt.Errorf("TableName has a maximum length of 255 but has the length of %d.", len(key)) + } + if value.Validate() != nil { + return value.Validate() + } + } + + return nil +} + +type GetBranchKeyIdFromDdbKeyInput struct { + DdbKey map[string]dynamodbtypes.AttributeValue +} + +func (input GetBranchKeyIdFromDdbKeyInput) Validate() error { + if input.DdbKey == nil { + return fmt.Errorf("input.DdbKey is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyInput_ddbKey_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyInput_ddbKey_Validate() + } + + return nil +} + +func (input GetBranchKeyIdFromDdbKeyInput) Com_amazonaws_dynamodb_Key_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input GetBranchKeyIdFromDdbKeyInput) Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + if input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input GetBranchKeyIdFromDdbKeyInput) Com_amazonaws_dynamodb_AttributeValue_M_Validate(Value map[string]dynamodbtypes.AttributeValue) error { + for key, value := range Value { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) + } + } + + return nil +} +func (input GetBranchKeyIdFromDdbKeyInput) Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + if input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input GetBranchKeyIdFromDdbKeyInput) Com_amazonaws_dynamodb_AttributeValue_L_Validate(Value []dynamodbtypes.AttributeValue) error { + for _, item := range Value { + if input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) != nil { + return input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) + } + } + + return nil +} +func (input GetBranchKeyIdFromDdbKeyInput) Aws_cryptography_dbEncryptionSdk_dynamoDb_GetBranchKeyIdFromDdbKeyInput_ddbKey_Validate() error { + for key, value := range input.DdbKey { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_Key_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_Key_value_Validate(value) + } + } + + return nil +} + +// BeaconKeySourceMembermulti +// BeaconKeySourceMembersingle +type BeaconKeySource interface { + isBeaconKeySource() +} + +type BeaconKeySourceMembermulti struct { + Value MultiKeyStore +} + +func (*BeaconKeySourceMembermulti) isBeaconKeySource() {} + +type BeaconKeySourceMembersingle struct { + Value SingleKeyStore +} + +func (*BeaconKeySourceMembersingle) isBeaconKeySource() {} + +// BeaconStyleMemberasSet +// BeaconStyleMemberpartOnly +// BeaconStyleMembershared +// BeaconStyleMembersharedSet +type BeaconStyle interface { + isBeaconStyle() +} + +type BeaconStyleMemberasSet struct { + Value AsSet +} + +func (*BeaconStyleMemberasSet) isBeaconStyle() {} + +type BeaconStyleMemberpartOnly struct { + Value PartOnly +} + +func (*BeaconStyleMemberpartOnly) isBeaconStyle() {} + +type BeaconStyleMembershared struct { + Value Shared +} + +func (*BeaconStyleMembershared) isBeaconStyle() {} + +type BeaconStyleMembersharedSet struct { + Value SharedSet +} + +func (*BeaconStyleMembersharedSet) isBeaconStyle() {} + +// GetEncryptedDataKeyDescriptionUnionMemberheader +// GetEncryptedDataKeyDescriptionUnionMemberitem +type GetEncryptedDataKeyDescriptionUnion interface { + isGetEncryptedDataKeyDescriptionUnion() +} + +type GetEncryptedDataKeyDescriptionUnionMemberheader struct { + Value []byte +} + +func (*GetEncryptedDataKeyDescriptionUnionMemberheader) isGetEncryptedDataKeyDescriptionUnion() {} + +type GetEncryptedDataKeyDescriptionUnionMemberitem struct { + Value map[string]dynamodbtypes.AttributeValue +} + +func (*GetEncryptedDataKeyDescriptionUnionMemberitem) isGetEncryptedDataKeyDescriptionUnion() {} + +// VirtualTransformMemberinsert +// VirtualTransformMemberlower +// VirtualTransformMemberprefix +// VirtualTransformMembersegment +// VirtualTransformMembersegments +// VirtualTransformMembersubstring +// VirtualTransformMembersuffix +// VirtualTransformMemberupper +type VirtualTransform interface { + isVirtualTransform() +} + +type VirtualTransformMemberinsert struct { + Value Insert +} + +func (*VirtualTransformMemberinsert) isVirtualTransform() {} + +type VirtualTransformMemberlower struct { + Value Lower +} + +func (*VirtualTransformMemberlower) isVirtualTransform() {} + +type VirtualTransformMemberprefix struct { + Value GetPrefix +} + +func (*VirtualTransformMemberprefix) isVirtualTransform() {} + +type VirtualTransformMembersegment struct { + Value GetSegment +} + +func (*VirtualTransformMembersegment) isVirtualTransform() {} + +type VirtualTransformMembersegments struct { + Value GetSegments +} + +func (*VirtualTransformMembersegments) isVirtualTransform() {} + +type VirtualTransformMembersubstring struct { + Value GetSubstring +} + +func (*VirtualTransformMembersubstring) isVirtualTransform() {} + +type VirtualTransformMembersuffix struct { + Value GetSuffix +} + +func (*VirtualTransformMembersuffix) isVirtualTransform() {} + +type VirtualTransformMemberupper struct { + Value Upper +} + +func (*VirtualTransformMemberupper) isVirtualTransform() {} + +type DynamoDbEncryptionBaseException interface { + // This is a dummy method to allow type assertion since Go empty interfaces + // aren't useful for type assertion checks. No concrete class is expected to implement + // this method. This is also not exported. + interfaceBindingMethod() +} + +type IDynamoDbKeyBranchKeyIdSupplier interface { + GetBranchKeyIdFromDdbKey(GetBranchKeyIdFromDdbKeyInput) (*GetBranchKeyIdFromDdbKeyOutput, error) +} + +type ILegacyDynamoDbEncryptor interface { +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/unmodelled_errors.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/unmodelled_errors.go new file mode 100644 index 000000000..d7d920e5f --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes/unmodelled_errors.go @@ -0,0 +1,26 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes + +import ( + "fmt" +) + +type CollectionOfErrors struct { + DynamoDbEncryptionBaseException + ListOfErrors []error + Message string +} + +func (e CollectionOfErrors) Error() string { + return fmt.Sprintf("message: %s\n err %v", e.Message, e.ListOfErrors) +} + +type OpaqueError struct { + DynamoDbEncryptionBaseException + ErrObject interface{} +} + +func (e OpaqueError) Error() string { + return fmt.Sprintf("message: %v", e.ErrObject) +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated/api_client.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated/api_client.go new file mode 100644 index 000000000..a904df22a --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated/api_client.go @@ -0,0 +1,595 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbtransformssmithygenerated + +import ( + "context" + + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/DynamoDbEncryptionTransforms" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes" +) + +type Client struct { + DafnyClient AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.IDynamoDbEncryptionTransformsClient +} + +func NewClient(clientConfig awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbTablesEncryptionConfig) (*Client, error) { + var dafnyConfig = awscryptographydbencryptionsdkdynamodbsmithygenerated.DynamoDbTablesEncryptionConfig_ToDafny(clientConfig) + var dafny_response = DynamoDbEncryptionTransforms.Companion_Default___.DynamoDbEncryptionTransforms(dafnyConfig) + if dafny_response.Is_Failure() { + panic("Client construction failed. This should never happen") + } + var dafnyClient = dafny_response.Extract().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.IDynamoDbEncryptionTransformsClient) + client := &Client{dafnyClient} + return client, nil +} + +func (client *Client) PutItemInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemInputTransformInput = PutItemInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.PutItemInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = PutItemInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) PutItemOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemOutputTransformInput = PutItemOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.PutItemOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = PutItemOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) GetItemInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemInputTransformInput = GetItemInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.GetItemInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = GetItemInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) GetItemOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemOutputTransformInput = GetItemOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.GetItemOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = GetItemOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) BatchWriteItemInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemInputTransformInput = BatchWriteItemInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.BatchWriteItemInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = BatchWriteItemInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) BatchWriteItemOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemOutputTransformInput = BatchWriteItemOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.BatchWriteItemOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = BatchWriteItemOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) BatchGetItemInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemInputTransformInput = BatchGetItemInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.BatchGetItemInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = BatchGetItemInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) BatchGetItemOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemOutputTransformInput = BatchGetItemOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.BatchGetItemOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = BatchGetItemOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) ScanInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanInputTransformInput = ScanInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.ScanInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = ScanInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) ScanOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanOutputTransformInput = ScanOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.ScanOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = ScanOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) QueryInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryInputTransformInput = QueryInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.QueryInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = QueryInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) QueryOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryOutputTransformInput = QueryOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.QueryOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = QueryOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) TransactWriteItemsInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsInputTransformInput = TransactWriteItemsInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.TransactWriteItemsInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = TransactWriteItemsInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) TransactWriteItemsOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsOutputTransformInput = TransactWriteItemsOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.TransactWriteItemsOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = TransactWriteItemsOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) UpdateItemInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemInputTransformInput = UpdateItemInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.UpdateItemInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = UpdateItemInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) UpdateItemOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemOutputTransformInput = UpdateItemOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.UpdateItemOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = UpdateItemOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) DeleteItemInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemInputTransformInput = DeleteItemInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.DeleteItemInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = DeleteItemInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) DeleteItemOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemOutputTransformInput = DeleteItemOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.DeleteItemOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = DeleteItemOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) TransactGetItemsInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsInputTransformInput = TransactGetItemsInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.TransactGetItemsInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = TransactGetItemsInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) TransactGetItemsOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsOutputTransformInput = TransactGetItemsOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.TransactGetItemsOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = TransactGetItemsOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) ExecuteStatementInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementInputTransformInput = ExecuteStatementInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.ExecuteStatementInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = ExecuteStatementInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) ExecuteStatementOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementOutputTransformInput = ExecuteStatementOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.ExecuteStatementOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = ExecuteStatementOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) BatchExecuteStatementInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementInputTransformInput = BatchExecuteStatementInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.BatchExecuteStatementInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = BatchExecuteStatementInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) BatchExecuteStatementOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementOutputTransformInput = BatchExecuteStatementOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.BatchExecuteStatementOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = BatchExecuteStatementOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) ExecuteTransactionInputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionInputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionInputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionInputTransformInput = ExecuteTransactionInputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.ExecuteTransactionInputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = ExecuteTransactionInputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionInputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) ExecuteTransactionOutputTransform(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionOutputTransformInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionOutputTransformOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionOutputTransformInput = ExecuteTransactionOutputTransformInput_ToDafny(params) + var dafny_response = client.DafnyClient.ExecuteTransactionOutputTransform(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = ExecuteTransactionOutputTransformOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionOutputTransformOutput)) + return &native_response, nil + +} + +func (client *Client) ResolveAttributes(ctx context.Context, params awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ResolveAttributesInput) (*awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ResolveAttributesOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ResolveAttributesInput = ResolveAttributesInput_ToDafny(params) + var dafny_response = client.DafnyClient.ResolveAttributes(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = ResolveAttributesOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ResolveAttributesOutput)) + return &native_response, nil + +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated/to_dafny.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated/to_dafny.go new file mode 100644 index 000000000..74b0cca02 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated/to_dafny.go @@ -0,0 +1,1127 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbtransformssmithygenerated + +import ( + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/ComAmazonawsDynamodbTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/comamazonawsdynamodbsmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UTF8" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" + "github.com/aws/aws-sdk-go-v2/service/dynamodb" + dynamodbtypes "github.com/aws/aws-sdk-go-v2/service/dynamodb/types" + "github.com/aws/smithy-go" + "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" +) + +func BatchExecuteStatementInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchExecuteStatementInputTransformInput_.Create_BatchExecuteStatementInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func BatchExecuteStatementInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchExecuteStatementInputTransformOutput_.Create_BatchExecuteStatementInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func BatchExecuteStatementOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchExecuteStatementOutputTransformInput_.Create_BatchExecuteStatementOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func BatchExecuteStatementOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchExecuteStatementOutputTransformOutput_.Create_BatchExecuteStatementOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func BatchGetItemInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchGetItemInputTransformInput_.Create_BatchGetItemInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func BatchGetItemInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchGetItemInputTransformOutput_.Create_BatchGetItemInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func BatchGetItemOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchGetItemOutputTransformInput_.Create_BatchGetItemOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func BatchGetItemOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchGetItemOutputTransformOutput_.Create_BatchGetItemOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func BatchWriteItemInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchWriteItemInputTransformInput_.Create_BatchWriteItemInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func BatchWriteItemInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchWriteItemInputTransformOutput_.Create_BatchWriteItemInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func BatchWriteItemOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchWriteItemOutputTransformInput_.Create_BatchWriteItemOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func BatchWriteItemOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_BatchWriteItemOutputTransformOutput_.Create_BatchWriteItemOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func DeleteItemInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_DeleteItemInputTransformInput_.Create_DeleteItemInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func DeleteItemInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_DeleteItemInputTransformOutput_.Create_DeleteItemInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func DeleteItemOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_DeleteItemOutputTransformInput_.Create_DeleteItemOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func DeleteItemOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_DeleteItemOutputTransformOutput_.Create_DeleteItemOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func ExecuteStatementInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ExecuteStatementInputTransformInput_.Create_ExecuteStatementInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func ExecuteStatementInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ExecuteStatementInputTransformOutput_.Create_ExecuteStatementInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func ExecuteStatementOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ExecuteStatementOutputTransformInput_.Create_ExecuteStatementOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func ExecuteStatementOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ExecuteStatementOutputTransformOutput_.Create_ExecuteStatementOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func ExecuteTransactionInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ExecuteTransactionInputTransformInput_.Create_ExecuteTransactionInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func ExecuteTransactionInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ExecuteTransactionInputTransformOutput_.Create_ExecuteTransactionInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func ExecuteTransactionOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ExecuteTransactionOutputTransformInput_.Create_ExecuteTransactionOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func ExecuteTransactionOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ExecuteTransactionOutputTransformOutput_.Create_ExecuteTransactionOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func GetItemInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_GetItemInputTransformInput_.Create_GetItemInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func GetItemInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_GetItemInputTransformOutput_.Create_GetItemInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func GetItemOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_GetItemOutputTransformInput_.Create_GetItemOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func GetItemOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_GetItemOutputTransformOutput_.Create_GetItemOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func PutItemInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_PutItemInputTransformInput_.Create_PutItemInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func PutItemInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_PutItemInputTransformOutput_.Create_PutItemInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func PutItemOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_PutItemOutputTransformInput_.Create_PutItemOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func PutItemOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_PutItemOutputTransformOutput_.Create_PutItemOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func QueryInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_QueryInputTransformInput_.Create_QueryInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func QueryInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_QueryInputTransformOutput_.Create_QueryInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func QueryOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_QueryOutputTransformInput_.Create_QueryOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func QueryOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_QueryOutputTransformOutput_.Create_QueryOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func ResolveAttributesInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ResolveAttributesInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ResolveAttributesInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ResolveAttributesInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ResolveAttributesInput_.Create_ResolveAttributesInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_TableName_ToDafny(nativeInput.TableName), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Item_ToDafny(nativeInput.Item), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Version_ToDafny(nativeInput.Version)) + }() + +} + +func ResolveAttributesOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ResolveAttributesOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ResolveAttributesOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ResolveAttributesOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ResolveAttributesOutput_.Create_ResolveAttributesOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesOutput_VirtualFields_ToDafny(nativeOutput.VirtualFields), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesOutput_CompoundBeacons_ToDafny(nativeOutput.CompoundBeacons)) + }() + +} + +func ScanInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ScanInputTransformInput_.Create_ScanInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func ScanInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ScanInputTransformOutput_.Create_ScanInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func ScanOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ScanOutputTransformInput_.Create_ScanOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func ScanOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_ScanOutputTransformOutput_.Create_ScanOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func TransactGetItemsInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_TransactGetItemsInputTransformInput_.Create_TransactGetItemsInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func TransactGetItemsInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_TransactGetItemsInputTransformOutput_.Create_TransactGetItemsInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func TransactGetItemsOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_TransactGetItemsOutputTransformInput_.Create_TransactGetItemsOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func TransactGetItemsOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_TransactGetItemsOutputTransformOutput_.Create_TransactGetItemsOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func TransactWriteItemsInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_TransactWriteItemsInputTransformInput_.Create_TransactWriteItemsInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func TransactWriteItemsInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_TransactWriteItemsInputTransformOutput_.Create_TransactWriteItemsInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func TransactWriteItemsOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_TransactWriteItemsOutputTransformInput_.Create_TransactWriteItemsOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func TransactWriteItemsOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_TransactWriteItemsOutputTransformOutput_.Create_TransactWriteItemsOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func UpdateItemInputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemInputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemInputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemInputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_UpdateItemInputTransformInput_.Create_UpdateItemInputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemInputTransformInput_sdkInput_ToDafny(nativeInput.SdkInput)) + }() + +} + +func UpdateItemInputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemInputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemInputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemInputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_UpdateItemInputTransformOutput_.Create_UpdateItemInputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemInputTransformOutput_transformedInput_ToDafny(nativeOutput.TransformedInput)) + }() + +} + +func UpdateItemOutputTransformInput_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemOutputTransformInput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemOutputTransformInput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemOutputTransformInput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_UpdateItemOutputTransformInput_.Create_UpdateItemOutputTransformInput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformInput_sdkOutput_ToDafny(nativeInput.SdkOutput), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformInput_originalInput_ToDafny(nativeInput.OriginalInput)) + }() + +} + +func UpdateItemOutputTransformOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemOutputTransformOutput) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemOutputTransformOutput { + + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemOutputTransformOutput { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_UpdateItemOutputTransformOutput_.Create_UpdateItemOutputTransformOutput_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformOutput_transformedOutput_ToDafny(nativeOutput.TransformedOutput)) + }() + +} + +func DynamoDbEncryptionTransformsException_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DynamoDbEncryptionTransformsException) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error { + return func() AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error { + + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_DynamoDbEncryptionTransformsException_(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DynamoDbEncryptionTransformsException_message_ToDafny(nativeInput.Message)) + }() + +} + +func CollectionOfErrors_Input_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.CollectionOfErrors) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error { + var e []interface{} + for _, i2 := range nativeInput.ListOfErrors { + e = append(e, Error_ToDafny(i2)) + } + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_CollectionOfErrors_(dafny.SeqOf(e...), func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(nativeInput.Message)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) +} +func OpaqueError_Input_ToDafny(nativeInput awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error { + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_Opaque_(nativeInput.ErrObject) +} + +func Error_ToDafny(err error) AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error { + switch err.(type) { + // Service Errors + case awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DynamoDbEncryptionTransformsException: + return DynamoDbEncryptionTransformsException_ToDafny(err.(awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DynamoDbEncryptionTransformsException)) + + //DependentErrors + case awscryptographydbencryptionsdkdynamodbsmithygeneratedtypes.DynamoDbEncryptionBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_AwsCryptographyDbEncryptionSdkDynamoDb_(awscryptographydbencryptionsdkdynamodbsmithygenerated.Error_ToDafny(err)) + + case awscryptographydbencryptionsdkdynamodbitemencryptorsmithygeneratedtypes.DynamoDbItemEncryptorBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptor_(awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.Error_ToDafny(err)) + + case awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_AwsCryptographyDbEncryptionSdkStructuredEncryption_(awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_ToDafny(err)) + + case awscryptographymaterialproviderssmithygeneratedtypes.AwsCryptographicMaterialProvidersBaseException: + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_AwsCryptographyMaterialProviders_(awscryptographymaterialproviderssmithygenerated.Error_ToDafny(err)) + + case *smithy.OperationError: + if err.(*smithy.OperationError).Service() == "DynamoDB" { + DynamoDBError := comamazonawsdynamodbsmithygenerated.Error_ToDafny(err) + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_ComAmazonawsDynamodb_(DynamoDBError) + } + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_Opaque_(err) + + case smithy.APIError: + DynamoDBError := comamazonawsdynamodbsmithygenerated.Error_ToDafny(err) + if !DynamoDBError.Is_OpaqueWithText() { + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_ComAmazonawsDynamodb_(DynamoDBError) + } + return AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Companion_Error_.Create_Opaque_(err) + + //Unmodelled Errors + case awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.CollectionOfErrors: + return CollectionOfErrors_Input_ToDafny(err.(awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.CollectionOfErrors)) + + default: + error, ok := err.(awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError) + if !ok { + panic("Error is not an OpaqueError") + } + return OpaqueError_Input_ToDafny(error) + } +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementInputTransformInput_sdkInput_ToDafny(input dynamodb.BatchExecuteStatementInput) ComAmazonawsDynamodbTypes.BatchExecuteStatementInput { + return func() ComAmazonawsDynamodbTypes.BatchExecuteStatementInput { + + return ComAmazonawsDynamodbTypes.Companion_BatchExecuteStatementInput_.Create_BatchExecuteStatementInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_Statements_ToDafny(input.Statements), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementInputTransformOutput_transformedInput_ToDafny(input dynamodb.BatchExecuteStatementInput) ComAmazonawsDynamodbTypes.BatchExecuteStatementInput { + return func() ComAmazonawsDynamodbTypes.BatchExecuteStatementInput { + + return ComAmazonawsDynamodbTypes.Companion_BatchExecuteStatementInput_.Create_BatchExecuteStatementInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_Statements_ToDafny(input.Statements), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformInput_sdkOutput_ToDafny(input dynamodb.BatchExecuteStatementOutput) ComAmazonawsDynamodbTypes.BatchExecuteStatementOutput { + return func() ComAmazonawsDynamodbTypes.BatchExecuteStatementOutput { + + return ComAmazonawsDynamodbTypes.Companion_BatchExecuteStatementOutput_.Create_BatchExecuteStatementOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementOutput_Responses_ToDafny(input.Responses), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformInput_originalInput_ToDafny(input dynamodb.BatchExecuteStatementInput) ComAmazonawsDynamodbTypes.BatchExecuteStatementInput { + return func() ComAmazonawsDynamodbTypes.BatchExecuteStatementInput { + + return ComAmazonawsDynamodbTypes.Companion_BatchExecuteStatementInput_.Create_BatchExecuteStatementInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_Statements_ToDafny(input.Statements), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.BatchExecuteStatementOutput) ComAmazonawsDynamodbTypes.BatchExecuteStatementOutput { + return func() ComAmazonawsDynamodbTypes.BatchExecuteStatementOutput { + + return ComAmazonawsDynamodbTypes.Companion_BatchExecuteStatementOutput_.Create_BatchExecuteStatementOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementOutput_Responses_ToDafny(input.Responses), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemInputTransformInput_sdkInput_ToDafny(input dynamodb.BatchGetItemInput) ComAmazonawsDynamodbTypes.BatchGetItemInput { + return func() ComAmazonawsDynamodbTypes.BatchGetItemInput { + + return ComAmazonawsDynamodbTypes.Companion_BatchGetItemInput_.Create_BatchGetItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_RequestItems_ToDafny(input.RequestItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemInputTransformOutput_transformedInput_ToDafny(input dynamodb.BatchGetItemInput) ComAmazonawsDynamodbTypes.BatchGetItemInput { + return func() ComAmazonawsDynamodbTypes.BatchGetItemInput { + + return ComAmazonawsDynamodbTypes.Companion_BatchGetItemInput_.Create_BatchGetItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_RequestItems_ToDafny(input.RequestItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformInput_sdkOutput_ToDafny(input dynamodb.BatchGetItemOutput) ComAmazonawsDynamodbTypes.BatchGetItemOutput { + return func() ComAmazonawsDynamodbTypes.BatchGetItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_BatchGetItemOutput_.Create_BatchGetItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_Responses_ToDafny(input.Responses), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_UnprocessedKeys_ToDafny(input.UnprocessedKeys), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformInput_originalInput_ToDafny(input dynamodb.BatchGetItemInput) ComAmazonawsDynamodbTypes.BatchGetItemInput { + return func() ComAmazonawsDynamodbTypes.BatchGetItemInput { + + return ComAmazonawsDynamodbTypes.Companion_BatchGetItemInput_.Create_BatchGetItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_RequestItems_ToDafny(input.RequestItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.BatchGetItemOutput) ComAmazonawsDynamodbTypes.BatchGetItemOutput { + return func() ComAmazonawsDynamodbTypes.BatchGetItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_BatchGetItemOutput_.Create_BatchGetItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_Responses_ToDafny(input.Responses), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_UnprocessedKeys_ToDafny(input.UnprocessedKeys), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemInputTransformInput_sdkInput_ToDafny(input dynamodb.BatchWriteItemInput) ComAmazonawsDynamodbTypes.BatchWriteItemInput { + return func() ComAmazonawsDynamodbTypes.BatchWriteItemInput { + + return ComAmazonawsDynamodbTypes.Companion_BatchWriteItemInput_.Create_BatchWriteItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_RequestItems_ToDafny(input.RequestItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemInputTransformOutput_transformedInput_ToDafny(input dynamodb.BatchWriteItemInput) ComAmazonawsDynamodbTypes.BatchWriteItemInput { + return func() ComAmazonawsDynamodbTypes.BatchWriteItemInput { + + return ComAmazonawsDynamodbTypes.Companion_BatchWriteItemInput_.Create_BatchWriteItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_RequestItems_ToDafny(input.RequestItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformInput_sdkOutput_ToDafny(input dynamodb.BatchWriteItemOutput) ComAmazonawsDynamodbTypes.BatchWriteItemOutput { + return func() ComAmazonawsDynamodbTypes.BatchWriteItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_BatchWriteItemOutput_.Create_BatchWriteItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_UnprocessedItems_ToDafny(input.UnprocessedItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformInput_originalInput_ToDafny(input dynamodb.BatchWriteItemInput) ComAmazonawsDynamodbTypes.BatchWriteItemInput { + return func() ComAmazonawsDynamodbTypes.BatchWriteItemInput { + + return ComAmazonawsDynamodbTypes.Companion_BatchWriteItemInput_.Create_BatchWriteItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_RequestItems_ToDafny(input.RequestItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.BatchWriteItemOutput) ComAmazonawsDynamodbTypes.BatchWriteItemOutput { + return func() ComAmazonawsDynamodbTypes.BatchWriteItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_BatchWriteItemOutput_.Create_BatchWriteItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_UnprocessedItems_ToDafny(input.UnprocessedItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemInputTransformInput_sdkInput_ToDafny(input dynamodb.DeleteItemInput) ComAmazonawsDynamodbTypes.DeleteItemInput { + return func() ComAmazonawsDynamodbTypes.DeleteItemInput { + + return ComAmazonawsDynamodbTypes.Companion_DeleteItemInput_.Create_DeleteItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Key_ToDafny(input.Key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Expected_ToDafny(input.Expected), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValues_ToDafny(input.ReturnValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionExpression_ToDafny(input.ConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemInputTransformOutput_transformedInput_ToDafny(input dynamodb.DeleteItemInput) ComAmazonawsDynamodbTypes.DeleteItemInput { + return func() ComAmazonawsDynamodbTypes.DeleteItemInput { + + return ComAmazonawsDynamodbTypes.Companion_DeleteItemInput_.Create_DeleteItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Key_ToDafny(input.Key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Expected_ToDafny(input.Expected), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValues_ToDafny(input.ReturnValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionExpression_ToDafny(input.ConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformInput_sdkOutput_ToDafny(input dynamodb.DeleteItemOutput) ComAmazonawsDynamodbTypes.DeleteItemOutput { + return func() ComAmazonawsDynamodbTypes.DeleteItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_DeleteItemOutput_.Create_DeleteItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_Attributes_ToDafny(input.Attributes), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformInput_originalInput_ToDafny(input dynamodb.DeleteItemInput) ComAmazonawsDynamodbTypes.DeleteItemInput { + return func() ComAmazonawsDynamodbTypes.DeleteItemInput { + + return ComAmazonawsDynamodbTypes.Companion_DeleteItemInput_.Create_DeleteItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Key_ToDafny(input.Key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Expected_ToDafny(input.Expected), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValues_ToDafny(input.ReturnValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionExpression_ToDafny(input.ConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.DeleteItemOutput) ComAmazonawsDynamodbTypes.DeleteItemOutput { + return func() ComAmazonawsDynamodbTypes.DeleteItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_DeleteItemOutput_.Create_DeleteItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_Attributes_ToDafny(input.Attributes), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementInputTransformInput_sdkInput_ToDafny(input dynamodb.ExecuteStatementInput) ComAmazonawsDynamodbTypes.ExecuteStatementInput { + return func() ComAmazonawsDynamodbTypes.ExecuteStatementInput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteStatementInput_.Create_ExecuteStatementInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Statement_ToDafny(input.Statement), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Parameters_ToDafny(input.Parameters), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ConsistentRead_ToDafny(input.ConsistentRead), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_NextToken_ToDafny(input.NextToken), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Limit_ToDafny(input.Limit), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementInputTransformOutput_transformedInput_ToDafny(input dynamodb.ExecuteStatementInput) ComAmazonawsDynamodbTypes.ExecuteStatementInput { + return func() ComAmazonawsDynamodbTypes.ExecuteStatementInput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteStatementInput_.Create_ExecuteStatementInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Statement_ToDafny(input.Statement), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Parameters_ToDafny(input.Parameters), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ConsistentRead_ToDafny(input.ConsistentRead), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_NextToken_ToDafny(input.NextToken), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Limit_ToDafny(input.Limit), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformInput_sdkOutput_ToDafny(input dynamodb.ExecuteStatementOutput) ComAmazonawsDynamodbTypes.ExecuteStatementOutput { + return func() ComAmazonawsDynamodbTypes.ExecuteStatementOutput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteStatementOutput_.Create_ExecuteStatementOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_Items_ToDafny(input.Items), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_NextToken_ToDafny(input.NextToken), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_LastEvaluatedKey_ToDafny(input.LastEvaluatedKey)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformInput_originalInput_ToDafny(input dynamodb.ExecuteStatementInput) ComAmazonawsDynamodbTypes.ExecuteStatementInput { + return func() ComAmazonawsDynamodbTypes.ExecuteStatementInput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteStatementInput_.Create_ExecuteStatementInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Statement_ToDafny(input.Statement), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Parameters_ToDafny(input.Parameters), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ConsistentRead_ToDafny(input.ConsistentRead), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_NextToken_ToDafny(input.NextToken), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Limit_ToDafny(input.Limit), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.ExecuteStatementOutput) ComAmazonawsDynamodbTypes.ExecuteStatementOutput { + return func() ComAmazonawsDynamodbTypes.ExecuteStatementOutput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteStatementOutput_.Create_ExecuteStatementOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_Items_ToDafny(input.Items), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_NextToken_ToDafny(input.NextToken), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_LastEvaluatedKey_ToDafny(input.LastEvaluatedKey)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionInputTransformInput_sdkInput_ToDafny(input dynamodb.ExecuteTransactionInput) ComAmazonawsDynamodbTypes.ExecuteTransactionInput { + return func() ComAmazonawsDynamodbTypes.ExecuteTransactionInput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteTransactionInput_.Create_ExecuteTransactionInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_TransactStatements_ToDafny(input.TransactStatements), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ClientRequestToken_ToDafny(input.ClientRequestToken), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionInputTransformOutput_transformedInput_ToDafny(input dynamodb.ExecuteTransactionInput) ComAmazonawsDynamodbTypes.ExecuteTransactionInput { + return func() ComAmazonawsDynamodbTypes.ExecuteTransactionInput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteTransactionInput_.Create_ExecuteTransactionInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_TransactStatements_ToDafny(input.TransactStatements), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ClientRequestToken_ToDafny(input.ClientRequestToken), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformInput_sdkOutput_ToDafny(input dynamodb.ExecuteTransactionOutput) ComAmazonawsDynamodbTypes.ExecuteTransactionOutput { + return func() ComAmazonawsDynamodbTypes.ExecuteTransactionOutput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteTransactionOutput_.Create_ExecuteTransactionOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionOutput_Responses_ToDafny(input.Responses), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformInput_originalInput_ToDafny(input dynamodb.ExecuteTransactionInput) ComAmazonawsDynamodbTypes.ExecuteTransactionInput { + return func() ComAmazonawsDynamodbTypes.ExecuteTransactionInput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteTransactionInput_.Create_ExecuteTransactionInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_TransactStatements_ToDafny(input.TransactStatements), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ClientRequestToken_ToDafny(input.ClientRequestToken), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.ExecuteTransactionOutput) ComAmazonawsDynamodbTypes.ExecuteTransactionOutput { + return func() ComAmazonawsDynamodbTypes.ExecuteTransactionOutput { + + return ComAmazonawsDynamodbTypes.Companion_ExecuteTransactionOutput_.Create_ExecuteTransactionOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionOutput_Responses_ToDafny(input.Responses), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemInputTransformInput_sdkInput_ToDafny(input dynamodb.GetItemInput) ComAmazonawsDynamodbTypes.GetItemInput { + return func() ComAmazonawsDynamodbTypes.GetItemInput { + + return ComAmazonawsDynamodbTypes.Companion_GetItemInput_.Create_GetItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_Key_ToDafny(input.Key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_AttributesToGet_ToDafny(input.AttributesToGet), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ConsistentRead_ToDafny(input.ConsistentRead), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ProjectionExpression_ToDafny(input.ProjectionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemInputTransformOutput_transformedInput_ToDafny(input dynamodb.GetItemInput) ComAmazonawsDynamodbTypes.GetItemInput { + return func() ComAmazonawsDynamodbTypes.GetItemInput { + + return ComAmazonawsDynamodbTypes.Companion_GetItemInput_.Create_GetItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_Key_ToDafny(input.Key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_AttributesToGet_ToDafny(input.AttributesToGet), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ConsistentRead_ToDafny(input.ConsistentRead), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ProjectionExpression_ToDafny(input.ProjectionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformInput_sdkOutput_ToDafny(input dynamodb.GetItemOutput) ComAmazonawsDynamodbTypes.GetItemOutput { + return func() ComAmazonawsDynamodbTypes.GetItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_GetItemOutput_.Create_GetItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemOutput_Item_ToDafny(input.Item), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformInput_originalInput_ToDafny(input dynamodb.GetItemInput) ComAmazonawsDynamodbTypes.GetItemInput { + return func() ComAmazonawsDynamodbTypes.GetItemInput { + + return ComAmazonawsDynamodbTypes.Companion_GetItemInput_.Create_GetItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_Key_ToDafny(input.Key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_AttributesToGet_ToDafny(input.AttributesToGet), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ConsistentRead_ToDafny(input.ConsistentRead), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ProjectionExpression_ToDafny(input.ProjectionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.GetItemOutput) ComAmazonawsDynamodbTypes.GetItemOutput { + return func() ComAmazonawsDynamodbTypes.GetItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_GetItemOutput_.Create_GetItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemOutput_Item_ToDafny(input.Item), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemInputTransformInput_sdkInput_ToDafny(input dynamodb.PutItemInput) ComAmazonawsDynamodbTypes.PutItemInput { + return func() ComAmazonawsDynamodbTypes.PutItemInput { + + return ComAmazonawsDynamodbTypes.Companion_PutItemInput_.Create_PutItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Item_ToDafny(input.Item), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Expected_ToDafny(input.Expected), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValues_ToDafny(input.ReturnValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionExpression_ToDafny(input.ConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemInputTransformOutput_transformedInput_ToDafny(input dynamodb.PutItemInput) ComAmazonawsDynamodbTypes.PutItemInput { + return func() ComAmazonawsDynamodbTypes.PutItemInput { + + return ComAmazonawsDynamodbTypes.Companion_PutItemInput_.Create_PutItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Item_ToDafny(input.Item), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Expected_ToDafny(input.Expected), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValues_ToDafny(input.ReturnValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionExpression_ToDafny(input.ConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformInput_sdkOutput_ToDafny(input dynamodb.PutItemOutput) ComAmazonawsDynamodbTypes.PutItemOutput { + return func() ComAmazonawsDynamodbTypes.PutItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_PutItemOutput_.Create_PutItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_Attributes_ToDafny(input.Attributes), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformInput_originalInput_ToDafny(input dynamodb.PutItemInput) ComAmazonawsDynamodbTypes.PutItemInput { + return func() ComAmazonawsDynamodbTypes.PutItemInput { + + return ComAmazonawsDynamodbTypes.Companion_PutItemInput_.Create_PutItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Item_ToDafny(input.Item), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Expected_ToDafny(input.Expected), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValues_ToDafny(input.ReturnValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionExpression_ToDafny(input.ConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.PutItemOutput) ComAmazonawsDynamodbTypes.PutItemOutput { + return func() ComAmazonawsDynamodbTypes.PutItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_PutItemOutput_.Create_PutItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_Attributes_ToDafny(input.Attributes), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryInputTransformInput_sdkInput_ToDafny(input dynamodb.QueryInput) ComAmazonawsDynamodbTypes.QueryInput { + return func() ComAmazonawsDynamodbTypes.QueryInput { + + return ComAmazonawsDynamodbTypes.Companion_QueryInput_.Create_QueryInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_IndexName_ToDafny(input.IndexName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Select_ToDafny(input.Select), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_AttributesToGet_ToDafny(input.AttributesToGet), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Limit_ToDafny(input.Limit), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConsistentRead_ToDafny(input.ConsistentRead), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditions_ToDafny(input.KeyConditions), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_QueryFilter_ToDafny(input.QueryFilter), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ScanIndexForward_ToDafny(input.ScanIndexForward), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExclusiveStartKey_ToDafny(input.ExclusiveStartKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ProjectionExpression_ToDafny(input.ProjectionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_FilterExpression_ToDafny(input.FilterExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditionExpression_ToDafny(input.KeyConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryInputTransformOutput_transformedInput_ToDafny(input dynamodb.QueryInput) ComAmazonawsDynamodbTypes.QueryInput { + return func() ComAmazonawsDynamodbTypes.QueryInput { + + return ComAmazonawsDynamodbTypes.Companion_QueryInput_.Create_QueryInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_IndexName_ToDafny(input.IndexName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Select_ToDafny(input.Select), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_AttributesToGet_ToDafny(input.AttributesToGet), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Limit_ToDafny(input.Limit), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConsistentRead_ToDafny(input.ConsistentRead), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditions_ToDafny(input.KeyConditions), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_QueryFilter_ToDafny(input.QueryFilter), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ScanIndexForward_ToDafny(input.ScanIndexForward), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExclusiveStartKey_ToDafny(input.ExclusiveStartKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ProjectionExpression_ToDafny(input.ProjectionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_FilterExpression_ToDafny(input.FilterExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditionExpression_ToDafny(input.KeyConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformInput_sdkOutput_ToDafny(input dynamodb.QueryOutput) ComAmazonawsDynamodbTypes.QueryOutput { + return func() ComAmazonawsDynamodbTypes.QueryOutput { + + return ComAmazonawsDynamodbTypes.Companion_QueryOutput_.Create_QueryOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_Items_ToDafny(input.Items), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_Count_ToDafny(input.Count), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_ScannedCount_ToDafny(input.ScannedCount), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_LastEvaluatedKey_ToDafny(input.LastEvaluatedKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformInput_originalInput_ToDafny(input dynamodb.QueryInput) ComAmazonawsDynamodbTypes.QueryInput { + return func() ComAmazonawsDynamodbTypes.QueryInput { + + return ComAmazonawsDynamodbTypes.Companion_QueryInput_.Create_QueryInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_IndexName_ToDafny(input.IndexName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Select_ToDafny(input.Select), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_AttributesToGet_ToDafny(input.AttributesToGet), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Limit_ToDafny(input.Limit), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConsistentRead_ToDafny(input.ConsistentRead), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditions_ToDafny(input.KeyConditions), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_QueryFilter_ToDafny(input.QueryFilter), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ScanIndexForward_ToDafny(input.ScanIndexForward), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExclusiveStartKey_ToDafny(input.ExclusiveStartKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ProjectionExpression_ToDafny(input.ProjectionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_FilterExpression_ToDafny(input.FilterExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditionExpression_ToDafny(input.KeyConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.QueryOutput) ComAmazonawsDynamodbTypes.QueryOutput { + return func() ComAmazonawsDynamodbTypes.QueryOutput { + + return ComAmazonawsDynamodbTypes.Companion_QueryOutput_.Create_QueryOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_Items_ToDafny(input.Items), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_Count_ToDafny(input.Count), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_ScannedCount_ToDafny(input.ScannedCount), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_LastEvaluatedKey_ToDafny(input.LastEvaluatedKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_TableName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Item_ToDafny(input map[string]dynamodbtypes.AttributeValue) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_ToDafny(key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Version_ToDafny(input *int32) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + return Wrappers.Companion_Option_.Create_Some_(*input) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesOutput_VirtualFields_ToDafny(input map[string]string) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_key_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_value_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesOutput_CompoundBeacons_ToDafny(input map[string]string) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanInputTransformInput_sdkInput_ToDafny(input dynamodb.ScanInput) ComAmazonawsDynamodbTypes.ScanInput { + return func() ComAmazonawsDynamodbTypes.ScanInput { + + return ComAmazonawsDynamodbTypes.Companion_ScanInput_.Create_ScanInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_IndexName_ToDafny(input.IndexName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_AttributesToGet_ToDafny(input.AttributesToGet), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Limit_ToDafny(input.Limit), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Select_ToDafny(input.Select), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ScanFilter_ToDafny(input.ScanFilter), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExclusiveStartKey_ToDafny(input.ExclusiveStartKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TotalSegments_ToDafny(input.TotalSegments), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Segment_ToDafny(input.Segment), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ProjectionExpression_ToDafny(input.ProjectionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_FilterExpression_ToDafny(input.FilterExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConsistentRead_ToDafny(input.ConsistentRead)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanInputTransformOutput_transformedInput_ToDafny(input dynamodb.ScanInput) ComAmazonawsDynamodbTypes.ScanInput { + return func() ComAmazonawsDynamodbTypes.ScanInput { + + return ComAmazonawsDynamodbTypes.Companion_ScanInput_.Create_ScanInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_IndexName_ToDafny(input.IndexName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_AttributesToGet_ToDafny(input.AttributesToGet), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Limit_ToDafny(input.Limit), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Select_ToDafny(input.Select), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ScanFilter_ToDafny(input.ScanFilter), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExclusiveStartKey_ToDafny(input.ExclusiveStartKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TotalSegments_ToDafny(input.TotalSegments), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Segment_ToDafny(input.Segment), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ProjectionExpression_ToDafny(input.ProjectionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_FilterExpression_ToDafny(input.FilterExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConsistentRead_ToDafny(input.ConsistentRead)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformInput_sdkOutput_ToDafny(input dynamodb.ScanOutput) ComAmazonawsDynamodbTypes.ScanOutput { + return func() ComAmazonawsDynamodbTypes.ScanOutput { + + return ComAmazonawsDynamodbTypes.Companion_ScanOutput_.Create_ScanOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_Items_ToDafny(input.Items), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_Count_ToDafny(input.Count), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_ScannedCount_ToDafny(input.ScannedCount), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_LastEvaluatedKey_ToDafny(input.LastEvaluatedKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformInput_originalInput_ToDafny(input dynamodb.ScanInput) ComAmazonawsDynamodbTypes.ScanInput { + return func() ComAmazonawsDynamodbTypes.ScanInput { + + return ComAmazonawsDynamodbTypes.Companion_ScanInput_.Create_ScanInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_IndexName_ToDafny(input.IndexName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_AttributesToGet_ToDafny(input.AttributesToGet), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Limit_ToDafny(input.Limit), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Select_ToDafny(input.Select), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ScanFilter_ToDafny(input.ScanFilter), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExclusiveStartKey_ToDafny(input.ExclusiveStartKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TotalSegments_ToDafny(input.TotalSegments), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Segment_ToDafny(input.Segment), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ProjectionExpression_ToDafny(input.ProjectionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_FilterExpression_ToDafny(input.FilterExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConsistentRead_ToDafny(input.ConsistentRead)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.ScanOutput) ComAmazonawsDynamodbTypes.ScanOutput { + return func() ComAmazonawsDynamodbTypes.ScanOutput { + + return ComAmazonawsDynamodbTypes.Companion_ScanOutput_.Create_ScanOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_Items_ToDafny(input.Items), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_Count_ToDafny(input.Count), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_ScannedCount_ToDafny(input.ScannedCount), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_LastEvaluatedKey_ToDafny(input.LastEvaluatedKey), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsInputTransformInput_sdkInput_ToDafny(input dynamodb.TransactGetItemsInput) ComAmazonawsDynamodbTypes.TransactGetItemsInput { + return func() ComAmazonawsDynamodbTypes.TransactGetItemsInput { + + return ComAmazonawsDynamodbTypes.Companion_TransactGetItemsInput_.Create_TransactGetItemsInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_TransactItems_ToDafny(input.TransactItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsInputTransformOutput_transformedInput_ToDafny(input dynamodb.TransactGetItemsInput) ComAmazonawsDynamodbTypes.TransactGetItemsInput { + return func() ComAmazonawsDynamodbTypes.TransactGetItemsInput { + + return ComAmazonawsDynamodbTypes.Companion_TransactGetItemsInput_.Create_TransactGetItemsInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_TransactItems_ToDafny(input.TransactItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformInput_sdkOutput_ToDafny(input dynamodb.TransactGetItemsOutput) ComAmazonawsDynamodbTypes.TransactGetItemsOutput { + return func() ComAmazonawsDynamodbTypes.TransactGetItemsOutput { + + return ComAmazonawsDynamodbTypes.Companion_TransactGetItemsOutput_.Create_TransactGetItemsOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsOutput_Responses_ToDafny(input.Responses)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformInput_originalInput_ToDafny(input dynamodb.TransactGetItemsInput) ComAmazonawsDynamodbTypes.TransactGetItemsInput { + return func() ComAmazonawsDynamodbTypes.TransactGetItemsInput { + + return ComAmazonawsDynamodbTypes.Companion_TransactGetItemsInput_.Create_TransactGetItemsInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_TransactItems_ToDafny(input.TransactItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.TransactGetItemsOutput) ComAmazonawsDynamodbTypes.TransactGetItemsOutput { + return func() ComAmazonawsDynamodbTypes.TransactGetItemsOutput { + + return ComAmazonawsDynamodbTypes.Companion_TransactGetItemsOutput_.Create_TransactGetItemsOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsOutput_Responses_ToDafny(input.Responses)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsInputTransformInput_sdkInput_ToDafny(input dynamodb.TransactWriteItemsInput) ComAmazonawsDynamodbTypes.TransactWriteItemsInput { + return func() ComAmazonawsDynamodbTypes.TransactWriteItemsInput { + + return ComAmazonawsDynamodbTypes.Companion_TransactWriteItemsInput_.Create_TransactWriteItemsInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_TransactItems_ToDafny(input.TransactItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ClientRequestToken_ToDafny(input.ClientRequestToken)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsInputTransformOutput_transformedInput_ToDafny(input dynamodb.TransactWriteItemsInput) ComAmazonawsDynamodbTypes.TransactWriteItemsInput { + return func() ComAmazonawsDynamodbTypes.TransactWriteItemsInput { + + return ComAmazonawsDynamodbTypes.Companion_TransactWriteItemsInput_.Create_TransactWriteItemsInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_TransactItems_ToDafny(input.TransactItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ClientRequestToken_ToDafny(input.ClientRequestToken)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformInput_sdkOutput_ToDafny(input dynamodb.TransactWriteItemsOutput) ComAmazonawsDynamodbTypes.TransactWriteItemsOutput { + return func() ComAmazonawsDynamodbTypes.TransactWriteItemsOutput { + + return ComAmazonawsDynamodbTypes.Companion_TransactWriteItemsOutput_.Create_TransactWriteItemsOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformInput_originalInput_ToDafny(input dynamodb.TransactWriteItemsInput) ComAmazonawsDynamodbTypes.TransactWriteItemsInput { + return func() ComAmazonawsDynamodbTypes.TransactWriteItemsInput { + + return ComAmazonawsDynamodbTypes.Companion_TransactWriteItemsInput_.Create_TransactWriteItemsInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_TransactItems_ToDafny(input.TransactItems), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ClientRequestToken_ToDafny(input.ClientRequestToken)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.TransactWriteItemsOutput) ComAmazonawsDynamodbTypes.TransactWriteItemsOutput { + return func() ComAmazonawsDynamodbTypes.TransactWriteItemsOutput { + + return ComAmazonawsDynamodbTypes.Companion_TransactWriteItemsOutput_.Create_TransactWriteItemsOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemInputTransformInput_sdkInput_ToDafny(input dynamodb.UpdateItemInput) ComAmazonawsDynamodbTypes.UpdateItemInput { + return func() ComAmazonawsDynamodbTypes.UpdateItemInput { + + return ComAmazonawsDynamodbTypes.Companion_UpdateItemInput_.Create_UpdateItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Key_ToDafny(input.Key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_AttributeUpdates_ToDafny(input.AttributeUpdates), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Expected_ToDafny(input.Expected), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValues_ToDafny(input.ReturnValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_UpdateExpression_ToDafny(input.UpdateExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionExpression_ToDafny(input.ConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemInputTransformOutput_transformedInput_ToDafny(input dynamodb.UpdateItemInput) ComAmazonawsDynamodbTypes.UpdateItemInput { + return func() ComAmazonawsDynamodbTypes.UpdateItemInput { + + return ComAmazonawsDynamodbTypes.Companion_UpdateItemInput_.Create_UpdateItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Key_ToDafny(input.Key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_AttributeUpdates_ToDafny(input.AttributeUpdates), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Expected_ToDafny(input.Expected), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValues_ToDafny(input.ReturnValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_UpdateExpression_ToDafny(input.UpdateExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionExpression_ToDafny(input.ConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformInput_sdkOutput_ToDafny(input dynamodb.UpdateItemOutput) ComAmazonawsDynamodbTypes.UpdateItemOutput { + return func() ComAmazonawsDynamodbTypes.UpdateItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_UpdateItemOutput_.Create_UpdateItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_Attributes_ToDafny(input.Attributes), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformInput_originalInput_ToDafny(input dynamodb.UpdateItemInput) ComAmazonawsDynamodbTypes.UpdateItemInput { + return func() ComAmazonawsDynamodbTypes.UpdateItemInput { + + return ComAmazonawsDynamodbTypes.Companion_UpdateItemInput_.Create_UpdateItemInput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_TableName_ToDafny(input.TableName), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Key_ToDafny(input.Key), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_AttributeUpdates_ToDafny(input.AttributeUpdates), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Expected_ToDafny(input.Expected), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionalOperator_ToDafny(input.ConditionalOperator), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValues_ToDafny(input.ReturnValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnConsumedCapacity_ToDafny(input.ReturnConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnItemCollectionMetrics_ToDafny(input.ReturnItemCollectionMetrics), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_UpdateExpression_ToDafny(input.UpdateExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionExpression_ToDafny(input.ConditionExpression), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeNames_ToDafny(input.ExpressionAttributeNames), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeValues_ToDafny(input.ExpressionAttributeValues), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValuesOnConditionCheckFailure_ToDafny(input.ReturnValuesOnConditionCheckFailure)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformOutput_transformedOutput_ToDafny(input dynamodb.UpdateItemOutput) ComAmazonawsDynamodbTypes.UpdateItemOutput { + return func() ComAmazonawsDynamodbTypes.UpdateItemOutput { + + return ComAmazonawsDynamodbTypes.Companion_UpdateItemOutput_.Create_UpdateItemOutput_(comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_Attributes_ToDafny(input.Attributes), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_ConsumedCapacity_ToDafny(input.ConsumedCapacity), comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_ItemCollectionMetrics_ToDafny(input.ItemCollectionMetrics)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DynamoDbEncryptionTransformsException_message_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated/to_native.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated/to_native.go new file mode 100644 index 000000000..851f227fb --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygenerated/to_native.go @@ -0,0 +1,1098 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbtransformssmithygenerated + +import ( + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/ComAmazonawsDynamodbTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/comamazonawsdynamodbsmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UTF8" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbsmithygenerated" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated" + "github.com/aws/aws-sdk-go-v2/service/dynamodb" + dynamodbtypes "github.com/aws/aws-sdk-go-v2/service/dynamodb/types" + "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" +) + +func BatchExecuteStatementInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func BatchExecuteStatementInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func BatchExecuteStatementOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func BatchExecuteStatementOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchExecuteStatementOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchExecuteStatementOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func BatchGetItemInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func BatchGetItemInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func BatchGetItemOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func BatchGetItemOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchGetItemOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchGetItemOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func BatchWriteItemInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func BatchWriteItemInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func BatchWriteItemOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func BatchWriteItemOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.BatchWriteItemOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.BatchWriteItemOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func DeleteItemInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func DeleteItemInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func DeleteItemOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func DeleteItemOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.DeleteItemOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DeleteItemOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func ExecuteStatementInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func ExecuteStatementInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func ExecuteStatementOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func ExecuteStatementOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteStatementOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteStatementOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func ExecuteTransactionInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func ExecuteTransactionInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func ExecuteTransactionOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func ExecuteTransactionOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ExecuteTransactionOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ExecuteTransactionOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func GetItemInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func GetItemInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func GetItemOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func GetItemOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.GetItemOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.GetItemOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func PutItemInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func PutItemInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func PutItemOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func PutItemOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.PutItemOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.PutItemOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func QueryInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func QueryInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func QueryOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func QueryOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.QueryOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.QueryOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func ResolveAttributesInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ResolveAttributesInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ResolveAttributesInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ResolveAttributesInput{TableName: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_TableName_FromDafny(dafnyInput.Dtor_TableName()), + Item: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Item_FromDafny(dafnyInput.Dtor_Item()), + Version: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Version_FromDafny(dafnyInput.Dtor_Version().UnwrapOr(nil)), + } + +} + +func ResolveAttributesOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ResolveAttributesOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ResolveAttributesOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ResolveAttributesOutput{VirtualFields: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesOutput_VirtualFields_FromDafny(dafnyOutput.Dtor_VirtualFields()), + CompoundBeacons: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesOutput_CompoundBeacons_FromDafny(dafnyOutput.Dtor_CompoundBeacons()), + } + +} + +func ScanInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func ScanInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func ScanOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func ScanOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.ScanOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.ScanOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func TransactGetItemsInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func TransactGetItemsInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func TransactGetItemsOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func TransactGetItemsOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactGetItemsOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactGetItemsOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func TransactWriteItemsInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func TransactWriteItemsInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func TransactWriteItemsOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func TransactWriteItemsOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.TransactWriteItemsOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.TransactWriteItemsOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func UpdateItemInputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemInputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemInputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemInputTransformInput{SdkInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemInputTransformInput_sdkInput_FromDafny(dafnyInput.Dtor_sdkInput())} + +} + +func UpdateItemInputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemInputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemInputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemInputTransformOutput{TransformedInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemInputTransformOutput_transformedInput_FromDafny(dafnyOutput.Dtor_transformedInput())} + +} + +func UpdateItemOutputTransformInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemOutputTransformInput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemOutputTransformInput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemOutputTransformInput{SdkOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformInput_sdkOutput_FromDafny(dafnyInput.Dtor_sdkOutput()), + OriginalInput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformInput_originalInput_FromDafny(dafnyInput.Dtor_originalInput()), + } + +} + +func UpdateItemOutputTransformOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.UpdateItemOutputTransformOutput) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemOutputTransformOutput { + + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.UpdateItemOutputTransformOutput{TransformedOutput: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformOutput_transformedOutput_FromDafny(dafnyOutput.Dtor_transformedOutput())} + +} + +func DynamoDbEncryptionTransformsException_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DynamoDbEncryptionTransformsException { + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.DynamoDbEncryptionTransformsException{Message: Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DynamoDbEncryptionTransformsException_message_FromDafny(dafnyOutput.Dtor_message())} + +} + +func CollectionOfErrors_Output_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.CollectionOfErrors { + listOfErrors := dafnyOutput.Dtor_list() + message := dafnyOutput.Dtor_message() + t := awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.CollectionOfErrors{} + for i := dafny.Iterate(listOfErrors); ; { + val, ok := i() + if !ok { + break + } + err := val.(AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) + t.ListOfErrors = append(t.ListOfErrors, Error_FromDafny(err)) + + } + t.Message = func() string { + a := UTF8.Encode(message.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + return s + }() + return t +} +func OpaqueError_Output_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError { + return awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes.OpaqueError{ + ErrObject: dafnyOutput.Dtor_obj(), + } +} + +func Error_FromDafny(err AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.Error) error { + // Service Errors + if err.Is_DynamoDbEncryptionTransformsException() { + return DynamoDbEncryptionTransformsException_FromDafny(err) + } + + //DependentErrors + if err.Is_ComAmazonawsDynamodb() { + return comamazonawsdynamodbsmithygenerated.Error_FromDafny(err.Dtor_ComAmazonawsDynamodb()) + } + + if err.Is_AwsCryptographyDbEncryptionSdkDynamoDb() { + return awscryptographydbencryptionsdkdynamodbsmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyDbEncryptionSdkDynamoDb()) + } + + if err.Is_AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptor() { + return awscryptographydbencryptionsdkdynamodbitemencryptorsmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyDbEncryptionSdkDynamoDbItemEncryptor()) + } + + if err.Is_AwsCryptographyDbEncryptionSdkStructuredEncryption() { + return awscryptographydbencryptionsdkstructuredencryptionsmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyDbEncryptionSdkStructuredEncryption()) + } + + if err.Is_AwsCryptographyMaterialProviders() { + return awscryptographymaterialproviderssmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyMaterialProviders()) + } + + //Unmodelled Errors + if err.Is_CollectionOfErrors() { + return CollectionOfErrors_Output_FromDafny(err) + } + + return OpaqueError_Output_FromDafny(err) +} + +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.BatchExecuteStatementInput { + return dynamodb.BatchExecuteStatementInput{Statements: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_Statements_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementInput).Dtor_Statements()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.BatchExecuteStatementInput { + return dynamodb.BatchExecuteStatementInput{Statements: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_Statements_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementInput).Dtor_Statements()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.BatchExecuteStatementOutput { + return dynamodb.BatchExecuteStatementOutput{Responses: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementOutput_Responses_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementOutput).Dtor_Responses().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.BatchExecuteStatementInput { + return dynamodb.BatchExecuteStatementInput{Statements: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_Statements_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementInput).Dtor_Statements()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchExecuteStatementOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.BatchExecuteStatementOutput { + return dynamodb.BatchExecuteStatementOutput{Responses: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementOutput_Responses_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementOutput).Dtor_Responses().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchExecuteStatementOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchExecuteStatementOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.BatchGetItemInput { + return dynamodb.BatchGetItemInput{RequestItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_RequestItems_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemInput).Dtor_RequestItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.BatchGetItemInput { + return dynamodb.BatchGetItemInput{RequestItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_RequestItems_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemInput).Dtor_RequestItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.BatchGetItemOutput { + return dynamodb.BatchGetItemOutput{Responses: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_Responses_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemOutput).Dtor_Responses().UnwrapOr(nil)), + UnprocessedKeys: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_UnprocessedKeys_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemOutput).Dtor_UnprocessedKeys().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.BatchGetItemInput { + return dynamodb.BatchGetItemInput{RequestItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_RequestItems_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemInput).Dtor_RequestItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchGetItemOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.BatchGetItemOutput { + return dynamodb.BatchGetItemOutput{Responses: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_Responses_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemOutput).Dtor_Responses().UnwrapOr(nil)), + UnprocessedKeys: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_UnprocessedKeys_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemOutput).Dtor_UnprocessedKeys().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchGetItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchGetItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.BatchWriteItemInput { + return dynamodb.BatchWriteItemInput{RequestItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_RequestItems_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemInput).Dtor_RequestItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.BatchWriteItemInput { + return dynamodb.BatchWriteItemInput{RequestItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_RequestItems_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemInput).Dtor_RequestItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.BatchWriteItemOutput { + return dynamodb.BatchWriteItemOutput{UnprocessedItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_UnprocessedItems_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemOutput).Dtor_UnprocessedItems().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.BatchWriteItemInput { + return dynamodb.BatchWriteItemInput{RequestItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_RequestItems_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemInput).Dtor_RequestItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_BatchWriteItemOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.BatchWriteItemOutput { + return dynamodb.BatchWriteItemOutput{UnprocessedItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_UnprocessedItems_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemOutput).Dtor_UnprocessedItems().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_BatchWriteItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.BatchWriteItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.DeleteItemInput { + return dynamodb.DeleteItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_TableName()), + Key: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Key_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_Key()), + Expected: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Expected_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_Expected().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ReturnValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValues_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnValues().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + ConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.DeleteItemInput { + return dynamodb.DeleteItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_TableName()), + Key: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Key_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_Key()), + Expected: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Expected_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_Expected().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ReturnValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValues_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnValues().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + ConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.DeleteItemOutput { + return dynamodb.DeleteItemOutput{Attributes: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_Attributes_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemOutput).Dtor_Attributes().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.DeleteItemInput { + return dynamodb.DeleteItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_TableName()), + Key: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Key_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_Key()), + Expected: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_Expected_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_Expected().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ReturnValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValues_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnValues().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + ConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DeleteItemOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.DeleteItemOutput { + return dynamodb.DeleteItemOutput{Attributes: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_Attributes_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemOutput).Dtor_Attributes().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_DeleteItemOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.DeleteItemOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.ExecuteStatementInput { + return dynamodb.ExecuteStatementInput{Statement: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Statement_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_Statement()), + Parameters: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Parameters_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_Parameters().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_ConsistentRead().UnwrapOr(nil)), + NextToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_NextToken_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_NextToken().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + Limit: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Limit_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_Limit().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.ExecuteStatementInput { + return dynamodb.ExecuteStatementInput{Statement: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Statement_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_Statement()), + Parameters: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Parameters_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_Parameters().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_ConsistentRead().UnwrapOr(nil)), + NextToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_NextToken_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_NextToken().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + Limit: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Limit_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_Limit().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.ExecuteStatementOutput { + return dynamodb.ExecuteStatementOutput{Items: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_Items_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementOutput).Dtor_Items().UnwrapOr(nil)), + NextToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_NextToken_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementOutput).Dtor_NextToken().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + LastEvaluatedKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_LastEvaluatedKey_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementOutput).Dtor_LastEvaluatedKey().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.ExecuteStatementInput { + return dynamodb.ExecuteStatementInput{Statement: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Statement_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_Statement()), + Parameters: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Parameters_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_Parameters().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_ConsistentRead().UnwrapOr(nil)), + NextToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_NextToken_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_NextToken().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + Limit: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_Limit_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_Limit().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteStatementOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.ExecuteStatementOutput { + return dynamodb.ExecuteStatementOutput{Items: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_Items_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementOutput).Dtor_Items().UnwrapOr(nil)), + NextToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_NextToken_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementOutput).Dtor_NextToken().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + LastEvaluatedKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteStatementOutput_LastEvaluatedKey_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteStatementOutput).Dtor_LastEvaluatedKey().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.ExecuteTransactionInput { + return dynamodb.ExecuteTransactionInput{TransactStatements: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_TransactStatements_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionInput).Dtor_TransactStatements()), + ClientRequestToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ClientRequestToken_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionInput).Dtor_ClientRequestToken().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.ExecuteTransactionInput { + return dynamodb.ExecuteTransactionInput{TransactStatements: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_TransactStatements_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionInput).Dtor_TransactStatements()), + ClientRequestToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ClientRequestToken_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionInput).Dtor_ClientRequestToken().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.ExecuteTransactionOutput { + return dynamodb.ExecuteTransactionOutput{Responses: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionOutput_Responses_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionOutput).Dtor_Responses().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.ExecuteTransactionInput { + return dynamodb.ExecuteTransactionInput{TransactStatements: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_TransactStatements_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionInput).Dtor_TransactStatements()), + ClientRequestToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ClientRequestToken_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionInput).Dtor_ClientRequestToken().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ExecuteTransactionOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.ExecuteTransactionOutput { + return dynamodb.ExecuteTransactionOutput{Responses: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionOutput_Responses_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionOutput).Dtor_Responses().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ExecuteTransactionOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ExecuteTransactionOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.GetItemInput { + return dynamodb.GetItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_TableName()), + Key: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_Key_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_Key()), + AttributesToGet: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_AttributesToGet_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_AttributesToGet().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ConsistentRead().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ProjectionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ProjectionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ProjectionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.GetItemInput { + return dynamodb.GetItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_TableName()), + Key: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_Key_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_Key()), + AttributesToGet: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_AttributesToGet_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_AttributesToGet().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ConsistentRead().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ProjectionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ProjectionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ProjectionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.GetItemOutput { + return dynamodb.GetItemOutput{Item: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemOutput_Item_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemOutput).Dtor_Item().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.GetItemInput { + return dynamodb.GetItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_TableName()), + Key: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_Key_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_Key()), + AttributesToGet: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_AttributesToGet_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_AttributesToGet().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ConsistentRead().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ProjectionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ProjectionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ProjectionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_GetItemOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.GetItemOutput { + return dynamodb.GetItemOutput{Item: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemOutput_Item_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemOutput).Dtor_Item().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_GetItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.GetItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.PutItemInput { + return dynamodb.PutItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_TableName()), + Item: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Item_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_Item()), + Expected: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Expected_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_Expected().UnwrapOr(nil)), + ReturnValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValues_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnValues().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.PutItemInput { + return dynamodb.PutItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_TableName()), + Item: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Item_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_Item()), + Expected: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Expected_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_Expected().UnwrapOr(nil)), + ReturnValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValues_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnValues().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.PutItemOutput { + return dynamodb.PutItemOutput{Attributes: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_Attributes_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemOutput).Dtor_Attributes().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.PutItemInput { + return dynamodb.PutItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_TableName()), + Item: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Item_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_Item()), + Expected: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_Expected_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_Expected().UnwrapOr(nil)), + ReturnValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValues_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnValues().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_PutItemOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.PutItemOutput { + return dynamodb.PutItemOutput{Attributes: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_Attributes_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemOutput).Dtor_Attributes().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_PutItemOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.PutItemOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.QueryInput { + return dynamodb.QueryInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_TableName()), + IndexName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_IndexName_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_IndexName().UnwrapOr(nil)), + Select: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Select_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_Select().UnwrapOr(nil)), + AttributesToGet: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_AttributesToGet_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_AttributesToGet().UnwrapOr(nil)), + Limit: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Limit_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_Limit().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ConsistentRead().UnwrapOr(nil)), + KeyConditions: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditions_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_KeyConditions().UnwrapOr(nil)), + QueryFilter: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_QueryFilter_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_QueryFilter().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ScanIndexForward: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ScanIndexForward_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ScanIndexForward().UnwrapOr(nil)), + ExclusiveStartKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExclusiveStartKey_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ExclusiveStartKey().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ProjectionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ProjectionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ProjectionExpression().UnwrapOr(nil)), + FilterExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_FilterExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_FilterExpression().UnwrapOr(nil)), + KeyConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_KeyConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.QueryInput { + return dynamodb.QueryInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_TableName()), + IndexName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_IndexName_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_IndexName().UnwrapOr(nil)), + Select: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Select_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_Select().UnwrapOr(nil)), + AttributesToGet: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_AttributesToGet_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_AttributesToGet().UnwrapOr(nil)), + Limit: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Limit_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_Limit().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ConsistentRead().UnwrapOr(nil)), + KeyConditions: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditions_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_KeyConditions().UnwrapOr(nil)), + QueryFilter: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_QueryFilter_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_QueryFilter().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ScanIndexForward: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ScanIndexForward_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ScanIndexForward().UnwrapOr(nil)), + ExclusiveStartKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExclusiveStartKey_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ExclusiveStartKey().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ProjectionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ProjectionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ProjectionExpression().UnwrapOr(nil)), + FilterExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_FilterExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_FilterExpression().UnwrapOr(nil)), + KeyConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_KeyConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.QueryOutput { + return dynamodb.QueryOutput{Items: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_Items_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_Items().UnwrapOr(nil)), + Count: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_Count_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_Count().UnwrapOr(nil)), + ScannedCount: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_ScannedCount_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_ScannedCount().UnwrapOr(nil)), + LastEvaluatedKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_LastEvaluatedKey_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_LastEvaluatedKey().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.QueryInput { + return dynamodb.QueryInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_TableName()), + IndexName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_IndexName_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_IndexName().UnwrapOr(nil)), + Select: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Select_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_Select().UnwrapOr(nil)), + AttributesToGet: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_AttributesToGet_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_AttributesToGet().UnwrapOr(nil)), + Limit: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_Limit_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_Limit().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ConsistentRead().UnwrapOr(nil)), + KeyConditions: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditions_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_KeyConditions().UnwrapOr(nil)), + QueryFilter: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_QueryFilter_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_QueryFilter().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ScanIndexForward: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ScanIndexForward_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ScanIndexForward().UnwrapOr(nil)), + ExclusiveStartKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExclusiveStartKey_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ExclusiveStartKey().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ProjectionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ProjectionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ProjectionExpression().UnwrapOr(nil)), + FilterExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_FilterExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_FilterExpression().UnwrapOr(nil)), + KeyConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_KeyConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_KeyConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_QueryOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.QueryOutput { + return dynamodb.QueryOutput{Items: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_Items_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_Items().UnwrapOr(nil)), + Count: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_Count_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_Count().UnwrapOr(nil)), + ScannedCount: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_ScannedCount_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_ScannedCount().UnwrapOr(nil)), + LastEvaluatedKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_LastEvaluatedKey_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_LastEvaluatedKey().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_QueryOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.QueryOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_TableName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Item_FromDafny(input interface{}) map[string]dynamodbtypes.AttributeValue { + var m map[string]dynamodbtypes.AttributeValue = make(map[string]dynamodbtypes.AttributeValue) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_AttributeMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Version_FromDafny(input interface{}) *int32 { + return func() *int32 { + var b int32 + if input == nil { + return nil + } + b = input.(int32) + return &b + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesOutput_VirtualFields_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_key_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_value_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesOutput_CompoundBeacons_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_StringMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.ScanInput { + return dynamodb.ScanInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_TableName()), + IndexName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_IndexName_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_IndexName().UnwrapOr(nil)), + AttributesToGet: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_AttributesToGet_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_AttributesToGet().UnwrapOr(nil)), + Limit: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Limit_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_Limit().UnwrapOr(nil)), + Select: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Select_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_Select().UnwrapOr(nil)), + ScanFilter: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ScanFilter_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ScanFilter().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ExclusiveStartKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExclusiveStartKey_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ExclusiveStartKey().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + TotalSegments: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TotalSegments_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_TotalSegments().UnwrapOr(nil)), + Segment: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Segment_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_Segment().UnwrapOr(nil)), + ProjectionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ProjectionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ProjectionExpression().UnwrapOr(nil)), + FilterExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_FilterExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_FilterExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ConsistentRead().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.ScanInput { + return dynamodb.ScanInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_TableName()), + IndexName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_IndexName_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_IndexName().UnwrapOr(nil)), + AttributesToGet: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_AttributesToGet_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_AttributesToGet().UnwrapOr(nil)), + Limit: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Limit_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_Limit().UnwrapOr(nil)), + Select: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Select_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_Select().UnwrapOr(nil)), + ScanFilter: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ScanFilter_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ScanFilter().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ExclusiveStartKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExclusiveStartKey_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ExclusiveStartKey().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + TotalSegments: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TotalSegments_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_TotalSegments().UnwrapOr(nil)), + Segment: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Segment_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_Segment().UnwrapOr(nil)), + ProjectionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ProjectionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ProjectionExpression().UnwrapOr(nil)), + FilterExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_FilterExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_FilterExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ConsistentRead().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.ScanOutput { + return dynamodb.ScanOutput{Items: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_Items_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_Items().UnwrapOr(nil)), + Count: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_Count_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_Count().UnwrapOr(nil)), + ScannedCount: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_ScannedCount_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_ScannedCount().UnwrapOr(nil)), + LastEvaluatedKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_LastEvaluatedKey_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_LastEvaluatedKey().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.ScanInput { + return dynamodb.ScanInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_TableName()), + IndexName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_IndexName_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_IndexName().UnwrapOr(nil)), + AttributesToGet: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_AttributesToGet_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_AttributesToGet().UnwrapOr(nil)), + Limit: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Limit_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_Limit().UnwrapOr(nil)), + Select: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Select_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_Select().UnwrapOr(nil)), + ScanFilter: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ScanFilter_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ScanFilter().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ExclusiveStartKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExclusiveStartKey_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ExclusiveStartKey().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + TotalSegments: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_TotalSegments_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_TotalSegments().UnwrapOr(nil)), + Segment: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_Segment_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_Segment().UnwrapOr(nil)), + ProjectionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ProjectionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ProjectionExpression().UnwrapOr(nil)), + FilterExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_FilterExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_FilterExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ConsistentRead: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanInput_ConsistentRead_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanInput).Dtor_ConsistentRead().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ScanOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.ScanOutput { + return dynamodb.ScanOutput{Items: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_Items_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_Items().UnwrapOr(nil)), + Count: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_Count_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_Count().UnwrapOr(nil)), + ScannedCount: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_ScannedCount_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_ScannedCount().UnwrapOr(nil)), + LastEvaluatedKey: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_LastEvaluatedKey_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_LastEvaluatedKey().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_ScanOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.ScanOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.TransactGetItemsInput { + return dynamodb.TransactGetItemsInput{TransactItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_TransactItems_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsInput).Dtor_TransactItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.TransactGetItemsInput { + return dynamodb.TransactGetItemsInput{TransactItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_TransactItems_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsInput).Dtor_TransactItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.TransactGetItemsOutput { + return dynamodb.TransactGetItemsOutput{ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + Responses: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsOutput_Responses_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsOutput).Dtor_Responses().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.TransactGetItemsInput { + return dynamodb.TransactGetItemsInput{TransactItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_TransactItems_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsInput).Dtor_TransactItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactGetItemsOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.TransactGetItemsOutput { + return dynamodb.TransactGetItemsOutput{ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + Responses: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactGetItemsOutput_Responses_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactGetItemsOutput).Dtor_Responses().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.TransactWriteItemsInput { + return dynamodb.TransactWriteItemsInput{TransactItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_TransactItems_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_TransactItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + ClientRequestToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ClientRequestToken_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_ClientRequestToken().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.TransactWriteItemsInput { + return dynamodb.TransactWriteItemsInput{TransactItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_TransactItems_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_TransactItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + ClientRequestToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ClientRequestToken_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_ClientRequestToken().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.TransactWriteItemsOutput { + return dynamodb.TransactWriteItemsOutput{ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.TransactWriteItemsInput { + return dynamodb.TransactWriteItemsInput{TransactItems: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_TransactItems_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_TransactItems()), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + ClientRequestToken: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsInput_ClientRequestToken_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsInput).Dtor_ClientRequestToken().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_TransactWriteItemsOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.TransactWriteItemsOutput { + return dynamodb.TransactWriteItemsOutput{ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_TransactWriteItemsOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.TransactWriteItemsOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemInputTransformInput_sdkInput_FromDafny(input interface{}) dynamodb.UpdateItemInput { + return dynamodb.UpdateItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_TableName()), + Key: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Key_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_Key()), + AttributeUpdates: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_AttributeUpdates_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_AttributeUpdates().UnwrapOr(nil)), + Expected: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Expected_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_Expected().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ReturnValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValues_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnValues().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + UpdateExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_UpdateExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_UpdateExpression().UnwrapOr(nil)), + ConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemInputTransformOutput_transformedInput_FromDafny(input interface{}) dynamodb.UpdateItemInput { + return dynamodb.UpdateItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_TableName()), + Key: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Key_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_Key()), + AttributeUpdates: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_AttributeUpdates_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_AttributeUpdates().UnwrapOr(nil)), + Expected: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Expected_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_Expected().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ReturnValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValues_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnValues().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + UpdateExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_UpdateExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_UpdateExpression().UnwrapOr(nil)), + ConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformInput_sdkOutput_FromDafny(input interface{}) dynamodb.UpdateItemOutput { + return dynamodb.UpdateItemOutput{Attributes: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_Attributes_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemOutput).Dtor_Attributes().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformInput_originalInput_FromDafny(input interface{}) dynamodb.UpdateItemInput { + return dynamodb.UpdateItemInput{TableName: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_TableName_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_TableName()), + Key: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Key_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_Key()), + AttributeUpdates: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_AttributeUpdates_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_AttributeUpdates().UnwrapOr(nil)), + Expected: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_Expected_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_Expected().UnwrapOr(nil)), + ConditionalOperator: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionalOperator_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ConditionalOperator().UnwrapOr(nil)), + ReturnValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValues_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnValues().UnwrapOr(nil)), + ReturnConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnConsumedCapacity().UnwrapOr(nil)), + ReturnItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnItemCollectionMetrics().UnwrapOr(nil)), + UpdateExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_UpdateExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_UpdateExpression().UnwrapOr(nil)), + ConditionExpression: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ConditionExpression_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ConditionExpression().UnwrapOr(nil)), + ExpressionAttributeNames: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeNames_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ExpressionAttributeNames().UnwrapOr(nil)), + ExpressionAttributeValues: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ExpressionAttributeValues_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ExpressionAttributeValues().UnwrapOr(nil)), + ReturnValuesOnConditionCheckFailure: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemInput_ReturnValuesOnConditionCheckFailure_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemInput).Dtor_ReturnValuesOnConditionCheckFailure().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_UpdateItemOutputTransformOutput_transformedOutput_FromDafny(input interface{}) dynamodb.UpdateItemOutput { + return dynamodb.UpdateItemOutput{Attributes: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_Attributes_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemOutput).Dtor_Attributes().UnwrapOr(nil)), + ConsumedCapacity: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_ConsumedCapacity_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemOutput).Dtor_ConsumedCapacity().UnwrapOr(nil)), + ItemCollectionMetrics: comamazonawsdynamodbsmithygenerated.Com_amazonaws_dynamodb_UpdateItemOutput_ItemCollectionMetrics_FromDafny(input.(ComAmazonawsDynamodbTypes.UpdateItemOutput).Dtor_ItemCollectionMetrics().UnwrapOr(nil)), + } +} +func Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_DynamoDbEncryptionTransformsException_message_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes/errors.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes/errors.go new file mode 100644 index 000000000..c827f8620 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes/errors.go @@ -0,0 +1,17 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes + +import ( + "fmt" +) + +type DynamoDbEncryptionTransformsException struct { + DynamoDbEncryptionTransformsBaseException + Message string + ErrorCodeOverride *string +} + +func (e DynamoDbEncryptionTransformsException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCodeOverride, e.Message) +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes/types.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes/types.go new file mode 100644 index 000000000..55c7f111b --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes/types.go @@ -0,0 +1,702 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes + +import ( + "fmt" + + "github.com/aws/aws-sdk-go-v2/service/dynamodb" + dynamodbtypes "github.com/aws/aws-sdk-go-v2/service/dynamodb/types" +) + +type ResolveAttributesOutput struct { + CompoundBeacons map[string]string + + VirtualFields map[string]string +} + +func (input ResolveAttributesOutput) Validate() error { + if input.CompoundBeacons == nil { + return fmt.Errorf("input.CompoundBeacons is required but has a nil value.") + } + if input.VirtualFields == nil { + return fmt.Errorf("input.VirtualFields is required but has a nil value.") + } + + return nil +} + +type ResolveAttributesInput struct { + Item map[string]dynamodbtypes.AttributeValue + + TableName string + + Version *int32 +} + +func (input ResolveAttributesInput) Validate() error { + if input.Item == nil { + return fmt.Errorf("input.Item is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Item_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Item_Validate() + } + if len(input.TableName) < 3 { + return fmt.Errorf("TableName has a minimum length of 3 but has the length of %d.", len(input.TableName)) + } + if len(input.TableName) > 255 { + return fmt.Errorf("TableName has a maximum length of 255 but has the length of %d.", len(input.TableName)) + } + if input.Version != nil { + if *input.Version < 1 { + return fmt.Errorf("VersionNumber has a minimum of 1 but has the value of %d.", *input.Version) + } + } + + return nil +} + +func (input ResolveAttributesInput) Com_amazonaws_dynamodb_AttributeMap_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input ResolveAttributesInput) Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + if input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_M_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberL: + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input ResolveAttributesInput) Com_amazonaws_dynamodb_AttributeValue_M_Validate(Value map[string]dynamodbtypes.AttributeValue) error { + for key, value := range Value { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_MapAttributeValue_value_Validate(value) + } + } + + return nil +} +func (input ResolveAttributesInput) Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(Value dynamodbtypes.AttributeValue) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *dynamodbtypes.AttributeValueMemberS: + case *dynamodbtypes.AttributeValueMemberN: + case *dynamodbtypes.AttributeValueMemberB: + case *dynamodbtypes.AttributeValueMemberSS: + case *dynamodbtypes.AttributeValueMemberNS: + case *dynamodbtypes.AttributeValueMemberBS: + case *dynamodbtypes.AttributeValueMemberM: + case *dynamodbtypes.AttributeValueMemberL: + if input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) != nil { + return input.Com_amazonaws_dynamodb_AttributeValue_L_Validate(unionType.Value) + } + case *dynamodbtypes.AttributeValueMemberNULL: + case *dynamodbtypes.AttributeValueMemberBOOL: + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input ResolveAttributesInput) Com_amazonaws_dynamodb_AttributeValue_L_Validate(Value []dynamodbtypes.AttributeValue) error { + for _, item := range Value { + if input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) != nil { + return input.Com_amazonaws_dynamodb_ListAttributeValue_member_Validate(item) + } + } + + return nil +} +func (input ResolveAttributesInput) Aws_cryptography_dbEncryptionSdk_dynamoDb_transforms_ResolveAttributesInput_Item_Validate() error { + for key, value := range input.Item { + if len(key) < 0 { + return fmt.Errorf("AttributeName has a minimum length of 0 but has the length of %d.", len(key)) + } + if len(key) > 65535 { + return fmt.Errorf("AttributeName has a maximum length of 65535 but has the length of %d.", len(key)) + } + if input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) != nil { + return input.Com_amazonaws_dynamodb_AttributeMap_value_Validate(value) + } + } + + return nil +} + +type ExecuteStatementInputTransformInput struct { + SdkInput dynamodb.ExecuteStatementInput +} + +func (input ExecuteStatementInputTransformInput) Validate() error { + + return nil +} + +type ExecuteStatementInputTransformOutput struct { + TransformedInput dynamodb.ExecuteStatementInput +} + +func (input ExecuteStatementInputTransformOutput) Validate() error { + + return nil +} + +type GetItemInputTransformInput struct { + SdkInput dynamodb.GetItemInput +} + +func (input GetItemInputTransformInput) Validate() error { + + return nil +} + +type GetItemInputTransformOutput struct { + TransformedInput dynamodb.GetItemInput +} + +func (input GetItemInputTransformOutput) Validate() error { + + return nil +} + +type GetItemOutputTransformOutput struct { + TransformedOutput dynamodb.GetItemOutput +} + +func (input GetItemOutputTransformOutput) Validate() error { + + return nil +} + +type BatchExecuteStatementInputTransformInput struct { + SdkInput dynamodb.BatchExecuteStatementInput +} + +func (input BatchExecuteStatementInputTransformInput) Validate() error { + + return nil +} + +type BatchExecuteStatementInputTransformOutput struct { + TransformedInput dynamodb.BatchExecuteStatementInput +} + +func (input BatchExecuteStatementInputTransformOutput) Validate() error { + + return nil +} + +type ExecuteTransactionInputTransformInput struct { + SdkInput dynamodb.ExecuteTransactionInput +} + +func (input ExecuteTransactionInputTransformInput) Validate() error { + + return nil +} + +type ExecuteTransactionInputTransformOutput struct { + TransformedInput dynamodb.ExecuteTransactionInput +} + +func (input ExecuteTransactionInputTransformOutput) Validate() error { + + return nil +} + +type ExecuteTransactionOutputTransformOutput struct { + TransformedOutput dynamodb.ExecuteTransactionOutput +} + +func (input ExecuteTransactionOutputTransformOutput) Validate() error { + + return nil +} + +type TransactGetItemsOutputTransformOutput struct { + TransformedOutput dynamodb.TransactGetItemsOutput +} + +func (input TransactGetItemsOutputTransformOutput) Validate() error { + + return nil +} + +type BatchGetItemInputTransformInput struct { + SdkInput dynamodb.BatchGetItemInput +} + +func (input BatchGetItemInputTransformInput) Validate() error { + + return nil +} + +type BatchGetItemInputTransformOutput struct { + TransformedInput dynamodb.BatchGetItemInput +} + +func (input BatchGetItemInputTransformOutput) Validate() error { + + return nil +} + +type TransactGetItemsInputTransformInput struct { + SdkInput dynamodb.TransactGetItemsInput +} + +func (input TransactGetItemsInputTransformInput) Validate() error { + + return nil +} + +type TransactGetItemsInputTransformOutput struct { + TransformedInput dynamodb.TransactGetItemsInput +} + +func (input TransactGetItemsInputTransformOutput) Validate() error { + + return nil +} + +type TransactWriteItemsOutputTransformOutput struct { + TransformedOutput dynamodb.TransactWriteItemsOutput +} + +func (input TransactWriteItemsOutputTransformOutput) Validate() error { + + return nil +} + +type GetItemOutputTransformInput struct { + OriginalInput dynamodb.GetItemInput + + SdkOutput dynamodb.GetItemOutput +} + +func (input GetItemOutputTransformInput) Validate() error { + + return nil +} + +type DeleteItemOutputTransformOutput struct { + TransformedOutput dynamodb.DeleteItemOutput +} + +func (input DeleteItemOutputTransformOutput) Validate() error { + + return nil +} + +type ExecuteStatementOutputTransformOutput struct { + TransformedOutput dynamodb.ExecuteStatementOutput +} + +func (input ExecuteStatementOutputTransformOutput) Validate() error { + + return nil +} + +type PutItemOutputTransformOutput struct { + TransformedOutput dynamodb.PutItemOutput +} + +func (input PutItemOutputTransformOutput) Validate() error { + + return nil +} + +type QueryOutputTransformOutput struct { + TransformedOutput dynamodb.QueryOutput +} + +func (input QueryOutputTransformOutput) Validate() error { + + return nil +} + +type ScanOutputTransformOutput struct { + TransformedOutput dynamodb.ScanOutput +} + +func (input ScanOutputTransformOutput) Validate() error { + + return nil +} + +type UpdateItemOutputTransformOutput struct { + TransformedOutput dynamodb.UpdateItemOutput +} + +func (input UpdateItemOutputTransformOutput) Validate() error { + + return nil +} + +type ExecuteTransactionOutputTransformInput struct { + OriginalInput dynamodb.ExecuteTransactionInput + + SdkOutput dynamodb.ExecuteTransactionOutput +} + +func (input ExecuteTransactionOutputTransformInput) Validate() error { + + return nil +} + +type BatchExecuteStatementOutputTransformOutput struct { + TransformedOutput dynamodb.BatchExecuteStatementOutput +} + +func (input BatchExecuteStatementOutputTransformOutput) Validate() error { + + return nil +} + +type BatchGetItemOutputTransformOutput struct { + TransformedOutput dynamodb.BatchGetItemOutput +} + +func (input BatchGetItemOutputTransformOutput) Validate() error { + + return nil +} + +type TransactGetItemsOutputTransformInput struct { + OriginalInput dynamodb.TransactGetItemsInput + + SdkOutput dynamodb.TransactGetItemsOutput +} + +func (input TransactGetItemsOutputTransformInput) Validate() error { + + return nil +} + +type ExecuteStatementOutputTransformInput struct { + OriginalInput dynamodb.ExecuteStatementInput + + SdkOutput dynamodb.ExecuteStatementOutput +} + +func (input ExecuteStatementOutputTransformInput) Validate() error { + + return nil +} + +type ScanInputTransformInput struct { + SdkInput dynamodb.ScanInput +} + +func (input ScanInputTransformInput) Validate() error { + + return nil +} + +type ScanInputTransformOutput struct { + TransformedInput dynamodb.ScanInput +} + +func (input ScanInputTransformOutput) Validate() error { + + return nil +} + +type BatchWriteItemInputTransformInput struct { + SdkInput dynamodb.BatchWriteItemInput +} + +func (input BatchWriteItemInputTransformInput) Validate() error { + + return nil +} + +type BatchWriteItemInputTransformOutput struct { + TransformedInput dynamodb.BatchWriteItemInput +} + +func (input BatchWriteItemInputTransformOutput) Validate() error { + + return nil +} + +type BatchExecuteStatementOutputTransformInput struct { + OriginalInput dynamodb.BatchExecuteStatementInput + + SdkOutput dynamodb.BatchExecuteStatementOutput +} + +func (input BatchExecuteStatementOutputTransformInput) Validate() error { + + return nil +} + +type BatchGetItemOutputTransformInput struct { + OriginalInput dynamodb.BatchGetItemInput + + SdkOutput dynamodb.BatchGetItemOutput +} + +func (input BatchGetItemOutputTransformInput) Validate() error { + + return nil +} + +type DeleteItemInputTransformInput struct { + SdkInput dynamodb.DeleteItemInput +} + +func (input DeleteItemInputTransformInput) Validate() error { + + return nil +} + +type DeleteItemInputTransformOutput struct { + TransformedInput dynamodb.DeleteItemInput +} + +func (input DeleteItemInputTransformOutput) Validate() error { + + return nil +} + +type PutItemInputTransformInput struct { + SdkInput dynamodb.PutItemInput +} + +func (input PutItemInputTransformInput) Validate() error { + + return nil +} + +type PutItemInputTransformOutput struct { + TransformedInput dynamodb.PutItemInput +} + +func (input PutItemInputTransformOutput) Validate() error { + + return nil +} + +type QueryInputTransformInput struct { + SdkInput dynamodb.QueryInput +} + +func (input QueryInputTransformInput) Validate() error { + + return nil +} + +type QueryInputTransformOutput struct { + TransformedInput dynamodb.QueryInput +} + +func (input QueryInputTransformOutput) Validate() error { + + return nil +} + +type BatchWriteItemOutputTransformOutput struct { + TransformedOutput dynamodb.BatchWriteItemOutput +} + +func (input BatchWriteItemOutputTransformOutput) Validate() error { + + return nil +} + +type ScanOutputTransformInput struct { + OriginalInput dynamodb.ScanInput + + SdkOutput dynamodb.ScanOutput +} + +func (input ScanOutputTransformInput) Validate() error { + + return nil +} + +type UpdateItemInputTransformInput struct { + SdkInput dynamodb.UpdateItemInput +} + +func (input UpdateItemInputTransformInput) Validate() error { + + return nil +} + +type UpdateItemInputTransformOutput struct { + TransformedInput dynamodb.UpdateItemInput +} + +func (input UpdateItemInputTransformOutput) Validate() error { + + return nil +} + +type DeleteItemOutputTransformInput struct { + OriginalInput dynamodb.DeleteItemInput + + SdkOutput dynamodb.DeleteItemOutput +} + +func (input DeleteItemOutputTransformInput) Validate() error { + + return nil +} + +type PutItemOutputTransformInput struct { + OriginalInput dynamodb.PutItemInput + + SdkOutput dynamodb.PutItemOutput +} + +func (input PutItemOutputTransformInput) Validate() error { + + return nil +} + +type QueryOutputTransformInput struct { + OriginalInput dynamodb.QueryInput + + SdkOutput dynamodb.QueryOutput +} + +func (input QueryOutputTransformInput) Validate() error { + + return nil +} + +type UpdateItemOutputTransformInput struct { + OriginalInput dynamodb.UpdateItemInput + + SdkOutput dynamodb.UpdateItemOutput +} + +func (input UpdateItemOutputTransformInput) Validate() error { + + return nil +} + +type BatchWriteItemOutputTransformInput struct { + OriginalInput dynamodb.BatchWriteItemInput + + SdkOutput dynamodb.BatchWriteItemOutput +} + +func (input BatchWriteItemOutputTransformInput) Validate() error { + + return nil +} + +type TransactWriteItemsInputTransformInput struct { + SdkInput dynamodb.TransactWriteItemsInput +} + +func (input TransactWriteItemsInputTransformInput) Validate() error { + + return nil +} + +type TransactWriteItemsInputTransformOutput struct { + TransformedInput dynamodb.TransactWriteItemsInput +} + +func (input TransactWriteItemsInputTransformOutput) Validate() error { + + return nil +} + +type TransactWriteItemsOutputTransformInput struct { + OriginalInput dynamodb.TransactWriteItemsInput + + SdkOutput dynamodb.TransactWriteItemsOutput +} + +func (input TransactWriteItemsOutputTransformInput) Validate() error { + + return nil +} + +type AwsCryptographicMaterialProvidersReference struct { +} + +func (input AwsCryptographicMaterialProvidersReference) Validate() error { + + return nil +} + +type DynamoDbEncryptionReference struct { +} + +func (input DynamoDbEncryptionReference) Validate() error { + + return nil +} + +type DynamoDbItemEncryptorReference struct { +} + +func (input DynamoDbItemEncryptorReference) Validate() error { + + return nil +} + +type StructuredEncryptionReference struct { +} + +func (input StructuredEncryptionReference) Validate() error { + + return nil +} + +type DynamoDbEncryptionTransformsBaseException interface { + // This is a dummy method to allow type assertion since Go empty interfaces + // aren't useful for type assertion checks. No concrete class is expected to implement + // this method. This is also not exported. + interfaceBindingMethod() +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes/unmodelled_errors.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes/unmodelled_errors.go new file mode 100644 index 000000000..5b0d77454 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes/unmodelled_errors.go @@ -0,0 +1,26 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkdynamodbtransformssmithygeneratedtypes + +import ( + "fmt" +) + +type CollectionOfErrors struct { + DynamoDbEncryptionTransformsBaseException + ListOfErrors []error + Message string +} + +func (e CollectionOfErrors) Error() string { + return fmt.Sprintf("message: %s\n err %v", e.Message, e.ListOfErrors) +} + +type OpaqueError struct { + DynamoDbEncryptionTransformsBaseException + ErrObject interface{} +} + +func (e OpaqueError) Error() string { + return fmt.Sprintf("message: %v", e.ErrObject) +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated/api_client.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated/api_client.go new file mode 100644 index 000000000..c4aec9a70 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated/api_client.go @@ -0,0 +1,131 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkstructuredencryptionsmithygenerated + +import ( + "context" + + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/StructuredEncryption" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" +) + +type Client struct { + DafnyClient AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.IStructuredEncryptionClient +} + +func NewClient(clientConfig awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionConfig) (*Client, error) { + var dafnyConfig = StructuredEncryptionConfig_ToDafny(clientConfig) + var dafny_response = StructuredEncryption.Companion_Default___.StructuredEncryption(dafnyConfig) + if dafny_response.Is_Failure() { + panic("Client construction failed. This should never happen") + } + var dafnyClient = dafny_response.Extract().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.IStructuredEncryptionClient) + client := &Client{dafnyClient} + return client, nil +} + +func (client *Client) EncryptStructure(ctx context.Context, params awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptStructureInput) (*awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptStructureOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptStructureInput = EncryptStructureInput_ToDafny(params) + var dafny_response = client.DafnyClient.EncryptStructure(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = EncryptStructureOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptStructureOutput)) + return &native_response, nil + +} + +func (client *Client) DecryptStructure(ctx context.Context, params awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptStructureInput) (*awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptStructureOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptStructureInput = DecryptStructureInput_ToDafny(params) + var dafny_response = client.DafnyClient.DecryptStructure(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = DecryptStructureOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptStructureOutput)) + return &native_response, nil + +} + +func (client *Client) EncryptPathStructure(ctx context.Context, params awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptPathStructureInput) (*awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptPathStructureOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptPathStructureInput = EncryptPathStructureInput_ToDafny(params) + var dafny_response = client.DafnyClient.EncryptPathStructure(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = EncryptPathStructureOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptPathStructureOutput)) + return &native_response, nil + +} + +func (client *Client) DecryptPathStructure(ctx context.Context, params awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptPathStructureInput) (*awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptPathStructureOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptPathStructureInput = DecryptPathStructureInput_ToDafny(params) + var dafny_response = client.DafnyClient.DecryptPathStructure(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = DecryptPathStructureOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptPathStructureOutput)) + return &native_response, nil + +} + +func (client *Client) ResolveAuthActions(ctx context.Context, params awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ResolveAuthActionsInput) (*awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ResolveAuthActionsOutput, error) { + err := params.Validate() + if err != nil { + opaqueErr := awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.OpaqueError{ + ErrObject: err, + } + return nil, opaqueErr + } + + var dafny_request AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ResolveAuthActionsInput = ResolveAuthActionsInput_ToDafny(params) + var dafny_response = client.DafnyClient.ResolveAuthActions(dafny_request) + + if dafny_response.Is_Failure() { + err := dafny_response.Dtor_error().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) + return nil, Error_FromDafny(err) + } + var native_response = ResolveAuthActionsOutput_FromDafny(dafny_response.Dtor_value().(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ResolveAuthActionsOutput)) + return &native_response, nil + +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated/to_dafny.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated/to_dafny.go new file mode 100644 index 000000000..28db8f6f4 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated/to_dafny.go @@ -0,0 +1,846 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkstructuredencryptionsmithygenerated + +import ( + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/awscryptographyprimitivessmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/awscryptographyprimitivessmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UTF8" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" + "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" +) + +func DecryptPathStructureInput_ToDafny(nativeInput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptPathStructureInput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptPathStructureInput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptPathStructureInput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_DecryptPathStructureInput_.Create_DecryptPathStructureInput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_tableName_ToDafny(nativeInput.TableName), Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptedStructure_ToDafny(nativeInput.EncryptedStructure), awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_ToDafny(nativeInput.Cmm), Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptionContext_ToDafny(nativeInput.EncryptionContext)) + }() + +} + +func DecryptPathStructureOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptPathStructureOutput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptPathStructureOutput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptPathStructureOutput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_DecryptPathStructureOutput_.Create_DecryptPathStructureOutput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_plaintextStructure_ToDafny(nativeOutput.PlaintextStructure), Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_parsedHeader_ToDafny(nativeOutput.ParsedHeader)) + }() + +} + +func DecryptStructureInput_ToDafny(nativeInput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptStructureInput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptStructureInput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptStructureInput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_DecryptStructureInput_.Create_DecryptStructureInput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_tableName_ToDafny(nativeInput.TableName), Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptedStructure_ToDafny(nativeInput.EncryptedStructure), Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_authenticateSchema_ToDafny(nativeInput.AuthenticateSchema), awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_ToDafny(nativeInput.Cmm), Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptionContext_ToDafny(nativeInput.EncryptionContext)) + }() + +} + +func DecryptStructureOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptStructureOutput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptStructureOutput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptStructureOutput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_DecryptStructureOutput_.Create_DecryptStructureOutput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_plaintextStructure_ToDafny(nativeOutput.PlaintextStructure), Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_cryptoSchema_ToDafny(nativeOutput.CryptoSchema), Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_parsedHeader_ToDafny(nativeOutput.ParsedHeader)) + }() + +} + +func EncryptPathStructureInput_ToDafny(nativeInput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptPathStructureInput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptPathStructureInput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptPathStructureInput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_EncryptPathStructureInput_.Create_EncryptPathStructureInput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_tableName_ToDafny(nativeInput.TableName), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_plaintextStructure_ToDafny(nativeInput.PlaintextStructure), awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_ToDafny(nativeInput.Cmm), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_algorithmSuiteId_ToDafny(nativeInput.AlgorithmSuiteId), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_encryptionContext_ToDafny(nativeInput.EncryptionContext)) + }() + +} + +func EncryptPathStructureOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptPathStructureOutput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptPathStructureOutput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptPathStructureOutput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_EncryptPathStructureOutput_.Create_EncryptPathStructureOutput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_encryptedStructure_ToDafny(nativeOutput.EncryptedStructure), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_parsedHeader_ToDafny(nativeOutput.ParsedHeader)) + }() + +} + +func EncryptStructureInput_ToDafny(nativeInput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptStructureInput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptStructureInput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptStructureInput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_EncryptStructureInput_.Create_EncryptStructureInput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_tableName_ToDafny(nativeInput.TableName), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_plaintextStructure_ToDafny(nativeInput.PlaintextStructure), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_cryptoSchema_ToDafny(nativeInput.CryptoSchema), awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_ToDafny(nativeInput.Cmm), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_algorithmSuiteId_ToDafny(nativeInput.AlgorithmSuiteId), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_encryptionContext_ToDafny(nativeInput.EncryptionContext)) + }() + +} + +func EncryptStructureOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptStructureOutput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptStructureOutput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptStructureOutput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_EncryptStructureOutput_.Create_EncryptStructureOutput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_encryptedStructure_ToDafny(nativeOutput.EncryptedStructure), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_cryptoSchema_ToDafny(nativeOutput.CryptoSchema), Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_parsedHeader_ToDafny(nativeOutput.ParsedHeader)) + }() + +} + +func ResolveAuthActionsInput_ToDafny(nativeInput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ResolveAuthActionsInput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ResolveAuthActionsInput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ResolveAuthActionsInput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_ResolveAuthActionsInput_.Create_ResolveAuthActionsInput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_tableName_ToDafny(nativeInput.TableName), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_authActions_ToDafny(nativeInput.AuthActions), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_headerBytes_ToDafny(nativeInput.HeaderBytes)) + }() + +} + +func ResolveAuthActionsOutput_ToDafny(nativeOutput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ResolveAuthActionsOutput) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ResolveAuthActionsOutput { + + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ResolveAuthActionsOutput { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_ResolveAuthActionsOutput_.Create_ResolveAuthActionsOutput_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsOutput_cryptoActions_ToDafny(nativeOutput.CryptoActions)) + }() + +} + +func StructuredEncryptionException_ToDafny(nativeInput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionException) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_Error_.Create_StructuredEncryptionException_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredEncryptionException_message_ToDafny(nativeInput.Message)) + }() + +} + +func CollectionOfErrors_Input_ToDafny(nativeInput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CollectionOfErrors) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error { + var e []interface{} + for _, i2 := range nativeInput.ListOfErrors { + e = append(e, Error_ToDafny(i2)) + } + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_Error_.Create_CollectionOfErrors_(dafny.SeqOf(e...), func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(nativeInput.Message)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }()) +} +func OpaqueError_Input_ToDafny(nativeInput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.OpaqueError) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error { + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_Error_.Create_Opaque_(nativeInput.ErrObject) +} + +func Error_ToDafny(err error) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error { + switch err.(type) { + // Service Errors + case awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionException: + return StructuredEncryptionException_ToDafny(err.(awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionException)) + + //DependentErrors + case awscryptographyprimitivessmithygeneratedtypes.AwsCryptographicPrimitivesBaseException: + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(awscryptographyprimitivessmithygenerated.Error_ToDafny(err)) + + case awscryptographymaterialproviderssmithygeneratedtypes.AwsCryptographicMaterialProvidersBaseException: + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_Error_.Create_AwsCryptographyMaterialProviders_(awscryptographymaterialproviderssmithygenerated.Error_ToDafny(err)) + + //Unmodelled Errors + case awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CollectionOfErrors: + return CollectionOfErrors_Input_ToDafny(err.(awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CollectionOfErrors)) + + default: + error, ok := err.(awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.OpaqueError) + if !ok { + panic("Error is not an OpaqueError") + } + return OpaqueError_Input_ToDafny(error) + } +} + +func StructuredEncryptionConfig_ToDafny(nativeInput awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionConfig) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredEncryptionConfig { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredEncryptionConfig { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_StructuredEncryptionConfig_.Create_StructuredEncryptionConfig_() + }() + +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_tableName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptedStructure_ToDafny(input []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthItem) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthList_member_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthItem) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthItem { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthItem { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_AuthItem_.Create_AuthItem_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_key_ToDafny(input.Key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_data_ToDafny(input.Data), Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_action_ToDafny(input.Action)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_key_ToDafny(input []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegment) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegment) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.PathSegment { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.PathSegment { + + switch input.(type) { + case *awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegmentMembermember: + var inputToConversion = Aws_cryptography_dbEncryptionSdk_structuredEncryption_PathSegment_member_ToDafny(input.(*awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegmentMembermember).Value) + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_PathSegment_{}.Create_member_(inputToConversion.UnwrapOr(nil).(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructureSegment)) + + default: + panic("Unhandled union type") + } + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_PathSegment_member_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructureSegment) Wrappers.Option { + return func() Wrappers.Option { + + return Wrappers.Companion_Option_.Create_Some_(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_StructureSegment_.Create_StructureSegment_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructureSegment_key_ToDafny(input.Key))) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructureSegment_key_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_data_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_StructuredDataTerminal_.Create_StructuredDataTerminal_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_value_ToDafny(input.Value), Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_typeId_ToDafny(input.TypeId)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_value_ToDafny(input []byte) dafny.Sequence { + return func() dafny.Sequence { + v := make([]interface{}, 0, len(input)) + if input == nil { + return nil + } + for _, e := range input { + v = append(v, e) + } + return dafny.SeqFromArray(v, false) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_typeId_ToDafny(input []byte) dafny.Sequence { + return func() dafny.Sequence { + v := make([]interface{}, 0, len(input)) + if input == nil { + return nil + } + for _, e := range input { + v = append(v, e) + } + return dafny.SeqFromArray(v, false) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_action_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction { + + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == input { + break + } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_AuthenticateAction_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptionContext_ToDafny(input map[string]string) Wrappers.Option { + return func() Wrappers.Option { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_ToDafny(key), awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_ToDafny(val)) + } + return Wrappers.Companion_Option_.Create_Some_(fieldValue.ToMap()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_plaintextStructure_ToDafny(input []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoItem { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoItem { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_CryptoItem_.Create_CryptoItem_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_key_ToDafny(input.Key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_data_ToDafny(input.Data), Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_action_ToDafny(input.Action)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_key_ToDafny(input []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegment) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_data_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_StructuredDataTerminal_.Create_StructuredDataTerminal_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_value_ToDafny(input.Value), Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_typeId_ToDafny(input.TypeId)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_action_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction { + + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == input { + break + } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_CryptoAction_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_parsedHeader_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_ParsedHeader_.Create_ParsedHeader_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_ToDafny(input.AlgorithmSuiteId), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_ToDafny(input.EncryptedDataKeys), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_ToDafny(input.StoredEncryptionContext), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_ToDafny(input.EncryptionContext)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_ToDafny(input awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId) AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId { + return func() AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId { + + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == input { + break + } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_ToDafny(input []awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptedDataKeyList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_ToDafny(input map[string]string) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_ToDafny(key), awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_ToDafny(input map[string]string) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_ToDafny(key), awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_tableName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptedStructure_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_StructuredDataTerminal_.Create_StructuredDataTerminal_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_value_ToDafny(input.Value), Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_typeId_ToDafny(input.TypeId)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_authenticateSchema_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthenticateSchemaMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthenticateSchemaMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthenticateSchemaMap_key_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthenticateSchemaMap_value_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction { + + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == input { + break + } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_AuthenticateAction_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptionContext_ToDafny(input map[string]string) Wrappers.Option { + return func() Wrappers.Option { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_ToDafny(key), awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_ToDafny(val)) + } + return Wrappers.Companion_Option_.Create_Some_(fieldValue.ToMap()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_plaintextStructure_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_cryptoSchema_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_key_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_value_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction { + + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == input { + break + } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_CryptoAction_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_parsedHeader_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_ParsedHeader_.Create_ParsedHeader_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_ToDafny(input.AlgorithmSuiteId), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_ToDafny(input.EncryptedDataKeys), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_ToDafny(input.StoredEncryptionContext), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_ToDafny(input.EncryptionContext)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_tableName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_plaintextStructure_ToDafny(input []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_algorithmSuiteId_ToDafny(input *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == *input { + break + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return Wrappers.Companion_Option_.Create_Some_(enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_encryptionContext_ToDafny(input map[string]string) Wrappers.Option { + return func() Wrappers.Option { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_ToDafny(key), awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_ToDafny(val)) + } + return Wrappers.Companion_Option_.Create_Some_(fieldValue.ToMap()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_encryptedStructure_ToDafny(input []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_parsedHeader_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_ParsedHeader_.Create_ParsedHeader_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_ToDafny(input.AlgorithmSuiteId), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_ToDafny(input.EncryptedDataKeys), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_ToDafny(input.StoredEncryptionContext), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_ToDafny(input.EncryptionContext)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_tableName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_plaintextStructure_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_cryptoSchema_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_algorithmSuiteId_ToDafny(input *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId) Wrappers.Option { + return func() Wrappers.Option { + if input == nil { + return Wrappers.Companion_Option_.Create_None_() + } + var index int + for _, enumVal := range input.Values() { + index++ + if enumVal == *input { + break + } + + } + var enum interface{} + for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()), 0; i < index; i++ { + var ok bool + enum, ok = allEnums() + if !ok { + break + } + } + return Wrappers.Companion_Option_.Create_Some_(enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_encryptionContext_ToDafny(input map[string]string) Wrappers.Option { + return func() Wrappers.Option { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_ToDafny(key), awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_ToDafny(val)) + } + return Wrappers.Companion_Option_.Create_Some_(fieldValue.ToMap()) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_encryptedStructure_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_cryptoSchema_ToDafny(input map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) dafny.Map { + return func() dafny.Map { + fieldValue := dafny.NewMapBuilder() + for key, val := range input { + fieldValue.Add(Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_key_ToDafny(key), Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_value_ToDafny(val)) + } + return fieldValue.ToMap() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_parsedHeader_ToDafny(input awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader) AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader { + return func() AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader { + + return AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Companion_ParsedHeader_.Create_ParsedHeader_(Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_ToDafny(input.AlgorithmSuiteId), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_ToDafny(input.EncryptedDataKeys), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_ToDafny(input.StoredEncryptionContext), Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_ToDafny(input.EncryptionContext)) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_tableName_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_authActions_ToDafny(input []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthItem) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_headerBytes_ToDafny(input []byte) dafny.Sequence { + return func() dafny.Sequence { + v := make([]interface{}, 0, len(input)) + if input == nil { + return nil + } + for _, e := range input { + v = append(v, e) + } + return dafny.SeqFromArray(v, false) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsOutput_cryptoActions_ToDafny(input []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem) dafny.Sequence { + return func() dafny.Sequence { + + var fieldValue []interface{} = make([]interface{}, 0, len(input)) + for _, val := range input { + element := Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_ToDafny(val) + fieldValue = append(fieldValue, element) + } + return dafny.SeqOf(fieldValue...) + }() +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredEncryptionException_message_ToDafny(input string) dafny.Sequence { + return func() dafny.Sequence { + + return func() dafny.Sequence { + res, err := UTF8.DecodeFromNativeGoByteArray([]byte(input)) + if err != nil { + panic("invalid utf8 input provided") + } + return res + }() + }() +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated/to_native.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated/to_native.go new file mode 100644 index 000000000..cf49457e6 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygenerated/to_native.go @@ -0,0 +1,808 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkstructuredencryptionsmithygenerated + +import ( + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/awscryptographyprimitivessmithygenerated" + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UTF8" + "github.com/aws/aws-database-encryption-sdk-dynamodb/AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes" + "github.com/aws/aws-database-encryption-sdk-dynamodb/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes" + "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" +) + +func DecryptPathStructureInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptPathStructureInput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptPathStructureInput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptPathStructureInput{TableName: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_tableName_FromDafny(dafnyInput.Dtor_tableName()), + EncryptedStructure: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptedStructure_FromDafny(dafnyInput.Dtor_encryptedStructure()), + Cmm: awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_FromDafny(dafnyInput.Dtor_cmm()), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptionContext_FromDafny(dafnyInput.Dtor_encryptionContext().UnwrapOr(nil)), + } + +} + +func DecryptPathStructureOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptPathStructureOutput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptPathStructureOutput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptPathStructureOutput{PlaintextStructure: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_plaintextStructure_FromDafny(dafnyOutput.Dtor_plaintextStructure()), + ParsedHeader: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_parsedHeader_FromDafny(dafnyOutput.Dtor_parsedHeader()), + } + +} + +func DecryptStructureInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptStructureInput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptStructureInput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptStructureInput{TableName: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_tableName_FromDafny(dafnyInput.Dtor_tableName()), + EncryptedStructure: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptedStructure_FromDafny(dafnyInput.Dtor_encryptedStructure()), + AuthenticateSchema: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_authenticateSchema_FromDafny(dafnyInput.Dtor_authenticateSchema()), + Cmm: awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_FromDafny(dafnyInput.Dtor_cmm()), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptionContext_FromDafny(dafnyInput.Dtor_encryptionContext().UnwrapOr(nil)), + } + +} + +func DecryptStructureOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.DecryptStructureOutput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptStructureOutput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.DecryptStructureOutput{PlaintextStructure: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_plaintextStructure_FromDafny(dafnyOutput.Dtor_plaintextStructure()), + CryptoSchema: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_cryptoSchema_FromDafny(dafnyOutput.Dtor_cryptoSchema()), + ParsedHeader: Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_parsedHeader_FromDafny(dafnyOutput.Dtor_parsedHeader()), + } + +} + +func EncryptPathStructureInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptPathStructureInput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptPathStructureInput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptPathStructureInput{TableName: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_tableName_FromDafny(dafnyInput.Dtor_tableName()), + PlaintextStructure: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_plaintextStructure_FromDafny(dafnyInput.Dtor_plaintextStructure()), + Cmm: awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_FromDafny(dafnyInput.Dtor_cmm()), + AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_algorithmSuiteId_FromDafny(dafnyInput.Dtor_algorithmSuiteId().UnwrapOr(nil)), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_encryptionContext_FromDafny(dafnyInput.Dtor_encryptionContext().UnwrapOr(nil)), + } + +} + +func EncryptPathStructureOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptPathStructureOutput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptPathStructureOutput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptPathStructureOutput{EncryptedStructure: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_encryptedStructure_FromDafny(dafnyOutput.Dtor_encryptedStructure()), + ParsedHeader: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_parsedHeader_FromDafny(dafnyOutput.Dtor_parsedHeader()), + } + +} + +func EncryptStructureInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptStructureInput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptStructureInput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptStructureInput{TableName: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_tableName_FromDafny(dafnyInput.Dtor_tableName()), + PlaintextStructure: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_plaintextStructure_FromDafny(dafnyInput.Dtor_plaintextStructure()), + CryptoSchema: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_cryptoSchema_FromDafny(dafnyInput.Dtor_cryptoSchema()), + Cmm: awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_FromDafny(dafnyInput.Dtor_cmm()), + AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_algorithmSuiteId_FromDafny(dafnyInput.Dtor_algorithmSuiteId().UnwrapOr(nil)), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_encryptionContext_FromDafny(dafnyInput.Dtor_encryptionContext().UnwrapOr(nil)), + } + +} + +func EncryptStructureOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.EncryptStructureOutput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptStructureOutput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.EncryptStructureOutput{EncryptedStructure: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_encryptedStructure_FromDafny(dafnyOutput.Dtor_encryptedStructure()), + CryptoSchema: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_cryptoSchema_FromDafny(dafnyOutput.Dtor_cryptoSchema()), + ParsedHeader: Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_parsedHeader_FromDafny(dafnyOutput.Dtor_parsedHeader()), + } + +} + +func ResolveAuthActionsInput_FromDafny(dafnyInput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ResolveAuthActionsInput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ResolveAuthActionsInput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ResolveAuthActionsInput{TableName: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_tableName_FromDafny(dafnyInput.Dtor_tableName()), + AuthActions: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_authActions_FromDafny(dafnyInput.Dtor_authActions()), + HeaderBytes: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_headerBytes_FromDafny(dafnyInput.Dtor_headerBytes()), + } + +} + +func ResolveAuthActionsOutput_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ResolveAuthActionsOutput) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ResolveAuthActionsOutput { + + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ResolveAuthActionsOutput{CryptoActions: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsOutput_cryptoActions_FromDafny(dafnyOutput.Dtor_cryptoActions())} + +} + +func StructuredEncryptionException_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionException { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionException{Message: Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredEncryptionException_message_FromDafny(dafnyOutput.Dtor_message())} + +} + +func CollectionOfErrors_Output_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CollectionOfErrors { + listOfErrors := dafnyOutput.Dtor_list() + message := dafnyOutput.Dtor_message() + t := awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CollectionOfErrors{} + for i := dafny.Iterate(listOfErrors); ; { + val, ok := i() + if !ok { + break + } + err := val.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) + t.ListOfErrors = append(t.ListOfErrors, Error_FromDafny(err)) + + } + t.Message = func() string { + a := UTF8.Encode(message.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + return s + }() + return t +} +func OpaqueError_Output_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.OpaqueError { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.OpaqueError{ + ErrObject: dafnyOutput.Dtor_obj(), + } +} + +func Error_FromDafny(err AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.Error) error { + // Service Errors + if err.Is_StructuredEncryptionException() { + return StructuredEncryptionException_FromDafny(err) + } + + //DependentErrors + if err.Is_AwsCryptographyPrimitives() { + return awscryptographyprimitivessmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyPrimitives()) + } + + if err.Is_AwsCryptographyMaterialProviders() { + return awscryptographymaterialproviderssmithygenerated.Error_FromDafny(err.Dtor_AwsCryptographyMaterialProviders()) + } + + //Unmodelled Errors + if err.Is_CollectionOfErrors() { + return CollectionOfErrors_Output_FromDafny(err) + } + + return OpaqueError_Output_FromDafny(err) +} + +func StructuredEncryptionConfig_FromDafny(dafnyOutput AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredEncryptionConfig) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionConfig { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredEncryptionConfig{} + +} + +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_tableName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptedStructure_FromDafny(input interface{}) []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthItem { + fieldValue := make([]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthItem, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthItem { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthItem{Key: Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_key_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthItem).Dtor_key()), + Data: Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_data_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthItem).Dtor_data()), + Action: Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_action_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthItem).Dtor_action()), + } +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_key_FromDafny(input interface{}) []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegment { + fieldValue := make([]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegment, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegment { + var union awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegment + + if (input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.PathSegment)).Is_member() { + + union = &awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegmentMembermember{ + Value: (Aws_cryptography_dbEncryptionSdk_structuredEncryption_PathSegment_member_FromDafny((input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.PathSegment)).Dtor_member())), + } + } + + return union + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_PathSegment_member_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructureSegment { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructureSegment{Key: Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructureSegment_key_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructureSegment).Dtor_key())} +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructureSegment_key_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_data_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal{Value: Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_value_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal).Dtor_value()), + TypeId: Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_typeId_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal).Dtor_typeId()), + } +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_value_FromDafny(input interface{}) []byte { + return func() []byte { + if input == nil { + return nil + } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) + } + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_typeId_FromDafny(input interface{}) []byte { + return func() []byte { + if input == nil { + return nil + } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) + } + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_action_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction { + return func() awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction { + var u awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction + inputEnum := input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_AuthenticateAction_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptionContext_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_plaintextStructure_FromDafny(input interface{}) []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem { + fieldValue := make([]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem{Key: Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_key_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoItem).Dtor_key()), + Data: Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_data_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoItem).Dtor_data()), + Action: Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_action_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoItem).Dtor_action()), + } +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_key_FromDafny(input interface{}) []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegment { + fieldValue := make([]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.PathSegment, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_data_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal{Value: Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_value_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal).Dtor_value()), + TypeId: Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_typeId_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal).Dtor_typeId()), + } +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_action_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + return func() awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var u awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction + inputEnum := input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_CryptoAction_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_parsedHeader_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader{AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_algorithmSuiteId()), + EncryptedDataKeys: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_encryptedDataKeys()), + StoredEncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_storedEncryptionContext()), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_encryptionContext()), + } +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_FromDafny(input interface{}) awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + return func() awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + var u awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + inputEnum := input.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_FromDafny(input interface{}) []awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey { + fieldValue := make([]awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptedDataKeyList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_tableName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptedStructure_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal{Value: Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_value_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal).Dtor_value()), + TypeId: Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataTerminal_typeId_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.StructuredDataTerminal).Dtor_typeId()), + } +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_authenticateSchema_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthenticateSchemaMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthenticateSchemaMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthenticateSchemaMap_key_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthenticateSchemaMap_value_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction { + return func() awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction { + var u awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthenticateAction + inputEnum := input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_AuthenticateAction_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.AuthenticateAction).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptionContext_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_plaintextStructure_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_cryptoSchema_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_key_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_value_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + return func() awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var u awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction + inputEnum := input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CompanionStruct_CryptoAction_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.CryptoAction).Equals(inputEnum) { + break + } + } + } + + return u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_parsedHeader_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader{AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_algorithmSuiteId()), + EncryptedDataKeys: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_encryptedDataKeys()), + StoredEncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_storedEncryptionContext()), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_encryptionContext()), + } +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_tableName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_plaintextStructure_FromDafny(input interface{}) []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem { + fieldValue := make([]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_algorithmSuiteId_FromDafny(input interface{}) *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + return func() *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + var u awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + if input == nil { + return nil + } + inputEnum := input.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId).Equals(inputEnum) { + break + } + } + } + + return &u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_encryptionContext_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_encryptedStructure_FromDafny(input interface{}) []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem { + fieldValue := make([]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_parsedHeader_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader{AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_algorithmSuiteId()), + EncryptedDataKeys: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_encryptedDataKeys()), + StoredEncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_storedEncryptionContext()), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_encryptionContext()), + } +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_tableName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_plaintextStructure_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_cryptoSchema_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_algorithmSuiteId_FromDafny(input interface{}) *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + return func() *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId { + var u awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + if input == nil { + return nil + } + inputEnum := input.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId) + index := -1 + for allEnums := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()); ; { + enum, ok := allEnums() + if ok { + index++ + if enum.(AwsCryptographyMaterialProvidersTypes.DBEAlgorithmSuiteId).Equals(inputEnum) { + break + } + } + } + + return &u.Values()[index] + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_encryptionContext_FromDafny(input interface{}) map[string]string { + var m map[string]string = make(map[string]string) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = awscryptographymaterialproviderssmithygenerated.Aws_cryptography_materialProviders_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_encryptedStructure_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.StructuredDataTerminal) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredDataMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_cryptoSchema_FromDafny(input interface{}) map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction { + var m map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction = make(map[string]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoAction) + if input == nil { + return nil + } + for i := dafny.Iterate(input.(dafny.Map).Items()); ; { + val, ok := i() + if !ok { + break + } + m[Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoSchemaMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1))) + } + return m + +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_parsedHeader_FromDafny(input interface{}) awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader { + return awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.ParsedHeader{AlgorithmSuiteId: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_algorithmSuiteId_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_algorithmSuiteId()), + EncryptedDataKeys: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_encryptedDataKeys()), + StoredEncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_storedEncryptionContext()), + EncryptionContext: Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_FromDafny(input.(AwsCryptographyDbEncryptionSdkStructuredEncryptionTypes.ParsedHeader).Dtor_encryptionContext()), + } +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_tableName_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_authActions_FromDafny(input interface{}) []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthItem { + fieldValue := make([]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.AuthItem, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_headerBytes_FromDafny(input interface{}) []byte { + return func() []byte { + if input == nil { + return nil + } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) + } + return b + }() +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsOutput_cryptoActions_FromDafny(input interface{}) []awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem { + fieldValue := make([]awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes.CryptoItem, 0) + for i := dafny.Iterate(input.(dafny.Sequence)); ; { + val, ok := i() + if !ok { + break + } + fieldValue = append(fieldValue, Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoList_member_FromDafny(val)) + } + return fieldValue +} +func Aws_cryptography_dbEncryptionSdk_structuredEncryption_StructuredEncryptionException_message_FromDafny(input interface{}) string { + return func() string { + + a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value() + s := string(dafny.ToByteArray(a.(dafny.Sequence))) + + return s + }() +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/enums.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/enums.go new file mode 100644 index 000000000..bf38d1e83 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/enums.go @@ -0,0 +1,35 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes + +type AuthenticateAction string + +const ( + AuthenticateActionSign AuthenticateAction = "SIGN" + AuthenticateActionDoNotSign AuthenticateAction = "DO_NOT_SIGN" +) + +func (AuthenticateAction) Values() []AuthenticateAction { + return []AuthenticateAction{ + "SIGN", + "DO_NOT_SIGN", + } +} + +type CryptoAction string + +const ( + CryptoActionEncryptAndSign CryptoAction = "ENCRYPT_AND_SIGN" + CryptoActionSignAndIncludeInEncryptionContext CryptoAction = "SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT" + CryptoActionSignOnly CryptoAction = "SIGN_ONLY" + CryptoActionDoNothing CryptoAction = "DO_NOTHING" +) + +func (CryptoAction) Values() []CryptoAction { + return []CryptoAction{ + "ENCRYPT_AND_SIGN", + "SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT", + "SIGN_ONLY", + "DO_NOTHING", + } +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/errors.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/errors.go new file mode 100644 index 000000000..ba37c71a0 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/errors.go @@ -0,0 +1,17 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes + +import ( + "fmt" +) + +type StructuredEncryptionException struct { + StructuredEncryptionBaseException + Message string + ErrorCodeOverride *string +} + +func (e StructuredEncryptionException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCodeOverride, e.Message) +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/types.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/types.go new file mode 100644 index 000000000..2401b2204 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/types.go @@ -0,0 +1,615 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes + +import ( + "fmt" + "unicode/utf8" + + "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes" +) + +type StructuredDataTerminal struct { + TypeId []byte + + Value []byte +} + +func (input StructuredDataTerminal) Validate() error { + if len(input.TypeId) < 2 { + return fmt.Errorf("TerminalTypeId has a minimum length of 2 but has the length of %d.", len(input.TypeId)) + } + if len(input.TypeId) > 2 { + return fmt.Errorf("TerminalTypeId has a maximum length of 2 but has the length of %d.", len(input.TypeId)) + } + + return nil +} + +type StructureSegment struct { + Key string +} + +func (input StructureSegment) Validate() error { + + return nil +} + +type AuthItem struct { + Action AuthenticateAction + + Data StructuredDataTerminal + + Key []PathSegment +} + +func (input AuthItem) Validate() error { + if input.Data.Validate() != nil { + return input.Data.Validate() + } + if input.Key == nil { + return fmt.Errorf("input.Key is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_key_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_key_Validate() + } + + return nil +} + +func (input AuthItem) Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_Validate(Value PathSegment) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *PathSegmentMembermember: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input AuthItem) Aws_cryptography_dbEncryptionSdk_structuredEncryption_AuthItem_key_Validate() error { + for _, item := range input.Key { + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_Validate(item) != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_Validate(item) + } + } + + return nil +} + +type CryptoItem struct { + Action CryptoAction + + Data StructuredDataTerminal + + Key []PathSegment +} + +func (input CryptoItem) Validate() error { + if input.Data.Validate() != nil { + return input.Data.Validate() + } + if input.Key == nil { + return fmt.Errorf("input.Key is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_key_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_key_Validate() + } + + return nil +} + +func (input CryptoItem) Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_Validate(Value PathSegment) error { + if Value == nil { + return nil + } + switch unionType := Value.(type) { + case *PathSegmentMembermember: + if unionType.Value.Validate() != nil { + return unionType.Value.Validate() + } + // Default case should not be reached. + default: + panic(fmt.Sprintf("Unhandled union type: %T ", unionType)) + } + + return nil +} +func (input CryptoItem) Aws_cryptography_dbEncryptionSdk_structuredEncryption_CryptoItem_key_Validate() error { + for _, item := range input.Key { + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_Validate(item) != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_Path_member_Validate(item) + } + } + + return nil +} + +type DecryptPathStructureInput struct { + Cmm awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager + + EncryptedStructure []AuthItem + + TableName string + + EncryptionContext map[string]string +} + +func (input DecryptPathStructureInput) Validate() error { + if input.EncryptedStructure == nil { + return fmt.Errorf("input.EncryptedStructure is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptedStructure_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptedStructure_Validate() + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptionContext_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptionContext_Validate() + } + + return nil +} + +func (input DecryptPathStructureInput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptedStructure_Validate() error { + for _, item := range input.EncryptedStructure { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input DecryptPathStructureInput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureInput_encryptionContext_Validate() error { + for key, value := range input.EncryptionContext { + if !utf8.ValidString(key) { + return fmt.Errorf("Invalid UTF bytes %s ", key) + } + if !utf8.ValidString(value) { + return fmt.Errorf("Invalid UTF bytes %s ", value) + } + } + + return nil +} + +type ParsedHeader struct { + AlgorithmSuiteId awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + + EncryptedDataKeys []awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey + + EncryptionContext map[string]string + + StoredEncryptionContext map[string]string +} + +func (input ParsedHeader) Validate() error { + if input.EncryptedDataKeys == nil { + return fmt.Errorf("input.EncryptedDataKeys is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_Validate() + } + if input.EncryptionContext == nil { + return fmt.Errorf("input.EncryptionContext is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_Validate() + } + if input.StoredEncryptionContext == nil { + return fmt.Errorf("input.StoredEncryptionContext is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_Validate() + } + + return nil +} + +func (input ParsedHeader) Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptedDataKeys_Validate() error { + for _, item := range input.EncryptedDataKeys { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input ParsedHeader) Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_encryptionContext_Validate() error { + for key, value := range input.EncryptionContext { + if !utf8.ValidString(key) { + return fmt.Errorf("Invalid UTF bytes %s ", key) + } + if !utf8.ValidString(value) { + return fmt.Errorf("Invalid UTF bytes %s ", value) + } + } + + return nil +} +func (input ParsedHeader) Aws_cryptography_dbEncryptionSdk_structuredEncryption_ParsedHeader_storedEncryptionContext_Validate() error { + for key, value := range input.StoredEncryptionContext { + if !utf8.ValidString(key) { + return fmt.Errorf("Invalid UTF bytes %s ", key) + } + if !utf8.ValidString(value) { + return fmt.Errorf("Invalid UTF bytes %s ", value) + } + } + + return nil +} + +type DecryptPathStructureOutput struct { + ParsedHeader ParsedHeader + + PlaintextStructure []CryptoItem +} + +func (input DecryptPathStructureOutput) Validate() error { + if input.ParsedHeader.Validate() != nil { + return input.ParsedHeader.Validate() + } + if input.PlaintextStructure == nil { + return fmt.Errorf("input.PlaintextStructure is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_plaintextStructure_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_plaintextStructure_Validate() + } + + return nil +} + +func (input DecryptPathStructureOutput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptPathStructureOutput_plaintextStructure_Validate() error { + for _, item := range input.PlaintextStructure { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type DecryptStructureInput struct { + AuthenticateSchema map[string]AuthenticateAction + + Cmm awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager + + EncryptedStructure map[string]StructuredDataTerminal + + TableName string + + EncryptionContext map[string]string +} + +func (input DecryptStructureInput) Validate() error { + if input.AuthenticateSchema == nil { + return fmt.Errorf("input.AuthenticateSchema is required but has a nil value.") + } + if input.EncryptedStructure == nil { + return fmt.Errorf("input.EncryptedStructure is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptedStructure_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptedStructure_Validate() + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptionContext_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptionContext_Validate() + } + + return nil +} + +func (input DecryptStructureInput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptedStructure_Validate() error { + for _, value := range input.EncryptedStructure { + if value.Validate() != nil { + return value.Validate() + } + } + + return nil +} +func (input DecryptStructureInput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureInput_encryptionContext_Validate() error { + for key, value := range input.EncryptionContext { + if !utf8.ValidString(key) { + return fmt.Errorf("Invalid UTF bytes %s ", key) + } + if !utf8.ValidString(value) { + return fmt.Errorf("Invalid UTF bytes %s ", value) + } + } + + return nil +} + +type DecryptStructureOutput struct { + CryptoSchema map[string]CryptoAction + + ParsedHeader ParsedHeader + + PlaintextStructure map[string]StructuredDataTerminal +} + +func (input DecryptStructureOutput) Validate() error { + if input.CryptoSchema == nil { + return fmt.Errorf("input.CryptoSchema is required but has a nil value.") + } + if input.ParsedHeader.Validate() != nil { + return input.ParsedHeader.Validate() + } + if input.PlaintextStructure == nil { + return fmt.Errorf("input.PlaintextStructure is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_plaintextStructure_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_plaintextStructure_Validate() + } + + return nil +} + +func (input DecryptStructureOutput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_DecryptStructureOutput_plaintextStructure_Validate() error { + for _, value := range input.PlaintextStructure { + if value.Validate() != nil { + return value.Validate() + } + } + + return nil +} + +type EncryptPathStructureInput struct { + Cmm awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager + + PlaintextStructure []CryptoItem + + TableName string + + AlgorithmSuiteId *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + + EncryptionContext map[string]string +} + +func (input EncryptPathStructureInput) Validate() error { + if input.PlaintextStructure == nil { + return fmt.Errorf("input.PlaintextStructure is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_plaintextStructure_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_plaintextStructure_Validate() + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_encryptionContext_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_encryptionContext_Validate() + } + + return nil +} + +func (input EncryptPathStructureInput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_plaintextStructure_Validate() error { + for _, item := range input.PlaintextStructure { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} +func (input EncryptPathStructureInput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureInput_encryptionContext_Validate() error { + for key, value := range input.EncryptionContext { + if !utf8.ValidString(key) { + return fmt.Errorf("Invalid UTF bytes %s ", key) + } + if !utf8.ValidString(value) { + return fmt.Errorf("Invalid UTF bytes %s ", value) + } + } + + return nil +} + +type EncryptPathStructureOutput struct { + EncryptedStructure []CryptoItem + + ParsedHeader ParsedHeader +} + +func (input EncryptPathStructureOutput) Validate() error { + if input.EncryptedStructure == nil { + return fmt.Errorf("input.EncryptedStructure is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_encryptedStructure_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_encryptedStructure_Validate() + } + if input.ParsedHeader.Validate() != nil { + return input.ParsedHeader.Validate() + } + + return nil +} + +func (input EncryptPathStructureOutput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptPathStructureOutput_encryptedStructure_Validate() error { + for _, item := range input.EncryptedStructure { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type EncryptStructureInput struct { + Cmm awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager + + CryptoSchema map[string]CryptoAction + + PlaintextStructure map[string]StructuredDataTerminal + + TableName string + + AlgorithmSuiteId *awscryptographymaterialproviderssmithygeneratedtypes.DBEAlgorithmSuiteId + + EncryptionContext map[string]string +} + +func (input EncryptStructureInput) Validate() error { + if input.CryptoSchema == nil { + return fmt.Errorf("input.CryptoSchema is required but has a nil value.") + } + if input.PlaintextStructure == nil { + return fmt.Errorf("input.PlaintextStructure is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_plaintextStructure_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_plaintextStructure_Validate() + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_encryptionContext_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_encryptionContext_Validate() + } + + return nil +} + +func (input EncryptStructureInput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_plaintextStructure_Validate() error { + for _, value := range input.PlaintextStructure { + if value.Validate() != nil { + return value.Validate() + } + } + + return nil +} +func (input EncryptStructureInput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureInput_encryptionContext_Validate() error { + for key, value := range input.EncryptionContext { + if !utf8.ValidString(key) { + return fmt.Errorf("Invalid UTF bytes %s ", key) + } + if !utf8.ValidString(value) { + return fmt.Errorf("Invalid UTF bytes %s ", value) + } + } + + return nil +} + +type EncryptStructureOutput struct { + CryptoSchema map[string]CryptoAction + + EncryptedStructure map[string]StructuredDataTerminal + + ParsedHeader ParsedHeader +} + +func (input EncryptStructureOutput) Validate() error { + if input.CryptoSchema == nil { + return fmt.Errorf("input.CryptoSchema is required but has a nil value.") + } + if input.EncryptedStructure == nil { + return fmt.Errorf("input.EncryptedStructure is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_encryptedStructure_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_encryptedStructure_Validate() + } + if input.ParsedHeader.Validate() != nil { + return input.ParsedHeader.Validate() + } + + return nil +} + +func (input EncryptStructureOutput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_EncryptStructureOutput_encryptedStructure_Validate() error { + for _, value := range input.EncryptedStructure { + if value.Validate() != nil { + return value.Validate() + } + } + + return nil +} + +type ResolveAuthActionsInput struct { + AuthActions []AuthItem + + HeaderBytes []byte + + TableName string +} + +func (input ResolveAuthActionsInput) Validate() error { + if input.AuthActions == nil { + return fmt.Errorf("input.AuthActions is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_authActions_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_authActions_Validate() + } + + return nil +} + +func (input ResolveAuthActionsInput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsInput_authActions_Validate() error { + for _, item := range input.AuthActions { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type ResolveAuthActionsOutput struct { + CryptoActions []CryptoItem +} + +func (input ResolveAuthActionsOutput) Validate() error { + if input.CryptoActions == nil { + return fmt.Errorf("input.CryptoActions is required but has a nil value.") + } + if input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsOutput_cryptoActions_Validate() != nil { + return input.Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsOutput_cryptoActions_Validate() + } + + return nil +} + +func (input ResolveAuthActionsOutput) Aws_cryptography_dbEncryptionSdk_structuredEncryption_ResolveAuthActionsOutput_cryptoActions_Validate() error { + for _, item := range input.CryptoActions { + if item.Validate() != nil { + return item.Validate() + } + } + + return nil +} + +type AtomicPrimitivesReference struct { +} + +func (input AtomicPrimitivesReference) Validate() error { + + return nil +} + +type StructuredEncryptionConfig struct { +} + +func (input StructuredEncryptionConfig) Validate() error { + + return nil +} + +// PathSegmentMembermember +type PathSegment interface { + isPathSegment() +} + +type PathSegmentMembermember struct { + Value StructureSegment +} + +func (*PathSegmentMembermember) isPathSegment() {} + +type StructuredEncryptionBaseException interface { + // This is a dummy method to allow type assertion since Go empty interfaces + // aren't useful for type assertion checks. No concrete class is expected to implement + // this method. This is also not exported. + interfaceBindingMethod() +} diff --git a/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/unmodelled_errors.go b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/unmodelled_errors.go new file mode 100644 index 000000000..43a2adee7 --- /dev/null +++ b/DynamoDbEncryption/runtimes/go/TestsFromDafny-go/awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes/unmodelled_errors.go @@ -0,0 +1,26 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package awscryptographydbencryptionsdkstructuredencryptionsmithygeneratedtypes + +import ( + "fmt" +) + +type CollectionOfErrors struct { + StructuredEncryptionBaseException + ListOfErrors []error + Message string +} + +func (e CollectionOfErrors) Error() string { + return fmt.Sprintf("message: %s\n err %v", e.Message, e.ListOfErrors) +} + +type OpaqueError struct { + StructuredEncryptionBaseException + ErrObject interface{} +} + +func (e OpaqueError) Error() string { + return fmt.Sprintf("message: %v", e.ErrObject) +} diff --git a/submodules/smithy-dafny b/submodules/smithy-dafny index 2f83e28ad..97456490a 160000 --- a/submodules/smithy-dafny +++ b/submodules/smithy-dafny @@ -1 +1 @@ -Subproject commit 2f83e28ad9532b24c93d2229476c9a268355d338 +Subproject commit 97456490a31f37c28d2269b26bce4007ca0edf59