AwsEncryptionSDK/runtimes/go/TestsFromDafny-go/awscryptographyencryptionsdksmithygenerated/to_native.go (353 lines of code) (raw):

// Code generated by smithy-go-codegen DO NOT EDIT. package awscryptographyencryptionsdksmithygenerated 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-encryption-sdk/releases/go/encryption-sdk/AwsCryptographyEncryptionSdkTypes" "github.com/aws/aws-encryption-sdk/releases/go/encryption-sdk/awscryptographyencryptionsdksmithygeneratedtypes" "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" ) func DecryptInput_FromDafny(dafnyInput AwsCryptographyEncryptionSdkTypes.DecryptInput) awscryptographyencryptionsdksmithygeneratedtypes.DecryptInput { return awscryptographyencryptionsdksmithygeneratedtypes.DecryptInput{Ciphertext: Aws_cryptography_encryptionSdk_DecryptInput_ciphertext_FromDafny(dafnyInput.Dtor_ciphertext()), MaterialsManager: func() awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager { if dafnyInput.Dtor_materialsManager().UnwrapOr(nil) == nil { return nil } return awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_FromDafny(dafnyInput.Dtor_materialsManager().UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsManager)) }(), Keyring: func() awscryptographymaterialproviderssmithygeneratedtypes.IKeyring { if dafnyInput.Dtor_keyring().UnwrapOr(nil) == nil { return nil } return awscryptographymaterialproviderssmithygenerated.Keyring_FromDafny(dafnyInput.Dtor_keyring().UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.IKeyring)) }(), EncryptionContext: Aws_cryptography_encryptionSdk_DecryptInput_encryptionContext_FromDafny(dafnyInput.Dtor_encryptionContext().UnwrapOr(nil)), } } func DecryptOutput_FromDafny(dafnyOutput AwsCryptographyEncryptionSdkTypes.DecryptOutput) awscryptographyencryptionsdksmithygeneratedtypes.DecryptOutput { return awscryptographyencryptionsdksmithygeneratedtypes.DecryptOutput{Plaintext: Aws_cryptography_encryptionSdk_DecryptOutput_plaintext_FromDafny(dafnyOutput.Dtor_plaintext()), EncryptionContext: Aws_cryptography_encryptionSdk_DecryptOutput_encryptionContext_FromDafny(dafnyOutput.Dtor_encryptionContext()), AlgorithmSuiteId: Aws_cryptography_encryptionSdk_DecryptOutput_algorithmSuiteId_FromDafny(dafnyOutput.Dtor_algorithmSuiteId()), } } func EncryptInput_FromDafny(dafnyInput AwsCryptographyEncryptionSdkTypes.EncryptInput) awscryptographyencryptionsdksmithygeneratedtypes.EncryptInput { return awscryptographyencryptionsdksmithygeneratedtypes.EncryptInput{Plaintext: Aws_cryptography_encryptionSdk_EncryptInput_plaintext_FromDafny(dafnyInput.Dtor_plaintext()), EncryptionContext: Aws_cryptography_encryptionSdk_EncryptInput_encryptionContext_FromDafny(dafnyInput.Dtor_encryptionContext().UnwrapOr(nil)), MaterialsManager: func() awscryptographymaterialproviderssmithygeneratedtypes.ICryptographicMaterialsManager { if dafnyInput.Dtor_materialsManager().UnwrapOr(nil) == nil { return nil } return awscryptographymaterialproviderssmithygenerated.CryptographicMaterialsManager_FromDafny(dafnyInput.Dtor_materialsManager().UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsManager)) }(), Keyring: func() awscryptographymaterialproviderssmithygeneratedtypes.IKeyring { if dafnyInput.Dtor_keyring().UnwrapOr(nil) == nil { return nil } return awscryptographymaterialproviderssmithygenerated.Keyring_FromDafny(dafnyInput.Dtor_keyring().UnwrapOr(nil).(AwsCryptographyMaterialProvidersTypes.IKeyring)) }(), AlgorithmSuiteId: Aws_cryptography_encryptionSdk_EncryptInput_algorithmSuiteId_FromDafny(dafnyInput.Dtor_algorithmSuiteId().UnwrapOr(nil)), FrameLength: Aws_cryptography_encryptionSdk_EncryptInput_frameLength_FromDafny(dafnyInput.Dtor_frameLength().UnwrapOr(nil)), } } func EncryptOutput_FromDafny(dafnyOutput AwsCryptographyEncryptionSdkTypes.EncryptOutput) awscryptographyencryptionsdksmithygeneratedtypes.EncryptOutput { return awscryptographyencryptionsdksmithygeneratedtypes.EncryptOutput{Ciphertext: Aws_cryptography_encryptionSdk_EncryptOutput_ciphertext_FromDafny(dafnyOutput.Dtor_ciphertext()), EncryptionContext: Aws_cryptography_encryptionSdk_EncryptOutput_encryptionContext_FromDafny(dafnyOutput.Dtor_encryptionContext()), AlgorithmSuiteId: Aws_cryptography_encryptionSdk_EncryptOutput_algorithmSuiteId_FromDafny(dafnyOutput.Dtor_algorithmSuiteId()), } } func AwsEncryptionSdkException_FromDafny(dafnyOutput AwsCryptographyEncryptionSdkTypes.Error) awscryptographyencryptionsdksmithygeneratedtypes.AwsEncryptionSdkException { return awscryptographyencryptionsdksmithygeneratedtypes.AwsEncryptionSdkException{Message: Aws_cryptography_encryptionSdk_AwsEncryptionSdkException_message_FromDafny(dafnyOutput.Dtor_message())} } func CollectionOfErrors_Output_FromDafny(dafnyOutput AwsCryptographyEncryptionSdkTypes.Error) awscryptographyencryptionsdksmithygeneratedtypes.CollectionOfErrors { listOfErrors := dafnyOutput.Dtor_list() message := dafnyOutput.Dtor_message() t := awscryptographyencryptionsdksmithygeneratedtypes.CollectionOfErrors{} for i := dafny.Iterate(listOfErrors); ; { val, ok := i() if !ok { break } err := val.(AwsCryptographyEncryptionSdkTypes.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 AwsCryptographyEncryptionSdkTypes.Error) awscryptographyencryptionsdksmithygeneratedtypes.OpaqueError { return awscryptographyencryptionsdksmithygeneratedtypes.OpaqueError{ ErrObject: dafnyOutput.Dtor_obj(), } } func Error_FromDafny(err AwsCryptographyEncryptionSdkTypes.Error) error { // Service Errors if err.Is_AwsEncryptionSdkException() { return AwsEncryptionSdkException_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 AwsEncryptionSdkConfig_FromDafny(dafnyOutput AwsCryptographyEncryptionSdkTypes.AwsEncryptionSdkConfig) awscryptographyencryptionsdksmithygeneratedtypes.AwsEncryptionSdkConfig { return awscryptographyencryptionsdksmithygeneratedtypes.AwsEncryptionSdkConfig{CommitmentPolicy: Aws_cryptography_encryptionSdk_AwsEncryptionSdkConfig_commitmentPolicy_FromDafny(dafnyOutput.Dtor_commitmentPolicy().UnwrapOr(nil)), MaxEncryptedDataKeys: Aws_cryptography_encryptionSdk_AwsEncryptionSdkConfig_maxEncryptedDataKeys_FromDafny(dafnyOutput.Dtor_maxEncryptedDataKeys().UnwrapOr(nil)), NetV4_0_0_RetryPolicy: Aws_cryptography_encryptionSdk_AwsEncryptionSdkConfig_netV4_0_0_RetryPolicy_FromDafny(dafnyOutput.Dtor_netV4__0__0__RetryPolicy().UnwrapOr(nil)), } } func NetV4_0_0_RetryPolicy_FromDafny(input interface{}) awscryptographyencryptionsdksmithygeneratedtypes.NetV4_0_0_RetryPolicy { return func() awscryptographyencryptionsdksmithygeneratedtypes.NetV4_0_0_RetryPolicy { var u awscryptographyencryptionsdksmithygeneratedtypes.NetV4_0_0_RetryPolicy inputEnum := input.(AwsCryptographyEncryptionSdkTypes.NetV4__0__0__RetryPolicy) index := -1 for allEnums := dafny.Iterate(AwsCryptographyEncryptionSdkTypes.CompanionStruct_NetV4__0__0__RetryPolicy_{}.AllSingletonConstructors()); ; { enum, ok := allEnums() if ok { index++ if enum.(AwsCryptographyEncryptionSdkTypes.NetV4__0__0__RetryPolicy).Equals(inputEnum) { break } } } return u.Values()[index] }() } func Aws_cryptography_encryptionSdk_DecryptInput_ciphertext_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_encryptionSdk_DecryptInput_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_encryptionSdk_DecryptOutput_plaintext_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_encryptionSdk_DecryptOutput_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_encryptionSdk_DecryptOutput_algorithmSuiteId_FromDafny(input interface{}) awscryptographymaterialproviderssmithygeneratedtypes.ESDKAlgorithmSuiteId { return func() awscryptographymaterialproviderssmithygeneratedtypes.ESDKAlgorithmSuiteId { var u awscryptographymaterialproviderssmithygeneratedtypes.ESDKAlgorithmSuiteId inputEnum := input.(AwsCryptographyMaterialProvidersTypes.ESDKAlgorithmSuiteId) index := -1 for allEnums := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_ESDKAlgorithmSuiteId_{}.AllSingletonConstructors()); ; { enum, ok := allEnums() if ok { index++ if enum.(AwsCryptographyMaterialProvidersTypes.ESDKAlgorithmSuiteId).Equals(inputEnum) { break } } } return u.Values()[index] }() } func Aws_cryptography_encryptionSdk_EncryptInput_plaintext_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_encryptionSdk_EncryptInput_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_encryptionSdk_EncryptInput_algorithmSuiteId_FromDafny(input interface{}) *awscryptographymaterialproviderssmithygeneratedtypes.ESDKAlgorithmSuiteId { return func() *awscryptographymaterialproviderssmithygeneratedtypes.ESDKAlgorithmSuiteId { var u awscryptographymaterialproviderssmithygeneratedtypes.ESDKAlgorithmSuiteId if input == nil { return nil } inputEnum := input.(AwsCryptographyMaterialProvidersTypes.ESDKAlgorithmSuiteId) index := -1 for allEnums := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_ESDKAlgorithmSuiteId_{}.AllSingletonConstructors()); ; { enum, ok := allEnums() if ok { index++ if enum.(AwsCryptographyMaterialProvidersTypes.ESDKAlgorithmSuiteId).Equals(inputEnum) { break } } } return &u.Values()[index] }() } func Aws_cryptography_encryptionSdk_EncryptInput_frameLength_FromDafny(input interface{}) *int64 { return func() *int64 { var b int64 if input == nil { return nil } b = input.(int64) return &b }() } func Aws_cryptography_encryptionSdk_EncryptOutput_ciphertext_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_encryptionSdk_EncryptOutput_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_encryptionSdk_EncryptOutput_algorithmSuiteId_FromDafny(input interface{}) awscryptographymaterialproviderssmithygeneratedtypes.ESDKAlgorithmSuiteId { return func() awscryptographymaterialproviderssmithygeneratedtypes.ESDKAlgorithmSuiteId { var u awscryptographymaterialproviderssmithygeneratedtypes.ESDKAlgorithmSuiteId inputEnum := input.(AwsCryptographyMaterialProvidersTypes.ESDKAlgorithmSuiteId) index := -1 for allEnums := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_ESDKAlgorithmSuiteId_{}.AllSingletonConstructors()); ; { enum, ok := allEnums() if ok { index++ if enum.(AwsCryptographyMaterialProvidersTypes.ESDKAlgorithmSuiteId).Equals(inputEnum) { break } } } return u.Values()[index] }() } func Aws_cryptography_encryptionSdk_AwsEncryptionSdkException_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_encryptionSdk_AwsEncryptionSdkConfig_commitmentPolicy_FromDafny(input interface{}) *awscryptographymaterialproviderssmithygeneratedtypes.ESDKCommitmentPolicy { return func() *awscryptographymaterialproviderssmithygeneratedtypes.ESDKCommitmentPolicy { var u awscryptographymaterialproviderssmithygeneratedtypes.ESDKCommitmentPolicy if input == nil { return nil } inputEnum := input.(AwsCryptographyMaterialProvidersTypes.ESDKCommitmentPolicy) index := -1 for allEnums := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_ESDKCommitmentPolicy_{}.AllSingletonConstructors()); ; { enum, ok := allEnums() if ok { index++ if enum.(AwsCryptographyMaterialProvidersTypes.ESDKCommitmentPolicy).Equals(inputEnum) { break } } } return &u.Values()[index] }() } func Aws_cryptography_encryptionSdk_AwsEncryptionSdkConfig_maxEncryptedDataKeys_FromDafny(input interface{}) *int64 { return func() *int64 { var b int64 if input == nil { return nil } b = input.(int64) return &b }() } func Aws_cryptography_encryptionSdk_AwsEncryptionSdkConfig_netV4_0_0_RetryPolicy_FromDafny(input interface{}) *awscryptographyencryptionsdksmithygeneratedtypes.NetV4_0_0_RetryPolicy { return func() *awscryptographyencryptionsdksmithygeneratedtypes.NetV4_0_0_RetryPolicy { var u awscryptographyencryptionsdksmithygeneratedtypes.NetV4_0_0_RetryPolicy if input == nil { return nil } inputEnum := input.(AwsCryptographyEncryptionSdkTypes.NetV4__0__0__RetryPolicy) index := -1 for allEnums := dafny.Iterate(AwsCryptographyEncryptionSdkTypes.CompanionStruct_NetV4__0__0__RetryPolicy_{}.AllSingletonConstructors()); ; { enum, ok := allEnums() if ok { index++ if enum.(AwsCryptographyEncryptionSdkTypes.NetV4__0__0__RetryPolicy).Equals(inputEnum) { break } } } return &u.Values()[index] }() }