func()

in TestVectorsAwsCryptographicMaterialProviders/runtimes/go/ImplementationFromDafny-go/awscryptographymaterialproviderstestvectorkeyssmithygeneratedtypes/types.go [432:491]


func (input TestVectorCmmInput) Aws_cryptography_materialProvidersTestVectorKeys_TestVectorCmmInput_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
}