/* 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" ) // checks if the Gateway type satisfies the MappedNullable interface at compile time var _ MappedNullable = &Gateway{} /* types and functions for region */ // isEnumRef type GatewayGetRegionAttributeType = *Region type GatewayGetRegionArgType = Region type GatewayGetRegionRetType = Region func getGatewayGetRegionAttributeTypeOk(arg GatewayGetRegionAttributeType) (ret GatewayGetRegionRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setGatewayGetRegionAttributeType(arg *GatewayGetRegionAttributeType, val GatewayGetRegionRetType) { *arg = &val } /* types and functions for state */ // isEnumRef type GatewayGetStateAttributeType = *GatewayStatus type GatewayGetStateArgType = GatewayStatus type GatewayGetStateRetType = GatewayStatus func getGatewayGetStateAttributeTypeOk(arg GatewayGetStateAttributeType) (ret GatewayGetStateRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setGatewayGetStateAttributeType(arg *GatewayGetStateAttributeType, val GatewayGetStateRetType) { *arg = &val } /* types and functions for availabilityZones */ // isModel type GatewayGetAvailabilityZonesAttributeType = *CreateVPNGatewayPayloadAvailabilityZones type GatewayGetAvailabilityZonesArgType = CreateVPNGatewayPayloadAvailabilityZones type GatewayGetAvailabilityZonesRetType = CreateVPNGatewayPayloadAvailabilityZones func getGatewayGetAvailabilityZonesAttributeTypeOk(arg GatewayGetAvailabilityZonesAttributeType) (ret GatewayGetAvailabilityZonesRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setGatewayGetAvailabilityZonesAttributeType(arg *GatewayGetAvailabilityZonesAttributeType, val GatewayGetAvailabilityZonesRetType) { *arg = &val } /* types and functions for bgpEnabled */ // isBoolean type GatewaygetBgpEnabledAttributeType = *bool type GatewaygetBgpEnabledArgType = bool type GatewaygetBgpEnabledRetType = bool func getGatewaygetBgpEnabledAttributeTypeOk(arg GatewaygetBgpEnabledAttributeType) (ret GatewaygetBgpEnabledRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setGatewaygetBgpEnabledAttributeType(arg *GatewaygetBgpEnabledAttributeType, val GatewaygetBgpEnabledRetType) { *arg = &val } /* types and functions for bgpGatewayConfig */ // isModel type GatewayGetBgpGatewayConfigAttributeType = *BGPGatewayConfig type GatewayGetBgpGatewayConfigArgType = BGPGatewayConfig type GatewayGetBgpGatewayConfigRetType = BGPGatewayConfig func getGatewayGetBgpGatewayConfigAttributeTypeOk(arg GatewayGetBgpGatewayConfigAttributeType) (ret GatewayGetBgpGatewayConfigRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setGatewayGetBgpGatewayConfigAttributeType(arg *GatewayGetBgpGatewayConfigAttributeType, val GatewayGetBgpGatewayConfigRetType) { *arg = &val } /* types and functions for labels */ // isContainer type GatewayGetLabelsAttributeType = *map[string]string type GatewayGetLabelsArgType = map[string]string type GatewayGetLabelsRetType = map[string]string func getGatewayGetLabelsAttributeTypeOk(arg GatewayGetLabelsAttributeType) (ret GatewayGetLabelsRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setGatewayGetLabelsAttributeType(arg *GatewayGetLabelsAttributeType, val GatewayGetLabelsRetType) { *arg = &val } /* types and functions for name */ // isNotNullableString type GatewayGetNameAttributeType = *string func getGatewayGetNameAttributeTypeOk(arg GatewayGetNameAttributeType) (ret GatewayGetNameRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setGatewayGetNameAttributeType(arg *GatewayGetNameAttributeType, val GatewayGetNameRetType) { *arg = &val } type GatewayGetNameArgType = string type GatewayGetNameRetType = string /* types and functions for planId */ // isNotNullableString type GatewayGetPlanIdAttributeType = *string func getGatewayGetPlanIdAttributeTypeOk(arg GatewayGetPlanIdAttributeType) (ret GatewayGetPlanIdRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setGatewayGetPlanIdAttributeType(arg *GatewayGetPlanIdAttributeType, val GatewayGetPlanIdRetType) { *arg = &val } type GatewayGetPlanIdArgType = string type GatewayGetPlanIdRetType = string // Gateway struct for Gateway type Gateway struct { Region GatewayGetRegionAttributeType `json:"region,omitempty"` State GatewayGetStateAttributeType `json:"state,omitempty"` // REQUIRED AvailabilityZones GatewayGetAvailabilityZonesAttributeType `json:"availabilityZones" required:"true"` // Enable BGP routing. (This will require a BGPGatewayConfig and also a BGPTunnelConfig for each Tunnel in each Connection) BgpEnabled GatewaygetBgpEnabledAttributeType `json:"bgpEnabled,omitempty"` BgpGatewayConfig GatewayGetBgpGatewayConfigAttributeType `json:"bgpGatewayConfig,omitempty"` // Map of custom labels. Key and values must be max 63 chars, start/end with alphanumeric. Labels GatewayGetLabelsAttributeType `json:"labels,omitempty"` // The name of the VPN gateway. Maximum 20 characters (only alphanumeric and hyphens allowed). Not changeable after creation. // REQUIRED Name GatewayGetNameAttributeType `json:"name" required:"true"` // Service Plan to configure the limits of the VPN. Currently supported plans are p50, p100, p200. This list can change in the future where plan ids will be removed and new plans by added. That is the reason this is not an enum. // REQUIRED PlanId GatewayGetPlanIdAttributeType `json:"planId" required:"true"` } type _Gateway Gateway // NewGateway instantiates a new Gateway 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 NewGateway(availabilityZones GatewayGetAvailabilityZonesArgType, name GatewayGetNameArgType, planId GatewayGetPlanIdArgType) *Gateway { this := Gateway{} setGatewayGetAvailabilityZonesAttributeType(&this.AvailabilityZones, availabilityZones) setGatewayGetNameAttributeType(&this.Name, name) setGatewayGetPlanIdAttributeType(&this.PlanId, planId) return &this } // NewGatewayWithDefaults instantiates a new Gateway 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 NewGatewayWithDefaults() *Gateway { this := Gateway{} var region Region = REGION_EU01 this.Region = ®ion return &this } // GetRegion returns the Region field value if set, zero value otherwise. func (o *Gateway) GetRegion() (res GatewayGetRegionRetType) { res, _ = o.GetRegionOk() return } // GetRegionOk returns a tuple with the Region field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Gateway) GetRegionOk() (ret GatewayGetRegionRetType, ok bool) { return getGatewayGetRegionAttributeTypeOk(o.Region) } // HasRegion returns a boolean if a field has been set. func (o *Gateway) HasRegion() bool { _, ok := o.GetRegionOk() return ok } // SetRegion gets a reference to the given Region and assigns it to the Region field. func (o *Gateway) SetRegion(v GatewayGetRegionRetType) { setGatewayGetRegionAttributeType(&o.Region, v) } // GetState returns the State field value if set, zero value otherwise. func (o *Gateway) GetState() (res GatewayGetStateRetType) { res, _ = o.GetStateOk() return } // GetStateOk returns a tuple with the State field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Gateway) GetStateOk() (ret GatewayGetStateRetType, ok bool) { return getGatewayGetStateAttributeTypeOk(o.State) } // HasState returns a boolean if a field has been set. func (o *Gateway) HasState() bool { _, ok := o.GetStateOk() return ok } // SetState gets a reference to the given GatewayStatus and assigns it to the State field. func (o *Gateway) SetState(v GatewayGetStateRetType) { setGatewayGetStateAttributeType(&o.State, v) } // GetAvailabilityZones returns the AvailabilityZones field value func (o *Gateway) GetAvailabilityZones() (ret GatewayGetAvailabilityZonesRetType) { ret, _ = o.GetAvailabilityZonesOk() return ret } // GetAvailabilityZonesOk returns a tuple with the AvailabilityZones field value // and a boolean to check if the value has been set. func (o *Gateway) GetAvailabilityZonesOk() (ret GatewayGetAvailabilityZonesRetType, ok bool) { return getGatewayGetAvailabilityZonesAttributeTypeOk(o.AvailabilityZones) } // SetAvailabilityZones sets field value func (o *Gateway) SetAvailabilityZones(v GatewayGetAvailabilityZonesRetType) { setGatewayGetAvailabilityZonesAttributeType(&o.AvailabilityZones, v) } // GetBgpEnabled returns the BgpEnabled field value if set, zero value otherwise. func (o *Gateway) GetBgpEnabled() (res GatewaygetBgpEnabledRetType) { res, _ = o.GetBgpEnabledOk() return } // GetBgpEnabledOk returns a tuple with the BgpEnabled field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Gateway) GetBgpEnabledOk() (ret GatewaygetBgpEnabledRetType, ok bool) { return getGatewaygetBgpEnabledAttributeTypeOk(o.BgpEnabled) } // HasBgpEnabled returns a boolean if a field has been set. func (o *Gateway) HasBgpEnabled() bool { _, ok := o.GetBgpEnabledOk() return ok } // SetBgpEnabled gets a reference to the given bool and assigns it to the BgpEnabled field. func (o *Gateway) SetBgpEnabled(v GatewaygetBgpEnabledRetType) { setGatewaygetBgpEnabledAttributeType(&o.BgpEnabled, v) } // GetBgpGatewayConfig returns the BgpGatewayConfig field value if set, zero value otherwise. func (o *Gateway) GetBgpGatewayConfig() (res GatewayGetBgpGatewayConfigRetType) { res, _ = o.GetBgpGatewayConfigOk() return } // GetBgpGatewayConfigOk returns a tuple with the BgpGatewayConfig field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Gateway) GetBgpGatewayConfigOk() (ret GatewayGetBgpGatewayConfigRetType, ok bool) { return getGatewayGetBgpGatewayConfigAttributeTypeOk(o.BgpGatewayConfig) } // HasBgpGatewayConfig returns a boolean if a field has been set. func (o *Gateway) HasBgpGatewayConfig() bool { _, ok := o.GetBgpGatewayConfigOk() return ok } // SetBgpGatewayConfig gets a reference to the given BGPGatewayConfig and assigns it to the BgpGatewayConfig field. func (o *Gateway) SetBgpGatewayConfig(v GatewayGetBgpGatewayConfigRetType) { setGatewayGetBgpGatewayConfigAttributeType(&o.BgpGatewayConfig, v) } // GetLabels returns the Labels field value if set, zero value otherwise. func (o *Gateway) GetLabels() (res GatewayGetLabelsRetType) { res, _ = o.GetLabelsOk() return } // GetLabelsOk returns a tuple with the Labels field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Gateway) GetLabelsOk() (ret GatewayGetLabelsRetType, ok bool) { return getGatewayGetLabelsAttributeTypeOk(o.Labels) } // HasLabels returns a boolean if a field has been set. func (o *Gateway) HasLabels() bool { _, ok := o.GetLabelsOk() return ok } // SetLabels gets a reference to the given map[string]string and assigns it to the Labels field. func (o *Gateway) SetLabels(v GatewayGetLabelsRetType) { setGatewayGetLabelsAttributeType(&o.Labels, v) } // GetName returns the Name field value func (o *Gateway) GetName() (ret GatewayGetNameRetType) { ret, _ = o.GetNameOk() return ret } // GetNameOk returns a tuple with the Name field value // and a boolean to check if the value has been set. func (o *Gateway) GetNameOk() (ret GatewayGetNameRetType, ok bool) { return getGatewayGetNameAttributeTypeOk(o.Name) } // SetName sets field value func (o *Gateway) SetName(v GatewayGetNameRetType) { setGatewayGetNameAttributeType(&o.Name, v) } // GetPlanId returns the PlanId field value func (o *Gateway) GetPlanId() (ret GatewayGetPlanIdRetType) { ret, _ = o.GetPlanIdOk() return ret } // GetPlanIdOk returns a tuple with the PlanId field value // and a boolean to check if the value has been set. func (o *Gateway) GetPlanIdOk() (ret GatewayGetPlanIdRetType, ok bool) { return getGatewayGetPlanIdAttributeTypeOk(o.PlanId) } // SetPlanId sets field value func (o *Gateway) SetPlanId(v GatewayGetPlanIdRetType) { setGatewayGetPlanIdAttributeType(&o.PlanId, v) } func (o Gateway) ToMap() (map[string]interface{}, error) { toSerialize := map[string]interface{}{} if val, ok := getGatewayGetRegionAttributeTypeOk(o.Region); ok { toSerialize["Region"] = val } if val, ok := getGatewayGetStateAttributeTypeOk(o.State); ok { toSerialize["State"] = val } if val, ok := getGatewayGetAvailabilityZonesAttributeTypeOk(o.AvailabilityZones); ok { toSerialize["AvailabilityZones"] = val } if val, ok := getGatewaygetBgpEnabledAttributeTypeOk(o.BgpEnabled); ok { toSerialize["BgpEnabled"] = val } if val, ok := getGatewayGetBgpGatewayConfigAttributeTypeOk(o.BgpGatewayConfig); ok { toSerialize["BgpGatewayConfig"] = val } if val, ok := getGatewayGetLabelsAttributeTypeOk(o.Labels); ok { toSerialize["Labels"] = val } if val, ok := getGatewayGetNameAttributeTypeOk(o.Name); ok { toSerialize["Name"] = val } if val, ok := getGatewayGetPlanIdAttributeTypeOk(o.PlanId); ok { toSerialize["PlanId"] = val } return toSerialize, nil } type NullableGateway struct { value *Gateway isSet bool } func (v NullableGateway) Get() *Gateway { return v.value } func (v *NullableGateway) Set(val *Gateway) { v.value = val v.isSet = true } func (v NullableGateway) IsSet() bool { return v.isSet } func (v *NullableGateway) Unset() { v.value = nil v.isSet = false } func NewNullableGateway(val *Gateway) *NullableGateway { return &NullableGateway{value: val, isSet: true} } func (v NullableGateway) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } func (v *NullableGateway) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) }