Documentation ¶
Index ¶
- func NewKuadrantIoAuthPolicyV1Beta2Manifest() datasource.DataSource
- func NewKuadrantIoRateLimitPolicyV1Beta2Manifest() datasource.DataSource
- type KuadrantIoAuthPolicyV1Beta2Manifest
- func (r *KuadrantIoAuthPolicyV1Beta2Manifest) Metadata(_ context.Context, request datasource.MetadataRequest, ...)
- func (r *KuadrantIoAuthPolicyV1Beta2Manifest) Read(ctx context.Context, request datasource.ReadRequest, ...)
- func (r *KuadrantIoAuthPolicyV1Beta2Manifest) Schema(_ context.Context, _ datasource.SchemaRequest, ...)
- type KuadrantIoAuthPolicyV1Beta2ManifestData
- type KuadrantIoRateLimitPolicyV1Beta2Manifest
- func (r *KuadrantIoRateLimitPolicyV1Beta2Manifest) Metadata(_ context.Context, request datasource.MetadataRequest, ...)
- func (r *KuadrantIoRateLimitPolicyV1Beta2Manifest) Read(ctx context.Context, request datasource.ReadRequest, ...)
- func (r *KuadrantIoRateLimitPolicyV1Beta2Manifest) Schema(_ context.Context, _ datasource.SchemaRequest, ...)
- type KuadrantIoRateLimitPolicyV1Beta2ManifestData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewKuadrantIoAuthPolicyV1Beta2Manifest ¶
func NewKuadrantIoAuthPolicyV1Beta2Manifest() datasource.DataSource
func NewKuadrantIoRateLimitPolicyV1Beta2Manifest ¶
func NewKuadrantIoRateLimitPolicyV1Beta2Manifest() datasource.DataSource
Types ¶
type KuadrantIoAuthPolicyV1Beta2Manifest ¶
type KuadrantIoAuthPolicyV1Beta2Manifest struct{}
func (*KuadrantIoAuthPolicyV1Beta2Manifest) Metadata ¶
func (r *KuadrantIoAuthPolicyV1Beta2Manifest) Metadata(_ context.Context, request datasource.MetadataRequest, response *datasource.MetadataResponse)
func (*KuadrantIoAuthPolicyV1Beta2Manifest) Read ¶
func (r *KuadrantIoAuthPolicyV1Beta2Manifest) Read(ctx context.Context, request datasource.ReadRequest, response *datasource.ReadResponse)
func (*KuadrantIoAuthPolicyV1Beta2Manifest) Schema ¶
func (r *KuadrantIoAuthPolicyV1Beta2Manifest) Schema(_ context.Context, _ datasource.SchemaRequest, response *datasource.SchemaResponse)
type KuadrantIoAuthPolicyV1Beta2ManifestData ¶
type KuadrantIoAuthPolicyV1Beta2ManifestData struct { YAML types.String `tfsdk:"yaml" json:"-"` ApiVersion *string `tfsdk:"-" json:"apiVersion"` Kind *string `tfsdk:"-" json:"kind"` Metadata struct { Name string `tfsdk:"name" json:"name"` Namespace string `tfsdk:"namespace" json:"namespace"` Labels map[string]string `tfsdk:"labels" json:"labels,omitempty"` Annotations map[string]string `tfsdk:"annotations" json:"annotations,omitempty"` } `tfsdk:"metadata" json:"metadata"` Spec *struct { Defaults *struct { Patterns *map[string]string `tfsdk:"patterns" json:"patterns,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` Rules *struct { Authentication *struct { Anonymous *map[string]string `tfsdk:"anonymous" json:"anonymous,omitempty"` ApiKey *struct { AllNamespaces *bool `tfsdk:"all_namespaces" json:"allNamespaces,omitempty"` Selector *struct { MatchExpressions *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` Values *[]string `tfsdk:"values" json:"values,omitempty"` } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` } `tfsdk:"selector" json:"selector,omitempty"` } `tfsdk:"api_key" json:"apiKey,omitempty"` Cache *struct { Key *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"key" json:"key,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"cache" json:"cache,omitempty"` Credentials *struct { AuthorizationHeader *struct { Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` } `tfsdk:"authorization_header" json:"authorizationHeader,omitempty"` Cookie *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"cookie" json:"cookie,omitempty"` CustomHeader *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"custom_header" json:"customHeader,omitempty"` QueryString *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"query_string" json:"queryString,omitempty"` } `tfsdk:"credentials" json:"credentials,omitempty"` Defaults *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"defaults" json:"defaults,omitempty"` Jwt *struct { IssuerUrl *string `tfsdk:"issuer_url" json:"issuerUrl,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"jwt" json:"jwt,omitempty"` KubernetesTokenReview *struct { Audiences *[]string `tfsdk:"audiences" json:"audiences,omitempty"` } `tfsdk:"kubernetes_token_review" json:"kubernetesTokenReview,omitempty"` Metrics *bool `tfsdk:"metrics" json:"metrics,omitempty"` Oauth2Introspection *struct { CredentialsRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"credentials_ref" json:"credentialsRef,omitempty"` Endpoint *string `tfsdk:"endpoint" json:"endpoint,omitempty"` TokenTypeHint *string `tfsdk:"token_type_hint" json:"tokenTypeHint,omitempty"` } `tfsdk:"oauth2_introspection" json:"oauth2Introspection,omitempty"` Overrides *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"overrides" json:"overrides,omitempty"` Plain *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` } `tfsdk:"plain" json:"plain,omitempty"` Priority *int64 `tfsdk:"priority" json:"priority,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` X509 *struct { AllNamespaces *bool `tfsdk:"all_namespaces" json:"allNamespaces,omitempty"` Selector *struct { MatchExpressions *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` Values *[]string `tfsdk:"values" json:"values,omitempty"` } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` } `tfsdk:"selector" json:"selector,omitempty"` } `tfsdk:"x509" json:"x509,omitempty"` } `tfsdk:"authentication" json:"authentication,omitempty"` Authorization *struct { Cache *struct { Key *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"key" json:"key,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"cache" json:"cache,omitempty"` KubernetesSubjectAccessReview *struct { Groups *[]string `tfsdk:"groups" json:"groups,omitempty"` ResourceAttributes *struct { Group *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"group" json:"group,omitempty"` Name *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"name" json:"name,omitempty"` Namespace *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"namespace" json:"namespace,omitempty"` Resource *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"resource" json:"resource,omitempty"` Subresource *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"subresource" json:"subresource,omitempty"` Verb *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"verb" json:"verb,omitempty"` } `tfsdk:"resource_attributes" json:"resourceAttributes,omitempty"` User *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"user" json:"user,omitempty"` } `tfsdk:"kubernetes_subject_access_review" json:"kubernetesSubjectAccessReview,omitempty"` Metrics *bool `tfsdk:"metrics" json:"metrics,omitempty"` Opa *struct { AllValues *bool `tfsdk:"all_values" json:"allValues,omitempty"` ExternalPolicy *struct { Body *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body" json:"body,omitempty"` BodyParameters *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body_parameters" json:"bodyParameters,omitempty"` ContentType *string `tfsdk:"content_type" json:"contentType,omitempty"` Credentials *struct { AuthorizationHeader *struct { Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` } `tfsdk:"authorization_header" json:"authorizationHeader,omitempty"` Cookie *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"cookie" json:"cookie,omitempty"` CustomHeader *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"custom_header" json:"customHeader,omitempty"` QueryString *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"query_string" json:"queryString,omitempty"` } `tfsdk:"credentials" json:"credentials,omitempty"` Headers *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Oauth2 *struct { Cache *bool `tfsdk:"cache" json:"cache,omitempty"` ClientId *string `tfsdk:"client_id" json:"clientId,omitempty"` ClientSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"client_secret_ref" json:"clientSecretRef,omitempty"` ExtraParams *map[string]string `tfsdk:"extra_params" json:"extraParams,omitempty"` Scopes *[]string `tfsdk:"scopes" json:"scopes,omitempty"` TokenUrl *string `tfsdk:"token_url" json:"tokenUrl,omitempty"` } `tfsdk:"oauth2" json:"oauth2,omitempty"` SharedSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"shared_secret_ref" json:"sharedSecretRef,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"external_policy" json:"externalPolicy,omitempty"` Rego *string `tfsdk:"rego" json:"rego,omitempty"` } `tfsdk:"opa" json:"opa,omitempty"` PatternMatching *struct { Patterns *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"patterns" json:"patterns,omitempty"` } `tfsdk:"pattern_matching" json:"patternMatching,omitempty"` Priority *int64 `tfsdk:"priority" json:"priority,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` Spicedb *struct { Endpoint *string `tfsdk:"endpoint" json:"endpoint,omitempty"` Insecure *bool `tfsdk:"insecure" json:"insecure,omitempty"` Permission *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"permission" json:"permission,omitempty"` Resource *struct { Kind *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"kind" json:"kind,omitempty"` Name *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"resource" json:"resource,omitempty"` SharedSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"shared_secret_ref" json:"sharedSecretRef,omitempty"` Subject *struct { Kind *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"kind" json:"kind,omitempty"` Name *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"subject" json:"subject,omitempty"` } `tfsdk:"spicedb" json:"spicedb,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` } `tfsdk:"authorization" json:"authorization,omitempty"` Callbacks *struct { Cache *struct { Key *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"key" json:"key,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"cache" json:"cache,omitempty"` Http *struct { Body *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body" json:"body,omitempty"` BodyParameters *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body_parameters" json:"bodyParameters,omitempty"` ContentType *string `tfsdk:"content_type" json:"contentType,omitempty"` Credentials *struct { AuthorizationHeader *struct { Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` } `tfsdk:"authorization_header" json:"authorizationHeader,omitempty"` Cookie *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"cookie" json:"cookie,omitempty"` CustomHeader *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"custom_header" json:"customHeader,omitempty"` QueryString *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"query_string" json:"queryString,omitempty"` } `tfsdk:"credentials" json:"credentials,omitempty"` Headers *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Oauth2 *struct { Cache *bool `tfsdk:"cache" json:"cache,omitempty"` ClientId *string `tfsdk:"client_id" json:"clientId,omitempty"` ClientSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"client_secret_ref" json:"clientSecretRef,omitempty"` ExtraParams *map[string]string `tfsdk:"extra_params" json:"extraParams,omitempty"` Scopes *[]string `tfsdk:"scopes" json:"scopes,omitempty"` TokenUrl *string `tfsdk:"token_url" json:"tokenUrl,omitempty"` } `tfsdk:"oauth2" json:"oauth2,omitempty"` SharedSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"shared_secret_ref" json:"sharedSecretRef,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"http" json:"http,omitempty"` Metrics *bool `tfsdk:"metrics" json:"metrics,omitempty"` Priority *int64 `tfsdk:"priority" json:"priority,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` } `tfsdk:"callbacks" json:"callbacks,omitempty"` Metadata *struct { Cache *struct { Key *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"key" json:"key,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"cache" json:"cache,omitempty"` Http *struct { Body *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body" json:"body,omitempty"` BodyParameters *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body_parameters" json:"bodyParameters,omitempty"` ContentType *string `tfsdk:"content_type" json:"contentType,omitempty"` Credentials *struct { AuthorizationHeader *struct { Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` } `tfsdk:"authorization_header" json:"authorizationHeader,omitempty"` Cookie *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"cookie" json:"cookie,omitempty"` CustomHeader *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"custom_header" json:"customHeader,omitempty"` QueryString *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"query_string" json:"queryString,omitempty"` } `tfsdk:"credentials" json:"credentials,omitempty"` Headers *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Oauth2 *struct { Cache *bool `tfsdk:"cache" json:"cache,omitempty"` ClientId *string `tfsdk:"client_id" json:"clientId,omitempty"` ClientSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"client_secret_ref" json:"clientSecretRef,omitempty"` ExtraParams *map[string]string `tfsdk:"extra_params" json:"extraParams,omitempty"` Scopes *[]string `tfsdk:"scopes" json:"scopes,omitempty"` TokenUrl *string `tfsdk:"token_url" json:"tokenUrl,omitempty"` } `tfsdk:"oauth2" json:"oauth2,omitempty"` SharedSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"shared_secret_ref" json:"sharedSecretRef,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"http" json:"http,omitempty"` Metrics *bool `tfsdk:"metrics" json:"metrics,omitempty"` Priority *int64 `tfsdk:"priority" json:"priority,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` Uma *struct { CredentialsRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"credentials_ref" json:"credentialsRef,omitempty"` Endpoint *string `tfsdk:"endpoint" json:"endpoint,omitempty"` } `tfsdk:"uma" json:"uma,omitempty"` UserInfo *struct { IdentitySource *string `tfsdk:"identity_source" json:"identitySource,omitempty"` } `tfsdk:"user_info" json:"userInfo,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` } `tfsdk:"metadata" json:"metadata,omitempty"` Response *struct { Success *struct { DynamicMetadata *struct { Cache *struct { Key *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"key" json:"key,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"cache" json:"cache,omitempty"` Json *struct { Properties *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"properties" json:"properties,omitempty"` } `tfsdk:"json" json:"json,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` Metrics *bool `tfsdk:"metrics" json:"metrics,omitempty"` Plain *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"plain" json:"plain,omitempty"` Priority *int64 `tfsdk:"priority" json:"priority,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` Wristband *struct { CustomClaims *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"custom_claims" json:"customClaims,omitempty"` Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` SigningKeyRefs *[]struct { Algorithm *string `tfsdk:"algorithm" json:"algorithm,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"signing_key_refs" json:"signingKeyRefs,omitempty"` TokenDuration *int64 `tfsdk:"token_duration" json:"tokenDuration,omitempty"` } `tfsdk:"wristband" json:"wristband,omitempty"` } `tfsdk:"dynamic_metadata" json:"dynamicMetadata,omitempty"` Headers *struct { Cache *struct { Key *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"key" json:"key,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"cache" json:"cache,omitempty"` Json *struct { Properties *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"properties" json:"properties,omitempty"` } `tfsdk:"json" json:"json,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` Metrics *bool `tfsdk:"metrics" json:"metrics,omitempty"` Plain *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"plain" json:"plain,omitempty"` Priority *int64 `tfsdk:"priority" json:"priority,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` Wristband *struct { CustomClaims *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"custom_claims" json:"customClaims,omitempty"` Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` SigningKeyRefs *[]struct { Algorithm *string `tfsdk:"algorithm" json:"algorithm,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"signing_key_refs" json:"signingKeyRefs,omitempty"` TokenDuration *int64 `tfsdk:"token_duration" json:"tokenDuration,omitempty"` } `tfsdk:"wristband" json:"wristband,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` } `tfsdk:"success" json:"success,omitempty"` Unauthenticated *struct { Body *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body" json:"body,omitempty"` Code *int64 `tfsdk:"code" json:"code,omitempty"` Headers *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Message *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"message" json:"message,omitempty"` } `tfsdk:"unauthenticated" json:"unauthenticated,omitempty"` Unauthorized *struct { Body *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body" json:"body,omitempty"` Code *int64 `tfsdk:"code" json:"code,omitempty"` Headers *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Message *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"message" json:"message,omitempty"` } `tfsdk:"unauthorized" json:"unauthorized,omitempty"` } `tfsdk:"response" json:"response,omitempty"` } `tfsdk:"rules" json:"rules,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` } `tfsdk:"defaults" json:"defaults,omitempty"` Overrides *struct { Patterns *map[string]string `tfsdk:"patterns" json:"patterns,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` Rules *struct { Authentication *struct { Anonymous *map[string]string `tfsdk:"anonymous" json:"anonymous,omitempty"` ApiKey *struct { AllNamespaces *bool `tfsdk:"all_namespaces" json:"allNamespaces,omitempty"` Selector *struct { MatchExpressions *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` Values *[]string `tfsdk:"values" json:"values,omitempty"` } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` } `tfsdk:"selector" json:"selector,omitempty"` } `tfsdk:"api_key" json:"apiKey,omitempty"` Cache *struct { Key *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"key" json:"key,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"cache" json:"cache,omitempty"` Credentials *struct { AuthorizationHeader *struct { Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` } `tfsdk:"authorization_header" json:"authorizationHeader,omitempty"` Cookie *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"cookie" json:"cookie,omitempty"` CustomHeader *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"custom_header" json:"customHeader,omitempty"` QueryString *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"query_string" json:"queryString,omitempty"` } `tfsdk:"credentials" json:"credentials,omitempty"` Defaults *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"defaults" json:"defaults,omitempty"` Jwt *struct { IssuerUrl *string `tfsdk:"issuer_url" json:"issuerUrl,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"jwt" json:"jwt,omitempty"` KubernetesTokenReview *struct { Audiences *[]string `tfsdk:"audiences" json:"audiences,omitempty"` } `tfsdk:"kubernetes_token_review" json:"kubernetesTokenReview,omitempty"` Metrics *bool `tfsdk:"metrics" json:"metrics,omitempty"` Oauth2Introspection *struct { CredentialsRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"credentials_ref" json:"credentialsRef,omitempty"` Endpoint *string `tfsdk:"endpoint" json:"endpoint,omitempty"` TokenTypeHint *string `tfsdk:"token_type_hint" json:"tokenTypeHint,omitempty"` } `tfsdk:"oauth2_introspection" json:"oauth2Introspection,omitempty"` Overrides *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"overrides" json:"overrides,omitempty"` Plain *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` } `tfsdk:"plain" json:"plain,omitempty"` Priority *int64 `tfsdk:"priority" json:"priority,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` X509 *struct { AllNamespaces *bool `tfsdk:"all_namespaces" json:"allNamespaces,omitempty"` Selector *struct { MatchExpressions *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` Values *[]string `tfsdk:"values" json:"values,omitempty"` } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` } `tfsdk:"selector" json:"selector,omitempty"` } `tfsdk:"x509" json:"x509,omitempty"` } `tfsdk:"authentication" json:"authentication,omitempty"` Authorization *struct { Cache *struct { Key *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"key" json:"key,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"cache" json:"cache,omitempty"` KubernetesSubjectAccessReview *struct { Groups *[]string `tfsdk:"groups" json:"groups,omitempty"` ResourceAttributes *struct { Group *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"group" json:"group,omitempty"` Name *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"name" json:"name,omitempty"` Namespace *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"namespace" json:"namespace,omitempty"` Resource *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"resource" json:"resource,omitempty"` Subresource *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"subresource" json:"subresource,omitempty"` Verb *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"verb" json:"verb,omitempty"` } `tfsdk:"resource_attributes" json:"resourceAttributes,omitempty"` User *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"user" json:"user,omitempty"` } `tfsdk:"kubernetes_subject_access_review" json:"kubernetesSubjectAccessReview,omitempty"` Metrics *bool `tfsdk:"metrics" json:"metrics,omitempty"` Opa *struct { AllValues *bool `tfsdk:"all_values" json:"allValues,omitempty"` ExternalPolicy *struct { Body *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body" json:"body,omitempty"` BodyParameters *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body_parameters" json:"bodyParameters,omitempty"` ContentType *string `tfsdk:"content_type" json:"contentType,omitempty"` Credentials *struct { AuthorizationHeader *struct { Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` } `tfsdk:"authorization_header" json:"authorizationHeader,omitempty"` Cookie *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"cookie" json:"cookie,omitempty"` CustomHeader *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"custom_header" json:"customHeader,omitempty"` QueryString *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"query_string" json:"queryString,omitempty"` } `tfsdk:"credentials" json:"credentials,omitempty"` Headers *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Oauth2 *struct { Cache *bool `tfsdk:"cache" json:"cache,omitempty"` ClientId *string `tfsdk:"client_id" json:"clientId,omitempty"` ClientSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"client_secret_ref" json:"clientSecretRef,omitempty"` ExtraParams *map[string]string `tfsdk:"extra_params" json:"extraParams,omitempty"` Scopes *[]string `tfsdk:"scopes" json:"scopes,omitempty"` TokenUrl *string `tfsdk:"token_url" json:"tokenUrl,omitempty"` } `tfsdk:"oauth2" json:"oauth2,omitempty"` SharedSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"shared_secret_ref" json:"sharedSecretRef,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"external_policy" json:"externalPolicy,omitempty"` Rego *string `tfsdk:"rego" json:"rego,omitempty"` } `tfsdk:"opa" json:"opa,omitempty"` PatternMatching *struct { Patterns *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"patterns" json:"patterns,omitempty"` } `tfsdk:"pattern_matching" json:"patternMatching,omitempty"` Priority *int64 `tfsdk:"priority" json:"priority,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` Spicedb *struct { Endpoint *string `tfsdk:"endpoint" json:"endpoint,omitempty"` Insecure *bool `tfsdk:"insecure" json:"insecure,omitempty"` Permission *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"permission" json:"permission,omitempty"` Resource *struct { Kind *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"kind" json:"kind,omitempty"` Name *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"resource" json:"resource,omitempty"` SharedSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"shared_secret_ref" json:"sharedSecretRef,omitempty"` Subject *struct { Kind *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"kind" json:"kind,omitempty"` Name *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"subject" json:"subject,omitempty"` } `tfsdk:"spicedb" json:"spicedb,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` } `tfsdk:"authorization" json:"authorization,omitempty"` Callbacks *struct { Cache *struct { Key *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"key" json:"key,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"cache" json:"cache,omitempty"` Http *struct { Body *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body" json:"body,omitempty"` BodyParameters *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body_parameters" json:"bodyParameters,omitempty"` ContentType *string `tfsdk:"content_type" json:"contentType,omitempty"` Credentials *struct { AuthorizationHeader *struct { Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` } `tfsdk:"authorization_header" json:"authorizationHeader,omitempty"` Cookie *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"cookie" json:"cookie,omitempty"` CustomHeader *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"custom_header" json:"customHeader,omitempty"` QueryString *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"query_string" json:"queryString,omitempty"` } `tfsdk:"credentials" json:"credentials,omitempty"` Headers *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Oauth2 *struct { Cache *bool `tfsdk:"cache" json:"cache,omitempty"` ClientId *string `tfsdk:"client_id" json:"clientId,omitempty"` ClientSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"client_secret_ref" json:"clientSecretRef,omitempty"` ExtraParams *map[string]string `tfsdk:"extra_params" json:"extraParams,omitempty"` Scopes *[]string `tfsdk:"scopes" json:"scopes,omitempty"` TokenUrl *string `tfsdk:"token_url" json:"tokenUrl,omitempty"` } `tfsdk:"oauth2" json:"oauth2,omitempty"` SharedSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"shared_secret_ref" json:"sharedSecretRef,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"http" json:"http,omitempty"` Metrics *bool `tfsdk:"metrics" json:"metrics,omitempty"` Priority *int64 `tfsdk:"priority" json:"priority,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` } `tfsdk:"callbacks" json:"callbacks,omitempty"` Metadata *struct { Cache *struct { Key *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"key" json:"key,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"cache" json:"cache,omitempty"` Http *struct { Body *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body" json:"body,omitempty"` BodyParameters *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body_parameters" json:"bodyParameters,omitempty"` ContentType *string `tfsdk:"content_type" json:"contentType,omitempty"` Credentials *struct { AuthorizationHeader *struct { Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` } `tfsdk:"authorization_header" json:"authorizationHeader,omitempty"` Cookie *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"cookie" json:"cookie,omitempty"` CustomHeader *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"custom_header" json:"customHeader,omitempty"` QueryString *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"query_string" json:"queryString,omitempty"` } `tfsdk:"credentials" json:"credentials,omitempty"` Headers *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Oauth2 *struct { Cache *bool `tfsdk:"cache" json:"cache,omitempty"` ClientId *string `tfsdk:"client_id" json:"clientId,omitempty"` ClientSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"client_secret_ref" json:"clientSecretRef,omitempty"` ExtraParams *map[string]string `tfsdk:"extra_params" json:"extraParams,omitempty"` Scopes *[]string `tfsdk:"scopes" json:"scopes,omitempty"` TokenUrl *string `tfsdk:"token_url" json:"tokenUrl,omitempty"` } `tfsdk:"oauth2" json:"oauth2,omitempty"` SharedSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"shared_secret_ref" json:"sharedSecretRef,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"http" json:"http,omitempty"` Metrics *bool `tfsdk:"metrics" json:"metrics,omitempty"` Priority *int64 `tfsdk:"priority" json:"priority,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` Uma *struct { CredentialsRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"credentials_ref" json:"credentialsRef,omitempty"` Endpoint *string `tfsdk:"endpoint" json:"endpoint,omitempty"` } `tfsdk:"uma" json:"uma,omitempty"` UserInfo *struct { IdentitySource *string `tfsdk:"identity_source" json:"identitySource,omitempty"` } `tfsdk:"user_info" json:"userInfo,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` } `tfsdk:"metadata" json:"metadata,omitempty"` Response *struct { Success *struct { DynamicMetadata *struct { Cache *struct { Key *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"key" json:"key,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"cache" json:"cache,omitempty"` Json *struct { Properties *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"properties" json:"properties,omitempty"` } `tfsdk:"json" json:"json,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` Metrics *bool `tfsdk:"metrics" json:"metrics,omitempty"` Plain *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"plain" json:"plain,omitempty"` Priority *int64 `tfsdk:"priority" json:"priority,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` Wristband *struct { CustomClaims *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"custom_claims" json:"customClaims,omitempty"` Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` SigningKeyRefs *[]struct { Algorithm *string `tfsdk:"algorithm" json:"algorithm,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"signing_key_refs" json:"signingKeyRefs,omitempty"` TokenDuration *int64 `tfsdk:"token_duration" json:"tokenDuration,omitempty"` } `tfsdk:"wristband" json:"wristband,omitempty"` } `tfsdk:"dynamic_metadata" json:"dynamicMetadata,omitempty"` Headers *struct { Cache *struct { Key *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"key" json:"key,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"cache" json:"cache,omitempty"` Json *struct { Properties *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"properties" json:"properties,omitempty"` } `tfsdk:"json" json:"json,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` Metrics *bool `tfsdk:"metrics" json:"metrics,omitempty"` Plain *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"plain" json:"plain,omitempty"` Priority *int64 `tfsdk:"priority" json:"priority,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` Wristband *struct { CustomClaims *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"custom_claims" json:"customClaims,omitempty"` Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` SigningKeyRefs *[]struct { Algorithm *string `tfsdk:"algorithm" json:"algorithm,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"signing_key_refs" json:"signingKeyRefs,omitempty"` TokenDuration *int64 `tfsdk:"token_duration" json:"tokenDuration,omitempty"` } `tfsdk:"wristband" json:"wristband,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` } `tfsdk:"success" json:"success,omitempty"` Unauthenticated *struct { Body *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body" json:"body,omitempty"` Code *int64 `tfsdk:"code" json:"code,omitempty"` Headers *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Message *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"message" json:"message,omitempty"` } `tfsdk:"unauthenticated" json:"unauthenticated,omitempty"` Unauthorized *struct { Body *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body" json:"body,omitempty"` Code *int64 `tfsdk:"code" json:"code,omitempty"` Headers *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Message *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"message" json:"message,omitempty"` } `tfsdk:"unauthorized" json:"unauthorized,omitempty"` } `tfsdk:"response" json:"response,omitempty"` } `tfsdk:"rules" json:"rules,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` } `tfsdk:"overrides" json:"overrides,omitempty"` Patterns *map[string]string `tfsdk:"patterns" json:"patterns,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` Rules *struct { Authentication *struct { Anonymous *map[string]string `tfsdk:"anonymous" json:"anonymous,omitempty"` ApiKey *struct { AllNamespaces *bool `tfsdk:"all_namespaces" json:"allNamespaces,omitempty"` Selector *struct { MatchExpressions *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` Values *[]string `tfsdk:"values" json:"values,omitempty"` } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` } `tfsdk:"selector" json:"selector,omitempty"` } `tfsdk:"api_key" json:"apiKey,omitempty"` Cache *struct { Key *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"key" json:"key,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"cache" json:"cache,omitempty"` Credentials *struct { AuthorizationHeader *struct { Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` } `tfsdk:"authorization_header" json:"authorizationHeader,omitempty"` Cookie *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"cookie" json:"cookie,omitempty"` CustomHeader *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"custom_header" json:"customHeader,omitempty"` QueryString *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"query_string" json:"queryString,omitempty"` } `tfsdk:"credentials" json:"credentials,omitempty"` Defaults *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"defaults" json:"defaults,omitempty"` Jwt *struct { IssuerUrl *string `tfsdk:"issuer_url" json:"issuerUrl,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"jwt" json:"jwt,omitempty"` KubernetesTokenReview *struct { Audiences *[]string `tfsdk:"audiences" json:"audiences,omitempty"` } `tfsdk:"kubernetes_token_review" json:"kubernetesTokenReview,omitempty"` Metrics *bool `tfsdk:"metrics" json:"metrics,omitempty"` Oauth2Introspection *struct { CredentialsRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"credentials_ref" json:"credentialsRef,omitempty"` Endpoint *string `tfsdk:"endpoint" json:"endpoint,omitempty"` TokenTypeHint *string `tfsdk:"token_type_hint" json:"tokenTypeHint,omitempty"` } `tfsdk:"oauth2_introspection" json:"oauth2Introspection,omitempty"` Overrides *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"overrides" json:"overrides,omitempty"` Plain *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` } `tfsdk:"plain" json:"plain,omitempty"` Priority *int64 `tfsdk:"priority" json:"priority,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` X509 *struct { AllNamespaces *bool `tfsdk:"all_namespaces" json:"allNamespaces,omitempty"` Selector *struct { MatchExpressions *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` Values *[]string `tfsdk:"values" json:"values,omitempty"` } `tfsdk:"match_expressions" json:"matchExpressions,omitempty"` MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"` } `tfsdk:"selector" json:"selector,omitempty"` } `tfsdk:"x509" json:"x509,omitempty"` } `tfsdk:"authentication" json:"authentication,omitempty"` Authorization *struct { Cache *struct { Key *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"key" json:"key,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"cache" json:"cache,omitempty"` KubernetesSubjectAccessReview *struct { Groups *[]string `tfsdk:"groups" json:"groups,omitempty"` ResourceAttributes *struct { Group *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"group" json:"group,omitempty"` Name *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"name" json:"name,omitempty"` Namespace *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"namespace" json:"namespace,omitempty"` Resource *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"resource" json:"resource,omitempty"` Subresource *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"subresource" json:"subresource,omitempty"` Verb *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"verb" json:"verb,omitempty"` } `tfsdk:"resource_attributes" json:"resourceAttributes,omitempty"` User *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"user" json:"user,omitempty"` } `tfsdk:"kubernetes_subject_access_review" json:"kubernetesSubjectAccessReview,omitempty"` Metrics *bool `tfsdk:"metrics" json:"metrics,omitempty"` Opa *struct { AllValues *bool `tfsdk:"all_values" json:"allValues,omitempty"` ExternalPolicy *struct { Body *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body" json:"body,omitempty"` BodyParameters *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body_parameters" json:"bodyParameters,omitempty"` ContentType *string `tfsdk:"content_type" json:"contentType,omitempty"` Credentials *struct { AuthorizationHeader *struct { Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` } `tfsdk:"authorization_header" json:"authorizationHeader,omitempty"` Cookie *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"cookie" json:"cookie,omitempty"` CustomHeader *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"custom_header" json:"customHeader,omitempty"` QueryString *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"query_string" json:"queryString,omitempty"` } `tfsdk:"credentials" json:"credentials,omitempty"` Headers *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Oauth2 *struct { Cache *bool `tfsdk:"cache" json:"cache,omitempty"` ClientId *string `tfsdk:"client_id" json:"clientId,omitempty"` ClientSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"client_secret_ref" json:"clientSecretRef,omitempty"` ExtraParams *map[string]string `tfsdk:"extra_params" json:"extraParams,omitempty"` Scopes *[]string `tfsdk:"scopes" json:"scopes,omitempty"` TokenUrl *string `tfsdk:"token_url" json:"tokenUrl,omitempty"` } `tfsdk:"oauth2" json:"oauth2,omitempty"` SharedSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"shared_secret_ref" json:"sharedSecretRef,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"external_policy" json:"externalPolicy,omitempty"` Rego *string `tfsdk:"rego" json:"rego,omitempty"` } `tfsdk:"opa" json:"opa,omitempty"` PatternMatching *struct { Patterns *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"patterns" json:"patterns,omitempty"` } `tfsdk:"pattern_matching" json:"patternMatching,omitempty"` Priority *int64 `tfsdk:"priority" json:"priority,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` Spicedb *struct { Endpoint *string `tfsdk:"endpoint" json:"endpoint,omitempty"` Insecure *bool `tfsdk:"insecure" json:"insecure,omitempty"` Permission *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"permission" json:"permission,omitempty"` Resource *struct { Kind *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"kind" json:"kind,omitempty"` Name *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"resource" json:"resource,omitempty"` SharedSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"shared_secret_ref" json:"sharedSecretRef,omitempty"` Subject *struct { Kind *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"kind" json:"kind,omitempty"` Name *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"subject" json:"subject,omitempty"` } `tfsdk:"spicedb" json:"spicedb,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` } `tfsdk:"authorization" json:"authorization,omitempty"` Callbacks *struct { Cache *struct { Key *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"key" json:"key,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"cache" json:"cache,omitempty"` Http *struct { Body *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body" json:"body,omitempty"` BodyParameters *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body_parameters" json:"bodyParameters,omitempty"` ContentType *string `tfsdk:"content_type" json:"contentType,omitempty"` Credentials *struct { AuthorizationHeader *struct { Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` } `tfsdk:"authorization_header" json:"authorizationHeader,omitempty"` Cookie *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"cookie" json:"cookie,omitempty"` CustomHeader *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"custom_header" json:"customHeader,omitempty"` QueryString *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"query_string" json:"queryString,omitempty"` } `tfsdk:"credentials" json:"credentials,omitempty"` Headers *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Oauth2 *struct { Cache *bool `tfsdk:"cache" json:"cache,omitempty"` ClientId *string `tfsdk:"client_id" json:"clientId,omitempty"` ClientSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"client_secret_ref" json:"clientSecretRef,omitempty"` ExtraParams *map[string]string `tfsdk:"extra_params" json:"extraParams,omitempty"` Scopes *[]string `tfsdk:"scopes" json:"scopes,omitempty"` TokenUrl *string `tfsdk:"token_url" json:"tokenUrl,omitempty"` } `tfsdk:"oauth2" json:"oauth2,omitempty"` SharedSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"shared_secret_ref" json:"sharedSecretRef,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"http" json:"http,omitempty"` Metrics *bool `tfsdk:"metrics" json:"metrics,omitempty"` Priority *int64 `tfsdk:"priority" json:"priority,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` } `tfsdk:"callbacks" json:"callbacks,omitempty"` Metadata *struct { Cache *struct { Key *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"key" json:"key,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"cache" json:"cache,omitempty"` Http *struct { Body *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body" json:"body,omitempty"` BodyParameters *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body_parameters" json:"bodyParameters,omitempty"` ContentType *string `tfsdk:"content_type" json:"contentType,omitempty"` Credentials *struct { AuthorizationHeader *struct { Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` } `tfsdk:"authorization_header" json:"authorizationHeader,omitempty"` Cookie *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"cookie" json:"cookie,omitempty"` CustomHeader *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"custom_header" json:"customHeader,omitempty"` QueryString *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"query_string" json:"queryString,omitempty"` } `tfsdk:"credentials" json:"credentials,omitempty"` Headers *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Oauth2 *struct { Cache *bool `tfsdk:"cache" json:"cache,omitempty"` ClientId *string `tfsdk:"client_id" json:"clientId,omitempty"` ClientSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"client_secret_ref" json:"clientSecretRef,omitempty"` ExtraParams *map[string]string `tfsdk:"extra_params" json:"extraParams,omitempty"` Scopes *[]string `tfsdk:"scopes" json:"scopes,omitempty"` TokenUrl *string `tfsdk:"token_url" json:"tokenUrl,omitempty"` } `tfsdk:"oauth2" json:"oauth2,omitempty"` SharedSecretRef *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"shared_secret_ref" json:"sharedSecretRef,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"http" json:"http,omitempty"` Metrics *bool `tfsdk:"metrics" json:"metrics,omitempty"` Priority *int64 `tfsdk:"priority" json:"priority,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` Uma *struct { CredentialsRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"credentials_ref" json:"credentialsRef,omitempty"` Endpoint *string `tfsdk:"endpoint" json:"endpoint,omitempty"` } `tfsdk:"uma" json:"uma,omitempty"` UserInfo *struct { IdentitySource *string `tfsdk:"identity_source" json:"identitySource,omitempty"` } `tfsdk:"user_info" json:"userInfo,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` } `tfsdk:"metadata" json:"metadata,omitempty"` Response *struct { Success *struct { DynamicMetadata *struct { Cache *struct { Key *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"key" json:"key,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"cache" json:"cache,omitempty"` Json *struct { Properties *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"properties" json:"properties,omitempty"` } `tfsdk:"json" json:"json,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` Metrics *bool `tfsdk:"metrics" json:"metrics,omitempty"` Plain *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"plain" json:"plain,omitempty"` Priority *int64 `tfsdk:"priority" json:"priority,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` Wristband *struct { CustomClaims *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"custom_claims" json:"customClaims,omitempty"` Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` SigningKeyRefs *[]struct { Algorithm *string `tfsdk:"algorithm" json:"algorithm,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"signing_key_refs" json:"signingKeyRefs,omitempty"` TokenDuration *int64 `tfsdk:"token_duration" json:"tokenDuration,omitempty"` } `tfsdk:"wristband" json:"wristband,omitempty"` } `tfsdk:"dynamic_metadata" json:"dynamicMetadata,omitempty"` Headers *struct { Cache *struct { Key *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"key" json:"key,omitempty"` Ttl *int64 `tfsdk:"ttl" json:"ttl,omitempty"` } `tfsdk:"cache" json:"cache,omitempty"` Json *struct { Properties *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"properties" json:"properties,omitempty"` } `tfsdk:"json" json:"json,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` Metrics *bool `tfsdk:"metrics" json:"metrics,omitempty"` Plain *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"plain" json:"plain,omitempty"` Priority *int64 `tfsdk:"priority" json:"priority,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` Wristband *struct { CustomClaims *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"custom_claims" json:"customClaims,omitempty"` Issuer *string `tfsdk:"issuer" json:"issuer,omitempty"` SigningKeyRefs *[]struct { Algorithm *string `tfsdk:"algorithm" json:"algorithm,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"signing_key_refs" json:"signingKeyRefs,omitempty"` TokenDuration *int64 `tfsdk:"token_duration" json:"tokenDuration,omitempty"` } `tfsdk:"wristband" json:"wristband,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` } `tfsdk:"success" json:"success,omitempty"` Unauthenticated *struct { Body *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body" json:"body,omitempty"` Code *int64 `tfsdk:"code" json:"code,omitempty"` Headers *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Message *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"message" json:"message,omitempty"` } `tfsdk:"unauthenticated" json:"unauthenticated,omitempty"` Unauthorized *struct { Body *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"body" json:"body,omitempty"` Code *int64 `tfsdk:"code" json:"code,omitempty"` Headers *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Message *struct { Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *map[string]string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"message" json:"message,omitempty"` } `tfsdk:"unauthorized" json:"unauthorized,omitempty"` } `tfsdk:"response" json:"response,omitempty"` } `tfsdk:"rules" json:"rules,omitempty"` TargetRef *struct { Group *string `tfsdk:"group" json:"group,omitempty"` Kind *string `tfsdk:"kind" json:"kind,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"target_ref" json:"targetRef,omitempty"` When *[]struct { All *[]map[string]string `tfsdk:"all" json:"all,omitempty"` Any *[]map[string]string `tfsdk:"any" json:"any,omitempty"` Operator *string `tfsdk:"operator" json:"operator,omitempty"` PatternRef *string `tfsdk:"pattern_ref" json:"patternRef,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` } `tfsdk:"spec" json:"spec,omitempty"` }
type KuadrantIoRateLimitPolicyV1Beta2Manifest ¶
type KuadrantIoRateLimitPolicyV1Beta2Manifest struct{}
func (*KuadrantIoRateLimitPolicyV1Beta2Manifest) Metadata ¶
func (r *KuadrantIoRateLimitPolicyV1Beta2Manifest) Metadata(_ context.Context, request datasource.MetadataRequest, response *datasource.MetadataResponse)
func (*KuadrantIoRateLimitPolicyV1Beta2Manifest) Read ¶
func (r *KuadrantIoRateLimitPolicyV1Beta2Manifest) Read(ctx context.Context, request datasource.ReadRequest, response *datasource.ReadResponse)
func (*KuadrantIoRateLimitPolicyV1Beta2Manifest) Schema ¶
func (r *KuadrantIoRateLimitPolicyV1Beta2Manifest) Schema(_ context.Context, _ datasource.SchemaRequest, response *datasource.SchemaResponse)
type KuadrantIoRateLimitPolicyV1Beta2ManifestData ¶
type KuadrantIoRateLimitPolicyV1Beta2ManifestData struct { YAML types.String `tfsdk:"yaml" json:"-"` ApiVersion *string `tfsdk:"-" json:"apiVersion"` Kind *string `tfsdk:"-" json:"kind"` Metadata struct { Name string `tfsdk:"name" json:"name"` Namespace string `tfsdk:"namespace" json:"namespace"` Labels map[string]string `tfsdk:"labels" json:"labels,omitempty"` Annotations map[string]string `tfsdk:"annotations" json:"annotations,omitempty"` } `tfsdk:"metadata" json:"metadata"` Spec *struct { Defaults *struct { Limits *struct { Counters *[]string `tfsdk:"counters" json:"counters,omitempty"` Rates *[]struct { Duration *int64 `tfsdk:"duration" json:"duration,omitempty"` Limit *int64 `tfsdk:"limit" json:"limit,omitempty"` Unit *string `tfsdk:"unit" json:"unit,omitempty"` } `tfsdk:"rates" json:"rates,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` When *[]struct { Operator *string `tfsdk:"operator" json:"operator,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` } `tfsdk:"limits" json:"limits,omitempty"` } `tfsdk:"defaults" json:"defaults,omitempty"` Limits *struct { Counters *[]string `tfsdk:"counters" json:"counters,omitempty"` Rates *[]struct { Duration *int64 `tfsdk:"duration" json:"duration,omitempty"` Limit *int64 `tfsdk:"limit" json:"limit,omitempty"` Unit *string `tfsdk:"unit" json:"unit,omitempty"` } `tfsdk:"rates" json:"rates,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` When *[]struct { Operator *string `tfsdk:"operator" json:"operator,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` } `tfsdk:"limits" json:"limits,omitempty"` Overrides *struct { Limits *struct { Counters *[]string `tfsdk:"counters" json:"counters,omitempty"` Rates *[]struct { Duration *int64 `tfsdk:"duration" json:"duration,omitempty"` Limit *int64 `tfsdk:"limit" json:"limit,omitempty"` Unit *string `tfsdk:"unit" json:"unit,omitempty"` } `tfsdk:"rates" json:"rates,omitempty"` RouteSelectors *[]struct { Hostnames *[]string `tfsdk:"hostnames" json:"hostnames,omitempty"` Matches *[]struct { Headers *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *struct { Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"path" json:"path,omitempty"` QueryParams *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Type *string `tfsdk:"type" json:"type,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_params" json:"queryParams,omitempty"` } `tfsdk:"matches" json:"matches,omitempty"` } `tfsdk:"route_selectors" json:"routeSelectors,omitempty"` When *[]struct { Operator *string `tfsdk:"operator" json:"operator,omitempty"` Selector *string `tfsdk:"selector" json:"selector,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"when" json:"when,omitempty"` } `tfsdk:"limits" json:"limits,omitempty"` } `tfsdk:"overrides" json:"overrides,omitempty"` TargetRef *struct { Group *string `tfsdk:"group" json:"group,omitempty"` Kind *string `tfsdk:"kind" json:"kind,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"target_ref" json:"targetRef,omitempty"` } `tfsdk:"spec" json:"spec,omitempty"` }
Click to show internal directories.
Click to hide internal directories.