/* Hindsight HTTP API HTTP API for Hindsight API version: 0.5.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. package hindsight import ( "encoding/json" "bytes" "fmt" ) // checks if the BankTemplateDirective type satisfies the MappedNullable interface at compile time var _ MappedNullable = &BankTemplateDirective{} // BankTemplateDirective A directive definition within a bank template manifest. Directives are matched by name on re-import: existing directives with the same name are updated, new ones are created. type BankTemplateDirective struct { // Human-readable name for the directive (used as match key on re-import) Name string `json:"name"` // The directive text to inject into prompts Content string `json:"content"` // Higher priority directives are injected first Priority *int32 `json:"priority,omitempty"` // Whether this directive is active IsActive *bool `json:"is_active,omitempty"` // Tags for filtering Tags []string `json:"tags,omitempty"` } type _BankTemplateDirective BankTemplateDirective // NewBankTemplateDirective instantiates a new BankTemplateDirective 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 NewBankTemplateDirective(name string, content string) *BankTemplateDirective { this := BankTemplateDirective{} this.Name = name this.Content = content var priority int32 = 0 this.Priority = &priority var isActive bool = true this.IsActive = &isActive return &this } // NewBankTemplateDirectiveWithDefaults instantiates a new BankTemplateDirective 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 NewBankTemplateDirectiveWithDefaults() *BankTemplateDirective { this := BankTemplateDirective{} var priority int32 = 0 this.Priority = &priority var isActive bool = true this.IsActive = &isActive return &this } // GetName returns the Name field value func (o *BankTemplateDirective) GetName() string { if o == nil { var ret string return ret } return o.Name } // GetNameOk returns a tuple with the Name field value // and a boolean to check if the value has been set. func (o *BankTemplateDirective) GetNameOk() (*string, bool) { if o == nil { return nil, false } return &o.Name, true } // SetName sets field value func (o *BankTemplateDirective) SetName(v string) { o.Name = v } // GetContent returns the Content field value func (o *BankTemplateDirective) GetContent() string { if o == nil { var ret string return ret } return o.Content } // GetContentOk returns a tuple with the Content field value // and a boolean to check if the value has been set. func (o *BankTemplateDirective) GetContentOk() (*string, bool) { if o == nil { return nil, false } return &o.Content, true } // SetContent sets field value func (o *BankTemplateDirective) SetContent(v string) { o.Content = v } // GetPriority returns the Priority field value if set, zero value otherwise. func (o *BankTemplateDirective) GetPriority() int32 { if o == nil || IsNil(o.Priority) { var ret int32 return ret } return *o.Priority } // GetPriorityOk returns a tuple with the Priority field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *BankTemplateDirective) GetPriorityOk() (*int32, bool) { if o == nil || IsNil(o.Priority) { return nil, false } return o.Priority, true } // HasPriority returns a boolean if a field has been set. func (o *BankTemplateDirective) HasPriority() bool { if o != nil && !IsNil(o.Priority) { return true } return false } // SetPriority gets a reference to the given int32 and assigns it to the Priority field. func (o *BankTemplateDirective) SetPriority(v int32) { o.Priority = &v } // GetIsActive returns the IsActive field value if set, zero value otherwise. func (o *BankTemplateDirective) GetIsActive() bool { if o == nil || IsNil(o.IsActive) { var ret bool return ret } return *o.IsActive } // GetIsActiveOk returns a tuple with the IsActive field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *BankTemplateDirective) GetIsActiveOk() (*bool, bool) { if o == nil || IsNil(o.IsActive) { return nil, false } return o.IsActive, true } // HasIsActive returns a boolean if a field has been set. func (o *BankTemplateDirective) HasIsActive() bool { if o != nil && !IsNil(o.IsActive) { return true } return false } // SetIsActive gets a reference to the given bool and assigns it to the IsActive field. func (o *BankTemplateDirective) SetIsActive(v bool) { o.IsActive = &v } // GetTags returns the Tags field value if set, zero value otherwise. func (o *BankTemplateDirective) GetTags() []string { if o == nil || IsNil(o.Tags) { var ret []string return ret } return o.Tags } // GetTagsOk returns a tuple with the Tags field value if set, nil otherwise // and a boolean to check if the value has been set. func (o *BankTemplateDirective) GetTagsOk() ([]string, bool) { if o == nil || IsNil(o.Tags) { return nil, false } return o.Tags, true } // HasTags returns a boolean if a field has been set. func (o *BankTemplateDirective) HasTags() bool { if o != nil && !IsNil(o.Tags) { return true } return false } // SetTags gets a reference to the given []string and assigns it to the Tags field. func (o *BankTemplateDirective) SetTags(v []string) { o.Tags = v } func (o BankTemplateDirective) MarshalJSON() ([]byte, error) { toSerialize,err := o.ToMap() if err != nil { return []byte{}, err } return json.Marshal(toSerialize) } func (o BankTemplateDirective) ToMap() (map[string]interface{}, error) { toSerialize := map[string]interface{}{} toSerialize["name"] = o.Name toSerialize["content"] = o.Content if !IsNil(o.Priority) { toSerialize["priority"] = o.Priority } if !IsNil(o.IsActive) { toSerialize["is_active"] = o.IsActive } if !IsNil(o.Tags) { toSerialize["tags"] = o.Tags } return toSerialize, nil } func (o *BankTemplateDirective) UnmarshalJSON(data []byte) (err error) { // This validates that all required properties are included in the JSON object // by unmarshalling the object into a generic map with string keys and checking // that every required field exists as a key in the generic map. requiredProperties := []string{ "name", "content", } allProperties := make(map[string]interface{}) err = json.Unmarshal(data, &allProperties) if err != nil { return err; } for _, requiredProperty := range(requiredProperties) { if _, exists := allProperties[requiredProperty]; !exists { return fmt.Errorf("no value given for required property %v", requiredProperty) } } varBankTemplateDirective := _BankTemplateDirective{} decoder := json.NewDecoder(bytes.NewReader(data)) decoder.DisallowUnknownFields() err = decoder.Decode(&varBankTemplateDirective) if err != nil { return err } *o = BankTemplateDirective(varBankTemplateDirective) return err } type NullableBankTemplateDirective struct { value *BankTemplateDirective isSet bool } func (v NullableBankTemplateDirective) Get() *BankTemplateDirective { return v.value } func (v *NullableBankTemplateDirective) Set(val *BankTemplateDirective) { v.value = val v.isSet = true } func (v NullableBankTemplateDirective) IsSet() bool { return v.isSet } func (v *NullableBankTemplateDirective) Unset() { v.value = nil v.isSet = false } func NewNullableBankTemplateDirective(val *BankTemplateDirective) *NullableBankTemplateDirective { return &NullableBankTemplateDirective{value: val, isSet: true} } func (v NullableBankTemplateDirective) MarshalJSON() ([]byte, error) { return json.Marshal(v.value) } func (v *NullableBankTemplateDirective) UnmarshalJSON(src []byte) error { v.isSet = true return json.Unmarshal(src, &v.value) }