in TestVectorsAwsCryptographicMaterialProviders/runtimes/go/ImplementationFromDafny-go/awscryptographymaterialproviderstestvectorkeyssmithygeneratedtypes/types.go [354:413]
func (input SerializeKeyDescriptionInput) Aws_cryptography_materialProvidersTestVectorKeys_SerializeKeyDescriptionInput_keyDescription_Validate() error {
if input.KeyDescription == nil {
return nil
}
switch unionType := input.KeyDescription.(type) {
case *KeyDescriptionMemberKms:
if unionType.Value.Validate() != nil {
return unionType.Value.Validate()
}
case *KeyDescriptionMemberKmsMrk:
if unionType.Value.Validate() != nil {
return unionType.Value.Validate()
}
case *KeyDescriptionMemberKmsMrkDiscovery:
if unionType.Value.Validate() != nil {
return unionType.Value.Validate()
}
case *KeyDescriptionMemberRSA:
if unionType.Value.Validate() != nil {
return unionType.Value.Validate()
}
case *KeyDescriptionMemberAES:
if unionType.Value.Validate() != nil {
return unionType.Value.Validate()
}
case *KeyDescriptionMemberECDH:
if unionType.Value.Validate() != nil {
return unionType.Value.Validate()
}
case *KeyDescriptionMemberStatic:
if unionType.Value.Validate() != nil {
return unionType.Value.Validate()
}
case *KeyDescriptionMemberKmsRsa:
if unionType.Value.Validate() != nil {
return unionType.Value.Validate()
}
case *KeyDescriptionMemberKmsECDH:
if unionType.Value.Validate() != nil {
return unionType.Value.Validate()
}
case *KeyDescriptionMemberHierarchy:
if unionType.Value.Validate() != nil {
return unionType.Value.Validate()
}
case *KeyDescriptionMemberMulti:
if unionType.Value.Validate() != nil {
return unionType.Value.Validate()
}
case *KeyDescriptionMemberRequiredEncryptionContext:
if unionType.Value.Validate() != nil {
return unionType.Value.Validate()
}
// Default case should not be reached.
default:
panic(fmt.Sprintf("Unhandled union type: %T ", unionType))
}
return nil
}