terraform-provider-stackitp.../pkg/vpnalpha/model_vpn_tunnels.go
2026-01-21 09:07:29 +01:00

385 lines
11 KiB
Go

/*
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)
}