github.com/safedep/dry@v0.0.0-20241016050132-a15651f0548b/apiguard/tykgen/model_policy.go (about)

     1  /*
     2   * Tyk Gateway API
     3   *
     4   * The Tyk Gateway API is the primary means for integrating your application with the Tyk API Gateway system. This API is very small, and has no granular permissions system. It is intended to be used purely for internal automation and integration.  **Warning: Under no circumstances should outside parties be granted access to this API.**  The Tyk Gateway API is capable of:  * Managing session objects (key generation) * Managing and listing policies * Managing and listing API Definitions (only when not using the Dashboard) * Hot reloads / reloading a cluster configuration * OAuth client creation (only when not using the Dashboard)   In order to use the Gateway API, you'll need to set the `secret` parameter in your tyk.conf file.  The shared secret you set should then be sent along as a header with each Gateway API Request in order for it to be successful:  ``` x-tyk-authorization: <your-secret> ``` <br/> <b>The Tyk Gateway API is subsumed by the Tyk Dashboard API in Pro installations.</b>
     5   *
     6   * API version: 5.5.0
     7   * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
     8   */
     9  package swagger
    10  
    11  type Policy struct {
    12  	InternalId                    string                      `json:"_id,omitempty"`
    13  	Id                            string                      `json:"id,omitempty"`
    14  	Name                          string                      `json:"name,omitempty"`
    15  	OrgId                         string                      `json:"org_id,omitempty"`
    16  	Rate                          float64                     `json:"rate,omitempty"`
    17  	Per                           float64                     `json:"per,omitempty"`
    18  	QuotaMax                      int64                       `json:"quota_max,omitempty"`
    19  	QuotaRenewalRate              int64                       `json:"quota_renewal_rate,omitempty"`
    20  	ThrottleInterval              float64                     `json:"throttle_interval,omitempty"`
    21  	ThrottleRetryLimit            float64                     `json:"throttle_retry_limit,omitempty"`
    22  	MaxQueryDepth                 float64                     `json:"max_query_depth,omitempty"`
    23  	AccessRights                  map[string]AccessDefinition `json:"access_rights,omitempty"`
    24  	HmacEnabled                   bool                        `json:"hmac_enabled,omitempty"`
    25  	EnableHttpSignatureValidation bool                        `json:"enable_http_signature_validation,omitempty"`
    26  	Active                        bool                        `json:"active,omitempty"`
    27  	IsInactive                    bool                        `json:"is_inactive,omitempty"`
    28  	Tags                          []string                    `json:"tags,omitempty"`
    29  	KeyExpiresIn                  float64                     `json:"key_expires_in,omitempty"`
    30  	Partitions                    *PolicyPartitions           `json:"partitions,omitempty"`
    31  	LastUpdated                   string                      `json:"last_updated,omitempty"`
    32  	Smoothing                     *RateLimitSmoothing         `json:"smoothing,omitempty"`
    33  	MetaData                      *interface{}                `json:"meta_data,omitempty"`
    34  	GraphqlAccessRights           *GraphAccessDefinition      `json:"graphql_access_rights,omitempty"`
    35  }