/* STACKIT IaaS API This API allows you to create and modify IaaS resources. API version: 2beta1 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. package iaasbeta import ( "encoding/json" ) // checks if the CreateSecurityGroupRuleProtocol type satisfies the MappedNullable interface at compile time var _ MappedNullable = &CreateSecurityGroupRuleProtocol{} /* types and functions for protocol */ // isModel type CreateSecurityGroupRuleProtocolGetProtocolAttributeType = *CreateProtocol type CreateSecurityGroupRuleProtocolGetProtocolArgType = CreateProtocol type CreateSecurityGroupRuleProtocolGetProtocolRetType = CreateProtocol func getCreateSecurityGroupRuleProtocolGetProtocolAttributeTypeOk(arg CreateSecurityGroupRuleProtocolGetProtocolAttributeType) (ret CreateSecurityGroupRuleProtocolGetProtocolRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setCreateSecurityGroupRuleProtocolGetProtocolAttributeType(arg *CreateSecurityGroupRuleProtocolGetProtocolAttributeType, val CreateSecurityGroupRuleProtocolGetProtocolRetType) { *arg = &val } // CreateSecurityGroupRuleProtocol The internet protocol which the rule should match. type CreateSecurityGroupRuleProtocol struct { Protocol CreateSecurityGroupRuleProtocolGetProtocolAttributeType `json:"protocol,omitempty"` } // NewCreateSecurityGroupRuleProtocol instantiates a new CreateSecurityGroupRuleProtocol 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 NewCreateSecurityGroupRuleProtocol() *CreateSecurityGroupRuleProtocol { this := CreateSecurityGroupRuleProtocol{} return &this } // NewCreateSecurityGroupRuleProtocolWithDefaults instantiates a new CreateSecurityGroupRuleProtocol 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 NewCreateSecurityGroupRuleProtocolWithDefaults() *CreateSecurityGroupRuleProtocol { this := CreateSecurityGroupRuleProtocol{} return &this } // GetProtocol returns the Protocol field value if set, zero value otherwise. func (o *CreateSecurityGroupRuleProtocol) GetProtocol() (res CreateSecurityGroupRuleProtocolGetProtocolRetType) { res, _ = o.GetProtocolOk() return } // GetProtocolOk returns a tuple with the Protocol field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *CreateSecurityGroupRuleProtocol) GetProtocolOk() (ret CreateSecurityGroupRuleProtocolGetProtocolRetType, ok bool) { return getCreateSecurityGroupRuleProtocolGetProtocolAttributeTypeOk(o.Protocol) } // HasProtocol returns a boolean if a field has been set. func (o *CreateSecurityGroupRuleProtocol) HasProtocol() bool { _, ok := o.GetProtocolOk() return ok } // SetProtocol gets a reference to the given CreateProtocol and assigns it to the Protocol field. func (o *CreateSecurityGroupRuleProtocol) SetProtocol(v CreateSecurityGroupRuleProtocolGetProtocolRetType) { setCreateSecurityGroupRuleProtocolGetProtocolAttributeType(&o.Protocol, v) } func (o CreateSecurityGroupRuleProtocol) ToMap() (map[string]interface{}, error) { toSerialize := map[string]interface{}{} if val, ok := getCreateSecurityGroupRuleProtocolGetProtocolAttributeTypeOk(o.Protocol); ok { toSerialize["Protocol"] = val } return toSerialize, nil } type NullableCreateSecurityGroupRuleProtocol struct { value *CreateSecurityGroupRuleProtocol isSet bool } func (v NullableCreateSecurityGroupRuleProtocol) Get() *CreateSecurityGroupRuleProtocol { return v.value } func (v *NullableCreateSecurityGroupRuleProtocol) Set(val *CreateSecurityGroupRuleProtocol) { v.value = val v.isSet = true } func (v NullableCreateSecurityGroupRuleProtocol) IsSet() bool { return v.isSet } func (v *NullableCreateSecurityGroupRuleProtocol) Unset() { v.value = nil v.isSet = false } func NewNullableCreateSecurityGroupRuleProtocol(val *CreateSecurityGroupRuleProtocol) *NullableCreateSecurityGroupRuleProtocol { return &NullableCreateSecurityGroupRuleProtocol{value: val, isSet: true} } func (v NullableCreateSecurityGroupRuleProtocol) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } func (v *NullableCreateSecurityGroupRuleProtocol) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) }