terraform-provider-stackitp.../pkg/gitbeta/model_flavor.go

415 lines
11 KiB
Go

/*
STACKIT Git API
STACKIT Git management API.
API version: 1beta.0.4
*/
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
package gitbeta
import (
"encoding/json"
"fmt"
)
// checks if the Flavor type satisfies the MappedNullable interface at compile time
var _ MappedNullable = &Flavor{}
/*
types and functions for availability
*/
// isEnum
// FlavorAvailability Defines the flavor availability.
// value type for enums
type FlavorAvailability string
// List of Availability
const (
FLAVORAVAILABILITY_AVAILABLE FlavorAvailability = "available"
FLAVORAVAILABILITY_UNAVAILABLE FlavorAvailability = "unavailable"
FLAVORAVAILABILITY_INTERNAL FlavorAvailability = "internal"
FLAVORAVAILABILITY_DEPRECATED FlavorAvailability = "deprecated"
)
// All allowed values of Flavor enum
var AllowedFlavorAvailabilityEnumValues = []FlavorAvailability{
"available",
"unavailable",
"internal",
"deprecated",
}
func (v *FlavorAvailability) UnmarshalJSON(src []byte) error {
// use a type alias to prevent infinite recursion during unmarshal,
// see https://biscuit.ninja/posts/go-avoid-an-infitine-loop-with-custom-json-unmarshallers
type TmpJson FlavorAvailability
var value TmpJson
err := json.Unmarshal(src, &value)
if err != nil {
return err
}
// Allow unmarshalling zero value for testing purposes
var zeroValue TmpJson
if value == zeroValue {
return nil
}
enumTypeValue := FlavorAvailability(value)
for _, existing := range AllowedFlavorAvailabilityEnumValues {
if existing == enumTypeValue {
*v = enumTypeValue
return nil
}
}
return fmt.Errorf("%+v is not a valid Flavor", value)
}
// NewFlavorAvailabilityFromValue returns a pointer to a valid FlavorAvailability
// for the value passed as argument, or an error if the value passed is not allowed by the enum
func NewFlavorAvailabilityFromValue(v FlavorAvailability) (*FlavorAvailability, error) {
ev := FlavorAvailability(v)
if ev.IsValid() {
return &ev, nil
} else {
return nil, fmt.Errorf("invalid value '%v' for FlavorAvailability: valid values are %v", v, AllowedFlavorAvailabilityEnumValues)
}
}
// IsValid return true if the value is valid for the enum, false otherwise
func (v FlavorAvailability) IsValid() bool {
for _, existing := range AllowedFlavorAvailabilityEnumValues {
if existing == v {
return true
}
}
return false
}
// Ptr returns reference to AvailabilityAvailability value
func (v FlavorAvailability) Ptr() *FlavorAvailability {
return &v
}
type NullableFlavorAvailability struct {
value *FlavorAvailability
isSet bool
}
func (v NullableFlavorAvailability) Get() *FlavorAvailability {
return v.value
}
func (v *NullableFlavorAvailability) Set(val *FlavorAvailability) {
v.value = val
v.isSet = true
}
func (v NullableFlavorAvailability) IsSet() bool {
return v.isSet
}
func (v *NullableFlavorAvailability) Unset() {
v.value = nil
v.isSet = false
}
func NewNullableFlavorAvailability(val *FlavorAvailability) *NullableFlavorAvailability {
return &NullableFlavorAvailability{value: val, isSet: true}
}
func (v NullableFlavorAvailability) MarshalJSON() ([]byte, error) {
return json.Marshal(v.value)
}
func (v *NullableFlavorAvailability) UnmarshalJSON(src []byte) error {
v.isSet = true
return json.Unmarshal(src, &v.value)
}
type FlavorGetAvailabilityAttributeType = *FlavorAvailability
type FlavorGetAvailabilityArgType = FlavorAvailability
type FlavorGetAvailabilityRetType = FlavorAvailability
func getFlavorGetAvailabilityAttributeTypeOk(arg FlavorGetAvailabilityAttributeType) (ret FlavorGetAvailabilityRetType, ok bool) {
if arg == nil {
return ret, false
}
return *arg, true
}
func setFlavorGetAvailabilityAttributeType(arg *FlavorGetAvailabilityAttributeType, val FlavorGetAvailabilityRetType) {
*arg = &val
}
/*
types and functions for description
*/
// isNotNullableString
type FlavorGetDescriptionAttributeType = *string
func getFlavorGetDescriptionAttributeTypeOk(arg FlavorGetDescriptionAttributeType) (ret FlavorGetDescriptionRetType, ok bool) {
if arg == nil {
return ret, false
}
return *arg, true
}
func setFlavorGetDescriptionAttributeType(arg *FlavorGetDescriptionAttributeType, val FlavorGetDescriptionRetType) {
*arg = &val
}
type FlavorGetDescriptionArgType = string
type FlavorGetDescriptionRetType = string
/*
types and functions for display_name
*/
// isNotNullableString
type FlavorGetDisplayNameAttributeType = *string
func getFlavorGetDisplayNameAttributeTypeOk(arg FlavorGetDisplayNameAttributeType) (ret FlavorGetDisplayNameRetType, ok bool) {
if arg == nil {
return ret, false
}
return *arg, true
}
func setFlavorGetDisplayNameAttributeType(arg *FlavorGetDisplayNameAttributeType, val FlavorGetDisplayNameRetType) {
*arg = &val
}
type FlavorGetDisplayNameArgType = string
type FlavorGetDisplayNameRetType = string
/*
types and functions for id
*/
// isNotNullableString
type FlavorGetIdAttributeType = *string
func getFlavorGetIdAttributeTypeOk(arg FlavorGetIdAttributeType) (ret FlavorGetIdRetType, ok bool) {
if arg == nil {
return ret, false
}
return *arg, true
}
func setFlavorGetIdAttributeType(arg *FlavorGetIdAttributeType, val FlavorGetIdRetType) {
*arg = &val
}
type FlavorGetIdArgType = string
type FlavorGetIdRetType = string
/*
types and functions for sku
*/
// isNotNullableString
type FlavorGetSkuAttributeType = *string
func getFlavorGetSkuAttributeTypeOk(arg FlavorGetSkuAttributeType) (ret FlavorGetSkuRetType, ok bool) {
if arg == nil {
return ret, false
}
return *arg, true
}
func setFlavorGetSkuAttributeType(arg *FlavorGetSkuAttributeType, val FlavorGetSkuRetType) {
*arg = &val
}
type FlavorGetSkuArgType = string
type FlavorGetSkuRetType = string
// Flavor Describes a STACKIT Git Flavor.
type Flavor struct {
// Defines the flavor availability.
// REQUIRED
Availability FlavorGetAvailabilityAttributeType `json:"availability" required:"true"`
// Flavor description.
// REQUIRED
Description FlavorGetDescriptionAttributeType `json:"description" required:"true"`
// The display name that will be shown in the Portal.
// REQUIRED
DisplayName FlavorGetDisplayNameAttributeType `json:"display_name" required:"true"`
// Flavor id.
// REQUIRED
Id FlavorGetIdAttributeType `json:"id" required:"true"`
// SAP article number.
// REQUIRED
Sku FlavorGetSkuAttributeType `json:"sku" required:"true"`
}
type _Flavor Flavor
// NewFlavor instantiates a new Flavor object
// This constructor will assign default values to properties that have it defined,
// and makes sure properties required by API are set, but the set of arguments
// will change when the set of required properties is changed
func NewFlavor(availability FlavorGetAvailabilityArgType, description FlavorGetDescriptionArgType, displayName FlavorGetDisplayNameArgType, id FlavorGetIdArgType, sku FlavorGetSkuArgType) *Flavor {
this := Flavor{}
setFlavorGetAvailabilityAttributeType(&this.Availability, availability)
setFlavorGetDescriptionAttributeType(&this.Description, description)
setFlavorGetDisplayNameAttributeType(&this.DisplayName, displayName)
setFlavorGetIdAttributeType(&this.Id, id)
setFlavorGetSkuAttributeType(&this.Sku, sku)
return &this
}
// NewFlavorWithDefaults instantiates a new Flavor object
// This constructor will only assign default values to properties that have it defined,
// but it doesn't guarantee that properties required by API are set
func NewFlavorWithDefaults() *Flavor {
this := Flavor{}
return &this
}
// GetAvailability returns the Availability field value
func (o *Flavor) GetAvailability() (ret FlavorGetAvailabilityRetType) {
ret, _ = o.GetAvailabilityOk()
return ret
}
// GetAvailabilityOk returns a tuple with the Availability field value
// and a boolean to check if the value has been set.
func (o *Flavor) GetAvailabilityOk() (ret FlavorGetAvailabilityRetType, ok bool) {
return getFlavorGetAvailabilityAttributeTypeOk(o.Availability)
}
// SetAvailability sets field value
func (o *Flavor) SetAvailability(v FlavorGetAvailabilityRetType) {
setFlavorGetAvailabilityAttributeType(&o.Availability, v)
}
// GetDescription returns the Description field value
func (o *Flavor) GetDescription() (ret FlavorGetDescriptionRetType) {
ret, _ = o.GetDescriptionOk()
return ret
}
// GetDescriptionOk returns a tuple with the Description field value
// and a boolean to check if the value has been set.
func (o *Flavor) GetDescriptionOk() (ret FlavorGetDescriptionRetType, ok bool) {
return getFlavorGetDescriptionAttributeTypeOk(o.Description)
}
// SetDescription sets field value
func (o *Flavor) SetDescription(v FlavorGetDescriptionRetType) {
setFlavorGetDescriptionAttributeType(&o.Description, v)
}
// GetDisplayName returns the DisplayName field value
func (o *Flavor) GetDisplayName() (ret FlavorGetDisplayNameRetType) {
ret, _ = o.GetDisplayNameOk()
return ret
}
// GetDisplayNameOk returns a tuple with the DisplayName field value
// and a boolean to check if the value has been set.
func (o *Flavor) GetDisplayNameOk() (ret FlavorGetDisplayNameRetType, ok bool) {
return getFlavorGetDisplayNameAttributeTypeOk(o.DisplayName)
}
// SetDisplayName sets field value
func (o *Flavor) SetDisplayName(v FlavorGetDisplayNameRetType) {
setFlavorGetDisplayNameAttributeType(&o.DisplayName, v)
}
// GetId returns the Id field value
func (o *Flavor) GetId() (ret FlavorGetIdRetType) {
ret, _ = o.GetIdOk()
return ret
}
// GetIdOk returns a tuple with the Id field value
// and a boolean to check if the value has been set.
func (o *Flavor) GetIdOk() (ret FlavorGetIdRetType, ok bool) {
return getFlavorGetIdAttributeTypeOk(o.Id)
}
// SetId sets field value
func (o *Flavor) SetId(v FlavorGetIdRetType) {
setFlavorGetIdAttributeType(&o.Id, v)
}
// GetSku returns the Sku field value
func (o *Flavor) GetSku() (ret FlavorGetSkuRetType) {
ret, _ = o.GetSkuOk()
return ret
}
// GetSkuOk returns a tuple with the Sku field value
// and a boolean to check if the value has been set.
func (o *Flavor) GetSkuOk() (ret FlavorGetSkuRetType, ok bool) {
return getFlavorGetSkuAttributeTypeOk(o.Sku)
}
// SetSku sets field value
func (o *Flavor) SetSku(v FlavorGetSkuRetType) {
setFlavorGetSkuAttributeType(&o.Sku, v)
}
func (o Flavor) ToMap() (map[string]interface{}, error) {
toSerialize := map[string]interface{}{}
if val, ok := getFlavorGetAvailabilityAttributeTypeOk(o.Availability); ok {
toSerialize["Availability"] = val
}
if val, ok := getFlavorGetDescriptionAttributeTypeOk(o.Description); ok {
toSerialize["Description"] = val
}
if val, ok := getFlavorGetDisplayNameAttributeTypeOk(o.DisplayName); ok {
toSerialize["DisplayName"] = val
}
if val, ok := getFlavorGetIdAttributeTypeOk(o.Id); ok {
toSerialize["Id"] = val
}
if val, ok := getFlavorGetSkuAttributeTypeOk(o.Sku); ok {
toSerialize["Sku"] = val
}
return toSerialize, nil
}
type NullableFlavor struct {
value *Flavor
isSet bool
}
func (v NullableFlavor) Get() *Flavor {
return v.value
}
func (v *NullableFlavor) Set(val *Flavor) {
v.value = val
v.isSet = true
}
func (v NullableFlavor) IsSet() bool {
return v.isSet
}
func (v *NullableFlavor) Unset() {
v.value = nil
v.isSet = false
}
func NewNullableFlavor(val *Flavor) *NullableFlavor {
return &NullableFlavor{value: val, isSet: true}
}
func (v NullableFlavor) MarshalJSON() ([]byte, error) {
return json.Marshal(v.value)
}
func (v *NullableFlavor) UnmarshalJSON(src []byte) error {
v.isSet = true
return json.Unmarshal(src, &v.value)
}