/* STACKIT Key Management Service API ### DEPRECATED! This service is no longer maintained. Please use the version v1 instead. This API provides endpoints for managing keys and key rings. API version: 1beta.0.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. package kmsbeta import ( "encoding/json" "fmt" ) // Purpose The purpose of the key. type Purpose string // List of purpose const ( PURPOSE_SYMMETRIC_ENCRYPT_DECRYPT Purpose = "symmetric_encrypt_decrypt" PURPOSE_ASYMMETRIC_ENCRYPT_DECRYPT Purpose = "asymmetric_encrypt_decrypt" PURPOSE_MESSAGE_AUTHENTICATION_CODE Purpose = "message_authentication_code" PURPOSE_ASYMMETRIC_SIGN_VERIFY Purpose = "asymmetric_sign_verify" ) // All allowed values of Purpose enum var AllowedPurposeEnumValues = []Purpose{ "symmetric_encrypt_decrypt", "asymmetric_encrypt_decrypt", "message_authentication_code", "asymmetric_sign_verify", } func (v *Purpose) UnmarshalJSON(src []byte) error { var value string err := json.Unmarshal(src, &value) if err != nil { return err } // Allow unmarshalling zero value for testing purposes var zeroValue string if value == zeroValue { return nil } enumTypeValue := Purpose(value) for _, existing := range AllowedPurposeEnumValues { if existing == enumTypeValue { *v = enumTypeValue return nil } } return fmt.Errorf("%+v is not a valid Purpose", value) } // NewPurposeFromValue returns a pointer to a valid Purpose // for the value passed as argument, or an error if the value passed is not allowed by the enum func NewPurposeFromValue(v string) (*Purpose, error) { ev := Purpose(v) if ev.IsValid() { return &ev, nil } else { return nil, fmt.Errorf("invalid value '%v' for Purpose: valid values are %v", v, AllowedPurposeEnumValues) } } // IsValid return true if the value is valid for the enum, false otherwise func (v Purpose) IsValid() bool { for _, existing := range AllowedPurposeEnumValues { if existing == v { return true } } return false } // Ptr returns reference to purpose value func (v Purpose) Ptr() *Purpose { return &v } type NullablePurpose struct { value *Purpose isSet bool } func (v NullablePurpose) Get() *Purpose { return v.value } func (v *NullablePurpose) Set(val *Purpose) { v.value = val v.isSet = true } func (v NullablePurpose) IsSet() bool { return v.isSet } func (v *NullablePurpose) Unset() { v.value = nil v.isSet = false } func NewNullablePurpose(val *Purpose) *NullablePurpose { return &NullablePurpose{value: val, isSet: true} } func (v NullablePurpose) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } func (v *NullablePurpose) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) }