/* STACKIT File Storage (SFS) API used to create and manage NFS Shares. API version: 1beta.0.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. package sfsbeta import ( "encoding/json" "time" ) // checks if the ShareExportPolicyRule type satisfies the MappedNullable interface at compile time var _ MappedNullable = &ShareExportPolicyRule{} /* types and functions for createdAt */ // isDateTime type ShareExportPolicyRuleGetCreatedAtAttributeType = *time.Time type ShareExportPolicyRuleGetCreatedAtArgType = time.Time type ShareExportPolicyRuleGetCreatedAtRetType = time.Time func getShareExportPolicyRuleGetCreatedAtAttributeTypeOk(arg ShareExportPolicyRuleGetCreatedAtAttributeType) (ret ShareExportPolicyRuleGetCreatedAtRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setShareExportPolicyRuleGetCreatedAtAttributeType(arg *ShareExportPolicyRuleGetCreatedAtAttributeType, val ShareExportPolicyRuleGetCreatedAtRetType) { *arg = &val } /* types and functions for description */ // isNullableString type ShareExportPolicyRuleGetDescriptionAttributeType = *NullableString func getShareExportPolicyRuleGetDescriptionAttributeTypeOk(arg ShareExportPolicyRuleGetDescriptionAttributeType) (ret ShareExportPolicyRuleGetDescriptionRetType, ok bool) { if arg == nil { return nil, false } return arg.Get(), true } func setShareExportPolicyRuleGetDescriptionAttributeType(arg *ShareExportPolicyRuleGetDescriptionAttributeType, val ShareExportPolicyRuleGetDescriptionRetType) { if IsNil(*arg) { *arg = NewNullableString(val) } else { (*arg).Set(val) } } type ShareExportPolicyRuleGetDescriptionArgType = *string type ShareExportPolicyRuleGetDescriptionRetType = *string /* types and functions for id */ // isNotNullableString type ShareExportPolicyRuleGetIdAttributeType = *string func getShareExportPolicyRuleGetIdAttributeTypeOk(arg ShareExportPolicyRuleGetIdAttributeType) (ret ShareExportPolicyRuleGetIdRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setShareExportPolicyRuleGetIdAttributeType(arg *ShareExportPolicyRuleGetIdAttributeType, val ShareExportPolicyRuleGetIdRetType) { *arg = &val } type ShareExportPolicyRuleGetIdArgType = string type ShareExportPolicyRuleGetIdRetType = string /* types and functions for ipAcl */ // isArray type ShareExportPolicyRuleGetIpAclAttributeType = *[]string type ShareExportPolicyRuleGetIpAclArgType = []string type ShareExportPolicyRuleGetIpAclRetType = []string func getShareExportPolicyRuleGetIpAclAttributeTypeOk(arg ShareExportPolicyRuleGetIpAclAttributeType) (ret ShareExportPolicyRuleGetIpAclRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setShareExportPolicyRuleGetIpAclAttributeType(arg *ShareExportPolicyRuleGetIpAclAttributeType, val ShareExportPolicyRuleGetIpAclRetType) { *arg = &val } /* types and functions for order */ // isInteger type ShareExportPolicyRuleGetOrderAttributeType = *int64 type ShareExportPolicyRuleGetOrderArgType = int64 type ShareExportPolicyRuleGetOrderRetType = int64 func getShareExportPolicyRuleGetOrderAttributeTypeOk(arg ShareExportPolicyRuleGetOrderAttributeType) (ret ShareExportPolicyRuleGetOrderRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setShareExportPolicyRuleGetOrderAttributeType(arg *ShareExportPolicyRuleGetOrderAttributeType, val ShareExportPolicyRuleGetOrderRetType) { *arg = &val } /* types and functions for readOnly */ // isBoolean type ShareExportPolicyRulegetReadOnlyAttributeType = *bool type ShareExportPolicyRulegetReadOnlyArgType = bool type ShareExportPolicyRulegetReadOnlyRetType = bool func getShareExportPolicyRulegetReadOnlyAttributeTypeOk(arg ShareExportPolicyRulegetReadOnlyAttributeType) (ret ShareExportPolicyRulegetReadOnlyRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setShareExportPolicyRulegetReadOnlyAttributeType(arg *ShareExportPolicyRulegetReadOnlyAttributeType, val ShareExportPolicyRulegetReadOnlyRetType) { *arg = &val } /* types and functions for setUuid */ // isBoolean type ShareExportPolicyRulegetSetUuidAttributeType = *bool type ShareExportPolicyRulegetSetUuidArgType = bool type ShareExportPolicyRulegetSetUuidRetType = bool func getShareExportPolicyRulegetSetUuidAttributeTypeOk(arg ShareExportPolicyRulegetSetUuidAttributeType) (ret ShareExportPolicyRulegetSetUuidRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setShareExportPolicyRulegetSetUuidAttributeType(arg *ShareExportPolicyRulegetSetUuidAttributeType, val ShareExportPolicyRulegetSetUuidRetType) { *arg = &val } /* types and functions for superUser */ // isBoolean type ShareExportPolicyRulegetSuperUserAttributeType = *bool type ShareExportPolicyRulegetSuperUserArgType = bool type ShareExportPolicyRulegetSuperUserRetType = bool func getShareExportPolicyRulegetSuperUserAttributeTypeOk(arg ShareExportPolicyRulegetSuperUserAttributeType) (ret ShareExportPolicyRulegetSuperUserRetType, ok bool) { if arg == nil { return ret, false } return *arg, true } func setShareExportPolicyRulegetSuperUserAttributeType(arg *ShareExportPolicyRulegetSuperUserAttributeType, val ShareExportPolicyRulegetSuperUserRetType) { *arg = &val } // ShareExportPolicyRule struct for ShareExportPolicyRule type ShareExportPolicyRule struct { CreatedAt ShareExportPolicyRuleGetCreatedAtAttributeType `json:"createdAt,omitempty"` // Description of the Rule (optional) Description ShareExportPolicyRuleGetDescriptionAttributeType `json:"description,omitempty"` // ID of the Share Export Policy Rule Id ShareExportPolicyRuleGetIdAttributeType `json:"id,omitempty"` // IP access control list, where IPs must have a subnet mask (e.g. \"172.16.0.0/24\" for a range of IPs, or \"172.16.0.251/32\" for a specific IP) This array cannot be empty IpAcl ShareExportPolicyRuleGetIpAclAttributeType `json:"ipAcl,omitempty"` // Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied This field must be set // Can be cast to int32 without loss of precision. Order ShareExportPolicyRuleGetOrderAttributeType `json:"order,omitempty"` // Flag to indicate if client IPs matching this rule can only mount the share in read only mode Default: false ReadOnly ShareExportPolicyRulegetReadOnlyAttributeType `json:"readOnly,omitempty"` // Flag to honor set UUID Default: false SetUuid ShareExportPolicyRulegetSetUuidAttributeType `json:"setUuid,omitempty"` // Flag to indicate if client IPs matching this rule have root access on the Share Default: true SuperUser ShareExportPolicyRulegetSuperUserAttributeType `json:"superUser,omitempty"` } // NewShareExportPolicyRule instantiates a new ShareExportPolicyRule 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 NewShareExportPolicyRule() *ShareExportPolicyRule { this := ShareExportPolicyRule{} return &this } // NewShareExportPolicyRuleWithDefaults instantiates a new ShareExportPolicyRule 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 NewShareExportPolicyRuleWithDefaults() *ShareExportPolicyRule { this := ShareExportPolicyRule{} return &this } // GetCreatedAt returns the CreatedAt field value if set, zero value otherwise. func (o *ShareExportPolicyRule) GetCreatedAt() (res ShareExportPolicyRuleGetCreatedAtRetType) { res, _ = o.GetCreatedAtOk() return } // GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *ShareExportPolicyRule) GetCreatedAtOk() (ret ShareExportPolicyRuleGetCreatedAtRetType, ok bool) { return getShareExportPolicyRuleGetCreatedAtAttributeTypeOk(o.CreatedAt) } // HasCreatedAt returns a boolean if a field has been set. func (o *ShareExportPolicyRule) HasCreatedAt() bool { _, ok := o.GetCreatedAtOk() return ok } // SetCreatedAt gets a reference to the given time.Time and assigns it to the CreatedAt field. func (o *ShareExportPolicyRule) SetCreatedAt(v ShareExportPolicyRuleGetCreatedAtRetType) { setShareExportPolicyRuleGetCreatedAtAttributeType(&o.CreatedAt, v) } // GetDescription returns the Description field value if set, zero value otherwise (both if not set or set to explicit null). func (o *ShareExportPolicyRule) GetDescription() (res ShareExportPolicyRuleGetDescriptionRetType) { res, _ = o.GetDescriptionOk() return } // GetDescriptionOk returns a tuple with the Description 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 *ShareExportPolicyRule) GetDescriptionOk() (ret ShareExportPolicyRuleGetDescriptionRetType, ok bool) { return getShareExportPolicyRuleGetDescriptionAttributeTypeOk(o.Description) } // HasDescription returns a boolean if a field has been set. func (o *ShareExportPolicyRule) HasDescription() bool { _, ok := o.GetDescriptionOk() return ok } // SetDescription gets a reference to the given string and assigns it to the Description field. func (o *ShareExportPolicyRule) SetDescription(v ShareExportPolicyRuleGetDescriptionRetType) { setShareExportPolicyRuleGetDescriptionAttributeType(&o.Description, v) } // SetDescriptionNil sets the value for Description to be an explicit nil func (o *ShareExportPolicyRule) SetDescriptionNil() { o.Description = nil } // UnsetDescription ensures that no value is present for Description, not even an explicit nil func (o *ShareExportPolicyRule) UnsetDescription() { o.Description = nil } // GetId returns the Id field value if set, zero value otherwise. func (o *ShareExportPolicyRule) GetId() (res ShareExportPolicyRuleGetIdRetType) { res, _ = o.GetIdOk() return } // GetIdOk returns a tuple with the Id field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *ShareExportPolicyRule) GetIdOk() (ret ShareExportPolicyRuleGetIdRetType, ok bool) { return getShareExportPolicyRuleGetIdAttributeTypeOk(o.Id) } // HasId returns a boolean if a field has been set. func (o *ShareExportPolicyRule) HasId() bool { _, ok := o.GetIdOk() return ok } // SetId gets a reference to the given string and assigns it to the Id field. func (o *ShareExportPolicyRule) SetId(v ShareExportPolicyRuleGetIdRetType) { setShareExportPolicyRuleGetIdAttributeType(&o.Id, v) } // GetIpAcl returns the IpAcl field value if set, zero value otherwise. func (o *ShareExportPolicyRule) GetIpAcl() (res ShareExportPolicyRuleGetIpAclRetType) { res, _ = o.GetIpAclOk() return } // GetIpAclOk returns a tuple with the IpAcl field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *ShareExportPolicyRule) GetIpAclOk() (ret ShareExportPolicyRuleGetIpAclRetType, ok bool) { return getShareExportPolicyRuleGetIpAclAttributeTypeOk(o.IpAcl) } // HasIpAcl returns a boolean if a field has been set. func (o *ShareExportPolicyRule) HasIpAcl() bool { _, ok := o.GetIpAclOk() return ok } // SetIpAcl gets a reference to the given []string and assigns it to the IpAcl field. func (o *ShareExportPolicyRule) SetIpAcl(v ShareExportPolicyRuleGetIpAclRetType) { setShareExportPolicyRuleGetIpAclAttributeType(&o.IpAcl, v) } // GetOrder returns the Order field value if set, zero value otherwise. func (o *ShareExportPolicyRule) GetOrder() (res ShareExportPolicyRuleGetOrderRetType) { res, _ = o.GetOrderOk() return } // GetOrderOk returns a tuple with the Order field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *ShareExportPolicyRule) GetOrderOk() (ret ShareExportPolicyRuleGetOrderRetType, ok bool) { return getShareExportPolicyRuleGetOrderAttributeTypeOk(o.Order) } // HasOrder returns a boolean if a field has been set. func (o *ShareExportPolicyRule) HasOrder() bool { _, ok := o.GetOrderOk() return ok } // SetOrder gets a reference to the given int64 and assigns it to the Order field. func (o *ShareExportPolicyRule) SetOrder(v ShareExportPolicyRuleGetOrderRetType) { setShareExportPolicyRuleGetOrderAttributeType(&o.Order, v) } // GetReadOnly returns the ReadOnly field value if set, zero value otherwise. func (o *ShareExportPolicyRule) GetReadOnly() (res ShareExportPolicyRulegetReadOnlyRetType) { res, _ = o.GetReadOnlyOk() return } // GetReadOnlyOk returns a tuple with the ReadOnly field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *ShareExportPolicyRule) GetReadOnlyOk() (ret ShareExportPolicyRulegetReadOnlyRetType, ok bool) { return getShareExportPolicyRulegetReadOnlyAttributeTypeOk(o.ReadOnly) } // HasReadOnly returns a boolean if a field has been set. func (o *ShareExportPolicyRule) HasReadOnly() bool { _, ok := o.GetReadOnlyOk() return ok } // SetReadOnly gets a reference to the given bool and assigns it to the ReadOnly field. func (o *ShareExportPolicyRule) SetReadOnly(v ShareExportPolicyRulegetReadOnlyRetType) { setShareExportPolicyRulegetReadOnlyAttributeType(&o.ReadOnly, v) } // GetSetUuid returns the SetUuid field value if set, zero value otherwise. func (o *ShareExportPolicyRule) GetSetUuid() (res ShareExportPolicyRulegetSetUuidRetType) { res, _ = o.GetSetUuidOk() return } // GetSetUuidOk returns a tuple with the SetUuid field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *ShareExportPolicyRule) GetSetUuidOk() (ret ShareExportPolicyRulegetSetUuidRetType, ok bool) { return getShareExportPolicyRulegetSetUuidAttributeTypeOk(o.SetUuid) } // HasSetUuid returns a boolean if a field has been set. func (o *ShareExportPolicyRule) HasSetUuid() bool { _, ok := o.GetSetUuidOk() return ok } // SetSetUuid gets a reference to the given bool and assigns it to the SetUuid field. func (o *ShareExportPolicyRule) SetSetUuid(v ShareExportPolicyRulegetSetUuidRetType) { setShareExportPolicyRulegetSetUuidAttributeType(&o.SetUuid, v) } // GetSuperUser returns the SuperUser field value if set, zero value otherwise. func (o *ShareExportPolicyRule) GetSuperUser() (res ShareExportPolicyRulegetSuperUserRetType) { res, _ = o.GetSuperUserOk() return } // GetSuperUserOk returns a tuple with the SuperUser field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *ShareExportPolicyRule) GetSuperUserOk() (ret ShareExportPolicyRulegetSuperUserRetType, ok bool) { return getShareExportPolicyRulegetSuperUserAttributeTypeOk(o.SuperUser) } // HasSuperUser returns a boolean if a field has been set. func (o *ShareExportPolicyRule) HasSuperUser() bool { _, ok := o.GetSuperUserOk() return ok } // SetSuperUser gets a reference to the given bool and assigns it to the SuperUser field. func (o *ShareExportPolicyRule) SetSuperUser(v ShareExportPolicyRulegetSuperUserRetType) { setShareExportPolicyRulegetSuperUserAttributeType(&o.SuperUser, v) } func (o ShareExportPolicyRule) ToMap() (map[string]interface{}, error) { toSerialize := map[string]interface{}{} if val, ok := getShareExportPolicyRuleGetCreatedAtAttributeTypeOk(o.CreatedAt); ok { toSerialize["CreatedAt"] = val } if val, ok := getShareExportPolicyRuleGetDescriptionAttributeTypeOk(o.Description); ok { toSerialize["Description"] = val } if val, ok := getShareExportPolicyRuleGetIdAttributeTypeOk(o.Id); ok { toSerialize["Id"] = val } if val, ok := getShareExportPolicyRuleGetIpAclAttributeTypeOk(o.IpAcl); ok { toSerialize["IpAcl"] = val } if val, ok := getShareExportPolicyRuleGetOrderAttributeTypeOk(o.Order); ok { toSerialize["Order"] = val } if val, ok := getShareExportPolicyRulegetReadOnlyAttributeTypeOk(o.ReadOnly); ok { toSerialize["ReadOnly"] = val } if val, ok := getShareExportPolicyRulegetSetUuidAttributeTypeOk(o.SetUuid); ok { toSerialize["SetUuid"] = val } if val, ok := getShareExportPolicyRulegetSuperUserAttributeTypeOk(o.SuperUser); ok { toSerialize["SuperUser"] = val } return toSerialize, nil } type NullableShareExportPolicyRule struct { value *ShareExportPolicyRule isSet bool } func (v NullableShareExportPolicyRule) Get() *ShareExportPolicyRule { return v.value } func (v *NullableShareExportPolicyRule) Set(val *ShareExportPolicyRule) { v.value = val v.isSet = true } func (v NullableShareExportPolicyRule) IsSet() bool { return v.isSet } func (v *NullableShareExportPolicyRule) Unset() { v.value = nil v.isSet = false } func NewNullableShareExportPolicyRule(val *ShareExportPolicyRule) *NullableShareExportPolicyRule { return &NullableShareExportPolicyRule{value: val, isSet: true} } func (v NullableShareExportPolicyRule) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } func (v *NullableShareExportPolicyRule) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) }