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

     1  // Package MaterialProviders
     2  // Dafny module MaterialProviders compiled into Go
     3  
     4  package MaterialProviders
     5  
     6  import (
     7  	os "os"
     8  
     9  	m_ComAmazonawsDynamodbTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/ComAmazonawsDynamodbTypes"
    10  	m_Com_Amazonaws_Dynamodb "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/Com_Amazonaws_Dynamodb"
    11  	m_ComAmazonawsKmsTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms/ComAmazonawsKmsTypes"
    12  	m_Com_Amazonaws_Kms "github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms/Com_Amazonaws_Kms"
    13  	m_AlgorithmSuites "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AlgorithmSuites"
    14  	m_AwsArnParsing "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsArnParsing"
    15  	m_AwsCryptographyKeyStoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreOperations"
    16  	m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes"
    17  	m_AwsCryptographyMaterialProvidersOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersOperations"
    18  	m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes"
    19  	m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring"
    20  	m_AwsKmsEcdhKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsEcdhKeyring"
    21  	m_AwsKmsHierarchicalKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsHierarchicalKeyring"
    22  	m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring"
    23  	m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique"
    24  	m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring"
    25  	m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring"
    26  	m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt"
    27  	m_AwsKmsRsaKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsRsaKeyring"
    28  	m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils"
    29  	m_CMM "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CMM"
    30  	m_CacheConstants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CacheConstants"
    31  	m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext"
    32  	m_Commitment "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Commitment"
    33  	m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants"
    34  	m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable"
    35  	m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys"
    36  	m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations"
    37  	m_DefaultCMM "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DefaultCMM"
    38  	m_DefaultClientSupplier "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DefaultClientSupplier"
    39  	m_Defaults "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Defaults"
    40  	m_DiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DiscoveryMultiKeyring"
    41  	m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping"
    42  	m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping"
    43  	m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages"
    44  	m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys"
    45  	m_IntermediateKeyWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/IntermediateKeyWrapping"
    46  	m_KMSKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KMSKeystoreOperations"
    47  	m_KeyStore "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStore"
    48  	m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages"
    49  	m_Keyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Keyring"
    50  	m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn"
    51  	m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC"
    52  	m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping"
    53  	m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials"
    54  	m_MrkAwareDiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareDiscoveryMultiKeyring"
    55  	m_MrkAwareStrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareStrictMultiKeyring"
    56  	m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring"
    57  	m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring"
    58  	m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring"
    59  	m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring"
    60  	m_RequiredEncryptionContextCMM "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RequiredEncryptionContextCMM"
    61  	m_StormTracker "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTracker"
    62  	m_StormTrackingCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTrackingCMC"
    63  	m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring"
    64  	m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure"
    65  	m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC"
    66  	m_Utils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Utils"
    67  	m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives"
    68  	m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations"
    69  	m_AwsCryptographyPrimitivesTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesTypes"
    70  	m_Digest "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/Digest"
    71  	m_HKDF "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/HKDF"
    72  	m_KdfCtr "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/KdfCtr"
    73  	m_Random "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/Random"
    74  	m_WrappedHKDF "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/WrappedHKDF"
    75  	m_WrappedHMAC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/WrappedHMAC"
    76  	m_Actions "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Actions"
    77  	m_Base64 "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Base64"
    78  	m_Base64Lemmas "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Base64Lemmas"
    79  	m_BoundedInts "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/BoundedInts"
    80  	m_DivInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivInternals"
    81  	m_DivInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivInternalsNonlinear"
    82  	m_DivMod "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivMod"
    83  	m_FileIO "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/FileIO"
    84  	m_FloatCompare "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/FloatCompare"
    85  	m_Functions "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Functions"
    86  	m_GeneralInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/GeneralInternals"
    87  	m_GetOpt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/GetOpt"
    88  	m_HexStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/HexStrings"
    89  	m_Logarithm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Logarithm"
    90  	m__Math "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Math_"
    91  	m_ModInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/ModInternals"
    92  	m_ModInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/ModInternalsNonlinear"
    93  	m_Mul "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Mul"
    94  	m_MulInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternals"
    95  	m_MulInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternalsNonlinear"
    96  	m_Power "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Power"
    97  	m_Relations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Relations"
    98  	m_Seq "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq"
    99  	m_Seq_MergeSort "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq_MergeSort"
   100  	m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting"
   101  	m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary"
   102  	m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop"
   103  	m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence"
   104  	m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String"
   105  	m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt"
   106  	m_Streams "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Streams"
   107  	m_UnicodeStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UnicodeStrings"
   108  	m__Unicode "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Unicode_"
   109  	m_Utf16EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf16EncodingForm"
   110  	m_Utf8EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf8EncodingForm"
   111  	m_Wrappers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers"
   112  	m__System "github.com/dafny-lang/DafnyRuntimeGo/v4/System_"
   113  	_dafny "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny"
   114  )
   115  
   116  var _ = os.Args
   117  var _ _dafny.Dummy__
   118  var _ m__System.Dummy__
   119  var _ m_Wrappers.Dummy__
   120  var _ m_BoundedInts.Dummy__
   121  var _ m_StandardLibrary_UInt.Dummy__
   122  var _ m_StandardLibrary_Sequence.Dummy__
   123  var _ m_StandardLibrary_String.Dummy__
   124  var _ m_StandardLibrary.Dummy__
   125  var _ m_AwsCryptographyPrimitivesTypes.Dummy__
   126  var _ m_Random.Dummy__
   127  var _ m_Digest.Dummy__
   128  var _ m_WrappedHMAC.Dummy__
   129  var _ m_HKDF.Dummy__
   130  var _ m_WrappedHKDF.Dummy__
   131  var _ m_KdfCtr.Dummy__
   132  var _ m_AwsCryptographyPrimitivesOperations.Dummy__
   133  var _ m_AtomicPrimitives.Dummy__
   134  var _ m_ComAmazonawsDynamodbTypes.Dummy__
   135  var _ m_ComAmazonawsKmsTypes.Dummy__
   136  var _ m_Relations.Dummy__
   137  var _ m_Seq_MergeSort.Dummy__
   138  var _ m__Math.Dummy__
   139  var _ m_Seq.Dummy__
   140  var _ m__Unicode.Dummy__
   141  var _ m_Functions.Dummy__
   142  var _ m_Utf8EncodingForm.Dummy__
   143  var _ m_Utf16EncodingForm.Dummy__
   144  var _ m_UnicodeStrings.Dummy__
   145  var _ m_FileIO.Dummy__
   146  var _ m_GeneralInternals.Dummy__
   147  var _ m_MulInternalsNonlinear.Dummy__
   148  var _ m_MulInternals.Dummy__
   149  var _ m_Mul.Dummy__
   150  var _ m_ModInternalsNonlinear.Dummy__
   151  var _ m_DivInternalsNonlinear.Dummy__
   152  var _ m_ModInternals.Dummy__
   153  var _ m_DivInternals.Dummy__
   154  var _ m_DivMod.Dummy__
   155  var _ m_Power.Dummy__
   156  var _ m_Logarithm.Dummy__
   157  var _ m_StandardLibraryInterop.Dummy__
   158  var _ m_Streams.Dummy__
   159  var _ m_Sorting.Dummy__
   160  var _ m_HexStrings.Dummy__
   161  var _ m_GetOpt.Dummy__
   162  var _ m_FloatCompare.Dummy__
   163  var _ m_Base64.Dummy__
   164  var _ m_Base64Lemmas.Dummy__
   165  var _ m_Actions.Dummy__
   166  var _ m_AwsCryptographyKeyStoreTypes.Dummy__
   167  var _ m_AwsCryptographyMaterialProvidersTypes.Dummy__
   168  var _ m_AwsArnParsing.Dummy__
   169  var _ m_AwsKmsMrkMatchForDecrypt.Dummy__
   170  var _ m_AwsKmsUtils.Dummy__
   171  var _ m_KeyStoreErrorMessages.Dummy__
   172  var _ m_KmsArn.Dummy__
   173  var _ m_Structure.Dummy__
   174  var _ m_KMSKeystoreOperations.Dummy__
   175  var _ m_DDBKeystoreOperations.Dummy__
   176  var _ m_CreateKeys.Dummy__
   177  var _ m_CreateKeyStoreTable.Dummy__
   178  var _ m_GetKeys.Dummy__
   179  var _ m_AwsCryptographyKeyStoreOperations.Dummy__
   180  var _ m_Com_Amazonaws_Kms.Dummy__
   181  var _ m_Com_Amazonaws_Dynamodb.Dummy__
   182  var _ m_KeyStore.Dummy__
   183  var _ m_AlgorithmSuites.Dummy__
   184  var _ m_Materials.Dummy__
   185  var _ m_Keyring.Dummy__
   186  var _ m_MultiKeyring.Dummy__
   187  var _ m_AwsKmsMrkAreUnique.Dummy__
   188  var _ m_Constants.Dummy__
   189  var _ m_MaterialWrapping.Dummy__
   190  var _ m_CanonicalEncryptionContext.Dummy__
   191  var _ m_IntermediateKeyWrapping.Dummy__
   192  var _ m_EdkWrapping.Dummy__
   193  var _ m_ErrorMessages.Dummy__
   194  var _ m_AwsKmsKeyring.Dummy__
   195  var _ m_StrictMultiKeyring.Dummy__
   196  var _ m_AwsKmsDiscoveryKeyring.Dummy__
   197  var _ m_DiscoveryMultiKeyring.Dummy__
   198  var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__
   199  var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__
   200  var _ m_AwsKmsMrkKeyring.Dummy__
   201  var _ m_MrkAwareStrictMultiKeyring.Dummy__
   202  var _ m_LocalCMC.Dummy__
   203  var _ m_SynchronizedLocalCMC.Dummy__
   204  var _ m_StormTracker.Dummy__
   205  var _ m_StormTrackingCMC.Dummy__
   206  var _ m_CacheConstants.Dummy__
   207  var _ m_AwsKmsHierarchicalKeyring.Dummy__
   208  var _ m_AwsKmsRsaKeyring.Dummy__
   209  var _ m_EcdhEdkWrapping.Dummy__
   210  var _ m_RawECDHKeyring.Dummy__
   211  var _ m_AwsKmsEcdhKeyring.Dummy__
   212  var _ m_RawAESKeyring.Dummy__
   213  var _ m_RawRSAKeyring.Dummy__
   214  var _ m_CMM.Dummy__
   215  var _ m_Defaults.Dummy__
   216  var _ m_Commitment.Dummy__
   217  var _ m_DefaultCMM.Dummy__
   218  var _ m_DefaultClientSupplier.Dummy__
   219  var _ m_Utils.Dummy__
   220  var _ m_RequiredEncryptionContextCMM.Dummy__
   221  var _ m_AwsCryptographyMaterialProvidersOperations.Dummy__
   222  
   223  type Dummy__ struct{}
   224  
   225  // Definition of class Default__
   226  type Default__ struct {
   227  	dummy byte
   228  }
   229  
   230  func New_Default___() *Default__ {
   231  	_this := Default__{}
   232  
   233  	return &_this
   234  }
   235  
   236  type CompanionStruct_Default___ struct {
   237  }
   238  
   239  var Companion_Default___ = CompanionStruct_Default___{}
   240  
   241  func (_this *Default__) Equals(other *Default__) bool {
   242  	return _this == other
   243  }
   244  
   245  func (_this *Default__) EqualsGeneric(x interface{}) bool {
   246  	other, ok := x.(*Default__)
   247  	return ok && _this.Equals(other)
   248  }
   249  
   250  func (*Default__) String() string {
   251  	return "MaterialProviders.Default__"
   252  }
   253  func (_this *Default__) ParentTraits_() []*_dafny.TraitID {
   254  	return [](*_dafny.TraitID){}
   255  }
   256  
   257  var _ _dafny.TraitOffspring = &Default__{}
   258  
   259  func (_static *CompanionStruct_Default___) DefaultMaterialProvidersConfig() m_AwsCryptographyMaterialProvidersTypes.MaterialProvidersConfig {
   260  	return m_AwsCryptographyMaterialProvidersTypes.Companion_MaterialProvidersConfig_.Create_MaterialProvidersConfig_()
   261  }
   262  func (_static *CompanionStruct_Default___) MaterialProviders(config m_AwsCryptographyMaterialProvidersTypes.MaterialProvidersConfig) m_Wrappers.Result {
   263  	var res m_Wrappers.Result = m_Wrappers.Result{}
   264  	_ = res
   265  	var _0_maybeCrypto m_Wrappers.Result
   266  	_ = _0_maybeCrypto
   267  	var _out0 m_Wrappers.Result
   268  	_ = _out0
   269  	_out0 = m_AtomicPrimitives.Companion_Default___.AtomicPrimitives(m_AtomicPrimitives.Companion_Default___.DefaultCryptoConfig())
   270  	_0_maybeCrypto = _out0
   271  	var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Result{}
   272  	_ = _1_valueOrError0
   273  	_1_valueOrError0 = (_0_maybeCrypto).MapFailure(func(coer138 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} {
   274  		return func(arg139 interface{}) interface{} {
   275  			return coer138(arg139.(m_AwsCryptographyPrimitivesTypes.Error))
   276  		}
   277  	}(func(_2_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error {
   278  		return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_2_e)
   279  	}))
   280  	if (_1_valueOrError0).IsFailure() {
   281  		res = (_1_valueOrError0).PropagateFailure()
   282  		return res
   283  	}
   284  	var _3_cryptoPrimitivesX m_AwsCryptographyPrimitivesTypes.IAwsCryptographicPrimitivesClient
   285  	_ = _3_cryptoPrimitivesX
   286  	_3_cryptoPrimitivesX = (_1_valueOrError0).Extract().(*m_AtomicPrimitives.AtomicPrimitivesClient)
   287  	var _4_cryptoPrimitives *m_AtomicPrimitives.AtomicPrimitivesClient
   288  	_ = _4_cryptoPrimitives
   289  	_4_cryptoPrimitives = _3_cryptoPrimitivesX.(*m_AtomicPrimitives.AtomicPrimitivesClient)
   290  	var _5_client *MaterialProvidersClient
   291  	_ = _5_client
   292  	var _nw0 *MaterialProvidersClient = New_MaterialProvidersClient_()
   293  	_ = _nw0
   294  	_nw0.Ctor__(m_AwsCryptographyMaterialProvidersOperations.Companion_Config_.Create_Config_(_4_cryptoPrimitives))
   295  	_5_client = _nw0
   296  	res = m_Wrappers.Companion_Result_.Create_Success_(_5_client)
   297  	return res
   298  	return res
   299  }
   300  func (_static *CompanionStruct_Default___) CreateSuccessOfClient(client m_AwsCryptographyMaterialProvidersTypes.IAwsCryptographicMaterialProvidersClient) m_Wrappers.Result {
   301  	return m_Wrappers.Companion_Result_.Create_Success_(client)
   302  }
   303  func (_static *CompanionStruct_Default___) CreateFailureOfError(error_ m_AwsCryptographyMaterialProvidersTypes.Error) m_Wrappers.Result {
   304  	return m_Wrappers.Companion_Result_.Create_Failure_(error_)
   305  }
   306  
   307  // End of class Default__
   308  
   309  // Definition of class MaterialProvidersClient
   310  type MaterialProvidersClient struct {
   311  	_config m_AwsCryptographyMaterialProvidersOperations.Config
   312  }
   313  
   314  func New_MaterialProvidersClient_() *MaterialProvidersClient {
   315  	_this := MaterialProvidersClient{}
   316  
   317  	_this._config = m_AwsCryptographyMaterialProvidersOperations.Config{}
   318  	return &_this
   319  }
   320  
   321  type CompanionStruct_MaterialProvidersClient_ struct {
   322  }
   323  
   324  var Companion_MaterialProvidersClient_ = CompanionStruct_MaterialProvidersClient_{}
   325  
   326  func (_this *MaterialProvidersClient) Equals(other *MaterialProvidersClient) bool {
   327  	return _this == other
   328  }
   329  
   330  func (_this *MaterialProvidersClient) EqualsGeneric(x interface{}) bool {
   331  	other, ok := x.(*MaterialProvidersClient)
   332  	return ok && _this.Equals(other)
   333  }
   334  
   335  func (*MaterialProvidersClient) String() string {
   336  	return "MaterialProviders.MaterialProvidersClient"
   337  }
   338  
   339  func Type_MaterialProvidersClient_() _dafny.TypeDescriptor {
   340  	return type_MaterialProvidersClient_{}
   341  }
   342  
   343  type type_MaterialProvidersClient_ struct {
   344  }
   345  
   346  func (_this type_MaterialProvidersClient_) Default() interface{} {
   347  	return (*MaterialProvidersClient)(nil)
   348  }
   349  
   350  func (_this type_MaterialProvidersClient_) String() string {
   351  	return "MaterialProviders.MaterialProvidersClient"
   352  }
   353  func (_this *MaterialProvidersClient) ParentTraits_() []*_dafny.TraitID {
   354  	return [](*_dafny.TraitID){m_AwsCryptographyMaterialProvidersTypes.Companion_IAwsCryptographicMaterialProvidersClient_.TraitID_}
   355  }
   356  
   357  var _ m_AwsCryptographyMaterialProvidersTypes.IAwsCryptographicMaterialProvidersClient = &MaterialProvidersClient{}
   358  var _ _dafny.TraitOffspring = &MaterialProvidersClient{}
   359  
   360  func (_this *MaterialProvidersClient) Ctor__(config m_AwsCryptographyMaterialProvidersOperations.Config) {
   361  	{
   362  		(_this)._config = config
   363  	}
   364  }
   365  func (_this *MaterialProvidersClient) CreateAwsKmsKeyring(input m_AwsCryptographyMaterialProvidersTypes.CreateAwsKmsKeyringInput) m_Wrappers.Result {
   366  	{
   367  		var output m_Wrappers.Result = m_Wrappers.Result{}
   368  		_ = output
   369  		var _out0 m_Wrappers.Result
   370  		_ = _out0
   371  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateAwsKmsKeyring((_this).Config(), input)
   372  		output = _out0
   373  		return output
   374  	}
   375  }
   376  func (_this *MaterialProvidersClient) CreateAwsKmsDiscoveryKeyring(input m_AwsCryptographyMaterialProvidersTypes.CreateAwsKmsDiscoveryKeyringInput) m_Wrappers.Result {
   377  	{
   378  		var output m_Wrappers.Result = m_Wrappers.Result{}
   379  		_ = output
   380  		var _out0 m_Wrappers.Result
   381  		_ = _out0
   382  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateAwsKmsDiscoveryKeyring((_this).Config(), input)
   383  		output = _out0
   384  		return output
   385  	}
   386  }
   387  func (_this *MaterialProvidersClient) CreateAwsKmsMultiKeyring(input m_AwsCryptographyMaterialProvidersTypes.CreateAwsKmsMultiKeyringInput) m_Wrappers.Result {
   388  	{
   389  		var output m_Wrappers.Result = m_Wrappers.Result{}
   390  		_ = output
   391  		var _out0 m_Wrappers.Result
   392  		_ = _out0
   393  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateAwsKmsMultiKeyring((_this).Config(), input)
   394  		output = _out0
   395  		return output
   396  	}
   397  }
   398  func (_this *MaterialProvidersClient) CreateAwsKmsDiscoveryMultiKeyring(input m_AwsCryptographyMaterialProvidersTypes.CreateAwsKmsDiscoveryMultiKeyringInput) m_Wrappers.Result {
   399  	{
   400  		var output m_Wrappers.Result = m_Wrappers.Result{}
   401  		_ = output
   402  		var _out0 m_Wrappers.Result
   403  		_ = _out0
   404  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateAwsKmsDiscoveryMultiKeyring((_this).Config(), input)
   405  		output = _out0
   406  		return output
   407  	}
   408  }
   409  func (_this *MaterialProvidersClient) CreateAwsKmsMrkKeyring(input m_AwsCryptographyMaterialProvidersTypes.CreateAwsKmsMrkKeyringInput) m_Wrappers.Result {
   410  	{
   411  		var output m_Wrappers.Result = m_Wrappers.Result{}
   412  		_ = output
   413  		var _out0 m_Wrappers.Result
   414  		_ = _out0
   415  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateAwsKmsMrkKeyring((_this).Config(), input)
   416  		output = _out0
   417  		return output
   418  	}
   419  }
   420  func (_this *MaterialProvidersClient) CreateAwsKmsMrkMultiKeyring(input m_AwsCryptographyMaterialProvidersTypes.CreateAwsKmsMrkMultiKeyringInput) m_Wrappers.Result {
   421  	{
   422  		var output m_Wrappers.Result = m_Wrappers.Result{}
   423  		_ = output
   424  		var _out0 m_Wrappers.Result
   425  		_ = _out0
   426  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateAwsKmsMrkMultiKeyring((_this).Config(), input)
   427  		output = _out0
   428  		return output
   429  	}
   430  }
   431  func (_this *MaterialProvidersClient) CreateAwsKmsMrkDiscoveryKeyring(input m_AwsCryptographyMaterialProvidersTypes.CreateAwsKmsMrkDiscoveryKeyringInput) m_Wrappers.Result {
   432  	{
   433  		var output m_Wrappers.Result = m_Wrappers.Result{}
   434  		_ = output
   435  		var _out0 m_Wrappers.Result
   436  		_ = _out0
   437  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateAwsKmsMrkDiscoveryKeyring((_this).Config(), input)
   438  		output = _out0
   439  		return output
   440  	}
   441  }
   442  func (_this *MaterialProvidersClient) CreateAwsKmsMrkDiscoveryMultiKeyring(input m_AwsCryptographyMaterialProvidersTypes.CreateAwsKmsMrkDiscoveryMultiKeyringInput) m_Wrappers.Result {
   443  	{
   444  		var output m_Wrappers.Result = m_Wrappers.Result{}
   445  		_ = output
   446  		var _out0 m_Wrappers.Result
   447  		_ = _out0
   448  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateAwsKmsMrkDiscoveryMultiKeyring((_this).Config(), input)
   449  		output = _out0
   450  		return output
   451  	}
   452  }
   453  func (_this *MaterialProvidersClient) CreateAwsKmsHierarchicalKeyring(input m_AwsCryptographyMaterialProvidersTypes.CreateAwsKmsHierarchicalKeyringInput) m_Wrappers.Result {
   454  	{
   455  		var output m_Wrappers.Result = m_Wrappers.Result{}
   456  		_ = output
   457  		var _out0 m_Wrappers.Result
   458  		_ = _out0
   459  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateAwsKmsHierarchicalKeyring((_this).Config(), input)
   460  		output = _out0
   461  		return output
   462  	}
   463  }
   464  func (_this *MaterialProvidersClient) CreateAwsKmsRsaKeyring(input m_AwsCryptographyMaterialProvidersTypes.CreateAwsKmsRsaKeyringInput) m_Wrappers.Result {
   465  	{
   466  		var output m_Wrappers.Result = m_Wrappers.Result{}
   467  		_ = output
   468  		var _out0 m_Wrappers.Result
   469  		_ = _out0
   470  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateAwsKmsRsaKeyring((_this).Config(), input)
   471  		output = _out0
   472  		return output
   473  	}
   474  }
   475  func (_this *MaterialProvidersClient) CreateAwsKmsEcdhKeyring(input m_AwsCryptographyMaterialProvidersTypes.CreateAwsKmsEcdhKeyringInput) m_Wrappers.Result {
   476  	{
   477  		var output m_Wrappers.Result = m_Wrappers.Result{}
   478  		_ = output
   479  		var _out0 m_Wrappers.Result
   480  		_ = _out0
   481  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateAwsKmsEcdhKeyring((_this).Config(), input)
   482  		output = _out0
   483  		return output
   484  	}
   485  }
   486  func (_this *MaterialProvidersClient) CreateMultiKeyring(input m_AwsCryptographyMaterialProvidersTypes.CreateMultiKeyringInput) m_Wrappers.Result {
   487  	{
   488  		var output m_Wrappers.Result = m_Wrappers.Result{}
   489  		_ = output
   490  		var _out0 m_Wrappers.Result
   491  		_ = _out0
   492  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateMultiKeyring((_this).Config(), input)
   493  		output = _out0
   494  		return output
   495  	}
   496  }
   497  func (_this *MaterialProvidersClient) CreateRawAesKeyring(input m_AwsCryptographyMaterialProvidersTypes.CreateRawAesKeyringInput) m_Wrappers.Result {
   498  	{
   499  		var output m_Wrappers.Result = m_Wrappers.Result{}
   500  		_ = output
   501  		var _out0 m_Wrappers.Result
   502  		_ = _out0
   503  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateRawAesKeyring((_this).Config(), input)
   504  		output = _out0
   505  		return output
   506  	}
   507  }
   508  func (_this *MaterialProvidersClient) CreateRawRsaKeyring(input m_AwsCryptographyMaterialProvidersTypes.CreateRawRsaKeyringInput) m_Wrappers.Result {
   509  	{
   510  		var output m_Wrappers.Result = m_Wrappers.Result{}
   511  		_ = output
   512  		var _out0 m_Wrappers.Result
   513  		_ = _out0
   514  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateRawRsaKeyring((_this).Config(), input)
   515  		output = _out0
   516  		return output
   517  	}
   518  }
   519  func (_this *MaterialProvidersClient) CreateRawEcdhKeyring(input m_AwsCryptographyMaterialProvidersTypes.CreateRawEcdhKeyringInput) m_Wrappers.Result {
   520  	{
   521  		var output m_Wrappers.Result = m_Wrappers.Result{}
   522  		_ = output
   523  		var _out0 m_Wrappers.Result
   524  		_ = _out0
   525  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateRawEcdhKeyring((_this).Config(), input)
   526  		output = _out0
   527  		return output
   528  	}
   529  }
   530  func (_this *MaterialProvidersClient) CreateDefaultCryptographicMaterialsManager(input m_AwsCryptographyMaterialProvidersTypes.CreateDefaultCryptographicMaterialsManagerInput) m_Wrappers.Result {
   531  	{
   532  		var output m_Wrappers.Result = m_Wrappers.Result{}
   533  		_ = output
   534  		var _out0 m_Wrappers.Result
   535  		_ = _out0
   536  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateDefaultCryptographicMaterialsManager((_this).Config(), input)
   537  		output = _out0
   538  		return output
   539  	}
   540  }
   541  func (_this *MaterialProvidersClient) CreateRequiredEncryptionContextCMM(input m_AwsCryptographyMaterialProvidersTypes.CreateRequiredEncryptionContextCMMInput) m_Wrappers.Result {
   542  	{
   543  		var output m_Wrappers.Result = m_Wrappers.Result{}
   544  		_ = output
   545  		var _out0 m_Wrappers.Result
   546  		_ = _out0
   547  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateRequiredEncryptionContextCMM((_this).Config(), input)
   548  		output = _out0
   549  		return output
   550  	}
   551  }
   552  func (_this *MaterialProvidersClient) CreateCryptographicMaterialsCache(input m_AwsCryptographyMaterialProvidersTypes.CreateCryptographicMaterialsCacheInput) m_Wrappers.Result {
   553  	{
   554  		var output m_Wrappers.Result = m_Wrappers.Result{}
   555  		_ = output
   556  		var _out0 m_Wrappers.Result
   557  		_ = _out0
   558  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateCryptographicMaterialsCache((_this).Config(), input)
   559  		output = _out0
   560  		return output
   561  	}
   562  }
   563  func (_this *MaterialProvidersClient) CreateDefaultClientSupplier(input m_AwsCryptographyMaterialProvidersTypes.CreateDefaultClientSupplierInput) m_Wrappers.Result {
   564  	{
   565  		var output m_Wrappers.Result = m_Wrappers.Result{}
   566  		_ = output
   567  		var _out0 m_Wrappers.Result
   568  		_ = _out0
   569  		_out0 = m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.CreateDefaultClientSupplier((_this).Config(), input)
   570  		output = _out0
   571  		return output
   572  	}
   573  }
   574  func (_this *MaterialProvidersClient) InitializeEncryptionMaterials(input m_AwsCryptographyMaterialProvidersTypes.InitializeEncryptionMaterialsInput) m_Wrappers.Result {
   575  	{
   576  		return m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.InitializeEncryptionMaterials((_this).Config(), input)
   577  	}
   578  }
   579  func (_this *MaterialProvidersClient) InitializeDecryptionMaterials(input m_AwsCryptographyMaterialProvidersTypes.InitializeDecryptionMaterialsInput) m_Wrappers.Result {
   580  	{
   581  		return m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.InitializeDecryptionMaterials((_this).Config(), input)
   582  	}
   583  }
   584  func (_this *MaterialProvidersClient) ValidEncryptionMaterialsTransition(input m_AwsCryptographyMaterialProvidersTypes.ValidEncryptionMaterialsTransitionInput) m_Wrappers.Result {
   585  	{
   586  		return m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.ValidEncryptionMaterialsTransition((_this).Config(), input)
   587  	}
   588  }
   589  func (_this *MaterialProvidersClient) ValidDecryptionMaterialsTransition(input m_AwsCryptographyMaterialProvidersTypes.ValidDecryptionMaterialsTransitionInput) m_Wrappers.Result {
   590  	{
   591  		return m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.ValidDecryptionMaterialsTransition((_this).Config(), input)
   592  	}
   593  }
   594  func (_this *MaterialProvidersClient) EncryptionMaterialsHasPlaintextDataKey(input m_AwsCryptographyMaterialProvidersTypes.EncryptionMaterials) m_Wrappers.Result {
   595  	{
   596  		return m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.EncryptionMaterialsHasPlaintextDataKey((_this).Config(), input)
   597  	}
   598  }
   599  func (_this *MaterialProvidersClient) DecryptionMaterialsWithPlaintextDataKey(input m_AwsCryptographyMaterialProvidersTypes.DecryptionMaterials) m_Wrappers.Result {
   600  	{
   601  		return m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.DecryptionMaterialsWithPlaintextDataKey((_this).Config(), input)
   602  	}
   603  }
   604  func (_this *MaterialProvidersClient) GetAlgorithmSuiteInfo(input _dafny.Sequence) m_Wrappers.Result {
   605  	{
   606  		return m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.GetAlgorithmSuiteInfo((_this).Config(), input)
   607  	}
   608  }
   609  func (_this *MaterialProvidersClient) ValidAlgorithmSuiteInfo(input m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo) m_Wrappers.Result {
   610  	{
   611  		return m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.ValidAlgorithmSuiteInfo((_this).Config(), input)
   612  	}
   613  }
   614  func (_this *MaterialProvidersClient) ValidateCommitmentPolicyOnEncrypt(input m_AwsCryptographyMaterialProvidersTypes.ValidateCommitmentPolicyOnEncryptInput) m_Wrappers.Result {
   615  	{
   616  		return m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.ValidateCommitmentPolicyOnEncrypt((_this).Config(), input)
   617  	}
   618  }
   619  func (_this *MaterialProvidersClient) ValidateCommitmentPolicyOnDecrypt(input m_AwsCryptographyMaterialProvidersTypes.ValidateCommitmentPolicyOnDecryptInput) m_Wrappers.Result {
   620  	{
   621  		return m_AwsCryptographyMaterialProvidersOperations.Companion_Default___.ValidateCommitmentPolicyOnDecrypt((_this).Config(), input)
   622  	}
   623  }
   624  func (_this *MaterialProvidersClient) Config() m_AwsCryptographyMaterialProvidersOperations.Config {
   625  	{
   626  		return _this._config
   627  	}
   628  }
   629  
   630  // End of class MaterialProvidersClient