terraform-provider-stackitp.../pkg/iaasbeta/model_protocol.go

177 lines
4.9 KiB
Go

/*
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 Protocol type satisfies the MappedNullable interface at compile time
var _ MappedNullable = &Protocol{}
/*
types and functions for name
*/
// isNotNullableString
type ProtocolGetNameAttributeType = *string
func getProtocolGetNameAttributeTypeOk(arg ProtocolGetNameAttributeType) (ret ProtocolGetNameRetType, ok bool) {
if arg == nil {
return ret, false
}
return *arg, true
}
func setProtocolGetNameAttributeType(arg *ProtocolGetNameAttributeType, val ProtocolGetNameRetType) {
*arg = &val
}
type ProtocolGetNameArgType = string
type ProtocolGetNameRetType = string
/*
types and functions for number
*/
// isLong
type ProtocolGetNumberAttributeType = *int64
type ProtocolGetNumberArgType = int64
type ProtocolGetNumberRetType = int64
func getProtocolGetNumberAttributeTypeOk(arg ProtocolGetNumberAttributeType) (ret ProtocolGetNumberRetType, ok bool) {
if arg == nil {
return ret, false
}
return *arg, true
}
func setProtocolGetNumberAttributeType(arg *ProtocolGetNumberAttributeType, val ProtocolGetNumberRetType) {
*arg = &val
}
// Protocol The schema for a protocol of a security group rule.
type Protocol struct {
// The protocol name which the rule should match. Possible values: `ah`, `dccp`, `egp`, `esp`, `gre`, `icmp`, `igmp`, `ipip`, `ipv6-encap`, `ipv6-frag`, `ipv6-icmp`, `ipv6-nonxt`, `ipv6-opts`, `ipv6-route`, `ospf`, `pgm`, `rsvp`, `sctp`, `tcp`, `udp`, `udplite`, `vrrp`.
Name ProtocolGetNameAttributeType `json:"name,omitempty"`
// The protocol number which the rule should match.
Number ProtocolGetNumberAttributeType `json:"number,omitempty"`
}
// NewProtocol instantiates a new Protocol 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 NewProtocol() *Protocol {
this := Protocol{}
return &this
}
// NewProtocolWithDefaults instantiates a new Protocol 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 NewProtocolWithDefaults() *Protocol {
this := Protocol{}
return &this
}
// GetName returns the Name field value if set, zero value otherwise.
func (o *Protocol) GetName() (res ProtocolGetNameRetType) {
res, _ = o.GetNameOk()
return
}
// GetNameOk returns a tuple with the Name field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *Protocol) GetNameOk() (ret ProtocolGetNameRetType, ok bool) {
return getProtocolGetNameAttributeTypeOk(o.Name)
}
// HasName returns a boolean if a field has been set.
func (o *Protocol) HasName() bool {
_, ok := o.GetNameOk()
return ok
}
// SetName gets a reference to the given string and assigns it to the Name field.
func (o *Protocol) SetName(v ProtocolGetNameRetType) {
setProtocolGetNameAttributeType(&o.Name, v)
}
// GetNumber returns the Number field value if set, zero value otherwise.
func (o *Protocol) GetNumber() (res ProtocolGetNumberRetType) {
res, _ = o.GetNumberOk()
return
}
// GetNumberOk returns a tuple with the Number field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *Protocol) GetNumberOk() (ret ProtocolGetNumberRetType, ok bool) {
return getProtocolGetNumberAttributeTypeOk(o.Number)
}
// HasNumber returns a boolean if a field has been set.
func (o *Protocol) HasNumber() bool {
_, ok := o.GetNumberOk()
return ok
}
// SetNumber gets a reference to the given int64 and assigns it to the Number field.
func (o *Protocol) SetNumber(v ProtocolGetNumberRetType) {
setProtocolGetNumberAttributeType(&o.Number, v)
}
func (o Protocol) ToMap() (map[string]interface{}, error) {
toSerialize := map[string]interface{}{}
if val, ok := getProtocolGetNameAttributeTypeOk(o.Name); ok {
toSerialize["Name"] = val
}
if val, ok := getProtocolGetNumberAttributeTypeOk(o.Number); ok {
toSerialize["Number"] = val
}
return toSerialize, nil
}
type NullableProtocol struct {
value *Protocol
isSet bool
}
func (v NullableProtocol) Get() *Protocol {
return v.value
}
func (v *NullableProtocol) Set(val *Protocol) {
v.value = val
v.isSet = true
}
func (v NullableProtocol) IsSet() bool {
return v.isSet
}
func (v *NullableProtocol) Unset() {
v.value = nil
v.isSet = false
}
func NewNullableProtocol(val *Protocol) *NullableProtocol {
return &NullableProtocol{value: val, isSet: true}
}
func (v NullableProtocol) MarshalJSON() ([]byte, error) {
return json.Marshal(v.value)
}
func (v *NullableProtocol) UnmarshalJSON(src []byte) error {
v.isSet = true
return json.Unmarshal(src, &v.value)
}