github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl@v0.2.0/awscryptographykeystoresmithygenerated/to_native.go (about)

     1  // Code generated by smithy-go-codegen DO NOT EDIT.
     2  
     3  package awscryptographykeystoresmithygenerated
     4  
     5  import (
     6  	"github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/DynamoDBwrapped"
     7  	"github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/comamazonawsdynamodbsmithygenerated"
     8  	"github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms/KMSwrapped"
     9  	"github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms/comamazonawskmssmithygenerated"
    10  	"github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes"
    11  	"github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/awscryptographykeystoresmithygeneratedtypes"
    12  	"github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UTF8"
    13  	"github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers"
    14  	"github.com/aws/aws-sdk-go-v2/service/dynamodb"
    15  	"github.com/aws/aws-sdk-go-v2/service/kms"
    16  	"github.com/dafny-lang/DafnyRuntimeGo/v4/dafny"
    17  )
    18  
    19  func CreateKeyInput_FromDafny(dafnyInput AwsCryptographyKeyStoreTypes.CreateKeyInput) awscryptographykeystoresmithygeneratedtypes.CreateKeyInput {
    20  
    21  	return awscryptographykeystoresmithygeneratedtypes.CreateKeyInput{BranchKeyIdentifier: Aws_cryptography_keyStore_CreateKeyInput_branchKeyIdentifier_FromDafny(dafnyInput.Dtor_branchKeyIdentifier().UnwrapOr(nil)),
    22  		EncryptionContext: Aws_cryptography_keyStore_CreateKeyInput_encryptionContext_FromDafny(dafnyInput.Dtor_encryptionContext().UnwrapOr(nil)),
    23  	}
    24  
    25  }
    26  
    27  func CreateKeyOutput_FromDafny(dafnyOutput AwsCryptographyKeyStoreTypes.CreateKeyOutput) awscryptographykeystoresmithygeneratedtypes.CreateKeyOutput {
    28  
    29  	return awscryptographykeystoresmithygeneratedtypes.CreateKeyOutput{BranchKeyIdentifier: Aws_cryptography_keyStore_CreateKeyOutput_branchKeyIdentifier_FromDafny(dafnyOutput.Dtor_branchKeyIdentifier())}
    30  
    31  }
    32  
    33  func CreateKeyStoreInput_FromDafny(dafnyInput AwsCryptographyKeyStoreTypes.CreateKeyStoreInput) awscryptographykeystoresmithygeneratedtypes.CreateKeyStoreInput {
    34  
    35  	return awscryptographykeystoresmithygeneratedtypes.CreateKeyStoreInput{}
    36  
    37  }
    38  
    39  func CreateKeyStoreOutput_FromDafny(dafnyOutput AwsCryptographyKeyStoreTypes.CreateKeyStoreOutput) awscryptographykeystoresmithygeneratedtypes.CreateKeyStoreOutput {
    40  
    41  	return awscryptographykeystoresmithygeneratedtypes.CreateKeyStoreOutput{TableArn: Aws_cryptography_keyStore_CreateKeyStoreOutput_tableArn_FromDafny(dafnyOutput.Dtor_tableArn())}
    42  
    43  }
    44  
    45  func GetActiveBranchKeyInput_FromDafny(dafnyInput AwsCryptographyKeyStoreTypes.GetActiveBranchKeyInput) awscryptographykeystoresmithygeneratedtypes.GetActiveBranchKeyInput {
    46  
    47  	return awscryptographykeystoresmithygeneratedtypes.GetActiveBranchKeyInput{BranchKeyIdentifier: Aws_cryptography_keyStore_GetActiveBranchKeyInput_branchKeyIdentifier_FromDafny(dafnyInput.Dtor_branchKeyIdentifier())}
    48  
    49  }
    50  
    51  func GetActiveBranchKeyOutput_FromDafny(dafnyOutput AwsCryptographyKeyStoreTypes.GetActiveBranchKeyOutput) awscryptographykeystoresmithygeneratedtypes.GetActiveBranchKeyOutput {
    52  
    53  	return awscryptographykeystoresmithygeneratedtypes.GetActiveBranchKeyOutput{BranchKeyMaterials: Aws_cryptography_keyStore_GetActiveBranchKeyOutput_branchKeyMaterials_FromDafny(dafnyOutput.Dtor_branchKeyMaterials())}
    54  
    55  }
    56  
    57  func GetBeaconKeyInput_FromDafny(dafnyInput AwsCryptographyKeyStoreTypes.GetBeaconKeyInput) awscryptographykeystoresmithygeneratedtypes.GetBeaconKeyInput {
    58  
    59  	return awscryptographykeystoresmithygeneratedtypes.GetBeaconKeyInput{BranchKeyIdentifier: Aws_cryptography_keyStore_GetBeaconKeyInput_branchKeyIdentifier_FromDafny(dafnyInput.Dtor_branchKeyIdentifier())}
    60  
    61  }
    62  
    63  func GetBeaconKeyOutput_FromDafny(dafnyOutput AwsCryptographyKeyStoreTypes.GetBeaconKeyOutput) awscryptographykeystoresmithygeneratedtypes.GetBeaconKeyOutput {
    64  
    65  	return awscryptographykeystoresmithygeneratedtypes.GetBeaconKeyOutput{BeaconKeyMaterials: Aws_cryptography_keyStore_GetBeaconKeyOutput_beaconKeyMaterials_FromDafny(dafnyOutput.Dtor_beaconKeyMaterials())}
    66  
    67  }
    68  
    69  func GetBranchKeyVersionInput_FromDafny(dafnyInput AwsCryptographyKeyStoreTypes.GetBranchKeyVersionInput) awscryptographykeystoresmithygeneratedtypes.GetBranchKeyVersionInput {
    70  
    71  	return awscryptographykeystoresmithygeneratedtypes.GetBranchKeyVersionInput{BranchKeyIdentifier: Aws_cryptography_keyStore_GetBranchKeyVersionInput_branchKeyIdentifier_FromDafny(dafnyInput.Dtor_branchKeyIdentifier()),
    72  		BranchKeyVersion: Aws_cryptography_keyStore_GetBranchKeyVersionInput_branchKeyVersion_FromDafny(dafnyInput.Dtor_branchKeyVersion()),
    73  	}
    74  
    75  }
    76  
    77  func GetBranchKeyVersionOutput_FromDafny(dafnyOutput AwsCryptographyKeyStoreTypes.GetBranchKeyVersionOutput) awscryptographykeystoresmithygeneratedtypes.GetBranchKeyVersionOutput {
    78  
    79  	return awscryptographykeystoresmithygeneratedtypes.GetBranchKeyVersionOutput{BranchKeyMaterials: Aws_cryptography_keyStore_GetBranchKeyVersionOutput_branchKeyMaterials_FromDafny(dafnyOutput.Dtor_branchKeyMaterials())}
    80  
    81  }
    82  
    83  func GetKeyStoreInfoOutput_FromDafny(dafnyOutput AwsCryptographyKeyStoreTypes.GetKeyStoreInfoOutput) awscryptographykeystoresmithygeneratedtypes.GetKeyStoreInfoOutput {
    84  
    85  	return awscryptographykeystoresmithygeneratedtypes.GetKeyStoreInfoOutput{KeyStoreId: Aws_cryptography_keyStore_GetKeyStoreInfoOutput_keyStoreId_FromDafny(dafnyOutput.Dtor_keyStoreId()),
    86  		KeyStoreName:        Aws_cryptography_keyStore_GetKeyStoreInfoOutput_keyStoreName_FromDafny(dafnyOutput.Dtor_keyStoreName()),
    87  		LogicalKeyStoreName: Aws_cryptography_keyStore_GetKeyStoreInfoOutput_logicalKeyStoreName_FromDafny(dafnyOutput.Dtor_logicalKeyStoreName()),
    88  		GrantTokens:         Aws_cryptography_keyStore_GetKeyStoreInfoOutput_grantTokens_FromDafny(dafnyOutput.Dtor_grantTokens()),
    89  		KmsConfiguration:    Aws_cryptography_keyStore_GetKeyStoreInfoOutput_kmsConfiguration_FromDafny(dafnyOutput.Dtor_kmsConfiguration()),
    90  	}
    91  
    92  }
    93  
    94  func VersionKeyInput_FromDafny(dafnyInput AwsCryptographyKeyStoreTypes.VersionKeyInput) awscryptographykeystoresmithygeneratedtypes.VersionKeyInput {
    95  
    96  	return awscryptographykeystoresmithygeneratedtypes.VersionKeyInput{BranchKeyIdentifier: Aws_cryptography_keyStore_VersionKeyInput_branchKeyIdentifier_FromDafny(dafnyInput.Dtor_branchKeyIdentifier())}
    97  
    98  }
    99  
   100  func VersionKeyOutput_FromDafny(dafnyOutput AwsCryptographyKeyStoreTypes.VersionKeyOutput) awscryptographykeystoresmithygeneratedtypes.VersionKeyOutput {
   101  
   102  	return awscryptographykeystoresmithygeneratedtypes.VersionKeyOutput{}
   103  
   104  }
   105  
   106  func KeyStoreException_FromDafny(dafnyOutput AwsCryptographyKeyStoreTypes.Error) awscryptographykeystoresmithygeneratedtypes.KeyStoreException {
   107  	return awscryptographykeystoresmithygeneratedtypes.KeyStoreException{Message: Aws_cryptography_keyStore_KeyStoreException_message_FromDafny(dafnyOutput.Dtor_message())}
   108  
   109  }
   110  
   111  func CollectionOfErrors_Output_FromDafny(dafnyOutput AwsCryptographyKeyStoreTypes.Error) awscryptographykeystoresmithygeneratedtypes.CollectionOfErrors {
   112  	listOfErrors := dafnyOutput.Dtor_list()
   113  	message := dafnyOutput.Dtor_message()
   114  	t := awscryptographykeystoresmithygeneratedtypes.CollectionOfErrors{}
   115  	for i := dafny.Iterate(listOfErrors); ; {
   116  		val, ok := i()
   117  		if !ok {
   118  			break
   119  		}
   120  		err := val.(AwsCryptographyKeyStoreTypes.Error)
   121  		t.ListOfErrors = append(t.ListOfErrors, Error_FromDafny(err))
   122  
   123  	}
   124  	t.Message = func() string {
   125  		a := UTF8.Encode(message.(dafny.Sequence)).Dtor_value()
   126  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   127  		return s
   128  	}()
   129  	return t
   130  }
   131  func OpaqueError_Output_FromDafny(dafnyOutput AwsCryptographyKeyStoreTypes.Error) awscryptographykeystoresmithygeneratedtypes.OpaqueError {
   132  	return awscryptographykeystoresmithygeneratedtypes.OpaqueError{
   133  		ErrObject: dafnyOutput.Dtor_obj(),
   134  	}
   135  }
   136  
   137  func Error_FromDafny(err AwsCryptographyKeyStoreTypes.Error) error {
   138  	// Service Errors
   139  	if err.Is_KeyStoreException() {
   140  		return KeyStoreException_FromDafny(err)
   141  	}
   142  
   143  	//DependentErrors
   144  	if err.Is_ComAmazonawsDynamodb() {
   145  		return comamazonawsdynamodbsmithygenerated.Error_FromDafny(err.Dtor_ComAmazonawsDynamodb())
   146  	}
   147  
   148  	if err.Is_ComAmazonawsKms() {
   149  		return comamazonawskmssmithygenerated.Error_FromDafny(err.Dtor_ComAmazonawsKms())
   150  	}
   151  
   152  	//Unmodelled Errors
   153  	if err.Is_CollectionOfErrors() {
   154  		return CollectionOfErrors_Output_FromDafny(err)
   155  	}
   156  
   157  	return OpaqueError_Output_FromDafny(err)
   158  }
   159  
   160  func KeyStoreConfig_FromDafny(dafnyOutput AwsCryptographyKeyStoreTypes.KeyStoreConfig) awscryptographykeystoresmithygeneratedtypes.KeyStoreConfig {
   161  	return awscryptographykeystoresmithygeneratedtypes.KeyStoreConfig{DdbTableName: Aws_cryptography_keyStore_KeyStoreConfig_ddbTableName_FromDafny(dafnyOutput.Dtor_ddbTableName()),
   162  		KmsConfiguration:    Aws_cryptography_keyStore_KeyStoreConfig_kmsConfiguration_FromDafny(dafnyOutput.Dtor_kmsConfiguration()),
   163  		LogicalKeyStoreName: Aws_cryptography_keyStore_KeyStoreConfig_logicalKeyStoreName_FromDafny(dafnyOutput.Dtor_logicalKeyStoreName()),
   164  		Id:                  Aws_cryptography_keyStore_KeyStoreConfig_id_FromDafny(dafnyOutput.Dtor_id().UnwrapOr(nil)),
   165  		GrantTokens:         Aws_cryptography_keyStore_KeyStoreConfig_grantTokens_FromDafny(dafnyOutput.Dtor_grantTokens().UnwrapOr(nil)),
   166  		DdbClient:           Aws_cryptography_keyStore_KeyStoreConfig_ddbClient_FromDafny(dafnyOutput.Dtor_ddbClient().UnwrapOr(nil)),
   167  		KmsClient:           Aws_cryptography_keyStore_KeyStoreConfig_kmsClient_FromDafny(dafnyOutput.Dtor_kmsClient().UnwrapOr(nil)),
   168  	}
   169  
   170  }
   171  
   172  func Aws_cryptography_keyStore_CreateKeyInput_branchKeyIdentifier_FromDafny(input interface{}) *string {
   173  	return func() *string {
   174  		if input == nil {
   175  			return nil
   176  		}
   177  
   178  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   179  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   180  
   181  		return &s
   182  	}()
   183  }
   184  func Aws_cryptography_keyStore_CreateKeyInput_encryptionContext_FromDafny(input interface{}) map[string]string {
   185  	var m map[string]string = make(map[string]string)
   186  	if input == nil {
   187  		return nil
   188  	}
   189  	for i := dafny.Iterate(input.(dafny.Map).Items()); ; {
   190  		val, ok := i()
   191  		if !ok {
   192  			break
   193  		}
   194  		m[Aws_cryptography_keyStore_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_keyStore_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1)))
   195  	}
   196  	return m
   197  
   198  }
   199  func Aws_cryptography_keyStore_EncryptionContext_key_FromDafny(input interface{}) string {
   200  	return func() string {
   201  
   202  		// UTF bytes should be always converted from bytes to string in go
   203  		// Otherwise go treats the string as a unicode codepoint
   204  
   205  		s := string(dafny.ToByteArray(input.(dafny.Sequence)))
   206  
   207  		return s
   208  	}()
   209  }
   210  func Aws_cryptography_keyStore_EncryptionContext_value_FromDafny(input interface{}) string {
   211  	return func() string {
   212  
   213  		// UTF bytes should be always converted from bytes to string in go
   214  		// Otherwise go treats the string as a unicode codepoint
   215  
   216  		s := string(dafny.ToByteArray(input.(dafny.Sequence)))
   217  
   218  		return s
   219  	}()
   220  }
   221  func Aws_cryptography_keyStore_CreateKeyOutput_branchKeyIdentifier_FromDafny(input interface{}) string {
   222  	return func() string {
   223  
   224  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   225  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   226  
   227  		return s
   228  	}()
   229  }
   230  func Aws_cryptography_keyStore_CreateKeyStoreOutput_tableArn_FromDafny(input interface{}) string {
   231  	return func() string {
   232  
   233  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   234  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   235  
   236  		return s
   237  	}()
   238  }
   239  func Aws_cryptography_keyStore_GetActiveBranchKeyInput_branchKeyIdentifier_FromDafny(input interface{}) string {
   240  	return func() string {
   241  
   242  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   243  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   244  
   245  		return s
   246  	}()
   247  }
   248  func Aws_cryptography_keyStore_GetActiveBranchKeyOutput_branchKeyMaterials_FromDafny(input interface{}) awscryptographykeystoresmithygeneratedtypes.BranchKeyMaterials {
   249  	return awscryptographykeystoresmithygeneratedtypes.BranchKeyMaterials{BranchKeyIdentifier: Aws_cryptography_keyStore_BranchKeyMaterials_branchKeyIdentifier_FromDafny(input.(AwsCryptographyKeyStoreTypes.BranchKeyMaterials).Dtor_branchKeyIdentifier()),
   250  		BranchKeyVersion:  Aws_cryptography_keyStore_BranchKeyMaterials_branchKeyVersion_FromDafny(input.(AwsCryptographyKeyStoreTypes.BranchKeyMaterials).Dtor_branchKeyVersion()),
   251  		EncryptionContext: Aws_cryptography_keyStore_BranchKeyMaterials_encryptionContext_FromDafny(input.(AwsCryptographyKeyStoreTypes.BranchKeyMaterials).Dtor_encryptionContext()),
   252  		BranchKey:         Aws_cryptography_keyStore_BranchKeyMaterials_branchKey_FromDafny(input.(AwsCryptographyKeyStoreTypes.BranchKeyMaterials).Dtor_branchKey()),
   253  	}
   254  }
   255  func Aws_cryptography_keyStore_BranchKeyMaterials_branchKeyIdentifier_FromDafny(input interface{}) string {
   256  	return func() string {
   257  
   258  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   259  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   260  
   261  		return s
   262  	}()
   263  }
   264  func Aws_cryptography_keyStore_BranchKeyMaterials_branchKeyVersion_FromDafny(input interface{}) string {
   265  	return func() string {
   266  
   267  		// UTF bytes should be always converted from bytes to string in go
   268  		// Otherwise go treats the string as a unicode codepoint
   269  
   270  		s := string(dafny.ToByteArray(input.(dafny.Sequence)))
   271  
   272  		return s
   273  	}()
   274  }
   275  func Aws_cryptography_keyStore_BranchKeyMaterials_encryptionContext_FromDafny(input interface{}) map[string]string {
   276  	var m map[string]string = make(map[string]string)
   277  	if input == nil {
   278  		return nil
   279  	}
   280  	for i := dafny.Iterate(input.(dafny.Map).Items()); ; {
   281  		val, ok := i()
   282  		if !ok {
   283  			break
   284  		}
   285  		m[Aws_cryptography_keyStore_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_keyStore_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1)))
   286  	}
   287  	return m
   288  
   289  }
   290  func Aws_cryptography_keyStore_BranchKeyMaterials_branchKey_FromDafny(input interface{}) []byte {
   291  	return func() []byte {
   292  		b := []byte{}
   293  		if input == nil {
   294  			return nil
   295  		}
   296  		for i := dafny.Iterate(input); ; {
   297  			val, ok := i()
   298  			if !ok {
   299  				return b
   300  			} else {
   301  				b = append(b, val.(byte))
   302  			}
   303  		}
   304  	}()
   305  }
   306  func Aws_cryptography_keyStore_GetBeaconKeyInput_branchKeyIdentifier_FromDafny(input interface{}) string {
   307  	return func() string {
   308  
   309  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   310  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   311  
   312  		return s
   313  	}()
   314  }
   315  func Aws_cryptography_keyStore_GetBeaconKeyOutput_beaconKeyMaterials_FromDafny(input interface{}) awscryptographykeystoresmithygeneratedtypes.BeaconKeyMaterials {
   316  	return awscryptographykeystoresmithygeneratedtypes.BeaconKeyMaterials{BeaconKeyIdentifier: Aws_cryptography_keyStore_BeaconKeyMaterials_beaconKeyIdentifier_FromDafny(input.(AwsCryptographyKeyStoreTypes.BeaconKeyMaterials).Dtor_beaconKeyIdentifier()),
   317  		EncryptionContext: Aws_cryptography_keyStore_BeaconKeyMaterials_encryptionContext_FromDafny(input.(AwsCryptographyKeyStoreTypes.BeaconKeyMaterials).Dtor_encryptionContext()),
   318  		BeaconKey:         Aws_cryptography_keyStore_BeaconKeyMaterials_beaconKey_FromDafny(input.(AwsCryptographyKeyStoreTypes.BeaconKeyMaterials).Dtor_beaconKey().UnwrapOr(nil)),
   319  		HmacKeys:          Aws_cryptography_keyStore_BeaconKeyMaterials_hmacKeys_FromDafny(input.(AwsCryptographyKeyStoreTypes.BeaconKeyMaterials).Dtor_hmacKeys().UnwrapOr(nil)),
   320  	}
   321  }
   322  func Aws_cryptography_keyStore_BeaconKeyMaterials_beaconKeyIdentifier_FromDafny(input interface{}) string {
   323  	return func() string {
   324  
   325  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   326  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   327  
   328  		return s
   329  	}()
   330  }
   331  func Aws_cryptography_keyStore_BeaconKeyMaterials_encryptionContext_FromDafny(input interface{}) map[string]string {
   332  	var m map[string]string = make(map[string]string)
   333  	if input == nil {
   334  		return nil
   335  	}
   336  	for i := dafny.Iterate(input.(dafny.Map).Items()); ; {
   337  		val, ok := i()
   338  		if !ok {
   339  			break
   340  		}
   341  		m[Aws_cryptography_keyStore_EncryptionContext_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_keyStore_EncryptionContext_value_FromDafny((*val.(dafny.Tuple).IndexInt(1)))
   342  	}
   343  	return m
   344  
   345  }
   346  func Aws_cryptography_keyStore_BeaconKeyMaterials_beaconKey_FromDafny(input interface{}) []byte {
   347  	return func() []byte {
   348  		b := []byte{}
   349  		if input == nil {
   350  			return nil
   351  		}
   352  		for i := dafny.Iterate(input); ; {
   353  			val, ok := i()
   354  			if !ok {
   355  				return b
   356  			} else {
   357  				b = append(b, val.(byte))
   358  			}
   359  		}
   360  	}()
   361  }
   362  func Aws_cryptography_keyStore_BeaconKeyMaterials_hmacKeys_FromDafny(input interface{}) map[string][]byte {
   363  	var m map[string][]byte = make(map[string][]byte)
   364  	if input == nil {
   365  		return nil
   366  	}
   367  	for i := dafny.Iterate(input.(dafny.Map).Items()); ; {
   368  		val, ok := i()
   369  		if !ok {
   370  			break
   371  		}
   372  		m[Aws_cryptography_keyStore_HmacKeyMap_key_FromDafny((*val.(dafny.Tuple).IndexInt(0)))] = Aws_cryptography_keyStore_HmacKeyMap_value_FromDafny((*val.(dafny.Tuple).IndexInt(1)))
   373  	}
   374  	return m
   375  
   376  }
   377  func Aws_cryptography_keyStore_HmacKeyMap_key_FromDafny(input interface{}) string {
   378  	return func() string {
   379  
   380  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   381  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   382  
   383  		return s
   384  	}()
   385  }
   386  func Aws_cryptography_keyStore_HmacKeyMap_value_FromDafny(input interface{}) []byte {
   387  	return func() []byte {
   388  		b := []byte{}
   389  		if input == nil {
   390  			return nil
   391  		}
   392  		for i := dafny.Iterate(input); ; {
   393  			val, ok := i()
   394  			if !ok {
   395  				return b
   396  			} else {
   397  				b = append(b, val.(byte))
   398  			}
   399  		}
   400  	}()
   401  }
   402  func Aws_cryptography_keyStore_GetBranchKeyVersionInput_branchKeyIdentifier_FromDafny(input interface{}) string {
   403  	return func() string {
   404  
   405  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   406  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   407  
   408  		return s
   409  	}()
   410  }
   411  func Aws_cryptography_keyStore_GetBranchKeyVersionInput_branchKeyVersion_FromDafny(input interface{}) string {
   412  	return func() string {
   413  
   414  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   415  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   416  
   417  		return s
   418  	}()
   419  }
   420  func Aws_cryptography_keyStore_GetBranchKeyVersionOutput_branchKeyMaterials_FromDafny(input interface{}) awscryptographykeystoresmithygeneratedtypes.BranchKeyMaterials {
   421  	return awscryptographykeystoresmithygeneratedtypes.BranchKeyMaterials{BranchKeyIdentifier: Aws_cryptography_keyStore_BranchKeyMaterials_branchKeyIdentifier_FromDafny(input.(AwsCryptographyKeyStoreTypes.BranchKeyMaterials).Dtor_branchKeyIdentifier()),
   422  		BranchKeyVersion:  Aws_cryptography_keyStore_BranchKeyMaterials_branchKeyVersion_FromDafny(input.(AwsCryptographyKeyStoreTypes.BranchKeyMaterials).Dtor_branchKeyVersion()),
   423  		EncryptionContext: Aws_cryptography_keyStore_BranchKeyMaterials_encryptionContext_FromDafny(input.(AwsCryptographyKeyStoreTypes.BranchKeyMaterials).Dtor_encryptionContext()),
   424  		BranchKey:         Aws_cryptography_keyStore_BranchKeyMaterials_branchKey_FromDafny(input.(AwsCryptographyKeyStoreTypes.BranchKeyMaterials).Dtor_branchKey()),
   425  	}
   426  }
   427  func Aws_cryptography_keyStore_GetKeyStoreInfoOutput_keyStoreId_FromDafny(input interface{}) string {
   428  	return func() string {
   429  
   430  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   431  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   432  
   433  		return s
   434  	}()
   435  }
   436  func Aws_cryptography_keyStore_GetKeyStoreInfoOutput_keyStoreName_FromDafny(input interface{}) string {
   437  	return func() string {
   438  
   439  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   440  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   441  
   442  		return s
   443  	}()
   444  }
   445  func Aws_cryptography_keyStore_GetKeyStoreInfoOutput_logicalKeyStoreName_FromDafny(input interface{}) string {
   446  	return func() string {
   447  
   448  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   449  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   450  
   451  		return s
   452  	}()
   453  }
   454  func Aws_cryptography_keyStore_GetKeyStoreInfoOutput_grantTokens_FromDafny(input interface{}) []string {
   455  	fieldValue := make([]string, 0)
   456  	for i := dafny.Iterate(input.(dafny.Sequence)); ; {
   457  		val, ok := i()
   458  		if !ok {
   459  			break
   460  		}
   461  		fieldValue = append(fieldValue, Aws_cryptography_keyStore_GrantTokenList_member_FromDafny(val))
   462  	}
   463  	return fieldValue
   464  }
   465  func Aws_cryptography_keyStore_GrantTokenList_member_FromDafny(input interface{}) string {
   466  	return func() string {
   467  
   468  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   469  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   470  
   471  		return s
   472  	}()
   473  }
   474  func Aws_cryptography_keyStore_GetKeyStoreInfoOutput_kmsConfiguration_FromDafny(input interface{}) awscryptographykeystoresmithygeneratedtypes.KMSConfiguration {
   475  	var union awscryptographykeystoresmithygeneratedtypes.KMSConfiguration
   476  
   477  	if (input.(AwsCryptographyKeyStoreTypes.KMSConfiguration)).Is_kmsKeyArn() {
   478  		var dataSource = Wrappers.Companion_Option_.Create_Some_((input.(AwsCryptographyKeyStoreTypes.KMSConfiguration)).Dtor_kmsKeyArn())
   479  		union = &awscryptographykeystoresmithygeneratedtypes.KMSConfigurationMemberkmsKeyArn{
   480  			Value: (Aws_cryptography_keyStore_KMSConfiguration_kmsKeyArn_FromDafny(dataSource.UnwrapOr(nil))),
   481  		}
   482  	}
   483  	if (input.(AwsCryptographyKeyStoreTypes.KMSConfiguration)).Is_kmsMRKeyArn() {
   484  		var dataSource = Wrappers.Companion_Option_.Create_Some_((input.(AwsCryptographyKeyStoreTypes.KMSConfiguration)).Dtor_kmsMRKeyArn())
   485  		union = &awscryptographykeystoresmithygeneratedtypes.KMSConfigurationMemberkmsMRKeyArn{
   486  			Value: (Aws_cryptography_keyStore_KMSConfiguration_kmsMRKeyArn_FromDafny(dataSource.UnwrapOr(nil))),
   487  		}
   488  	}
   489  	if (input.(AwsCryptographyKeyStoreTypes.KMSConfiguration)).Is_discovery() {
   490  
   491  		union = &awscryptographykeystoresmithygeneratedtypes.KMSConfigurationMemberdiscovery{
   492  			Value: (Aws_cryptography_keyStore_KMSConfiguration_discovery_FromDafny((input.(AwsCryptographyKeyStoreTypes.KMSConfiguration)).Dtor_discovery())),
   493  		}
   494  	}
   495  	if (input.(AwsCryptographyKeyStoreTypes.KMSConfiguration)).Is_mrDiscovery() {
   496  
   497  		union = &awscryptographykeystoresmithygeneratedtypes.KMSConfigurationMembermrDiscovery{
   498  			Value: (Aws_cryptography_keyStore_KMSConfiguration_mrDiscovery_FromDafny((input.(AwsCryptographyKeyStoreTypes.KMSConfiguration)).Dtor_mrDiscovery())),
   499  		}
   500  	}
   501  
   502  	return union
   503  
   504  }
   505  func Aws_cryptography_keyStore_KMSConfiguration_kmsKeyArn_FromDafny(input interface{}) string {
   506  	return func() string {
   507  
   508  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   509  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   510  
   511  		return s
   512  	}()
   513  }
   514  func Aws_cryptography_keyStore_KMSConfiguration_kmsMRKeyArn_FromDafny(input interface{}) string {
   515  	return func() string {
   516  
   517  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   518  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   519  
   520  		return s
   521  	}()
   522  }
   523  func Aws_cryptography_keyStore_KMSConfiguration_discovery_FromDafny(input interface{}) awscryptographykeystoresmithygeneratedtypes.Discovery {
   524  	return awscryptographykeystoresmithygeneratedtypes.Discovery{}
   525  }
   526  func Aws_cryptography_keyStore_KMSConfiguration_mrDiscovery_FromDafny(input interface{}) awscryptographykeystoresmithygeneratedtypes.MRDiscovery {
   527  	return awscryptographykeystoresmithygeneratedtypes.MRDiscovery{Region: Aws_cryptography_keyStore_MRDiscovery_region_FromDafny(input.(AwsCryptographyKeyStoreTypes.MRDiscovery).Dtor_region())}
   528  }
   529  func Aws_cryptography_keyStore_MRDiscovery_region_FromDafny(input interface{}) string {
   530  	return func() string {
   531  
   532  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   533  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   534  
   535  		return s
   536  	}()
   537  }
   538  func Aws_cryptography_keyStore_VersionKeyInput_branchKeyIdentifier_FromDafny(input interface{}) string {
   539  	return func() string {
   540  
   541  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   542  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   543  
   544  		return s
   545  	}()
   546  }
   547  func Aws_cryptography_keyStore_KeyStoreException_message_FromDafny(input interface{}) string {
   548  	return func() string {
   549  
   550  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   551  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   552  
   553  		return s
   554  	}()
   555  }
   556  func Aws_cryptography_keyStore_KeyStoreConfig_ddbTableName_FromDafny(input interface{}) string {
   557  	return func() string {
   558  
   559  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   560  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   561  
   562  		return s
   563  	}()
   564  }
   565  func Aws_cryptography_keyStore_KeyStoreConfig_kmsConfiguration_FromDafny(input interface{}) awscryptographykeystoresmithygeneratedtypes.KMSConfiguration {
   566  	var union awscryptographykeystoresmithygeneratedtypes.KMSConfiguration
   567  
   568  	if (input.(AwsCryptographyKeyStoreTypes.KMSConfiguration)).Is_kmsKeyArn() {
   569  		var dataSource = Wrappers.Companion_Option_.Create_Some_((input.(AwsCryptographyKeyStoreTypes.KMSConfiguration)).Dtor_kmsKeyArn())
   570  		union = &awscryptographykeystoresmithygeneratedtypes.KMSConfigurationMemberkmsKeyArn{
   571  			Value: (Aws_cryptography_keyStore_KMSConfiguration_kmsKeyArn_FromDafny(dataSource.UnwrapOr(nil))),
   572  		}
   573  	}
   574  	if (input.(AwsCryptographyKeyStoreTypes.KMSConfiguration)).Is_kmsMRKeyArn() {
   575  		var dataSource = Wrappers.Companion_Option_.Create_Some_((input.(AwsCryptographyKeyStoreTypes.KMSConfiguration)).Dtor_kmsMRKeyArn())
   576  		union = &awscryptographykeystoresmithygeneratedtypes.KMSConfigurationMemberkmsMRKeyArn{
   577  			Value: (Aws_cryptography_keyStore_KMSConfiguration_kmsMRKeyArn_FromDafny(dataSource.UnwrapOr(nil))),
   578  		}
   579  	}
   580  	if (input.(AwsCryptographyKeyStoreTypes.KMSConfiguration)).Is_discovery() {
   581  
   582  		union = &awscryptographykeystoresmithygeneratedtypes.KMSConfigurationMemberdiscovery{
   583  			Value: (Aws_cryptography_keyStore_KMSConfiguration_discovery_FromDafny((input.(AwsCryptographyKeyStoreTypes.KMSConfiguration)).Dtor_discovery())),
   584  		}
   585  	}
   586  	if (input.(AwsCryptographyKeyStoreTypes.KMSConfiguration)).Is_mrDiscovery() {
   587  
   588  		union = &awscryptographykeystoresmithygeneratedtypes.KMSConfigurationMembermrDiscovery{
   589  			Value: (Aws_cryptography_keyStore_KMSConfiguration_mrDiscovery_FromDafny((input.(AwsCryptographyKeyStoreTypes.KMSConfiguration)).Dtor_mrDiscovery())),
   590  		}
   591  	}
   592  
   593  	return union
   594  
   595  }
   596  func Aws_cryptography_keyStore_KeyStoreConfig_logicalKeyStoreName_FromDafny(input interface{}) string {
   597  	return func() string {
   598  
   599  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   600  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   601  
   602  		return s
   603  	}()
   604  }
   605  func Aws_cryptography_keyStore_KeyStoreConfig_id_FromDafny(input interface{}) *string {
   606  	return func() *string {
   607  		if input == nil {
   608  			return nil
   609  		}
   610  
   611  		a := UTF8.Encode(input.(dafny.Sequence)).Dtor_value()
   612  		s := string(dafny.ToByteArray(a.(dafny.Sequence)))
   613  
   614  		return &s
   615  	}()
   616  }
   617  func Aws_cryptography_keyStore_KeyStoreConfig_grantTokens_FromDafny(input interface{}) []string {
   618  	if input == nil {
   619  		return nil
   620  	}
   621  	fieldValue := make([]string, 0)
   622  	for i := dafny.Iterate(input.(dafny.Sequence)); ; {
   623  		val, ok := i()
   624  		if !ok {
   625  			break
   626  		}
   627  		fieldValue = append(fieldValue, Aws_cryptography_keyStore_GrantTokenList_member_FromDafny(val))
   628  	}
   629  	return fieldValue
   630  }
   631  func Aws_cryptography_keyStore_KeyStoreConfig_ddbClient_FromDafny(input interface{}) *dynamodb.Client {
   632  	shim, ok := input.(*DynamoDBwrapped.Shim)
   633  	if !ok {
   634  		panic("Not able to convert client to native")
   635  	}
   636  	return shim.Client
   637  
   638  }
   639  func Aws_cryptography_keyStore_KeyStoreConfig_kmsClient_FromDafny(input interface{}) *kms.Client {
   640  	shim, ok := input.(*KMSwrapped.Shim)
   641  	if !ok {
   642  		panic("Not able to convert client to native")
   643  	}
   644  	return shim.Client
   645  
   646  }