github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl@v0.2.0/MrkAwareStrictMultiKeyring/MrkAwareStrictMultiKeyring.go (about) 1 // Package MrkAwareStrictMultiKeyring 2 // Dafny module MrkAwareStrictMultiKeyring compiled into Go 3 4 package MrkAwareStrictMultiKeyring 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_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" 18 m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" 19 m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" 20 m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" 21 m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" 22 m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" 23 m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" 24 m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" 25 m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" 26 m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" 27 m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" 28 m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" 29 m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" 30 m_DiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DiscoveryMultiKeyring" 31 m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" 32 m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" 33 m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" 34 m_IntermediateKeyWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/IntermediateKeyWrapping" 35 m_KMSKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KMSKeystoreOperations" 36 m_KeyStore "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStore" 37 m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages" 38 m_Keyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Keyring" 39 m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" 40 m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" 41 m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" 42 m_MrkAwareDiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareDiscoveryMultiKeyring" 43 m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" 44 m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" 45 m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" 46 m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" 47 m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" 48 m_AwsCryptographyPrimitivesTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesTypes" 49 m_Digest "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/Digest" 50 m_HKDF "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/HKDF" 51 m_KdfCtr "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/KdfCtr" 52 m_Random "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/Random" 53 m_WrappedHKDF "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/WrappedHKDF" 54 m_WrappedHMAC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/WrappedHMAC" 55 m_Actions "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Actions" 56 m_Base64 "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Base64" 57 m_Base64Lemmas "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Base64Lemmas" 58 m_BoundedInts "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/BoundedInts" 59 m_DivInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivInternals" 60 m_DivInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivInternalsNonlinear" 61 m_DivMod "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivMod" 62 m_FileIO "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/FileIO" 63 m_FloatCompare "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/FloatCompare" 64 m_Functions "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Functions" 65 m_GeneralInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/GeneralInternals" 66 m_GetOpt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/GetOpt" 67 m_HexStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/HexStrings" 68 m_Logarithm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Logarithm" 69 m__Math "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Math_" 70 m_ModInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/ModInternals" 71 m_ModInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/ModInternalsNonlinear" 72 m_Mul "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Mul" 73 m_MulInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternals" 74 m_MulInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternalsNonlinear" 75 m_Power "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Power" 76 m_Relations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Relations" 77 m_Seq "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq" 78 m_Seq_MergeSort "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq_MergeSort" 79 m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" 80 m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" 81 m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" 82 m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" 83 m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" 84 m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" 85 m_Streams "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Streams" 86 m_UnicodeStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UnicodeStrings" 87 m__Unicode "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Unicode_" 88 m_Utf16EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf16EncodingForm" 89 m_Utf8EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf8EncodingForm" 90 m_Wrappers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" 91 m__System "github.com/dafny-lang/DafnyRuntimeGo/v4/System_" 92 _dafny "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" 93 ) 94 95 var _ = os.Args 96 var _ _dafny.Dummy__ 97 var _ m__System.Dummy__ 98 var _ m_Wrappers.Dummy__ 99 var _ m_BoundedInts.Dummy__ 100 var _ m_StandardLibrary_UInt.Dummy__ 101 var _ m_StandardLibrary_Sequence.Dummy__ 102 var _ m_StandardLibrary_String.Dummy__ 103 var _ m_StandardLibrary.Dummy__ 104 var _ m_AwsCryptographyPrimitivesTypes.Dummy__ 105 var _ m_Random.Dummy__ 106 var _ m_Digest.Dummy__ 107 var _ m_WrappedHMAC.Dummy__ 108 var _ m_HKDF.Dummy__ 109 var _ m_WrappedHKDF.Dummy__ 110 var _ m_KdfCtr.Dummy__ 111 var _ m_AwsCryptographyPrimitivesOperations.Dummy__ 112 var _ m_AtomicPrimitives.Dummy__ 113 var _ m_ComAmazonawsDynamodbTypes.Dummy__ 114 var _ m_ComAmazonawsKmsTypes.Dummy__ 115 var _ m_Relations.Dummy__ 116 var _ m_Seq_MergeSort.Dummy__ 117 var _ m__Math.Dummy__ 118 var _ m_Seq.Dummy__ 119 var _ m__Unicode.Dummy__ 120 var _ m_Functions.Dummy__ 121 var _ m_Utf8EncodingForm.Dummy__ 122 var _ m_Utf16EncodingForm.Dummy__ 123 var _ m_UnicodeStrings.Dummy__ 124 var _ m_FileIO.Dummy__ 125 var _ m_GeneralInternals.Dummy__ 126 var _ m_MulInternalsNonlinear.Dummy__ 127 var _ m_MulInternals.Dummy__ 128 var _ m_Mul.Dummy__ 129 var _ m_ModInternalsNonlinear.Dummy__ 130 var _ m_DivInternalsNonlinear.Dummy__ 131 var _ m_ModInternals.Dummy__ 132 var _ m_DivInternals.Dummy__ 133 var _ m_DivMod.Dummy__ 134 var _ m_Power.Dummy__ 135 var _ m_Logarithm.Dummy__ 136 var _ m_StandardLibraryInterop.Dummy__ 137 var _ m_Streams.Dummy__ 138 var _ m_Sorting.Dummy__ 139 var _ m_HexStrings.Dummy__ 140 var _ m_GetOpt.Dummy__ 141 var _ m_FloatCompare.Dummy__ 142 var _ m_Base64.Dummy__ 143 var _ m_Base64Lemmas.Dummy__ 144 var _ m_Actions.Dummy__ 145 var _ m_AwsCryptographyKeyStoreTypes.Dummy__ 146 var _ m_AwsCryptographyMaterialProvidersTypes.Dummy__ 147 var _ m_AwsArnParsing.Dummy__ 148 var _ m_AwsKmsMrkMatchForDecrypt.Dummy__ 149 var _ m_AwsKmsUtils.Dummy__ 150 var _ m_KeyStoreErrorMessages.Dummy__ 151 var _ m_KmsArn.Dummy__ 152 var _ m_Structure.Dummy__ 153 var _ m_KMSKeystoreOperations.Dummy__ 154 var _ m_DDBKeystoreOperations.Dummy__ 155 var _ m_CreateKeys.Dummy__ 156 var _ m_CreateKeyStoreTable.Dummy__ 157 var _ m_GetKeys.Dummy__ 158 var _ m_AwsCryptographyKeyStoreOperations.Dummy__ 159 var _ m_Com_Amazonaws_Kms.Dummy__ 160 var _ m_Com_Amazonaws_Dynamodb.Dummy__ 161 var _ m_KeyStore.Dummy__ 162 var _ m_AlgorithmSuites.Dummy__ 163 var _ m_Materials.Dummy__ 164 var _ m_Keyring.Dummy__ 165 var _ m_MultiKeyring.Dummy__ 166 var _ m_AwsKmsMrkAreUnique.Dummy__ 167 var _ m_Constants.Dummy__ 168 var _ m_MaterialWrapping.Dummy__ 169 var _ m_CanonicalEncryptionContext.Dummy__ 170 var _ m_IntermediateKeyWrapping.Dummy__ 171 var _ m_EdkWrapping.Dummy__ 172 var _ m_ErrorMessages.Dummy__ 173 var _ m_AwsKmsKeyring.Dummy__ 174 var _ m_StrictMultiKeyring.Dummy__ 175 var _ m_AwsKmsDiscoveryKeyring.Dummy__ 176 var _ m_DiscoveryMultiKeyring.Dummy__ 177 var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ 178 var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ 179 var _ m_AwsKmsMrkKeyring.Dummy__ 180 181 type Dummy__ struct{} 182 183 // Definition of class Default__ 184 type Default__ struct { 185 dummy byte 186 } 187 188 func New_Default___() *Default__ { 189 _this := Default__{} 190 191 return &_this 192 } 193 194 type CompanionStruct_Default___ struct { 195 } 196 197 var Companion_Default___ = CompanionStruct_Default___{} 198 199 func (_this *Default__) Equals(other *Default__) bool { 200 return _this == other 201 } 202 203 func (_this *Default__) EqualsGeneric(x interface{}) bool { 204 other, ok := x.(*Default__) 205 return ok && _this.Equals(other) 206 } 207 208 func (*Default__) String() string { 209 return "MrkAwareStrictMultiKeyring.Default__" 210 } 211 func (_this *Default__) ParentTraits_() []*_dafny.TraitID { 212 return [](*_dafny.TraitID){} 213 } 214 215 var _ _dafny.TraitOffspring = &Default__{} 216 217 func (_static *CompanionStruct_Default___) MrkAwareStrictMultiKeyring(generator m_Wrappers.Option, awsKmsKeys m_Wrappers.Option, clientSupplier m_AwsCryptographyMaterialProvidersTypes.IClientSupplier, grantTokens m_Wrappers.Option) m_Wrappers.Result { 218 var output m_Wrappers.Result = m_Wrappers.Result{} 219 _ = output 220 var _0_allStrings _dafny.Sequence 221 _ = _0_allStrings 222 var _source0 m_Wrappers.Option = generator 223 _ = _source0 224 { 225 { 226 if _source0.Is_Some() { 227 var _1_g _dafny.Sequence = _source0.Get_().(m_Wrappers.Option_Some).Value.(_dafny.Sequence) 228 _ = _1_g 229 _0_allStrings = _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOf(_1_g), (awsKmsKeys).UnwrapOr(_dafny.SeqOf()).(_dafny.Sequence)) 230 goto Lmatch0 231 } 232 } 233 { 234 _0_allStrings = (awsKmsKeys).UnwrapOr(_dafny.SeqOf()).(_dafny.Sequence) 235 } 236 goto Lmatch0 237 } 238 Lmatch0: 239 var _2_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) 240 _ = _2_valueOrError0 241 _2_valueOrError0 = (m_Seq.Companion_Default___.MapWithResult(func(coer71 func(_dafny.Sequence) m_Wrappers.Result) func(interface{}) m_Wrappers.Result { 242 return func(arg72 interface{}) m_Wrappers.Result { 243 return coer71(arg72.(_dafny.Sequence)) 244 } 245 }(m_AwsArnParsing.Companion_Default___.IsAwsKmsIdentifierString), _0_allStrings)).MapFailure(func(coer72 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { 246 return func(arg73 interface{}) interface{} { 247 return coer72(arg73.(_dafny.Sequence)) 248 } 249 }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) 250 if (_2_valueOrError0).IsFailure() { 251 output = (_2_valueOrError0).PropagateFailure() 252 return output 253 } 254 var _3_allIdentifiers _dafny.Sequence 255 _ = _3_allIdentifiers 256 _3_allIdentifiers = (_2_valueOrError0).Extract().(_dafny.Sequence) 257 var _4_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() 258 _ = _4_valueOrError1 259 _4_valueOrError1 = m_AwsKmsMrkAreUnique.Companion_Default___.AwsKmsMrkAreUnique(_3_allIdentifiers) 260 if (_4_valueOrError1).IsFailure() { 261 output = (_4_valueOrError1).PropagateFailure() 262 return output 263 } 264 var _5_generatorKeyring m_Wrappers.Option = m_Wrappers.Companion_Option_.Default() 265 _ = _5_generatorKeyring 266 var _source1 m_Wrappers.Option = generator 267 _ = _source1 268 { 269 { 270 if _source1.Is_Some() { 271 var _6_generatorIdentifier _dafny.Sequence = _source1.Get_().(m_Wrappers.Option_Some).Value.(_dafny.Sequence) 272 _ = _6_generatorIdentifier 273 var _7_valueOrError2 m_Wrappers.Result = m_Wrappers.Result{} 274 _ = _7_valueOrError2 275 _7_valueOrError2 = (m_AwsArnParsing.Companion_Default___.IsAwsKmsIdentifierString(_6_generatorIdentifier)).MapFailure(func(coer73 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { 276 return func(arg74 interface{}) interface{} { 277 return coer73(arg74.(_dafny.Sequence)) 278 } 279 }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) 280 if (_7_valueOrError2).IsFailure() { 281 output = (_7_valueOrError2).PropagateFailure() 282 return output 283 } 284 var _8_arn m_AwsArnParsing.AwsKmsIdentifier 285 _ = _8_arn 286 _8_arn = (_7_valueOrError2).Extract().(m_AwsArnParsing.AwsKmsIdentifier) 287 var _9_region m_Wrappers.Option 288 _ = _9_region 289 _9_region = m_AwsArnParsing.Companion_Default___.GetRegion(_8_arn) 290 var _10_valueOrError3 m_Wrappers.Result = m_Wrappers.Result{} 291 _ = _10_valueOrError3 292 var _out0 m_Wrappers.Result 293 _ = _out0 294 _out0 = (clientSupplier).GetClient(m_AwsCryptographyMaterialProvidersTypes.Companion_GetClientInput_.Create_GetClientInput_((_9_region).UnwrapOr(_dafny.SeqOfString("")).(_dafny.Sequence))) 295 _10_valueOrError3 = _out0 296 if (_10_valueOrError3).IsFailure() { 297 output = (_10_valueOrError3).PropagateFailure() 298 return output 299 } 300 var _11_client m_ComAmazonawsKmsTypes.IKMSClient 301 _ = _11_client 302 _11_client = m_ComAmazonawsKmsTypes.Companion_IKMSClient_.CastTo_((_10_valueOrError3).Extract()) 303 var _12_g *m_AwsKmsMrkKeyring.AwsKmsMrkKeyring 304 _ = _12_g 305 var _nw0 *m_AwsKmsMrkKeyring.AwsKmsMrkKeyring = m_AwsKmsMrkKeyring.New_AwsKmsMrkKeyring_() 306 _ = _nw0 307 _nw0.Ctor__(_11_client, _6_generatorIdentifier, (grantTokens).UnwrapOr(_dafny.SeqOf()).(_dafny.Sequence)) 308 _12_g = _nw0 309 _5_generatorKeyring = m_Wrappers.Companion_Option_.Create_Some_(_12_g) 310 goto Lmatch1 311 } 312 } 313 { 314 _5_generatorKeyring = m_Wrappers.Companion_Option_.Create_None_() 315 } 316 goto Lmatch1 317 } 318 Lmatch1: 319 var _13_children _dafny.Sequence 320 _ = _13_children 321 _13_children = _dafny.SeqOf() 322 var _source2 m_Wrappers.Option = awsKmsKeys 323 _ = _source2 324 { 325 { 326 if _source2.Is_Some() { 327 var _14_childIdentifiers _dafny.Sequence = _source2.Get_().(m_Wrappers.Option_Some).Value.(_dafny.Sequence) 328 _ = _14_childIdentifiers 329 var _hi0 _dafny.Int = _dafny.IntOfUint32((_14_childIdentifiers).Cardinality()) 330 _ = _hi0 331 for _15_index := _dafny.Zero; _15_index.Cmp(_hi0) < 0; _15_index = _15_index.Plus(_dafny.One) { 332 var _16_childIdentifier _dafny.Sequence 333 _ = _16_childIdentifier 334 _16_childIdentifier = (_14_childIdentifiers).Select((_15_index).Uint32()).(_dafny.Sequence) 335 var _17_valueOrError4 m_Wrappers.Result = m_Wrappers.Result{} 336 _ = _17_valueOrError4 337 _17_valueOrError4 = (m_AwsArnParsing.Companion_Default___.IsAwsKmsIdentifierString(_16_childIdentifier)).MapFailure(func(coer74 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { 338 return func(arg75 interface{}) interface{} { 339 return coer74(arg75.(_dafny.Sequence)) 340 } 341 }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) 342 if (_17_valueOrError4).IsFailure() { 343 output = (_17_valueOrError4).PropagateFailure() 344 return output 345 } 346 var _18_info m_AwsArnParsing.AwsKmsIdentifier 347 _ = _18_info 348 _18_info = (_17_valueOrError4).Extract().(m_AwsArnParsing.AwsKmsIdentifier) 349 var _19_region m_Wrappers.Option 350 _ = _19_region 351 _19_region = m_AwsArnParsing.Companion_Default___.GetRegion(_18_info) 352 var _20_valueOrError5 m_Wrappers.Result = m_Wrappers.Result{} 353 _ = _20_valueOrError5 354 var _out1 m_Wrappers.Result 355 _ = _out1 356 _out1 = (clientSupplier).GetClient(m_AwsCryptographyMaterialProvidersTypes.Companion_GetClientInput_.Create_GetClientInput_((_19_region).UnwrapOr(_dafny.SeqOfString("")).(_dafny.Sequence))) 357 _20_valueOrError5 = _out1 358 if (_20_valueOrError5).IsFailure() { 359 output = (_20_valueOrError5).PropagateFailure() 360 return output 361 } 362 var _21_client m_ComAmazonawsKmsTypes.IKMSClient 363 _ = _21_client 364 _21_client = m_ComAmazonawsKmsTypes.Companion_IKMSClient_.CastTo_((_20_valueOrError5).Extract()) 365 var _22_keyring *m_AwsKmsMrkKeyring.AwsKmsMrkKeyring 366 _ = _22_keyring 367 var _nw1 *m_AwsKmsMrkKeyring.AwsKmsMrkKeyring = m_AwsKmsMrkKeyring.New_AwsKmsMrkKeyring_() 368 _ = _nw1 369 _nw1.Ctor__(_21_client, _16_childIdentifier, (grantTokens).UnwrapOr(_dafny.SeqOf()).(_dafny.Sequence)) 370 _22_keyring = _nw1 371 _13_children = _dafny.Companion_Sequence_.Concatenate(_13_children, _dafny.SeqOf(_22_keyring)) 372 } 373 goto Lmatch2 374 } 375 } 376 { 377 _13_children = _dafny.SeqOf() 378 } 379 goto Lmatch2 380 } 381 Lmatch2: 382 var _23_valueOrError6 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() 383 _ = _23_valueOrError6 384 _23_valueOrError6 = m_Wrappers.Companion_Default___.Need(((_5_generatorKeyring).Is_Some()) || ((_dafny.IntOfUint32((_13_children).Cardinality())).Sign() == 1), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("generatorKeyring or child Keyrings needed to create a multi keyring"))) 385 if (_23_valueOrError6).IsFailure() { 386 output = (_23_valueOrError6).PropagateFailure() 387 return output 388 } 389 var _24_keyring *m_MultiKeyring.MultiKeyring 390 _ = _24_keyring 391 var _nw2 *m_MultiKeyring.MultiKeyring = m_MultiKeyring.New_MultiKeyring_() 392 _ = _nw2 393 _nw2.Ctor__(_5_generatorKeyring, _13_children) 394 _24_keyring = _nw2 395 output = m_Wrappers.Companion_Result_.Create_Success_(_24_keyring) 396 return output 397 return output 398 } 399 400 // End of class Default__