/* STACKIT VPN API The STACKIT VPN API provides endpoints to provision and manage VPN instances in your STACKIT project. API version: 1alpha1 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. package vpnalpha import ( "encoding/json" "fmt" ) // checks if the VPNTunnels type satisfies the MappedNullable interface at compile time var _ MappedNullable = &VPNTunnels{} /* types and functions for bgpStatus */ // isModel type VPNTunnelsGetBgpStatusAttributeType = *NullableBGPStatus type VPNTunnelsGetBgpStatusArgType = *NullableBGPStatus type VPNTunnelsGetBgpStatusRetType = *NullableBGPStatus func getVPNTunnelsGetBgpStatusAttributeTypeOk(arg VPNTunnelsGetBgpStatusAttributeType) (ret VPNTunnelsGetBgpStatusRetType, ok bool) { if arg == nil { return nil, false } return arg, true } func setVPNTunnelsGetBgpStatusAttributeType(arg *VPNTunnelsGetBgpStatusAttributeType, val VPNTunnelsGetBgpStatusRetType) { *arg = val } /* types and functions for instanceState */ // isEnumRef type VPNTunnelsGetInstanceStateAttributeType = *GatewayStatus type VPNTunnelsGetInstanceStateArgType = GatewayStatus type VPNTunnelsGetInstanceStateRetType = GatewayStatus func getVPNTunnelsGetInstanceStateAttributeTypeOk(arg VPNTunnelsGetInstanceStateAttributeType) (ret VPNTunnelsGetInstanceStateRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setVPNTunnelsGetInstanceStateAttributeType(arg *VPNTunnelsGetInstanceStateAttributeType, val VPNTunnelsGetInstanceStateRetType) { *arg = &val } /* types and functions for name */ // isEnum // VPNTunnelsName the model 'VPNTunnels' // value type for enums type VPNTunnelsName string // List of Name const ( VPNTUNNELSNAME_TUNNEL1 VPNTunnelsName = "tunnel1" VPNTUNNELSNAME_TUNNEL2 VPNTunnelsName = "tunnel2" ) // All allowed values of VPNTunnels enum var AllowedVPNTunnelsNameEnumValues = []VPNTunnelsName{ "tunnel1", "tunnel2", } func (v *VPNTunnelsName) 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 VPNTunnelsName 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 := VPNTunnelsName(value) for _, existing := range AllowedVPNTunnelsNameEnumValues { if existing == enumTypeValue { *v = enumTypeValue return nil } } return fmt.Errorf("%+v is not a valid VPNTunnels", value) } // NewVPNTunnelsNameFromValue returns a pointer to a valid VPNTunnelsName // for the value passed as argument, or an error if the value passed is not allowed by the enum func NewVPNTunnelsNameFromValue(v VPNTunnelsName) (*VPNTunnelsName, error) { ev := VPNTunnelsName(v) if ev.IsValid() { return &ev, nil } else { return nil, fmt.Errorf("invalid value '%v' for VPNTunnelsName: valid values are %v", v, AllowedVPNTunnelsNameEnumValues) } } // IsValid return true if the value is valid for the enum, false otherwise func (v VPNTunnelsName) IsValid() bool { for _, existing := range AllowedVPNTunnelsNameEnumValues { if existing == v { return true } } return false } // Ptr returns reference to NameName value func (v VPNTunnelsName) Ptr() *VPNTunnelsName { return &v } type NullableVPNTunnelsName struct { value *VPNTunnelsName isSet bool } func (v NullableVPNTunnelsName) Get() *VPNTunnelsName { return v.value } func (v *NullableVPNTunnelsName) Set(val *VPNTunnelsName) { v.value = val v.isSet = true } func (v NullableVPNTunnelsName) IsSet() bool { return v.isSet } func (v *NullableVPNTunnelsName) Unset() { v.value = nil v.isSet = false } func NewNullableVPNTunnelsName(val *VPNTunnelsName) *NullableVPNTunnelsName { return &NullableVPNTunnelsName{value: val, isSet: true} } func (v NullableVPNTunnelsName) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } func (v *NullableVPNTunnelsName) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) } type VPNTunnelsGetNameAttributeType = *VPNTunnelsName type VPNTunnelsGetNameArgType = VPNTunnelsName type VPNTunnelsGetNameRetType = VPNTunnelsName func getVPNTunnelsGetNameAttributeTypeOk(arg VPNTunnelsGetNameAttributeType) (ret VPNTunnelsGetNameRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setVPNTunnelsGetNameAttributeType(arg *VPNTunnelsGetNameAttributeType, val VPNTunnelsGetNameRetType) { *arg = &val } /* types and functions for publicIP */ // isNotNullableString type VPNTunnelsGetPublicIPAttributeType = *string func getVPNTunnelsGetPublicIPAttributeTypeOk(arg VPNTunnelsGetPublicIPAttributeType) (ret VPNTunnelsGetPublicIPRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setVPNTunnelsGetPublicIPAttributeType(arg *VPNTunnelsGetPublicIPAttributeType, val VPNTunnelsGetPublicIPRetType) { *arg = &val } type VPNTunnelsGetPublicIPArgType = string type VPNTunnelsGetPublicIPRetType = string // VPNTunnels List all available tunnels with public IP and status type VPNTunnels struct { BgpStatus VPNTunnelsGetBgpStatusAttributeType `json:"bgpStatus,omitempty"` InstanceState VPNTunnelsGetInstanceStateAttributeType `json:"instanceState,omitempty"` Name VPNTunnelsGetNameAttributeType `json:"name,omitempty"` PublicIP VPNTunnelsGetPublicIPAttributeType `json:"publicIP,omitempty"` } // NewVPNTunnels instantiates a new VPNTunnels 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 NewVPNTunnels() *VPNTunnels { this := VPNTunnels{} return &this } // NewVPNTunnelsWithDefaults instantiates a new VPNTunnels 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 NewVPNTunnelsWithDefaults() *VPNTunnels { this := VPNTunnels{} return &this } // GetBgpStatus returns the BgpStatus field value if set, zero value otherwise (both if not set or set to explicit null). func (o *VPNTunnels) GetBgpStatus() (res VPNTunnelsGetBgpStatusRetType) { res, _ = o.GetBgpStatusOk() return } // GetBgpStatusOk returns a tuple with the BgpStatus field value if set, nil otherwise // and a boolean to check if the value has been set. // NOTE: If the value is an explicit nil, `nil, true` will be returned func (o *VPNTunnels) GetBgpStatusOk() (ret VPNTunnelsGetBgpStatusRetType, ok bool) { return getVPNTunnelsGetBgpStatusAttributeTypeOk(o.BgpStatus) } // HasBgpStatus returns a boolean if a field has been set. func (o *VPNTunnels) HasBgpStatus() bool { _, ok := o.GetBgpStatusOk() return ok } // SetBgpStatus gets a reference to the given BGPStatus and assigns it to the BgpStatus field. func (o *VPNTunnels) SetBgpStatus(v VPNTunnelsGetBgpStatusRetType) { setVPNTunnelsGetBgpStatusAttributeType(&o.BgpStatus, v) } // SetBgpStatusNil sets the value for BgpStatus to be an explicit nil func (o *VPNTunnels) SetBgpStatusNil() { o.BgpStatus = nil } // UnsetBgpStatus ensures that no value is present for BgpStatus, not even an explicit nil func (o *VPNTunnels) UnsetBgpStatus() { o.BgpStatus = nil } // GetInstanceState returns the InstanceState field value if set, zero value otherwise. func (o *VPNTunnels) GetInstanceState() (res VPNTunnelsGetInstanceStateRetType) { res, _ = o.GetInstanceStateOk() return } // GetInstanceStateOk returns a tuple with the InstanceState field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *VPNTunnels) GetInstanceStateOk() (ret VPNTunnelsGetInstanceStateRetType, ok bool) { return getVPNTunnelsGetInstanceStateAttributeTypeOk(o.InstanceState) } // HasInstanceState returns a boolean if a field has been set. func (o *VPNTunnels) HasInstanceState() bool { _, ok := o.GetInstanceStateOk() return ok } // SetInstanceState gets a reference to the given GatewayStatus and assigns it to the InstanceState field. func (o *VPNTunnels) SetInstanceState(v VPNTunnelsGetInstanceStateRetType) { setVPNTunnelsGetInstanceStateAttributeType(&o.InstanceState, v) } // GetName returns the Name field value if set, zero value otherwise. func (o *VPNTunnels) GetName() (res VPNTunnelsGetNameRetType) { 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 *VPNTunnels) GetNameOk() (ret VPNTunnelsGetNameRetType, ok bool) { return getVPNTunnelsGetNameAttributeTypeOk(o.Name) } // HasName returns a boolean if a field has been set. func (o *VPNTunnels) HasName() bool { _, ok := o.GetNameOk() return ok } // SetName gets a reference to the given string and assigns it to the Name field. func (o *VPNTunnels) SetName(v VPNTunnelsGetNameRetType) { setVPNTunnelsGetNameAttributeType(&o.Name, v) } // GetPublicIP returns the PublicIP field value if set, zero value otherwise. func (o *VPNTunnels) GetPublicIP() (res VPNTunnelsGetPublicIPRetType) { res, _ = o.GetPublicIPOk() return } // GetPublicIPOk returns a tuple with the PublicIP field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *VPNTunnels) GetPublicIPOk() (ret VPNTunnelsGetPublicIPRetType, ok bool) { return getVPNTunnelsGetPublicIPAttributeTypeOk(o.PublicIP) } // HasPublicIP returns a boolean if a field has been set. func (o *VPNTunnels) HasPublicIP() bool { _, ok := o.GetPublicIPOk() return ok } // SetPublicIP gets a reference to the given string and assigns it to the PublicIP field. func (o *VPNTunnels) SetPublicIP(v VPNTunnelsGetPublicIPRetType) { setVPNTunnelsGetPublicIPAttributeType(&o.PublicIP, v) } func (o VPNTunnels) ToMap() (map[string]interface{}, error) { toSerialize := map[string]interface{}{} if val, ok := getVPNTunnelsGetBgpStatusAttributeTypeOk(o.BgpStatus); ok { toSerialize["BgpStatus"] = val } if val, ok := getVPNTunnelsGetInstanceStateAttributeTypeOk(o.InstanceState); ok { toSerialize["InstanceState"] = val } if val, ok := getVPNTunnelsGetNameAttributeTypeOk(o.Name); ok { toSerialize["Name"] = val } if val, ok := getVPNTunnelsGetPublicIPAttributeTypeOk(o.PublicIP); ok { toSerialize["PublicIP"] = val } return toSerialize, nil } type NullableVPNTunnels struct { value *VPNTunnels isSet bool } func (v NullableVPNTunnels) Get() *VPNTunnels { return v.value } func (v *NullableVPNTunnels) Set(val *VPNTunnels) { v.value = val v.isSet = true } func (v NullableVPNTunnels) IsSet() bool { return v.isSet } func (v *NullableVPNTunnels) Unset() { v.value = nil v.isSet = false } func NewNullableVPNTunnels(val *VPNTunnels) *NullableVPNTunnels { return &NullableVPNTunnels{value: val, isSet: true} } func (v NullableVPNTunnels) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } func (v *NullableVPNTunnels) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) }