/* STACKIT Application Load Balancer API ### DEPRECATED! This API offers an interface to provision and manage load balancing servers in your STACKIT project. It also has the possibility of pooling target servers for load balancing purposes. For each application load balancer provided, two VMs are deployed in your OpenStack project subject to a fee. API version: 2beta2.0.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. package albbeta import ( "encoding/json" ) // checks if the Rule type satisfies the MappedNullable interface at compile time var _ MappedNullable = &Rule{} /* types and functions for cookiePersistence */ // isModel type RuleGetCookiePersistenceAttributeType = *CookiePersistence type RuleGetCookiePersistenceArgType = CookiePersistence type RuleGetCookiePersistenceRetType = CookiePersistence func getRuleGetCookiePersistenceAttributeTypeOk(arg RuleGetCookiePersistenceAttributeType) (ret RuleGetCookiePersistenceRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setRuleGetCookiePersistenceAttributeType(arg *RuleGetCookiePersistenceAttributeType, val RuleGetCookiePersistenceRetType) { *arg = &val } /* types and functions for headers */ // isArray type RuleGetHeadersAttributeType = *[]HttpHeader type RuleGetHeadersArgType = []HttpHeader type RuleGetHeadersRetType = []HttpHeader func getRuleGetHeadersAttributeTypeOk(arg RuleGetHeadersAttributeType) (ret RuleGetHeadersRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setRuleGetHeadersAttributeType(arg *RuleGetHeadersAttributeType, val RuleGetHeadersRetType) { *arg = &val } /* types and functions for path */ // isModel type RuleGetPathAttributeType = *Path type RuleGetPathArgType = Path type RuleGetPathRetType = Path func getRuleGetPathAttributeTypeOk(arg RuleGetPathAttributeType) (ret RuleGetPathRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setRuleGetPathAttributeType(arg *RuleGetPathAttributeType, val RuleGetPathRetType) { *arg = &val } /* types and functions for pathPrefix */ // isNotNullableString type RuleGetPathPrefixAttributeType = *string func getRuleGetPathPrefixAttributeTypeOk(arg RuleGetPathPrefixAttributeType) (ret RuleGetPathPrefixRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setRuleGetPathPrefixAttributeType(arg *RuleGetPathPrefixAttributeType, val RuleGetPathPrefixRetType) { *arg = &val } type RuleGetPathPrefixArgType = string type RuleGetPathPrefixRetType = string /* types and functions for queryParameters */ // isArray type RuleGetQueryParametersAttributeType = *[]QueryParameter type RuleGetQueryParametersArgType = []QueryParameter type RuleGetQueryParametersRetType = []QueryParameter func getRuleGetQueryParametersAttributeTypeOk(arg RuleGetQueryParametersAttributeType) (ret RuleGetQueryParametersRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setRuleGetQueryParametersAttributeType(arg *RuleGetQueryParametersAttributeType, val RuleGetQueryParametersRetType) { *arg = &val } /* types and functions for targetPool */ // isNotNullableString type RuleGetTargetPoolAttributeType = *string func getRuleGetTargetPoolAttributeTypeOk(arg RuleGetTargetPoolAttributeType) (ret RuleGetTargetPoolRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setRuleGetTargetPoolAttributeType(arg *RuleGetTargetPoolAttributeType, val RuleGetTargetPoolRetType) { *arg = &val } type RuleGetTargetPoolArgType = string type RuleGetTargetPoolRetType = string /* types and functions for webSocket */ // isBoolean type RulegetWebSocketAttributeType = *bool type RulegetWebSocketArgType = bool type RulegetWebSocketRetType = bool func getRulegetWebSocketAttributeTypeOk(arg RulegetWebSocketAttributeType) (ret RulegetWebSocketRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setRulegetWebSocketAttributeType(arg *RulegetWebSocketAttributeType, val RulegetWebSocketRetType) { *arg = &val } // Rule struct for Rule type Rule struct { CookiePersistence RuleGetCookiePersistenceAttributeType `json:"cookiePersistence,omitempty"` // Headers for the rule. Headers RuleGetHeadersAttributeType `json:"headers,omitempty"` Path RuleGetPathAttributeType `json:"path,omitempty"` // Legacy path prefix match. Optional. If not set, defaults to root path '/'. Cannot be set if 'path' is used. Prefer using 'path.prefix' instead. Only matches on full segment boundaries, e.g. '/foo' matches '/foo' and '/foo/bar' but NOT '/foobar'. PathPrefix RuleGetPathPrefixAttributeType `json:"pathPrefix,omitempty"` // Query Parameters for the rule. QueryParameters RuleGetQueryParametersAttributeType `json:"queryParameters,omitempty"` // Reference target pool by target pool name. TargetPool RuleGetTargetPoolAttributeType `json:"targetPool,omitempty"` // If enabled, when client sends an HTTP request with and Upgrade header, indicating the desire to establish a Websocket connection, if backend server supports WebSocket, it responds with HTTP 101 status code, switching protocols from HTTP to WebSocket. Hence the client and the server can exchange data in real-time using one long-lived TCP connection. WebSocket RulegetWebSocketAttributeType `json:"webSocket,omitempty"` } // NewRule instantiates a new Rule 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 NewRule() *Rule { this := Rule{} return &this } // NewRuleWithDefaults instantiates a new Rule 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 NewRuleWithDefaults() *Rule { this := Rule{} return &this } // GetCookiePersistence returns the CookiePersistence field value if set, zero value otherwise. func (o *Rule) GetCookiePersistence() (res RuleGetCookiePersistenceRetType) { res, _ = o.GetCookiePersistenceOk() return } // GetCookiePersistenceOk returns a tuple with the CookiePersistence field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Rule) GetCookiePersistenceOk() (ret RuleGetCookiePersistenceRetType, ok bool) { return getRuleGetCookiePersistenceAttributeTypeOk(o.CookiePersistence) } // HasCookiePersistence returns a boolean if a field has been set. func (o *Rule) HasCookiePersistence() bool { _, ok := o.GetCookiePersistenceOk() return ok } // SetCookiePersistence gets a reference to the given CookiePersistence and assigns it to the CookiePersistence field. func (o *Rule) SetCookiePersistence(v RuleGetCookiePersistenceRetType) { setRuleGetCookiePersistenceAttributeType(&o.CookiePersistence, v) } // GetHeaders returns the Headers field value if set, zero value otherwise. func (o *Rule) GetHeaders() (res RuleGetHeadersRetType) { res, _ = o.GetHeadersOk() return } // GetHeadersOk returns a tuple with the Headers field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Rule) GetHeadersOk() (ret RuleGetHeadersRetType, ok bool) { return getRuleGetHeadersAttributeTypeOk(o.Headers) } // HasHeaders returns a boolean if a field has been set. func (o *Rule) HasHeaders() bool { _, ok := o.GetHeadersOk() return ok } // SetHeaders gets a reference to the given []HttpHeader and assigns it to the Headers field. func (o *Rule) SetHeaders(v RuleGetHeadersRetType) { setRuleGetHeadersAttributeType(&o.Headers, v) } // GetPath returns the Path field value if set, zero value otherwise. func (o *Rule) GetPath() (res RuleGetPathRetType) { res, _ = o.GetPathOk() return } // GetPathOk returns a tuple with the Path field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Rule) GetPathOk() (ret RuleGetPathRetType, ok bool) { return getRuleGetPathAttributeTypeOk(o.Path) } // HasPath returns a boolean if a field has been set. func (o *Rule) HasPath() bool { _, ok := o.GetPathOk() return ok } // SetPath gets a reference to the given Path and assigns it to the Path field. func (o *Rule) SetPath(v RuleGetPathRetType) { setRuleGetPathAttributeType(&o.Path, v) } // GetPathPrefix returns the PathPrefix field value if set, zero value otherwise. func (o *Rule) GetPathPrefix() (res RuleGetPathPrefixRetType) { res, _ = o.GetPathPrefixOk() return } // GetPathPrefixOk returns a tuple with the PathPrefix field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Rule) GetPathPrefixOk() (ret RuleGetPathPrefixRetType, ok bool) { return getRuleGetPathPrefixAttributeTypeOk(o.PathPrefix) } // HasPathPrefix returns a boolean if a field has been set. func (o *Rule) HasPathPrefix() bool { _, ok := o.GetPathPrefixOk() return ok } // SetPathPrefix gets a reference to the given string and assigns it to the PathPrefix field. func (o *Rule) SetPathPrefix(v RuleGetPathPrefixRetType) { setRuleGetPathPrefixAttributeType(&o.PathPrefix, v) } // GetQueryParameters returns the QueryParameters field value if set, zero value otherwise. func (o *Rule) GetQueryParameters() (res RuleGetQueryParametersRetType) { res, _ = o.GetQueryParametersOk() return } // GetQueryParametersOk returns a tuple with the QueryParameters field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Rule) GetQueryParametersOk() (ret RuleGetQueryParametersRetType, ok bool) { return getRuleGetQueryParametersAttributeTypeOk(o.QueryParameters) } // HasQueryParameters returns a boolean if a field has been set. func (o *Rule) HasQueryParameters() bool { _, ok := o.GetQueryParametersOk() return ok } // SetQueryParameters gets a reference to the given []QueryParameter and assigns it to the QueryParameters field. func (o *Rule) SetQueryParameters(v RuleGetQueryParametersRetType) { setRuleGetQueryParametersAttributeType(&o.QueryParameters, v) } // GetTargetPool returns the TargetPool field value if set, zero value otherwise. func (o *Rule) GetTargetPool() (res RuleGetTargetPoolRetType) { res, _ = o.GetTargetPoolOk() return } // GetTargetPoolOk returns a tuple with the TargetPool field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Rule) GetTargetPoolOk() (ret RuleGetTargetPoolRetType, ok bool) { return getRuleGetTargetPoolAttributeTypeOk(o.TargetPool) } // HasTargetPool returns a boolean if a field has been set. func (o *Rule) HasTargetPool() bool { _, ok := o.GetTargetPoolOk() return ok } // SetTargetPool gets a reference to the given string and assigns it to the TargetPool field. func (o *Rule) SetTargetPool(v RuleGetTargetPoolRetType) { setRuleGetTargetPoolAttributeType(&o.TargetPool, v) } // GetWebSocket returns the WebSocket field value if set, zero value otherwise. func (o *Rule) GetWebSocket() (res RulegetWebSocketRetType) { res, _ = o.GetWebSocketOk() return } // GetWebSocketOk returns a tuple with the WebSocket field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *Rule) GetWebSocketOk() (ret RulegetWebSocketRetType, ok bool) { return getRulegetWebSocketAttributeTypeOk(o.WebSocket) } // HasWebSocket returns a boolean if a field has been set. func (o *Rule) HasWebSocket() bool { _, ok := o.GetWebSocketOk() return ok } // SetWebSocket gets a reference to the given bool and assigns it to the WebSocket field. func (o *Rule) SetWebSocket(v RulegetWebSocketRetType) { setRulegetWebSocketAttributeType(&o.WebSocket, v) } func (o Rule) ToMap() (map[string]interface{}, error) { toSerialize := map[string]interface{}{} if val, ok := getRuleGetCookiePersistenceAttributeTypeOk(o.CookiePersistence); ok { toSerialize["CookiePersistence"] = val } if val, ok := getRuleGetHeadersAttributeTypeOk(o.Headers); ok { toSerialize["Headers"] = val } if val, ok := getRuleGetPathAttributeTypeOk(o.Path); ok { toSerialize["Path"] = val } if val, ok := getRuleGetPathPrefixAttributeTypeOk(o.PathPrefix); ok { toSerialize["PathPrefix"] = val } if val, ok := getRuleGetQueryParametersAttributeTypeOk(o.QueryParameters); ok { toSerialize["QueryParameters"] = val } if val, ok := getRuleGetTargetPoolAttributeTypeOk(o.TargetPool); ok { toSerialize["TargetPool"] = val } if val, ok := getRulegetWebSocketAttributeTypeOk(o.WebSocket); ok { toSerialize["WebSocket"] = val } return toSerialize, nil } type NullableRule struct { value *Rule isSet bool } func (v NullableRule) Get() *Rule { return v.value } func (v *NullableRule) Set(val *Rule) { v.value = val v.isSet = true } func (v NullableRule) IsSet() bool { return v.isSet } func (v *NullableRule) Unset() { v.value = nil v.isSet = false } func NewNullableRule(val *Rule) *NullableRule { return &NullableRule{value: val, isSet: true} } func (v NullableRule) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } func (v *NullableRule) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) }