func()

in TestVectorsAwsCryptographicMaterialProviders/runtimes/go/TestsFromDafny-go/awscryptographymaterialproviderstestvectorkeyssmithygeneratedtypes/types.go [589:648]


func (input MultiKeyring) Aws_cryptography_materialProvidersTestVectorKeys_KeyDescriptionList_member_Validate(Value KeyDescription) error {
	if Value == nil {
		return nil
	}
	switch unionType := Value.(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
}