internal/httpclient/model_trust_o_auth2_jwt_grant_issuer.go
/*
Ory Hydra API
Documentation for all of Ory Hydra's APIs.
API version:
Contact: hi@ory.sh
*/
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
package openapi
import (
"bytes"
"encoding/json"
"fmt"
"time"
)
// checks if the TrustOAuth2JwtGrantIssuer type satisfies the MappedNullable interface at compile time
var _ MappedNullable = &TrustOAuth2JwtGrantIssuer{}
// TrustOAuth2JwtGrantIssuer Trust OAuth2 JWT Bearer Grant Type Issuer Request Body
type TrustOAuth2JwtGrantIssuer struct {
// The \"allow_any_subject\" indicates that the issuer is allowed to have any principal as the subject of the JWT.
AllowAnySubject *bool `json:"allow_any_subject,omitempty"`
// The \"expires_at\" indicates, when grant will expire, so we will reject assertion from \"issuer\" targeting \"subject\".
ExpiresAt time.Time `json:"expires_at"`
// The \"issuer\" identifies the principal that issued the JWT assertion (same as \"iss\" claim in JWT).
Issuer string `json:"issuer"`
Jwk JsonWebKey `json:"jwk"`
// The \"scope\" contains list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749])
Scope []string `json:"scope"`
// The \"subject\" identifies the principal that is the subject of the JWT.
Subject *string `json:"subject,omitempty"`
}
type _TrustOAuth2JwtGrantIssuer TrustOAuth2JwtGrantIssuer
// NewTrustOAuth2JwtGrantIssuer instantiates a new TrustOAuth2JwtGrantIssuer 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 NewTrustOAuth2JwtGrantIssuer(expiresAt time.Time, issuer string, jwk JsonWebKey, scope []string) *TrustOAuth2JwtGrantIssuer {
this := TrustOAuth2JwtGrantIssuer{}
this.ExpiresAt = expiresAt
this.Issuer = issuer
this.Jwk = jwk
this.Scope = scope
return &this
}
// NewTrustOAuth2JwtGrantIssuerWithDefaults instantiates a new TrustOAuth2JwtGrantIssuer 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 NewTrustOAuth2JwtGrantIssuerWithDefaults() *TrustOAuth2JwtGrantIssuer {
this := TrustOAuth2JwtGrantIssuer{}
return &this
}
// GetAllowAnySubject returns the AllowAnySubject field value if set, zero value otherwise.
func (o *TrustOAuth2JwtGrantIssuer) GetAllowAnySubject() bool {
if o == nil || IsNil(o.AllowAnySubject) {
var ret bool
return ret
}
return *o.AllowAnySubject
}
// GetAllowAnySubjectOk returns a tuple with the AllowAnySubject field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TrustOAuth2JwtGrantIssuer) GetAllowAnySubjectOk() (*bool, bool) {
if o == nil || IsNil(o.AllowAnySubject) {
return nil, false
}
return o.AllowAnySubject, true
}
// HasAllowAnySubject returns a boolean if a field has been set.
func (o *TrustOAuth2JwtGrantIssuer) HasAllowAnySubject() bool {
if o != nil && !IsNil(o.AllowAnySubject) {
return true
}
return false
}
// SetAllowAnySubject gets a reference to the given bool and assigns it to the AllowAnySubject field.
func (o *TrustOAuth2JwtGrantIssuer) SetAllowAnySubject(v bool) {
o.AllowAnySubject = &v
}
// GetExpiresAt returns the ExpiresAt field value
func (o *TrustOAuth2JwtGrantIssuer) GetExpiresAt() time.Time {
if o == nil {
var ret time.Time
return ret
}
return o.ExpiresAt
}
// GetExpiresAtOk returns a tuple with the ExpiresAt field value
// and a boolean to check if the value has been set.
func (o *TrustOAuth2JwtGrantIssuer) GetExpiresAtOk() (*time.Time, bool) {
if o == nil {
return nil, false
}
return &o.ExpiresAt, true
}
// SetExpiresAt sets field value
func (o *TrustOAuth2JwtGrantIssuer) SetExpiresAt(v time.Time) {
o.ExpiresAt = v
}
// GetIssuer returns the Issuer field value
func (o *TrustOAuth2JwtGrantIssuer) GetIssuer() string {
if o == nil {
var ret string
return ret
}
return o.Issuer
}
// GetIssuerOk returns a tuple with the Issuer field value
// and a boolean to check if the value has been set.
func (o *TrustOAuth2JwtGrantIssuer) GetIssuerOk() (*string, bool) {
if o == nil {
return nil, false
}
return &o.Issuer, true
}
// SetIssuer sets field value
func (o *TrustOAuth2JwtGrantIssuer) SetIssuer(v string) {
o.Issuer = v
}
// GetJwk returns the Jwk field value
func (o *TrustOAuth2JwtGrantIssuer) GetJwk() JsonWebKey {
if o == nil {
var ret JsonWebKey
return ret
}
return o.Jwk
}
// GetJwkOk returns a tuple with the Jwk field value
// and a boolean to check if the value has been set.
func (o *TrustOAuth2JwtGrantIssuer) GetJwkOk() (*JsonWebKey, bool) {
if o == nil {
return nil, false
}
return &o.Jwk, true
}
// SetJwk sets field value
func (o *TrustOAuth2JwtGrantIssuer) SetJwk(v JsonWebKey) {
o.Jwk = v
}
// GetScope returns the Scope field value
func (o *TrustOAuth2JwtGrantIssuer) GetScope() []string {
if o == nil {
var ret []string
return ret
}
return o.Scope
}
// GetScopeOk returns a tuple with the Scope field value
// and a boolean to check if the value has been set.
func (o *TrustOAuth2JwtGrantIssuer) GetScopeOk() ([]string, bool) {
if o == nil {
return nil, false
}
return o.Scope, true
}
// SetScope sets field value
func (o *TrustOAuth2JwtGrantIssuer) SetScope(v []string) {
o.Scope = v
}
// GetSubject returns the Subject field value if set, zero value otherwise.
func (o *TrustOAuth2JwtGrantIssuer) GetSubject() string {
if o == nil || IsNil(o.Subject) {
var ret string
return ret
}
return *o.Subject
}
// GetSubjectOk returns a tuple with the Subject field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *TrustOAuth2JwtGrantIssuer) GetSubjectOk() (*string, bool) {
if o == nil || IsNil(o.Subject) {
return nil, false
}
return o.Subject, true
}
// HasSubject returns a boolean if a field has been set.
func (o *TrustOAuth2JwtGrantIssuer) HasSubject() bool {
if o != nil && !IsNil(o.Subject) {
return true
}
return false
}
// SetSubject gets a reference to the given string and assigns it to the Subject field.
func (o *TrustOAuth2JwtGrantIssuer) SetSubject(v string) {
o.Subject = &v
}
func (o TrustOAuth2JwtGrantIssuer) MarshalJSON() ([]byte, error) {
toSerialize, err := o.ToMap()
if err != nil {
return []byte{}, err
}
return json.Marshal(toSerialize)
}
func (o TrustOAuth2JwtGrantIssuer) ToMap() (map[string]interface{}, error) {
toSerialize := map[string]interface{}{}
if !IsNil(o.AllowAnySubject) {
toSerialize["allow_any_subject"] = o.AllowAnySubject
}
toSerialize["expires_at"] = o.ExpiresAt
toSerialize["issuer"] = o.Issuer
toSerialize["jwk"] = o.Jwk
toSerialize["scope"] = o.Scope
if !IsNil(o.Subject) {
toSerialize["subject"] = o.Subject
}
return toSerialize, nil
}
func (o *TrustOAuth2JwtGrantIssuer) 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{
"expires_at",
"issuer",
"jwk",
"scope",
}
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)
}
}
varTrustOAuth2JwtGrantIssuer := _TrustOAuth2JwtGrantIssuer{}
decoder := json.NewDecoder(bytes.NewReader(data))
decoder.DisallowUnknownFields()
err = decoder.Decode(&varTrustOAuth2JwtGrantIssuer)
if err != nil {
return err
}
*o = TrustOAuth2JwtGrantIssuer(varTrustOAuth2JwtGrantIssuer)
return err
}
type NullableTrustOAuth2JwtGrantIssuer struct {
value *TrustOAuth2JwtGrantIssuer
isSet bool
}
func (v NullableTrustOAuth2JwtGrantIssuer) Get() *TrustOAuth2JwtGrantIssuer {
return v.value
}
func (v *NullableTrustOAuth2JwtGrantIssuer) Set(val *TrustOAuth2JwtGrantIssuer) {
v.value = val
v.isSet = true
}
func (v NullableTrustOAuth2JwtGrantIssuer) IsSet() bool {
return v.isSet
}
func (v *NullableTrustOAuth2JwtGrantIssuer) Unset() {
v.value = nil
v.isSet = false
}
func NewNullableTrustOAuth2JwtGrantIssuer(val *TrustOAuth2JwtGrantIssuer) *NullableTrustOAuth2JwtGrantIssuer {
return &NullableTrustOAuth2JwtGrantIssuer{value: val, isSet: true}
}
func (v NullableTrustOAuth2JwtGrantIssuer) MarshalJSON() ([]byte, error) {
return json.Marshal(v.value)
}
func (v *NullableTrustOAuth2JwtGrantIssuer) UnmarshalJSON(src []byte) error {
v.isSet = true
return json.Unmarshal(src, &v.value)
}