Documentation ¶
Index ¶
- func NewGlooSoloIoProxyV1Manifest() datasource.DataSource
- func NewGlooSoloIoSettingsV1Manifest() datasource.DataSource
- func NewGlooSoloIoUpstreamGroupV1Manifest() datasource.DataSource
- func NewGlooSoloIoUpstreamV1Manifest() datasource.DataSource
- type GlooSoloIoProxyV1Manifest
- type GlooSoloIoProxyV1ManifestData
- type GlooSoloIoSettingsV1Manifest
- func (r *GlooSoloIoSettingsV1Manifest) Metadata(_ context.Context, request datasource.MetadataRequest, ...)
- func (r *GlooSoloIoSettingsV1Manifest) Read(ctx context.Context, request datasource.ReadRequest, ...)
- func (r *GlooSoloIoSettingsV1Manifest) Schema(_ context.Context, _ datasource.SchemaRequest, ...)
- type GlooSoloIoSettingsV1ManifestData
- type GlooSoloIoUpstreamGroupV1Manifest
- func (r *GlooSoloIoUpstreamGroupV1Manifest) Metadata(_ context.Context, request datasource.MetadataRequest, ...)
- func (r *GlooSoloIoUpstreamGroupV1Manifest) Read(ctx context.Context, request datasource.ReadRequest, ...)
- func (r *GlooSoloIoUpstreamGroupV1Manifest) Schema(_ context.Context, _ datasource.SchemaRequest, ...)
- type GlooSoloIoUpstreamGroupV1ManifestData
- type GlooSoloIoUpstreamV1Manifest
- func (r *GlooSoloIoUpstreamV1Manifest) Metadata(_ context.Context, request datasource.MetadataRequest, ...)
- func (r *GlooSoloIoUpstreamV1Manifest) Read(ctx context.Context, request datasource.ReadRequest, ...)
- func (r *GlooSoloIoUpstreamV1Manifest) Schema(_ context.Context, _ datasource.SchemaRequest, ...)
- type GlooSoloIoUpstreamV1ManifestData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewGlooSoloIoProxyV1Manifest ¶
func NewGlooSoloIoProxyV1Manifest() datasource.DataSource
func NewGlooSoloIoSettingsV1Manifest ¶
func NewGlooSoloIoSettingsV1Manifest() datasource.DataSource
func NewGlooSoloIoUpstreamGroupV1Manifest ¶
func NewGlooSoloIoUpstreamGroupV1Manifest() datasource.DataSource
func NewGlooSoloIoUpstreamV1Manifest ¶
func NewGlooSoloIoUpstreamV1Manifest() datasource.DataSource
Types ¶
type GlooSoloIoProxyV1Manifest ¶
type GlooSoloIoProxyV1Manifest struct{}
func (*GlooSoloIoProxyV1Manifest) Metadata ¶
func (r *GlooSoloIoProxyV1Manifest) Metadata(_ context.Context, request datasource.MetadataRequest, response *datasource.MetadataResponse)
func (*GlooSoloIoProxyV1Manifest) Read ¶
func (r *GlooSoloIoProxyV1Manifest) Read(ctx context.Context, request datasource.ReadRequest, response *datasource.ReadResponse)
func (*GlooSoloIoProxyV1Manifest) Schema ¶
func (r *GlooSoloIoProxyV1Manifest) Schema(_ context.Context, _ datasource.SchemaRequest, response *datasource.SchemaResponse)
type GlooSoloIoProxyV1ManifestData ¶
type GlooSoloIoProxyV1ManifestData 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 { CompressedSpec *string `tfsdk:"compressed_spec" json:"compressedSpec,omitempty"` Listeners *[]struct { AggregateListener *map[string]string `tfsdk:"aggregate_listener" json:"aggregateListener,omitempty"` BindAddress *string `tfsdk:"bind_address" json:"bindAddress,omitempty"` BindPort *int64 `tfsdk:"bind_port" json:"bindPort,omitempty"` HttpListener *map[string]string `tfsdk:"http_listener" json:"httpListener,omitempty"` HybridListener *map[string]string `tfsdk:"hybrid_listener" json:"hybridListener,omitempty"` Metadata *map[string]string `tfsdk:"metadata" json:"metadata,omitempty"` MetadataStatic *struct { Sources *[]struct { ObservedGeneration *int64 `tfsdk:"observed_generation" json:"observedGeneration,omitempty"` ResourceKind *string `tfsdk:"resource_kind" json:"resourceKind,omitempty"` ResourceRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"resource_ref" json:"resourceRef,omitempty"` } `tfsdk:"sources" json:"sources,omitempty"` } `tfsdk:"metadata_static" json:"metadataStatic,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` Options *struct { AccessLoggingService *struct { AccessLog *[]struct { FileSink *struct { JsonFormat *map[string]string `tfsdk:"json_format" json:"jsonFormat,omitempty"` Path *string `tfsdk:"path" json:"path,omitempty"` StringFormat *string `tfsdk:"string_format" json:"stringFormat,omitempty"` } `tfsdk:"file_sink" json:"fileSink,omitempty"` Filter *struct { AndFilter *map[string]string `tfsdk:"and_filter" json:"andFilter,omitempty"` DurationFilter *struct { Comparison *struct { Op *string `tfsdk:"op" json:"op,omitempty"` Value *struct { DefaultValue *int64 `tfsdk:"default_value" json:"defaultValue,omitempty"` RuntimeKey *string `tfsdk:"runtime_key" json:"runtimeKey,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"comparison" json:"comparison,omitempty"` } `tfsdk:"duration_filter" json:"durationFilter,omitempty"` GrpcStatusFilter *struct { Exclude *bool `tfsdk:"exclude" json:"exclude,omitempty"` Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` } `tfsdk:"grpc_status_filter" json:"grpcStatusFilter,omitempty"` HeaderFilter *struct { Header *struct { ExactMatch *string `tfsdk:"exact_match" json:"exactMatch,omitempty"` InvertMatch *bool `tfsdk:"invert_match" json:"invertMatch,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` PrefixMatch *string `tfsdk:"prefix_match" json:"prefixMatch,omitempty"` PresentMatch *bool `tfsdk:"present_match" json:"presentMatch,omitempty"` RangeMatch *struct { End *int64 `tfsdk:"end" json:"end,omitempty"` Start *int64 `tfsdk:"start" json:"start,omitempty"` } `tfsdk:"range_match" json:"rangeMatch,omitempty"` SafeRegexMatch *struct { GoogleRe2 *struct { MaxProgramSize *int64 `tfsdk:"max_program_size" json:"maxProgramSize,omitempty"` } `tfsdk:"google_re2" json:"googleRe2,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` } `tfsdk:"safe_regex_match" json:"safeRegexMatch,omitempty"` SuffixMatch *string `tfsdk:"suffix_match" json:"suffixMatch,omitempty"` } `tfsdk:"header" json:"header,omitempty"` } `tfsdk:"header_filter" json:"headerFilter,omitempty"` NotHealthCheckFilter *map[string]string `tfsdk:"not_health_check_filter" json:"notHealthCheckFilter,omitempty"` OrFilter *map[string]string `tfsdk:"or_filter" json:"orFilter,omitempty"` ResponseFlagFilter *struct { Flags *[]string `tfsdk:"flags" json:"flags,omitempty"` } `tfsdk:"response_flag_filter" json:"responseFlagFilter,omitempty"` RuntimeFilter *struct { PercentSampled *struct { Denominator *string `tfsdk:"denominator" json:"denominator,omitempty"` Numerator *int64 `tfsdk:"numerator" json:"numerator,omitempty"` } `tfsdk:"percent_sampled" json:"percentSampled,omitempty"` RuntimeKey *string `tfsdk:"runtime_key" json:"runtimeKey,omitempty"` UseIndependentRandomness *bool `tfsdk:"use_independent_randomness" json:"useIndependentRandomness,omitempty"` } `tfsdk:"runtime_filter" json:"runtimeFilter,omitempty"` StatusCodeFilter *struct { Comparison *struct { Op *string `tfsdk:"op" json:"op,omitempty"` Value *struct { DefaultValue *int64 `tfsdk:"default_value" json:"defaultValue,omitempty"` RuntimeKey *string `tfsdk:"runtime_key" json:"runtimeKey,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"comparison" json:"comparison,omitempty"` } `tfsdk:"status_code_filter" json:"statusCodeFilter,omitempty"` TraceableFilter *map[string]string `tfsdk:"traceable_filter" json:"traceableFilter,omitempty"` } `tfsdk:"filter" json:"filter,omitempty"` GrpcService *struct { AdditionalRequestHeadersToLog *[]string `tfsdk:"additional_request_headers_to_log" json:"additionalRequestHeadersToLog,omitempty"` AdditionalResponseHeadersToLog *[]string `tfsdk:"additional_response_headers_to_log" json:"additionalResponseHeadersToLog,omitempty"` AdditionalResponseTrailersToLog *[]string `tfsdk:"additional_response_trailers_to_log" json:"additionalResponseTrailersToLog,omitempty"` LogName *string `tfsdk:"log_name" json:"logName,omitempty"` StaticClusterName *string `tfsdk:"static_cluster_name" json:"staticClusterName,omitempty"` } `tfsdk:"grpc_service" json:"grpcService,omitempty"` } `tfsdk:"access_log" json:"accessLog,omitempty"` } `tfsdk:"access_logging_service" json:"accessLoggingService,omitempty"` ConnectionBalanceConfig *struct { ExactBalance *map[string]string `tfsdk:"exact_balance" json:"exactBalance,omitempty"` } `tfsdk:"connection_balance_config" json:"connectionBalanceConfig,omitempty"` Extensions *struct { Configs *map[string]string `tfsdk:"configs" json:"configs,omitempty"` } `tfsdk:"extensions" json:"extensions,omitempty"` ListenerAccessLoggingService *struct { AccessLog *[]struct { FileSink *struct { JsonFormat *map[string]string `tfsdk:"json_format" json:"jsonFormat,omitempty"` Path *string `tfsdk:"path" json:"path,omitempty"` StringFormat *string `tfsdk:"string_format" json:"stringFormat,omitempty"` } `tfsdk:"file_sink" json:"fileSink,omitempty"` Filter *struct { AndFilter *map[string]string `tfsdk:"and_filter" json:"andFilter,omitempty"` DurationFilter *struct { Comparison *struct { Op *string `tfsdk:"op" json:"op,omitempty"` Value *struct { DefaultValue *int64 `tfsdk:"default_value" json:"defaultValue,omitempty"` RuntimeKey *string `tfsdk:"runtime_key" json:"runtimeKey,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"comparison" json:"comparison,omitempty"` } `tfsdk:"duration_filter" json:"durationFilter,omitempty"` GrpcStatusFilter *struct { Exclude *bool `tfsdk:"exclude" json:"exclude,omitempty"` Statuses *[]string `tfsdk:"statuses" json:"statuses,omitempty"` } `tfsdk:"grpc_status_filter" json:"grpcStatusFilter,omitempty"` HeaderFilter *struct { Header *struct { ExactMatch *string `tfsdk:"exact_match" json:"exactMatch,omitempty"` InvertMatch *bool `tfsdk:"invert_match" json:"invertMatch,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` PrefixMatch *string `tfsdk:"prefix_match" json:"prefixMatch,omitempty"` PresentMatch *bool `tfsdk:"present_match" json:"presentMatch,omitempty"` RangeMatch *struct { End *int64 `tfsdk:"end" json:"end,omitempty"` Start *int64 `tfsdk:"start" json:"start,omitempty"` } `tfsdk:"range_match" json:"rangeMatch,omitempty"` SafeRegexMatch *struct { GoogleRe2 *struct { MaxProgramSize *int64 `tfsdk:"max_program_size" json:"maxProgramSize,omitempty"` } `tfsdk:"google_re2" json:"googleRe2,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` } `tfsdk:"safe_regex_match" json:"safeRegexMatch,omitempty"` SuffixMatch *string `tfsdk:"suffix_match" json:"suffixMatch,omitempty"` } `tfsdk:"header" json:"header,omitempty"` } `tfsdk:"header_filter" json:"headerFilter,omitempty"` NotHealthCheckFilter *map[string]string `tfsdk:"not_health_check_filter" json:"notHealthCheckFilter,omitempty"` OrFilter *map[string]string `tfsdk:"or_filter" json:"orFilter,omitempty"` ResponseFlagFilter *struct { Flags *[]string `tfsdk:"flags" json:"flags,omitempty"` } `tfsdk:"response_flag_filter" json:"responseFlagFilter,omitempty"` RuntimeFilter *struct { PercentSampled *struct { Denominator *string `tfsdk:"denominator" json:"denominator,omitempty"` Numerator *int64 `tfsdk:"numerator" json:"numerator,omitempty"` } `tfsdk:"percent_sampled" json:"percentSampled,omitempty"` RuntimeKey *string `tfsdk:"runtime_key" json:"runtimeKey,omitempty"` UseIndependentRandomness *bool `tfsdk:"use_independent_randomness" json:"useIndependentRandomness,omitempty"` } `tfsdk:"runtime_filter" json:"runtimeFilter,omitempty"` StatusCodeFilter *struct { Comparison *struct { Op *string `tfsdk:"op" json:"op,omitempty"` Value *struct { DefaultValue *int64 `tfsdk:"default_value" json:"defaultValue,omitempty"` RuntimeKey *string `tfsdk:"runtime_key" json:"runtimeKey,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"comparison" json:"comparison,omitempty"` } `tfsdk:"status_code_filter" json:"statusCodeFilter,omitempty"` TraceableFilter *map[string]string `tfsdk:"traceable_filter" json:"traceableFilter,omitempty"` } `tfsdk:"filter" json:"filter,omitempty"` GrpcService *struct { AdditionalRequestHeadersToLog *[]string `tfsdk:"additional_request_headers_to_log" json:"additionalRequestHeadersToLog,omitempty"` AdditionalResponseHeadersToLog *[]string `tfsdk:"additional_response_headers_to_log" json:"additionalResponseHeadersToLog,omitempty"` AdditionalResponseTrailersToLog *[]string `tfsdk:"additional_response_trailers_to_log" json:"additionalResponseTrailersToLog,omitempty"` LogName *string `tfsdk:"log_name" json:"logName,omitempty"` StaticClusterName *string `tfsdk:"static_cluster_name" json:"staticClusterName,omitempty"` } `tfsdk:"grpc_service" json:"grpcService,omitempty"` } `tfsdk:"access_log" json:"accessLog,omitempty"` } `tfsdk:"listener_access_logging_service" json:"listenerAccessLoggingService,omitempty"` PerConnectionBufferLimitBytes *int64 `tfsdk:"per_connection_buffer_limit_bytes" json:"perConnectionBufferLimitBytes,omitempty"` ProxyProtocol *struct { AllowRequestsWithoutProxyProtocol *bool `tfsdk:"allow_requests_without_proxy_protocol" json:"allowRequestsWithoutProxyProtocol,omitempty"` Rules *[]struct { OnTlvPresent *struct { Key *string `tfsdk:"key" json:"key,omitempty"` MetadataNamespace *string `tfsdk:"metadata_namespace" json:"metadataNamespace,omitempty"` } `tfsdk:"on_tlv_present" json:"onTlvPresent,omitempty"` TlvType *int64 `tfsdk:"tlv_type" json:"tlvType,omitempty"` } `tfsdk:"rules" json:"rules,omitempty"` } `tfsdk:"proxy_protocol" json:"proxyProtocol,omitempty"` SocketOptions *[]struct { BufValue *string `tfsdk:"buf_value" json:"bufValue,omitempty"` Description *string `tfsdk:"description" json:"description,omitempty"` IntValue *int64 `tfsdk:"int_value" json:"intValue,omitempty"` Level *int64 `tfsdk:"level" json:"level,omitempty"` Name *int64 `tfsdk:"name" json:"name,omitempty"` State *string `tfsdk:"state" json:"state,omitempty"` } `tfsdk:"socket_options" json:"socketOptions,omitempty"` } `tfsdk:"options" json:"options,omitempty"` RouteOptions *struct { MaxDirectResponseBodySizeBytes *int64 `tfsdk:"max_direct_response_body_size_bytes" json:"maxDirectResponseBodySizeBytes,omitempty"` MostSpecificHeaderMutationsWins *bool `tfsdk:"most_specific_header_mutations_wins" json:"mostSpecificHeaderMutationsWins,omitempty"` } `tfsdk:"route_options" json:"routeOptions,omitempty"` SslConfigurations *[]struct { AlpnProtocols *[]string `tfsdk:"alpn_protocols" json:"alpnProtocols,omitempty"` DisableTlsSessionResumption *bool `tfsdk:"disable_tls_session_resumption" json:"disableTlsSessionResumption,omitempty"` OcspStaplePolicy *string `tfsdk:"ocsp_staple_policy" json:"ocspStaplePolicy,omitempty"` OneWayTls *bool `tfsdk:"one_way_tls" json:"oneWayTls,omitempty"` Parameters *struct { CipherSuites *[]string `tfsdk:"cipher_suites" json:"cipherSuites,omitempty"` EcdhCurves *[]string `tfsdk:"ecdh_curves" json:"ecdhCurves,omitempty"` MaximumProtocolVersion *string `tfsdk:"maximum_protocol_version" json:"maximumProtocolVersion,omitempty"` MinimumProtocolVersion *string `tfsdk:"minimum_protocol_version" json:"minimumProtocolVersion,omitempty"` } `tfsdk:"parameters" json:"parameters,omitempty"` Sds *struct { CallCredentials *struct { FileCredentialSource *struct { Header *string `tfsdk:"header" json:"header,omitempty"` TokenFileName *string `tfsdk:"token_file_name" json:"tokenFileName,omitempty"` } `tfsdk:"file_credential_source" json:"fileCredentialSource,omitempty"` } `tfsdk:"call_credentials" json:"callCredentials,omitempty"` CertificatesSecretName *string `tfsdk:"certificates_secret_name" json:"certificatesSecretName,omitempty"` ClusterName *string `tfsdk:"cluster_name" json:"clusterName,omitempty"` TargetUri *string `tfsdk:"target_uri" json:"targetUri,omitempty"` ValidationContextName *string `tfsdk:"validation_context_name" json:"validationContextName,omitempty"` } `tfsdk:"sds" json:"sds,omitempty"` SecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"secret_ref" json:"secretRef,omitempty"` SniDomains *[]string `tfsdk:"sni_domains" json:"sniDomains,omitempty"` SslFiles *struct { OcspStaple *string `tfsdk:"ocsp_staple" json:"ocspStaple,omitempty"` RootCa *string `tfsdk:"root_ca" json:"rootCa,omitempty"` TlsCert *string `tfsdk:"tls_cert" json:"tlsCert,omitempty"` TlsKey *string `tfsdk:"tls_key" json:"tlsKey,omitempty"` } `tfsdk:"ssl_files" json:"sslFiles,omitempty"` TransportSocketConnectTimeout *string `tfsdk:"transport_socket_connect_timeout" json:"transportSocketConnectTimeout,omitempty"` VerifySubjectAltName *[]string `tfsdk:"verify_subject_alt_name" json:"verifySubjectAltName,omitempty"` } `tfsdk:"ssl_configurations" json:"sslConfigurations,omitempty"` TcpListener *map[string]string `tfsdk:"tcp_listener" json:"tcpListener,omitempty"` UseProxyProto *bool `tfsdk:"use_proxy_proto" json:"useProxyProto,omitempty"` } `tfsdk:"listeners" json:"listeners,omitempty"` NamespacedStatuses *struct { Statuses *map[string]string `tfsdk:"statuses" json:"statuses,omitempty"` } `tfsdk:"namespaced_statuses" json:"namespacedStatuses,omitempty"` } `tfsdk:"spec" json:"spec,omitempty"` }
type GlooSoloIoSettingsV1Manifest ¶
type GlooSoloIoSettingsV1Manifest struct{}
func (*GlooSoloIoSettingsV1Manifest) Metadata ¶
func (r *GlooSoloIoSettingsV1Manifest) Metadata(_ context.Context, request datasource.MetadataRequest, response *datasource.MetadataResponse)
func (*GlooSoloIoSettingsV1Manifest) Read ¶
func (r *GlooSoloIoSettingsV1Manifest) Read(ctx context.Context, request datasource.ReadRequest, response *datasource.ReadResponse)
func (*GlooSoloIoSettingsV1Manifest) Schema ¶
func (r *GlooSoloIoSettingsV1Manifest) Schema(_ context.Context, _ datasource.SchemaRequest, response *datasource.SchemaResponse)
type GlooSoloIoSettingsV1ManifestData ¶
type GlooSoloIoSettingsV1ManifestData 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 { CachingServer *struct { AllowedVaryHeaders *[]struct { Exact *string `tfsdk:"exact" json:"exact,omitempty"` IgnoreCase *bool `tfsdk:"ignore_case" json:"ignoreCase,omitempty"` Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` SafeRegex *struct { GoogleRe2 *struct { MaxProgramSize *int64 `tfsdk:"max_program_size" json:"maxProgramSize,omitempty"` } `tfsdk:"google_re2" json:"googleRe2,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` } `tfsdk:"safe_regex" json:"safeRegex,omitempty"` Suffix *string `tfsdk:"suffix" json:"suffix,omitempty"` } `tfsdk:"allowed_vary_headers" json:"allowedVaryHeaders,omitempty"` CachingServiceRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"caching_service_ref" json:"cachingServiceRef,omitempty"` MaxPayloadSize *int64 `tfsdk:"max_payload_size" json:"maxPayloadSize,omitempty"` Timeout *string `tfsdk:"timeout" json:"timeout,omitempty"` } `tfsdk:"caching_server" json:"cachingServer,omitempty"` ConsoleOptions *struct { ApiExplorerEnabled *bool `tfsdk:"api_explorer_enabled" json:"apiExplorerEnabled,omitempty"` ReadOnly *bool `tfsdk:"read_only" json:"readOnly,omitempty"` } `tfsdk:"console_options" json:"consoleOptions,omitempty"` Consul *struct { Address *string `tfsdk:"address" json:"address,omitempty"` CaFile *string `tfsdk:"ca_file" json:"caFile,omitempty"` CaPath *string `tfsdk:"ca_path" json:"caPath,omitempty"` CertFile *string `tfsdk:"cert_file" json:"certFile,omitempty"` Datacenter *string `tfsdk:"datacenter" json:"datacenter,omitempty"` DnsAddress *string `tfsdk:"dns_address" json:"dnsAddress,omitempty"` DnsPollingInterval *string `tfsdk:"dns_polling_interval" json:"dnsPollingInterval,omitempty"` HttpAddress *string `tfsdk:"http_address" json:"httpAddress,omitempty"` InsecureSkipVerify *bool `tfsdk:"insecure_skip_verify" json:"insecureSkipVerify,omitempty"` KeyFile *string `tfsdk:"key_file" json:"keyFile,omitempty"` Password *string `tfsdk:"password" json:"password,omitempty"` ServiceDiscovery *struct { DataCenters *[]string `tfsdk:"data_centers" json:"dataCenters,omitempty"` } `tfsdk:"service_discovery" json:"serviceDiscovery,omitempty"` Token *string `tfsdk:"token" json:"token,omitempty"` Username *string `tfsdk:"username" json:"username,omitempty"` WaitTime *string `tfsdk:"wait_time" json:"waitTime,omitempty"` } `tfsdk:"consul" json:"consul,omitempty"` ConsulDiscovery *struct { ConsistencyMode *string `tfsdk:"consistency_mode" json:"consistencyMode,omitempty"` EdsBlockingQueries *bool `tfsdk:"eds_blocking_queries" json:"edsBlockingQueries,omitempty"` QueryOptions *struct { UseCache *bool `tfsdk:"use_cache" json:"useCache,omitempty"` } `tfsdk:"query_options" json:"queryOptions,omitempty"` RootCa *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"root_ca" json:"rootCa,omitempty"` ServiceTagsAllowlist *[]string `tfsdk:"service_tags_allowlist" json:"serviceTagsAllowlist,omitempty"` SplitTlsServices *bool `tfsdk:"split_tls_services" json:"splitTlsServices,omitempty"` TlsTagName *string `tfsdk:"tls_tag_name" json:"tlsTagName,omitempty"` UseTlsTagging *bool `tfsdk:"use_tls_tagging" json:"useTlsTagging,omitempty"` } `tfsdk:"consul_discovery" json:"consulDiscovery,omitempty"` ConsulKvArtifactSource *struct { RootKey *string `tfsdk:"root_key" json:"rootKey,omitempty"` } `tfsdk:"consul_kv_artifact_source" json:"consulKvArtifactSource,omitempty"` ConsulKvSource *struct { RootKey *string `tfsdk:"root_key" json:"rootKey,omitempty"` } `tfsdk:"consul_kv_source" json:"consulKvSource,omitempty"` DevMode *bool `tfsdk:"dev_mode" json:"devMode,omitempty"` DirectoryArtifactSource *struct { Directory *string `tfsdk:"directory" json:"directory,omitempty"` } `tfsdk:"directory_artifact_source" json:"directoryArtifactSource,omitempty"` DirectoryConfigSource *struct { Directory *string `tfsdk:"directory" json:"directory,omitempty"` } `tfsdk:"directory_config_source" json:"directoryConfigSource,omitempty"` DirectorySecretSource *struct { Directory *string `tfsdk:"directory" json:"directory,omitempty"` } `tfsdk:"directory_secret_source" json:"directorySecretSource,omitempty"` Discovery *struct { FdsMode *string `tfsdk:"fds_mode" json:"fdsMode,omitempty"` FdsOptions *struct { GraphqlEnabled *bool `tfsdk:"graphql_enabled" json:"graphqlEnabled,omitempty"` } `tfsdk:"fds_options" json:"fdsOptions,omitempty"` UdsOptions *struct { Enabled *bool `tfsdk:"enabled" json:"enabled,omitempty"` WatchLabels *map[string]string `tfsdk:"watch_labels" json:"watchLabels,omitempty"` } `tfsdk:"uds_options" json:"udsOptions,omitempty"` } `tfsdk:"discovery" json:"discovery,omitempty"` DiscoveryNamespace *string `tfsdk:"discovery_namespace" json:"discoveryNamespace,omitempty"` ExtProc *struct { AllowModeOverride *bool `tfsdk:"allow_mode_override" json:"allowModeOverride,omitempty"` AsyncMode *bool `tfsdk:"async_mode" json:"asyncMode,omitempty"` DisableClearRouteCache *bool `tfsdk:"disable_clear_route_cache" json:"disableClearRouteCache,omitempty"` FailureModeAllow *bool `tfsdk:"failure_mode_allow" json:"failureModeAllow,omitempty"` FilterMetadata *map[string]string `tfsdk:"filter_metadata" json:"filterMetadata,omitempty"` FilterStage *struct { Predicate *string `tfsdk:"predicate" json:"predicate,omitempty"` Stage *string `tfsdk:"stage" json:"stage,omitempty"` } `tfsdk:"filter_stage" json:"filterStage,omitempty"` ForwardRules *struct { AllowedHeaders *struct { Patterns *[]struct { Exact *string `tfsdk:"exact" json:"exact,omitempty"` IgnoreCase *bool `tfsdk:"ignore_case" json:"ignoreCase,omitempty"` Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` SafeRegex *struct { GoogleRe2 *struct { MaxProgramSize *int64 `tfsdk:"max_program_size" json:"maxProgramSize,omitempty"` } `tfsdk:"google_re2" json:"googleRe2,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` } `tfsdk:"safe_regex" json:"safeRegex,omitempty"` Suffix *string `tfsdk:"suffix" json:"suffix,omitempty"` } `tfsdk:"patterns" json:"patterns,omitempty"` } `tfsdk:"allowed_headers" json:"allowedHeaders,omitempty"` DisallowedHeaders *struct { Patterns *[]struct { Exact *string `tfsdk:"exact" json:"exact,omitempty"` IgnoreCase *bool `tfsdk:"ignore_case" json:"ignoreCase,omitempty"` Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` SafeRegex *struct { GoogleRe2 *struct { MaxProgramSize *int64 `tfsdk:"max_program_size" json:"maxProgramSize,omitempty"` } `tfsdk:"google_re2" json:"googleRe2,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` } `tfsdk:"safe_regex" json:"safeRegex,omitempty"` Suffix *string `tfsdk:"suffix" json:"suffix,omitempty"` } `tfsdk:"patterns" json:"patterns,omitempty"` } `tfsdk:"disallowed_headers" json:"disallowedHeaders,omitempty"` } `tfsdk:"forward_rules" json:"forwardRules,omitempty"` GrpcService *struct { Authority *string `tfsdk:"authority" json:"authority,omitempty"` ExtProcServerRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"ext_proc_server_ref" json:"extProcServerRef,omitempty"` InitialMetadata *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"initial_metadata" json:"initialMetadata,omitempty"` RetryPolicy *struct { NumRetries *int64 `tfsdk:"num_retries" json:"numRetries,omitempty"` RetryBackOff *struct { BaseInterval *string `tfsdk:"base_interval" json:"baseInterval,omitempty"` MaxInterval *string `tfsdk:"max_interval" json:"maxInterval,omitempty"` } `tfsdk:"retry_back_off" json:"retryBackOff,omitempty"` } `tfsdk:"retry_policy" json:"retryPolicy,omitempty"` Timeout *string `tfsdk:"timeout" json:"timeout,omitempty"` } `tfsdk:"grpc_service" json:"grpcService,omitempty"` MaxMessageTimeout *string `tfsdk:"max_message_timeout" json:"maxMessageTimeout,omitempty"` MessageTimeout *string `tfsdk:"message_timeout" json:"messageTimeout,omitempty"` MetadataContextNamespaces *[]string `tfsdk:"metadata_context_namespaces" json:"metadataContextNamespaces,omitempty"` MutationRules *struct { AllowAllRouting *bool `tfsdk:"allow_all_routing" json:"allowAllRouting,omitempty"` AllowEnvoy *bool `tfsdk:"allow_envoy" json:"allowEnvoy,omitempty"` AllowExpression *struct { GoogleRe2 *struct { MaxProgramSize *int64 `tfsdk:"max_program_size" json:"maxProgramSize,omitempty"` } `tfsdk:"google_re2" json:"googleRe2,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` } `tfsdk:"allow_expression" json:"allowExpression,omitempty"` DisallowAll *bool `tfsdk:"disallow_all" json:"disallowAll,omitempty"` DisallowExpression *struct { GoogleRe2 *struct { MaxProgramSize *int64 `tfsdk:"max_program_size" json:"maxProgramSize,omitempty"` } `tfsdk:"google_re2" json:"googleRe2,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` } `tfsdk:"disallow_expression" json:"disallowExpression,omitempty"` DisallowIsError *bool `tfsdk:"disallow_is_error" json:"disallowIsError,omitempty"` DisallowSystem *bool `tfsdk:"disallow_system" json:"disallowSystem,omitempty"` } `tfsdk:"mutation_rules" json:"mutationRules,omitempty"` ProcessingMode *struct { RequestBodyMode *string `tfsdk:"request_body_mode" json:"requestBodyMode,omitempty"` RequestHeaderMode *string `tfsdk:"request_header_mode" json:"requestHeaderMode,omitempty"` RequestTrailerMode *string `tfsdk:"request_trailer_mode" json:"requestTrailerMode,omitempty"` ResponseBodyMode *string `tfsdk:"response_body_mode" json:"responseBodyMode,omitempty"` ResponseHeaderMode *string `tfsdk:"response_header_mode" json:"responseHeaderMode,omitempty"` ResponseTrailerMode *string `tfsdk:"response_trailer_mode" json:"responseTrailerMode,omitempty"` } `tfsdk:"processing_mode" json:"processingMode,omitempty"` RequestAttributes *[]string `tfsdk:"request_attributes" json:"requestAttributes,omitempty"` ResponseAttributes *[]string `tfsdk:"response_attributes" json:"responseAttributes,omitempty"` StatPrefix *string `tfsdk:"stat_prefix" json:"statPrefix,omitempty"` TypedMetadataContextNamespaces *[]string `tfsdk:"typed_metadata_context_namespaces" json:"typedMetadataContextNamespaces,omitempty"` } `tfsdk:"ext_proc" json:"extProc,omitempty"` Extauth *struct { ClearRouteCache *bool `tfsdk:"clear_route_cache" json:"clearRouteCache,omitempty"` ExtauthzServerRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"extauthz_server_ref" json:"extauthzServerRef,omitempty"` FailureModeAllow *bool `tfsdk:"failure_mode_allow" json:"failureModeAllow,omitempty"` GrpcService *struct { Authority *string `tfsdk:"authority" json:"authority,omitempty"` } `tfsdk:"grpc_service" json:"grpcService,omitempty"` HttpService *struct { PathPrefix *string `tfsdk:"path_prefix" json:"pathPrefix,omitempty"` Request *struct { AllowedHeaders *[]string `tfsdk:"allowed_headers" json:"allowedHeaders,omitempty"` AllowedHeadersRegex *[]string `tfsdk:"allowed_headers_regex" json:"allowedHeadersRegex,omitempty"` HeadersToAdd *map[string]string `tfsdk:"headers_to_add" json:"headersToAdd,omitempty"` } `tfsdk:"request" json:"request,omitempty"` Response *struct { AllowedClientHeaders *[]string `tfsdk:"allowed_client_headers" json:"allowedClientHeaders,omitempty"` AllowedUpstreamHeaders *[]string `tfsdk:"allowed_upstream_headers" json:"allowedUpstreamHeaders,omitempty"` AllowedUpstreamHeadersToAppend *[]string `tfsdk:"allowed_upstream_headers_to_append" json:"allowedUpstreamHeadersToAppend,omitempty"` } `tfsdk:"response" json:"response,omitempty"` } `tfsdk:"http_service" json:"httpService,omitempty"` RequestBody *struct { AllowPartialMessage *bool `tfsdk:"allow_partial_message" json:"allowPartialMessage,omitempty"` MaxRequestBytes *int64 `tfsdk:"max_request_bytes" json:"maxRequestBytes,omitempty"` PackAsBytes *bool `tfsdk:"pack_as_bytes" json:"packAsBytes,omitempty"` } `tfsdk:"request_body" json:"requestBody,omitempty"` RequestTimeout *string `tfsdk:"request_timeout" json:"requestTimeout,omitempty"` StatPrefix *string `tfsdk:"stat_prefix" json:"statPrefix,omitempty"` StatusOnError *int64 `tfsdk:"status_on_error" json:"statusOnError,omitempty"` TransportApiVersion *string `tfsdk:"transport_api_version" json:"transportApiVersion,omitempty"` UserIdHeader *string `tfsdk:"user_id_header" json:"userIdHeader,omitempty"` } `tfsdk:"extauth" json:"extauth,omitempty"` Extensions *struct { Configs *map[string]string `tfsdk:"configs" json:"configs,omitempty"` } `tfsdk:"extensions" json:"extensions,omitempty"` Gateway *struct { AlwaysSortRouteTableRoutes *bool `tfsdk:"always_sort_route_table_routes" json:"alwaysSortRouteTableRoutes,omitempty"` CompressedProxySpec *bool `tfsdk:"compressed_proxy_spec" json:"compressedProxySpec,omitempty"` EnableGatewayController *bool `tfsdk:"enable_gateway_controller" json:"enableGatewayController,omitempty"` IsolateVirtualHostsBySslConfig *bool `tfsdk:"isolate_virtual_hosts_by_ssl_config" json:"isolateVirtualHostsBySslConfig,omitempty"` PersistProxySpec *bool `tfsdk:"persist_proxy_spec" json:"persistProxySpec,omitempty"` ReadGatewaysFromAllNamespaces *bool `tfsdk:"read_gateways_from_all_namespaces" json:"readGatewaysFromAllNamespaces,omitempty"` TranslateEmptyGateways *bool `tfsdk:"translate_empty_gateways" json:"translateEmptyGateways,omitempty"` Validation *struct { AllowWarnings *bool `tfsdk:"allow_warnings" json:"allowWarnings,omitempty"` AlwaysAccept *bool `tfsdk:"always_accept" json:"alwaysAccept,omitempty"` DisableTransformationValidation *bool `tfsdk:"disable_transformation_validation" json:"disableTransformationValidation,omitempty"` FullEnvoyValidation *bool `tfsdk:"full_envoy_validation" json:"fullEnvoyValidation,omitempty"` IgnoreGlooValidationFailure *bool `tfsdk:"ignore_gloo_validation_failure" json:"ignoreGlooValidationFailure,omitempty"` ProxyValidationServerAddr *string `tfsdk:"proxy_validation_server_addr" json:"proxyValidationServerAddr,omitempty"` ServerEnabled *bool `tfsdk:"server_enabled" json:"serverEnabled,omitempty"` ValidationServerGrpcMaxSizeBytes *int64 `tfsdk:"validation_server_grpc_max_size_bytes" json:"validationServerGrpcMaxSizeBytes,omitempty"` ValidationWebhookTlsCert *string `tfsdk:"validation_webhook_tls_cert" json:"validationWebhookTlsCert,omitempty"` ValidationWebhookTlsKey *string `tfsdk:"validation_webhook_tls_key" json:"validationWebhookTlsKey,omitempty"` WarnMissingTlsSecret *bool `tfsdk:"warn_missing_tls_secret" json:"warnMissingTlsSecret,omitempty"` WarnRouteShortCircuiting *bool `tfsdk:"warn_route_short_circuiting" json:"warnRouteShortCircuiting,omitempty"` } `tfsdk:"validation" json:"validation,omitempty"` ValidationServerAddr *string `tfsdk:"validation_server_addr" json:"validationServerAddr,omitempty"` VirtualServiceOptions *struct { OneWayTls *bool `tfsdk:"one_way_tls" json:"oneWayTls,omitempty"` } `tfsdk:"virtual_service_options" json:"virtualServiceOptions,omitempty"` } `tfsdk:"gateway" json:"gateway,omitempty"` Gloo *struct { AwsOptions *struct { CredentialRefreshDelay *string `tfsdk:"credential_refresh_delay" json:"credentialRefreshDelay,omitempty"` EnableCredentialsDiscovey *bool `tfsdk:"enable_credentials_discovey" json:"enableCredentialsDiscovey,omitempty"` FallbackToFirstFunction *bool `tfsdk:"fallback_to_first_function" json:"fallbackToFirstFunction,omitempty"` PropagateOriginalRouting *bool `tfsdk:"propagate_original_routing" json:"propagateOriginalRouting,omitempty"` ServiceAccountCredentials *struct { Cluster *string `tfsdk:"cluster" json:"cluster,omitempty"` Region *string `tfsdk:"region" json:"region,omitempty"` Timeout *string `tfsdk:"timeout" json:"timeout,omitempty"` Uri *string `tfsdk:"uri" json:"uri,omitempty"` } `tfsdk:"service_account_credentials" json:"serviceAccountCredentials,omitempty"` } `tfsdk:"aws_options" json:"awsOptions,omitempty"` CircuitBreakers *struct { MaxConnections *int64 `tfsdk:"max_connections" json:"maxConnections,omitempty"` MaxPendingRequests *int64 `tfsdk:"max_pending_requests" json:"maxPendingRequests,omitempty"` MaxRequests *int64 `tfsdk:"max_requests" json:"maxRequests,omitempty"` MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` } `tfsdk:"circuit_breakers" json:"circuitBreakers,omitempty"` DisableGrpcWeb *bool `tfsdk:"disable_grpc_web" json:"disableGrpcWeb,omitempty"` DisableKubernetesDestinations *bool `tfsdk:"disable_kubernetes_destinations" json:"disableKubernetesDestinations,omitempty"` DisableProxyGarbageCollection *bool `tfsdk:"disable_proxy_garbage_collection" json:"disableProxyGarbageCollection,omitempty"` EnableRestEds *bool `tfsdk:"enable_rest_eds" json:"enableRestEds,omitempty"` EndpointsWarmingTimeout *string `tfsdk:"endpoints_warming_timeout" json:"endpointsWarmingTimeout,omitempty"` FailoverUpstreamDnsPollingInterval *string `tfsdk:"failover_upstream_dns_polling_interval" json:"failoverUpstreamDnsPollingInterval,omitempty"` InvalidConfigPolicy *struct { InvalidRouteResponseBody *string `tfsdk:"invalid_route_response_body" json:"invalidRouteResponseBody,omitempty"` InvalidRouteResponseCode *int64 `tfsdk:"invalid_route_response_code" json:"invalidRouteResponseCode,omitempty"` ReplaceInvalidRoutes *bool `tfsdk:"replace_invalid_routes" json:"replaceInvalidRoutes,omitempty"` } `tfsdk:"invalid_config_policy" json:"invalidConfigPolicy,omitempty"` IstioOptions *struct { AppendXForwardedHost *bool `tfsdk:"append_x_forwarded_host" json:"appendXForwardedHost,omitempty"` EnableAutoMtls *bool `tfsdk:"enable_auto_mtls" json:"enableAutoMtls,omitempty"` EnableIntegration *bool `tfsdk:"enable_integration" json:"enableIntegration,omitempty"` } `tfsdk:"istio_options" json:"istioOptions,omitempty"` LogTransformationRequestResponseInfo *bool `tfsdk:"log_transformation_request_response_info" json:"logTransformationRequestResponseInfo,omitempty"` ProxyDebugBindAddr *string `tfsdk:"proxy_debug_bind_addr" json:"proxyDebugBindAddr,omitempty"` RegexMaxProgramSize *int64 `tfsdk:"regex_max_program_size" json:"regexMaxProgramSize,omitempty"` RemoveUnusedFilters *bool `tfsdk:"remove_unused_filters" json:"removeUnusedFilters,omitempty"` RestXdsBindAddr *string `tfsdk:"rest_xds_bind_addr" json:"restXdsBindAddr,omitempty"` TransformationEscapeCharacters *bool `tfsdk:"transformation_escape_characters" json:"transformationEscapeCharacters,omitempty"` ValidationBindAddr *string `tfsdk:"validation_bind_addr" json:"validationBindAddr,omitempty"` XdsBindAddr *string `tfsdk:"xds_bind_addr" json:"xdsBindAddr,omitempty"` } `tfsdk:"gloo" json:"gloo,omitempty"` GraphqlOptions *struct { SchemaChangeValidationOptions *struct { ProcessingRules *[]string `tfsdk:"processing_rules" json:"processingRules,omitempty"` RejectBreakingChanges *bool `tfsdk:"reject_breaking_changes" json:"rejectBreakingChanges,omitempty"` } `tfsdk:"schema_change_validation_options" json:"schemaChangeValidationOptions,omitempty"` } `tfsdk:"graphql_options" json:"graphqlOptions,omitempty"` Knative *struct { ClusterIngressProxyAddress *string `tfsdk:"cluster_ingress_proxy_address" json:"clusterIngressProxyAddress,omitempty"` KnativeExternalProxyAddress *string `tfsdk:"knative_external_proxy_address" json:"knativeExternalProxyAddress,omitempty"` KnativeInternalProxyAddress *string `tfsdk:"knative_internal_proxy_address" json:"knativeInternalProxyAddress,omitempty"` } `tfsdk:"knative" json:"knative,omitempty"` Kubernetes *struct { RateLimits *struct { QPS *float64 `tfsdk:"qps" json:"QPS,omitempty"` Burst *int64 `tfsdk:"burst" json:"burst,omitempty"` } `tfsdk:"rate_limits" json:"rateLimits,omitempty"` } `tfsdk:"kubernetes" json:"kubernetes,omitempty"` KubernetesArtifactSource *map[string]string `tfsdk:"kubernetes_artifact_source" json:"kubernetesArtifactSource,omitempty"` KubernetesConfigSource *map[string]string `tfsdk:"kubernetes_config_source" json:"kubernetesConfigSource,omitempty"` KubernetesSecretSource *map[string]string `tfsdk:"kubernetes_secret_source" json:"kubernetesSecretSource,omitempty"` Linkerd *bool `tfsdk:"linkerd" json:"linkerd,omitempty"` NamedExtauth *struct { ClearRouteCache *bool `tfsdk:"clear_route_cache" json:"clearRouteCache,omitempty"` ExtauthzServerRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"extauthz_server_ref" json:"extauthzServerRef,omitempty"` FailureModeAllow *bool `tfsdk:"failure_mode_allow" json:"failureModeAllow,omitempty"` GrpcService *struct { Authority *string `tfsdk:"authority" json:"authority,omitempty"` } `tfsdk:"grpc_service" json:"grpcService,omitempty"` HttpService *struct { PathPrefix *string `tfsdk:"path_prefix" json:"pathPrefix,omitempty"` Request *struct { AllowedHeaders *[]string `tfsdk:"allowed_headers" json:"allowedHeaders,omitempty"` AllowedHeadersRegex *[]string `tfsdk:"allowed_headers_regex" json:"allowedHeadersRegex,omitempty"` HeadersToAdd *map[string]string `tfsdk:"headers_to_add" json:"headersToAdd,omitempty"` } `tfsdk:"request" json:"request,omitempty"` Response *struct { AllowedClientHeaders *[]string `tfsdk:"allowed_client_headers" json:"allowedClientHeaders,omitempty"` AllowedUpstreamHeaders *[]string `tfsdk:"allowed_upstream_headers" json:"allowedUpstreamHeaders,omitempty"` AllowedUpstreamHeadersToAppend *[]string `tfsdk:"allowed_upstream_headers_to_append" json:"allowedUpstreamHeadersToAppend,omitempty"` } `tfsdk:"response" json:"response,omitempty"` } `tfsdk:"http_service" json:"httpService,omitempty"` RequestBody *struct { AllowPartialMessage *bool `tfsdk:"allow_partial_message" json:"allowPartialMessage,omitempty"` MaxRequestBytes *int64 `tfsdk:"max_request_bytes" json:"maxRequestBytes,omitempty"` PackAsBytes *bool `tfsdk:"pack_as_bytes" json:"packAsBytes,omitempty"` } `tfsdk:"request_body" json:"requestBody,omitempty"` RequestTimeout *string `tfsdk:"request_timeout" json:"requestTimeout,omitempty"` StatPrefix *string `tfsdk:"stat_prefix" json:"statPrefix,omitempty"` StatusOnError *int64 `tfsdk:"status_on_error" json:"statusOnError,omitempty"` TransportApiVersion *string `tfsdk:"transport_api_version" json:"transportApiVersion,omitempty"` UserIdHeader *string `tfsdk:"user_id_header" json:"userIdHeader,omitempty"` } `tfsdk:"named_extauth" json:"namedExtauth,omitempty"` NamespacedStatuses *struct { Statuses *map[string]string `tfsdk:"statuses" json:"statuses,omitempty"` } `tfsdk:"namespaced_statuses" json:"namespacedStatuses,omitempty"` ObservabilityOptions *struct { ConfigStatusMetricLabels *struct { LabelToPath *map[string]string `tfsdk:"label_to_path" json:"labelToPath,omitempty"` } `tfsdk:"config_status_metric_labels" json:"configStatusMetricLabels,omitempty"` GrafanaIntegration *struct { DashboardPrefix *string `tfsdk:"dashboard_prefix" json:"dashboardPrefix,omitempty"` DefaultDashboardFolderId *int64 `tfsdk:"default_dashboard_folder_id" json:"defaultDashboardFolderId,omitempty"` ExtraMetricQueryParameters *string `tfsdk:"extra_metric_query_parameters" json:"extraMetricQueryParameters,omitempty"` } `tfsdk:"grafana_integration" json:"grafanaIntegration,omitempty"` } `tfsdk:"observability_options" json:"observabilityOptions,omitempty"` Ratelimit *struct { Descriptors *[]map[string]string `tfsdk:"descriptors" json:"descriptors,omitempty"` SetDescriptors *[]struct { AlwaysApply *bool `tfsdk:"always_apply" json:"alwaysApply,omitempty"` RateLimit *struct { RequestsPerUnit *int64 `tfsdk:"requests_per_unit" json:"requestsPerUnit,omitempty"` Unit *string `tfsdk:"unit" json:"unit,omitempty"` } `tfsdk:"rate_limit" json:"rateLimit,omitempty"` SimpleDescriptors *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"simple_descriptors" json:"simpleDescriptors,omitempty"` } `tfsdk:"set_descriptors" json:"setDescriptors,omitempty"` } `tfsdk:"ratelimit" json:"ratelimit,omitempty"` RatelimitServer *struct { DenyOnFail *bool `tfsdk:"deny_on_fail" json:"denyOnFail,omitempty"` EnableXRatelimitHeaders *bool `tfsdk:"enable_x_ratelimit_headers" json:"enableXRatelimitHeaders,omitempty"` GrpcService *struct { Authority *string `tfsdk:"authority" json:"authority,omitempty"` } `tfsdk:"grpc_service" json:"grpcService,omitempty"` RateLimitBeforeAuth *bool `tfsdk:"rate_limit_before_auth" json:"rateLimitBeforeAuth,omitempty"` RatelimitServerRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"ratelimit_server_ref" json:"ratelimitServerRef,omitempty"` RequestTimeout *string `tfsdk:"request_timeout" json:"requestTimeout,omitempty"` } `tfsdk:"ratelimit_server" json:"ratelimitServer,omitempty"` Rbac *struct { RequireRbac *bool `tfsdk:"require_rbac" json:"requireRbac,omitempty"` } `tfsdk:"rbac" json:"rbac,omitempty"` RefreshRate *string `tfsdk:"refresh_rate" json:"refreshRate,omitempty"` SecretOptions *struct { Sources *[]struct { Directory *struct { Directory *string `tfsdk:"directory" json:"directory,omitempty"` } `tfsdk:"directory" json:"directory,omitempty"` Kubernetes *map[string]string `tfsdk:"kubernetes" json:"kubernetes,omitempty"` Vault *struct { AccessToken *string `tfsdk:"access_token" json:"accessToken,omitempty"` Address *string `tfsdk:"address" json:"address,omitempty"` Aws *struct { AccessKeyId *string `tfsdk:"access_key_id" json:"accessKeyId,omitempty"` IamServerIdHeader *string `tfsdk:"iam_server_id_header" json:"iamServerIdHeader,omitempty"` LeaseIncrement *int64 `tfsdk:"lease_increment" json:"leaseIncrement,omitempty"` MountPath *string `tfsdk:"mount_path" json:"mountPath,omitempty"` Region *string `tfsdk:"region" json:"region,omitempty"` SecretAccessKey *string `tfsdk:"secret_access_key" json:"secretAccessKey,omitempty"` SessionToken *string `tfsdk:"session_token" json:"sessionToken,omitempty"` VaultRole *string `tfsdk:"vault_role" json:"vaultRole,omitempty"` } `tfsdk:"aws" json:"aws,omitempty"` CaCert *string `tfsdk:"ca_cert" json:"caCert,omitempty"` CaPath *string `tfsdk:"ca_path" json:"caPath,omitempty"` ClientCert *string `tfsdk:"client_cert" json:"clientCert,omitempty"` ClientKey *string `tfsdk:"client_key" json:"clientKey,omitempty"` Insecure *bool `tfsdk:"insecure" json:"insecure,omitempty"` PathPrefix *string `tfsdk:"path_prefix" json:"pathPrefix,omitempty"` RootKey *string `tfsdk:"root_key" json:"rootKey,omitempty"` TlsConfig *struct { CaCert *string `tfsdk:"ca_cert" json:"caCert,omitempty"` CaPath *string `tfsdk:"ca_path" json:"caPath,omitempty"` ClientCert *string `tfsdk:"client_cert" json:"clientCert,omitempty"` ClientKey *string `tfsdk:"client_key" json:"clientKey,omitempty"` Insecure *bool `tfsdk:"insecure" json:"insecure,omitempty"` TlsServerName *string `tfsdk:"tls_server_name" json:"tlsServerName,omitempty"` } `tfsdk:"tls_config" json:"tlsConfig,omitempty"` TlsServerName *string `tfsdk:"tls_server_name" json:"tlsServerName,omitempty"` Token *string `tfsdk:"token" json:"token,omitempty"` } `tfsdk:"vault" json:"vault,omitempty"` } `tfsdk:"sources" json:"sources,omitempty"` } `tfsdk:"secret_options" json:"secretOptions,omitempty"` UpstreamOptions *struct { GlobalAnnotations *map[string]string `tfsdk:"global_annotations" json:"globalAnnotations,omitempty"` SslParameters *struct { CipherSuites *[]string `tfsdk:"cipher_suites" json:"cipherSuites,omitempty"` EcdhCurves *[]string `tfsdk:"ecdh_curves" json:"ecdhCurves,omitempty"` MaximumProtocolVersion *string `tfsdk:"maximum_protocol_version" json:"maximumProtocolVersion,omitempty"` MinimumProtocolVersion *string `tfsdk:"minimum_protocol_version" json:"minimumProtocolVersion,omitempty"` } `tfsdk:"ssl_parameters" json:"sslParameters,omitempty"` } `tfsdk:"upstream_options" json:"upstreamOptions,omitempty"` VaultSecretSource *struct { AccessToken *string `tfsdk:"access_token" json:"accessToken,omitempty"` Address *string `tfsdk:"address" json:"address,omitempty"` Aws *struct { AccessKeyId *string `tfsdk:"access_key_id" json:"accessKeyId,omitempty"` IamServerIdHeader *string `tfsdk:"iam_server_id_header" json:"iamServerIdHeader,omitempty"` LeaseIncrement *int64 `tfsdk:"lease_increment" json:"leaseIncrement,omitempty"` MountPath *string `tfsdk:"mount_path" json:"mountPath,omitempty"` Region *string `tfsdk:"region" json:"region,omitempty"` SecretAccessKey *string `tfsdk:"secret_access_key" json:"secretAccessKey,omitempty"` SessionToken *string `tfsdk:"session_token" json:"sessionToken,omitempty"` VaultRole *string `tfsdk:"vault_role" json:"vaultRole,omitempty"` } `tfsdk:"aws" json:"aws,omitempty"` CaCert *string `tfsdk:"ca_cert" json:"caCert,omitempty"` CaPath *string `tfsdk:"ca_path" json:"caPath,omitempty"` ClientCert *string `tfsdk:"client_cert" json:"clientCert,omitempty"` ClientKey *string `tfsdk:"client_key" json:"clientKey,omitempty"` Insecure *bool `tfsdk:"insecure" json:"insecure,omitempty"` PathPrefix *string `tfsdk:"path_prefix" json:"pathPrefix,omitempty"` RootKey *string `tfsdk:"root_key" json:"rootKey,omitempty"` TlsConfig *struct { CaCert *string `tfsdk:"ca_cert" json:"caCert,omitempty"` CaPath *string `tfsdk:"ca_path" json:"caPath,omitempty"` ClientCert *string `tfsdk:"client_cert" json:"clientCert,omitempty"` ClientKey *string `tfsdk:"client_key" json:"clientKey,omitempty"` Insecure *bool `tfsdk:"insecure" json:"insecure,omitempty"` TlsServerName *string `tfsdk:"tls_server_name" json:"tlsServerName,omitempty"` } `tfsdk:"tls_config" json:"tlsConfig,omitempty"` TlsServerName *string `tfsdk:"tls_server_name" json:"tlsServerName,omitempty"` Token *string `tfsdk:"token" json:"token,omitempty"` } `tfsdk:"vault_secret_source" json:"vaultSecretSource,omitempty"` WatchNamespaceSelectors *[]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:"watch_namespace_selectors" json:"watchNamespaceSelectors,omitempty"` WatchNamespaces *[]string `tfsdk:"watch_namespaces" json:"watchNamespaces,omitempty"` } `tfsdk:"spec" json:"spec,omitempty"` }
type GlooSoloIoUpstreamGroupV1Manifest ¶
type GlooSoloIoUpstreamGroupV1Manifest struct{}
func (*GlooSoloIoUpstreamGroupV1Manifest) Metadata ¶
func (r *GlooSoloIoUpstreamGroupV1Manifest) Metadata(_ context.Context, request datasource.MetadataRequest, response *datasource.MetadataResponse)
func (*GlooSoloIoUpstreamGroupV1Manifest) Read ¶
func (r *GlooSoloIoUpstreamGroupV1Manifest) Read(ctx context.Context, request datasource.ReadRequest, response *datasource.ReadResponse)
func (*GlooSoloIoUpstreamGroupV1Manifest) Schema ¶
func (r *GlooSoloIoUpstreamGroupV1Manifest) Schema(_ context.Context, _ datasource.SchemaRequest, response *datasource.SchemaResponse)
type GlooSoloIoUpstreamGroupV1ManifestData ¶
type GlooSoloIoUpstreamGroupV1ManifestData 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 { Destinations *[]struct { Destination *struct { Consul *struct { DataCenters *[]string `tfsdk:"data_centers" json:"dataCenters,omitempty"` ServiceName *string `tfsdk:"service_name" json:"serviceName,omitempty"` Tags *[]string `tfsdk:"tags" json:"tags,omitempty"` } `tfsdk:"consul" json:"consul,omitempty"` DestinationSpec *struct { Aws *struct { InvocationStyle *string `tfsdk:"invocation_style" json:"invocationStyle,omitempty"` LogicalName *string `tfsdk:"logical_name" json:"logicalName,omitempty"` RequestTransformation *bool `tfsdk:"request_transformation" json:"requestTransformation,omitempty"` ResponseTransformation *bool `tfsdk:"response_transformation" json:"responseTransformation,omitempty"` UnwrapAsAlb *bool `tfsdk:"unwrap_as_alb" json:"unwrapAsAlb,omitempty"` UnwrapAsApiGateway *bool `tfsdk:"unwrap_as_api_gateway" json:"unwrapAsApiGateway,omitempty"` WrapAsApiGateway *bool `tfsdk:"wrap_as_api_gateway" json:"wrapAsApiGateway,omitempty"` } `tfsdk:"aws" json:"aws,omitempty"` Azure *struct { FunctionName *string `tfsdk:"function_name" json:"functionName,omitempty"` } `tfsdk:"azure" json:"azure,omitempty"` Grpc *struct { Function *string `tfsdk:"function" json:"function,omitempty"` Package *string `tfsdk:"package" json:"package,omitempty"` Parameters *struct { Headers *map[string]string `tfsdk:"headers" json:"headers,omitempty"` Path *string `tfsdk:"path" json:"path,omitempty"` } `tfsdk:"parameters" json:"parameters,omitempty"` Service *string `tfsdk:"service" json:"service,omitempty"` } `tfsdk:"grpc" json:"grpc,omitempty"` Rest *struct { FunctionName *string `tfsdk:"function_name" json:"functionName,omitempty"` Parameters *struct { Headers *map[string]string `tfsdk:"headers" json:"headers,omitempty"` Path *string `tfsdk:"path" json:"path,omitempty"` } `tfsdk:"parameters" json:"parameters,omitempty"` ResponseTransformation *struct { AdvancedTemplates *bool `tfsdk:"advanced_templates" json:"advancedTemplates,omitempty"` Body *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"body" json:"body,omitempty"` DynamicMetadataValues *[]struct { JsonToProto *bool `tfsdk:"json_to_proto" json:"jsonToProto,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` MetadataNamespace *string `tfsdk:"metadata_namespace" json:"metadataNamespace,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"dynamic_metadata_values" json:"dynamicMetadataValues,omitempty"` EscapeCharacters *bool `tfsdk:"escape_characters" json:"escapeCharacters,omitempty"` Extractors *struct { Body *map[string]string `tfsdk:"body" json:"body,omitempty"` Header *string `tfsdk:"header" json:"header,omitempty"` Mode *string `tfsdk:"mode" json:"mode,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` ReplacementText *string `tfsdk:"replacement_text" json:"replacementText,omitempty"` Subgroup *int64 `tfsdk:"subgroup" json:"subgroup,omitempty"` } `tfsdk:"extractors" json:"extractors,omitempty"` Headers *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` HeadersToAppend *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers_to_append" json:"headersToAppend,omitempty"` HeadersToRemove *[]string `tfsdk:"headers_to_remove" json:"headersToRemove,omitempty"` IgnoreErrorOnParse *bool `tfsdk:"ignore_error_on_parse" json:"ignoreErrorOnParse,omitempty"` MergeExtractorsToBody *map[string]string `tfsdk:"merge_extractors_to_body" json:"mergeExtractorsToBody,omitempty"` MergeJsonKeys *struct { JsonKeys *struct { OverrideEmpty *bool `tfsdk:"override_empty" json:"overrideEmpty,omitempty"` Tmpl *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"tmpl" json:"tmpl,omitempty"` } `tfsdk:"json_keys" json:"jsonKeys,omitempty"` } `tfsdk:"merge_json_keys" json:"mergeJsonKeys,omitempty"` ParseBodyBehavior *string `tfsdk:"parse_body_behavior" json:"parseBodyBehavior,omitempty"` Passthrough *map[string]string `tfsdk:"passthrough" json:"passthrough,omitempty"` } `tfsdk:"response_transformation" json:"responseTransformation,omitempty"` } `tfsdk:"rest" json:"rest,omitempty"` } `tfsdk:"destination_spec" json:"destinationSpec,omitempty"` Kube *struct { Port *int64 `tfsdk:"port" json:"port,omitempty"` Ref *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"ref" json:"ref,omitempty"` } `tfsdk:"kube" json:"kube,omitempty"` Subset *struct { Values *map[string]string `tfsdk:"values" json:"values,omitempty"` } `tfsdk:"subset" json:"subset,omitempty"` Upstream *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"upstream" json:"upstream,omitempty"` } `tfsdk:"destination" json:"destination,omitempty"` Options *struct { BufferPerRoute *struct { Buffer *struct { MaxRequestBytes *int64 `tfsdk:"max_request_bytes" json:"maxRequestBytes,omitempty"` } `tfsdk:"buffer" json:"buffer,omitempty"` Disabled *bool `tfsdk:"disabled" json:"disabled,omitempty"` } `tfsdk:"buffer_per_route" json:"bufferPerRoute,omitempty"` Csrf *struct { AdditionalOrigins *[]struct { Exact *string `tfsdk:"exact" json:"exact,omitempty"` IgnoreCase *bool `tfsdk:"ignore_case" json:"ignoreCase,omitempty"` Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` SafeRegex *struct { GoogleRe2 *struct { MaxProgramSize *int64 `tfsdk:"max_program_size" json:"maxProgramSize,omitempty"` } `tfsdk:"google_re2" json:"googleRe2,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` } `tfsdk:"safe_regex" json:"safeRegex,omitempty"` Suffix *string `tfsdk:"suffix" json:"suffix,omitempty"` } `tfsdk:"additional_origins" json:"additionalOrigins,omitempty"` FilterEnabled *struct { DefaultValue *struct { Denominator *string `tfsdk:"denominator" json:"denominator,omitempty"` Numerator *int64 `tfsdk:"numerator" json:"numerator,omitempty"` } `tfsdk:"default_value" json:"defaultValue,omitempty"` RuntimeKey *string `tfsdk:"runtime_key" json:"runtimeKey,omitempty"` } `tfsdk:"filter_enabled" json:"filterEnabled,omitempty"` ShadowEnabled *struct { DefaultValue *struct { Denominator *string `tfsdk:"denominator" json:"denominator,omitempty"` Numerator *int64 `tfsdk:"numerator" json:"numerator,omitempty"` } `tfsdk:"default_value" json:"defaultValue,omitempty"` RuntimeKey *string `tfsdk:"runtime_key" json:"runtimeKey,omitempty"` } `tfsdk:"shadow_enabled" json:"shadowEnabled,omitempty"` } `tfsdk:"csrf" json:"csrf,omitempty"` Extauth *struct { ConfigRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"config_ref" json:"configRef,omitempty"` CustomAuth *struct { ContextExtensions *map[string]string `tfsdk:"context_extensions" json:"contextExtensions,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` } `tfsdk:"custom_auth" json:"customAuth,omitempty"` Disable *bool `tfsdk:"disable" json:"disable,omitempty"` } `tfsdk:"extauth" json:"extauth,omitempty"` Extensions *struct { Configs *map[string]string `tfsdk:"configs" json:"configs,omitempty"` } `tfsdk:"extensions" json:"extensions,omitempty"` HeaderManipulation *struct { RequestHeadersToAdd *[]struct { Append *bool `tfsdk:"append" json:"append,omitempty"` Header *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"header" json:"header,omitempty"` HeaderSecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"header_secret_ref" json:"headerSecretRef,omitempty"` } `tfsdk:"request_headers_to_add" json:"requestHeadersToAdd,omitempty"` RequestHeadersToRemove *[]string `tfsdk:"request_headers_to_remove" json:"requestHeadersToRemove,omitempty"` ResponseHeadersToAdd *[]struct { Append *bool `tfsdk:"append" json:"append,omitempty"` Header *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"header" json:"header,omitempty"` } `tfsdk:"response_headers_to_add" json:"responseHeadersToAdd,omitempty"` ResponseHeadersToRemove *[]string `tfsdk:"response_headers_to_remove" json:"responseHeadersToRemove,omitempty"` } `tfsdk:"header_manipulation" json:"headerManipulation,omitempty"` StagedTransformations *struct { Early *struct { RequestTransforms *[]struct { ClearRouteCache *bool `tfsdk:"clear_route_cache" json:"clearRouteCache,omitempty"` Matcher *struct { CaseSensitive *bool `tfsdk:"case_sensitive" json:"caseSensitive,omitempty"` ConnectMatcher *map[string]string `tfsdk:"connect_matcher" json:"connectMatcher,omitempty"` Exact *string `tfsdk:"exact" json:"exact,omitempty"` Headers *[]struct { InvertMatch *bool `tfsdk:"invert_match" json:"invertMatch,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` Regex *bool `tfsdk:"regex" json:"regex,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Methods *[]string `tfsdk:"methods" json:"methods,omitempty"` Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` QueryParameters *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Regex *bool `tfsdk:"regex" json:"regex,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_parameters" json:"queryParameters,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` } `tfsdk:"matcher" json:"matcher,omitempty"` RequestTransformation *struct { HeaderBodyTransform *struct { AddRequestMetadata *bool `tfsdk:"add_request_metadata" json:"addRequestMetadata,omitempty"` } `tfsdk:"header_body_transform" json:"headerBodyTransform,omitempty"` LogRequestResponseInfo *bool `tfsdk:"log_request_response_info" json:"logRequestResponseInfo,omitempty"` TransformationTemplate *struct { AdvancedTemplates *bool `tfsdk:"advanced_templates" json:"advancedTemplates,omitempty"` Body *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"body" json:"body,omitempty"` DynamicMetadataValues *[]struct { JsonToProto *bool `tfsdk:"json_to_proto" json:"jsonToProto,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` MetadataNamespace *string `tfsdk:"metadata_namespace" json:"metadataNamespace,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"dynamic_metadata_values" json:"dynamicMetadataValues,omitempty"` EscapeCharacters *bool `tfsdk:"escape_characters" json:"escapeCharacters,omitempty"` Extractors *struct { Body *map[string]string `tfsdk:"body" json:"body,omitempty"` Header *string `tfsdk:"header" json:"header,omitempty"` Mode *string `tfsdk:"mode" json:"mode,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` ReplacementText *string `tfsdk:"replacement_text" json:"replacementText,omitempty"` Subgroup *int64 `tfsdk:"subgroup" json:"subgroup,omitempty"` } `tfsdk:"extractors" json:"extractors,omitempty"` Headers *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` HeadersToAppend *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers_to_append" json:"headersToAppend,omitempty"` HeadersToRemove *[]string `tfsdk:"headers_to_remove" json:"headersToRemove,omitempty"` IgnoreErrorOnParse *bool `tfsdk:"ignore_error_on_parse" json:"ignoreErrorOnParse,omitempty"` MergeExtractorsToBody *map[string]string `tfsdk:"merge_extractors_to_body" json:"mergeExtractorsToBody,omitempty"` MergeJsonKeys *struct { JsonKeys *struct { OverrideEmpty *bool `tfsdk:"override_empty" json:"overrideEmpty,omitempty"` Tmpl *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"tmpl" json:"tmpl,omitempty"` } `tfsdk:"json_keys" json:"jsonKeys,omitempty"` } `tfsdk:"merge_json_keys" json:"mergeJsonKeys,omitempty"` ParseBodyBehavior *string `tfsdk:"parse_body_behavior" json:"parseBodyBehavior,omitempty"` Passthrough *map[string]string `tfsdk:"passthrough" json:"passthrough,omitempty"` } `tfsdk:"transformation_template" json:"transformationTemplate,omitempty"` XsltTransformation *struct { NonXmlTransform *bool `tfsdk:"non_xml_transform" json:"nonXmlTransform,omitempty"` SetContentType *string `tfsdk:"set_content_type" json:"setContentType,omitempty"` Xslt *string `tfsdk:"xslt" json:"xslt,omitempty"` } `tfsdk:"xslt_transformation" json:"xsltTransformation,omitempty"` } `tfsdk:"request_transformation" json:"requestTransformation,omitempty"` ResponseTransformation *struct { HeaderBodyTransform *struct { AddRequestMetadata *bool `tfsdk:"add_request_metadata" json:"addRequestMetadata,omitempty"` } `tfsdk:"header_body_transform" json:"headerBodyTransform,omitempty"` LogRequestResponseInfo *bool `tfsdk:"log_request_response_info" json:"logRequestResponseInfo,omitempty"` TransformationTemplate *struct { AdvancedTemplates *bool `tfsdk:"advanced_templates" json:"advancedTemplates,omitempty"` Body *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"body" json:"body,omitempty"` DynamicMetadataValues *[]struct { JsonToProto *bool `tfsdk:"json_to_proto" json:"jsonToProto,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` MetadataNamespace *string `tfsdk:"metadata_namespace" json:"metadataNamespace,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"dynamic_metadata_values" json:"dynamicMetadataValues,omitempty"` EscapeCharacters *bool `tfsdk:"escape_characters" json:"escapeCharacters,omitempty"` Extractors *struct { Body *map[string]string `tfsdk:"body" json:"body,omitempty"` Header *string `tfsdk:"header" json:"header,omitempty"` Mode *string `tfsdk:"mode" json:"mode,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` ReplacementText *string `tfsdk:"replacement_text" json:"replacementText,omitempty"` Subgroup *int64 `tfsdk:"subgroup" json:"subgroup,omitempty"` } `tfsdk:"extractors" json:"extractors,omitempty"` Headers *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` HeadersToAppend *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers_to_append" json:"headersToAppend,omitempty"` HeadersToRemove *[]string `tfsdk:"headers_to_remove" json:"headersToRemove,omitempty"` IgnoreErrorOnParse *bool `tfsdk:"ignore_error_on_parse" json:"ignoreErrorOnParse,omitempty"` MergeExtractorsToBody *map[string]string `tfsdk:"merge_extractors_to_body" json:"mergeExtractorsToBody,omitempty"` MergeJsonKeys *struct { JsonKeys *struct { OverrideEmpty *bool `tfsdk:"override_empty" json:"overrideEmpty,omitempty"` Tmpl *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"tmpl" json:"tmpl,omitempty"` } `tfsdk:"json_keys" json:"jsonKeys,omitempty"` } `tfsdk:"merge_json_keys" json:"mergeJsonKeys,omitempty"` ParseBodyBehavior *string `tfsdk:"parse_body_behavior" json:"parseBodyBehavior,omitempty"` Passthrough *map[string]string `tfsdk:"passthrough" json:"passthrough,omitempty"` } `tfsdk:"transformation_template" json:"transformationTemplate,omitempty"` XsltTransformation *struct { NonXmlTransform *bool `tfsdk:"non_xml_transform" json:"nonXmlTransform,omitempty"` SetContentType *string `tfsdk:"set_content_type" json:"setContentType,omitempty"` Xslt *string `tfsdk:"xslt" json:"xslt,omitempty"` } `tfsdk:"xslt_transformation" json:"xsltTransformation,omitempty"` } `tfsdk:"response_transformation" json:"responseTransformation,omitempty"` } `tfsdk:"request_transforms" json:"requestTransforms,omitempty"` ResponseTransforms *[]struct { Matchers *[]struct { InvertMatch *bool `tfsdk:"invert_match" json:"invertMatch,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` Regex *bool `tfsdk:"regex" json:"regex,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"matchers" json:"matchers,omitempty"` ResponseCodeDetails *string `tfsdk:"response_code_details" json:"responseCodeDetails,omitempty"` ResponseTransformation *struct { HeaderBodyTransform *struct { AddRequestMetadata *bool `tfsdk:"add_request_metadata" json:"addRequestMetadata,omitempty"` } `tfsdk:"header_body_transform" json:"headerBodyTransform,omitempty"` LogRequestResponseInfo *bool `tfsdk:"log_request_response_info" json:"logRequestResponseInfo,omitempty"` TransformationTemplate *struct { AdvancedTemplates *bool `tfsdk:"advanced_templates" json:"advancedTemplates,omitempty"` Body *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"body" json:"body,omitempty"` DynamicMetadataValues *[]struct { JsonToProto *bool `tfsdk:"json_to_proto" json:"jsonToProto,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` MetadataNamespace *string `tfsdk:"metadata_namespace" json:"metadataNamespace,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"dynamic_metadata_values" json:"dynamicMetadataValues,omitempty"` EscapeCharacters *bool `tfsdk:"escape_characters" json:"escapeCharacters,omitempty"` Extractors *struct { Body *map[string]string `tfsdk:"body" json:"body,omitempty"` Header *string `tfsdk:"header" json:"header,omitempty"` Mode *string `tfsdk:"mode" json:"mode,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` ReplacementText *string `tfsdk:"replacement_text" json:"replacementText,omitempty"` Subgroup *int64 `tfsdk:"subgroup" json:"subgroup,omitempty"` } `tfsdk:"extractors" json:"extractors,omitempty"` Headers *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` HeadersToAppend *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers_to_append" json:"headersToAppend,omitempty"` HeadersToRemove *[]string `tfsdk:"headers_to_remove" json:"headersToRemove,omitempty"` IgnoreErrorOnParse *bool `tfsdk:"ignore_error_on_parse" json:"ignoreErrorOnParse,omitempty"` MergeExtractorsToBody *map[string]string `tfsdk:"merge_extractors_to_body" json:"mergeExtractorsToBody,omitempty"` MergeJsonKeys *struct { JsonKeys *struct { OverrideEmpty *bool `tfsdk:"override_empty" json:"overrideEmpty,omitempty"` Tmpl *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"tmpl" json:"tmpl,omitempty"` } `tfsdk:"json_keys" json:"jsonKeys,omitempty"` } `tfsdk:"merge_json_keys" json:"mergeJsonKeys,omitempty"` ParseBodyBehavior *string `tfsdk:"parse_body_behavior" json:"parseBodyBehavior,omitempty"` Passthrough *map[string]string `tfsdk:"passthrough" json:"passthrough,omitempty"` } `tfsdk:"transformation_template" json:"transformationTemplate,omitempty"` XsltTransformation *struct { NonXmlTransform *bool `tfsdk:"non_xml_transform" json:"nonXmlTransform,omitempty"` SetContentType *string `tfsdk:"set_content_type" json:"setContentType,omitempty"` Xslt *string `tfsdk:"xslt" json:"xslt,omitempty"` } `tfsdk:"xslt_transformation" json:"xsltTransformation,omitempty"` } `tfsdk:"response_transformation" json:"responseTransformation,omitempty"` } `tfsdk:"response_transforms" json:"responseTransforms,omitempty"` } `tfsdk:"early" json:"early,omitempty"` EscapeCharacters *bool `tfsdk:"escape_characters" json:"escapeCharacters,omitempty"` InheritTransformation *bool `tfsdk:"inherit_transformation" json:"inheritTransformation,omitempty"` LogRequestResponseInfo *bool `tfsdk:"log_request_response_info" json:"logRequestResponseInfo,omitempty"` PostRouting *struct { RequestTransforms *[]struct { ClearRouteCache *bool `tfsdk:"clear_route_cache" json:"clearRouteCache,omitempty"` Matcher *struct { CaseSensitive *bool `tfsdk:"case_sensitive" json:"caseSensitive,omitempty"` ConnectMatcher *map[string]string `tfsdk:"connect_matcher" json:"connectMatcher,omitempty"` Exact *string `tfsdk:"exact" json:"exact,omitempty"` Headers *[]struct { InvertMatch *bool `tfsdk:"invert_match" json:"invertMatch,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` Regex *bool `tfsdk:"regex" json:"regex,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Methods *[]string `tfsdk:"methods" json:"methods,omitempty"` Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` QueryParameters *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Regex *bool `tfsdk:"regex" json:"regex,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_parameters" json:"queryParameters,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` } `tfsdk:"matcher" json:"matcher,omitempty"` RequestTransformation *struct { HeaderBodyTransform *struct { AddRequestMetadata *bool `tfsdk:"add_request_metadata" json:"addRequestMetadata,omitempty"` } `tfsdk:"header_body_transform" json:"headerBodyTransform,omitempty"` LogRequestResponseInfo *bool `tfsdk:"log_request_response_info" json:"logRequestResponseInfo,omitempty"` TransformationTemplate *struct { AdvancedTemplates *bool `tfsdk:"advanced_templates" json:"advancedTemplates,omitempty"` Body *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"body" json:"body,omitempty"` DynamicMetadataValues *[]struct { JsonToProto *bool `tfsdk:"json_to_proto" json:"jsonToProto,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` MetadataNamespace *string `tfsdk:"metadata_namespace" json:"metadataNamespace,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"dynamic_metadata_values" json:"dynamicMetadataValues,omitempty"` EscapeCharacters *bool `tfsdk:"escape_characters" json:"escapeCharacters,omitempty"` Extractors *struct { Body *map[string]string `tfsdk:"body" json:"body,omitempty"` Header *string `tfsdk:"header" json:"header,omitempty"` Mode *string `tfsdk:"mode" json:"mode,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` ReplacementText *string `tfsdk:"replacement_text" json:"replacementText,omitempty"` Subgroup *int64 `tfsdk:"subgroup" json:"subgroup,omitempty"` } `tfsdk:"extractors" json:"extractors,omitempty"` Headers *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` HeadersToAppend *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers_to_append" json:"headersToAppend,omitempty"` HeadersToRemove *[]string `tfsdk:"headers_to_remove" json:"headersToRemove,omitempty"` IgnoreErrorOnParse *bool `tfsdk:"ignore_error_on_parse" json:"ignoreErrorOnParse,omitempty"` MergeExtractorsToBody *map[string]string `tfsdk:"merge_extractors_to_body" json:"mergeExtractorsToBody,omitempty"` MergeJsonKeys *struct { JsonKeys *struct { OverrideEmpty *bool `tfsdk:"override_empty" json:"overrideEmpty,omitempty"` Tmpl *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"tmpl" json:"tmpl,omitempty"` } `tfsdk:"json_keys" json:"jsonKeys,omitempty"` } `tfsdk:"merge_json_keys" json:"mergeJsonKeys,omitempty"` ParseBodyBehavior *string `tfsdk:"parse_body_behavior" json:"parseBodyBehavior,omitempty"` Passthrough *map[string]string `tfsdk:"passthrough" json:"passthrough,omitempty"` } `tfsdk:"transformation_template" json:"transformationTemplate,omitempty"` XsltTransformation *struct { NonXmlTransform *bool `tfsdk:"non_xml_transform" json:"nonXmlTransform,omitempty"` SetContentType *string `tfsdk:"set_content_type" json:"setContentType,omitempty"` Xslt *string `tfsdk:"xslt" json:"xslt,omitempty"` } `tfsdk:"xslt_transformation" json:"xsltTransformation,omitempty"` } `tfsdk:"request_transformation" json:"requestTransformation,omitempty"` ResponseTransformation *struct { HeaderBodyTransform *struct { AddRequestMetadata *bool `tfsdk:"add_request_metadata" json:"addRequestMetadata,omitempty"` } `tfsdk:"header_body_transform" json:"headerBodyTransform,omitempty"` LogRequestResponseInfo *bool `tfsdk:"log_request_response_info" json:"logRequestResponseInfo,omitempty"` TransformationTemplate *struct { AdvancedTemplates *bool `tfsdk:"advanced_templates" json:"advancedTemplates,omitempty"` Body *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"body" json:"body,omitempty"` DynamicMetadataValues *[]struct { JsonToProto *bool `tfsdk:"json_to_proto" json:"jsonToProto,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` MetadataNamespace *string `tfsdk:"metadata_namespace" json:"metadataNamespace,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"dynamic_metadata_values" json:"dynamicMetadataValues,omitempty"` EscapeCharacters *bool `tfsdk:"escape_characters" json:"escapeCharacters,omitempty"` Extractors *struct { Body *map[string]string `tfsdk:"body" json:"body,omitempty"` Header *string `tfsdk:"header" json:"header,omitempty"` Mode *string `tfsdk:"mode" json:"mode,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` ReplacementText *string `tfsdk:"replacement_text" json:"replacementText,omitempty"` Subgroup *int64 `tfsdk:"subgroup" json:"subgroup,omitempty"` } `tfsdk:"extractors" json:"extractors,omitempty"` Headers *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` HeadersToAppend *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers_to_append" json:"headersToAppend,omitempty"` HeadersToRemove *[]string `tfsdk:"headers_to_remove" json:"headersToRemove,omitempty"` IgnoreErrorOnParse *bool `tfsdk:"ignore_error_on_parse" json:"ignoreErrorOnParse,omitempty"` MergeExtractorsToBody *map[string]string `tfsdk:"merge_extractors_to_body" json:"mergeExtractorsToBody,omitempty"` MergeJsonKeys *struct { JsonKeys *struct { OverrideEmpty *bool `tfsdk:"override_empty" json:"overrideEmpty,omitempty"` Tmpl *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"tmpl" json:"tmpl,omitempty"` } `tfsdk:"json_keys" json:"jsonKeys,omitempty"` } `tfsdk:"merge_json_keys" json:"mergeJsonKeys,omitempty"` ParseBodyBehavior *string `tfsdk:"parse_body_behavior" json:"parseBodyBehavior,omitempty"` Passthrough *map[string]string `tfsdk:"passthrough" json:"passthrough,omitempty"` } `tfsdk:"transformation_template" json:"transformationTemplate,omitempty"` XsltTransformation *struct { NonXmlTransform *bool `tfsdk:"non_xml_transform" json:"nonXmlTransform,omitempty"` SetContentType *string `tfsdk:"set_content_type" json:"setContentType,omitempty"` Xslt *string `tfsdk:"xslt" json:"xslt,omitempty"` } `tfsdk:"xslt_transformation" json:"xsltTransformation,omitempty"` } `tfsdk:"response_transformation" json:"responseTransformation,omitempty"` } `tfsdk:"request_transforms" json:"requestTransforms,omitempty"` ResponseTransforms *[]struct { Matchers *[]struct { InvertMatch *bool `tfsdk:"invert_match" json:"invertMatch,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` Regex *bool `tfsdk:"regex" json:"regex,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"matchers" json:"matchers,omitempty"` ResponseCodeDetails *string `tfsdk:"response_code_details" json:"responseCodeDetails,omitempty"` ResponseTransformation *struct { HeaderBodyTransform *struct { AddRequestMetadata *bool `tfsdk:"add_request_metadata" json:"addRequestMetadata,omitempty"` } `tfsdk:"header_body_transform" json:"headerBodyTransform,omitempty"` LogRequestResponseInfo *bool `tfsdk:"log_request_response_info" json:"logRequestResponseInfo,omitempty"` TransformationTemplate *struct { AdvancedTemplates *bool `tfsdk:"advanced_templates" json:"advancedTemplates,omitempty"` Body *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"body" json:"body,omitempty"` DynamicMetadataValues *[]struct { JsonToProto *bool `tfsdk:"json_to_proto" json:"jsonToProto,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` MetadataNamespace *string `tfsdk:"metadata_namespace" json:"metadataNamespace,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"dynamic_metadata_values" json:"dynamicMetadataValues,omitempty"` EscapeCharacters *bool `tfsdk:"escape_characters" json:"escapeCharacters,omitempty"` Extractors *struct { Body *map[string]string `tfsdk:"body" json:"body,omitempty"` Header *string `tfsdk:"header" json:"header,omitempty"` Mode *string `tfsdk:"mode" json:"mode,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` ReplacementText *string `tfsdk:"replacement_text" json:"replacementText,omitempty"` Subgroup *int64 `tfsdk:"subgroup" json:"subgroup,omitempty"` } `tfsdk:"extractors" json:"extractors,omitempty"` Headers *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` HeadersToAppend *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers_to_append" json:"headersToAppend,omitempty"` HeadersToRemove *[]string `tfsdk:"headers_to_remove" json:"headersToRemove,omitempty"` IgnoreErrorOnParse *bool `tfsdk:"ignore_error_on_parse" json:"ignoreErrorOnParse,omitempty"` MergeExtractorsToBody *map[string]string `tfsdk:"merge_extractors_to_body" json:"mergeExtractorsToBody,omitempty"` MergeJsonKeys *struct { JsonKeys *struct { OverrideEmpty *bool `tfsdk:"override_empty" json:"overrideEmpty,omitempty"` Tmpl *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"tmpl" json:"tmpl,omitempty"` } `tfsdk:"json_keys" json:"jsonKeys,omitempty"` } `tfsdk:"merge_json_keys" json:"mergeJsonKeys,omitempty"` ParseBodyBehavior *string `tfsdk:"parse_body_behavior" json:"parseBodyBehavior,omitempty"` Passthrough *map[string]string `tfsdk:"passthrough" json:"passthrough,omitempty"` } `tfsdk:"transformation_template" json:"transformationTemplate,omitempty"` XsltTransformation *struct { NonXmlTransform *bool `tfsdk:"non_xml_transform" json:"nonXmlTransform,omitempty"` SetContentType *string `tfsdk:"set_content_type" json:"setContentType,omitempty"` Xslt *string `tfsdk:"xslt" json:"xslt,omitempty"` } `tfsdk:"xslt_transformation" json:"xsltTransformation,omitempty"` } `tfsdk:"response_transformation" json:"responseTransformation,omitempty"` } `tfsdk:"response_transforms" json:"responseTransforms,omitempty"` } `tfsdk:"post_routing" json:"postRouting,omitempty"` Regular *struct { RequestTransforms *[]struct { ClearRouteCache *bool `tfsdk:"clear_route_cache" json:"clearRouteCache,omitempty"` Matcher *struct { CaseSensitive *bool `tfsdk:"case_sensitive" json:"caseSensitive,omitempty"` ConnectMatcher *map[string]string `tfsdk:"connect_matcher" json:"connectMatcher,omitempty"` Exact *string `tfsdk:"exact" json:"exact,omitempty"` Headers *[]struct { InvertMatch *bool `tfsdk:"invert_match" json:"invertMatch,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` Regex *bool `tfsdk:"regex" json:"regex,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` Methods *[]string `tfsdk:"methods" json:"methods,omitempty"` Prefix *string `tfsdk:"prefix" json:"prefix,omitempty"` QueryParameters *[]struct { Name *string `tfsdk:"name" json:"name,omitempty"` Regex *bool `tfsdk:"regex" json:"regex,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"query_parameters" json:"queryParameters,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` } `tfsdk:"matcher" json:"matcher,omitempty"` RequestTransformation *struct { HeaderBodyTransform *struct { AddRequestMetadata *bool `tfsdk:"add_request_metadata" json:"addRequestMetadata,omitempty"` } `tfsdk:"header_body_transform" json:"headerBodyTransform,omitempty"` LogRequestResponseInfo *bool `tfsdk:"log_request_response_info" json:"logRequestResponseInfo,omitempty"` TransformationTemplate *struct { AdvancedTemplates *bool `tfsdk:"advanced_templates" json:"advancedTemplates,omitempty"` Body *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"body" json:"body,omitempty"` DynamicMetadataValues *[]struct { JsonToProto *bool `tfsdk:"json_to_proto" json:"jsonToProto,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` MetadataNamespace *string `tfsdk:"metadata_namespace" json:"metadataNamespace,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"dynamic_metadata_values" json:"dynamicMetadataValues,omitempty"` EscapeCharacters *bool `tfsdk:"escape_characters" json:"escapeCharacters,omitempty"` Extractors *struct { Body *map[string]string `tfsdk:"body" json:"body,omitempty"` Header *string `tfsdk:"header" json:"header,omitempty"` Mode *string `tfsdk:"mode" json:"mode,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` ReplacementText *string `tfsdk:"replacement_text" json:"replacementText,omitempty"` Subgroup *int64 `tfsdk:"subgroup" json:"subgroup,omitempty"` } `tfsdk:"extractors" json:"extractors,omitempty"` Headers *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` HeadersToAppend *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers_to_append" json:"headersToAppend,omitempty"` HeadersToRemove *[]string `tfsdk:"headers_to_remove" json:"headersToRemove,omitempty"` IgnoreErrorOnParse *bool `tfsdk:"ignore_error_on_parse" json:"ignoreErrorOnParse,omitempty"` MergeExtractorsToBody *map[string]string `tfsdk:"merge_extractors_to_body" json:"mergeExtractorsToBody,omitempty"` MergeJsonKeys *struct { JsonKeys *struct { OverrideEmpty *bool `tfsdk:"override_empty" json:"overrideEmpty,omitempty"` Tmpl *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"tmpl" json:"tmpl,omitempty"` } `tfsdk:"json_keys" json:"jsonKeys,omitempty"` } `tfsdk:"merge_json_keys" json:"mergeJsonKeys,omitempty"` ParseBodyBehavior *string `tfsdk:"parse_body_behavior" json:"parseBodyBehavior,omitempty"` Passthrough *map[string]string `tfsdk:"passthrough" json:"passthrough,omitempty"` } `tfsdk:"transformation_template" json:"transformationTemplate,omitempty"` XsltTransformation *struct { NonXmlTransform *bool `tfsdk:"non_xml_transform" json:"nonXmlTransform,omitempty"` SetContentType *string `tfsdk:"set_content_type" json:"setContentType,omitempty"` Xslt *string `tfsdk:"xslt" json:"xslt,omitempty"` } `tfsdk:"xslt_transformation" json:"xsltTransformation,omitempty"` } `tfsdk:"request_transformation" json:"requestTransformation,omitempty"` ResponseTransformation *struct { HeaderBodyTransform *struct { AddRequestMetadata *bool `tfsdk:"add_request_metadata" json:"addRequestMetadata,omitempty"` } `tfsdk:"header_body_transform" json:"headerBodyTransform,omitempty"` LogRequestResponseInfo *bool `tfsdk:"log_request_response_info" json:"logRequestResponseInfo,omitempty"` TransformationTemplate *struct { AdvancedTemplates *bool `tfsdk:"advanced_templates" json:"advancedTemplates,omitempty"` Body *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"body" json:"body,omitempty"` DynamicMetadataValues *[]struct { JsonToProto *bool `tfsdk:"json_to_proto" json:"jsonToProto,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` MetadataNamespace *string `tfsdk:"metadata_namespace" json:"metadataNamespace,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"dynamic_metadata_values" json:"dynamicMetadataValues,omitempty"` EscapeCharacters *bool `tfsdk:"escape_characters" json:"escapeCharacters,omitempty"` Extractors *struct { Body *map[string]string `tfsdk:"body" json:"body,omitempty"` Header *string `tfsdk:"header" json:"header,omitempty"` Mode *string `tfsdk:"mode" json:"mode,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` ReplacementText *string `tfsdk:"replacement_text" json:"replacementText,omitempty"` Subgroup *int64 `tfsdk:"subgroup" json:"subgroup,omitempty"` } `tfsdk:"extractors" json:"extractors,omitempty"` Headers *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` HeadersToAppend *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers_to_append" json:"headersToAppend,omitempty"` HeadersToRemove *[]string `tfsdk:"headers_to_remove" json:"headersToRemove,omitempty"` IgnoreErrorOnParse *bool `tfsdk:"ignore_error_on_parse" json:"ignoreErrorOnParse,omitempty"` MergeExtractorsToBody *map[string]string `tfsdk:"merge_extractors_to_body" json:"mergeExtractorsToBody,omitempty"` MergeJsonKeys *struct { JsonKeys *struct { OverrideEmpty *bool `tfsdk:"override_empty" json:"overrideEmpty,omitempty"` Tmpl *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"tmpl" json:"tmpl,omitempty"` } `tfsdk:"json_keys" json:"jsonKeys,omitempty"` } `tfsdk:"merge_json_keys" json:"mergeJsonKeys,omitempty"` ParseBodyBehavior *string `tfsdk:"parse_body_behavior" json:"parseBodyBehavior,omitempty"` Passthrough *map[string]string `tfsdk:"passthrough" json:"passthrough,omitempty"` } `tfsdk:"transformation_template" json:"transformationTemplate,omitempty"` XsltTransformation *struct { NonXmlTransform *bool `tfsdk:"non_xml_transform" json:"nonXmlTransform,omitempty"` SetContentType *string `tfsdk:"set_content_type" json:"setContentType,omitempty"` Xslt *string `tfsdk:"xslt" json:"xslt,omitempty"` } `tfsdk:"xslt_transformation" json:"xsltTransformation,omitempty"` } `tfsdk:"response_transformation" json:"responseTransformation,omitempty"` } `tfsdk:"request_transforms" json:"requestTransforms,omitempty"` ResponseTransforms *[]struct { Matchers *[]struct { InvertMatch *bool `tfsdk:"invert_match" json:"invertMatch,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` Regex *bool `tfsdk:"regex" json:"regex,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"matchers" json:"matchers,omitempty"` ResponseCodeDetails *string `tfsdk:"response_code_details" json:"responseCodeDetails,omitempty"` ResponseTransformation *struct { HeaderBodyTransform *struct { AddRequestMetadata *bool `tfsdk:"add_request_metadata" json:"addRequestMetadata,omitempty"` } `tfsdk:"header_body_transform" json:"headerBodyTransform,omitempty"` LogRequestResponseInfo *bool `tfsdk:"log_request_response_info" json:"logRequestResponseInfo,omitempty"` TransformationTemplate *struct { AdvancedTemplates *bool `tfsdk:"advanced_templates" json:"advancedTemplates,omitempty"` Body *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"body" json:"body,omitempty"` DynamicMetadataValues *[]struct { JsonToProto *bool `tfsdk:"json_to_proto" json:"jsonToProto,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` MetadataNamespace *string `tfsdk:"metadata_namespace" json:"metadataNamespace,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"dynamic_metadata_values" json:"dynamicMetadataValues,omitempty"` EscapeCharacters *bool `tfsdk:"escape_characters" json:"escapeCharacters,omitempty"` Extractors *struct { Body *map[string]string `tfsdk:"body" json:"body,omitempty"` Header *string `tfsdk:"header" json:"header,omitempty"` Mode *string `tfsdk:"mode" json:"mode,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` ReplacementText *string `tfsdk:"replacement_text" json:"replacementText,omitempty"` Subgroup *int64 `tfsdk:"subgroup" json:"subgroup,omitempty"` } `tfsdk:"extractors" json:"extractors,omitempty"` Headers *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` HeadersToAppend *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers_to_append" json:"headersToAppend,omitempty"` HeadersToRemove *[]string `tfsdk:"headers_to_remove" json:"headersToRemove,omitempty"` IgnoreErrorOnParse *bool `tfsdk:"ignore_error_on_parse" json:"ignoreErrorOnParse,omitempty"` MergeExtractorsToBody *map[string]string `tfsdk:"merge_extractors_to_body" json:"mergeExtractorsToBody,omitempty"` MergeJsonKeys *struct { JsonKeys *struct { OverrideEmpty *bool `tfsdk:"override_empty" json:"overrideEmpty,omitempty"` Tmpl *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"tmpl" json:"tmpl,omitempty"` } `tfsdk:"json_keys" json:"jsonKeys,omitempty"` } `tfsdk:"merge_json_keys" json:"mergeJsonKeys,omitempty"` ParseBodyBehavior *string `tfsdk:"parse_body_behavior" json:"parseBodyBehavior,omitempty"` Passthrough *map[string]string `tfsdk:"passthrough" json:"passthrough,omitempty"` } `tfsdk:"transformation_template" json:"transformationTemplate,omitempty"` XsltTransformation *struct { NonXmlTransform *bool `tfsdk:"non_xml_transform" json:"nonXmlTransform,omitempty"` SetContentType *string `tfsdk:"set_content_type" json:"setContentType,omitempty"` Xslt *string `tfsdk:"xslt" json:"xslt,omitempty"` } `tfsdk:"xslt_transformation" json:"xsltTransformation,omitempty"` } `tfsdk:"response_transformation" json:"responseTransformation,omitempty"` } `tfsdk:"response_transforms" json:"responseTransforms,omitempty"` } `tfsdk:"regular" json:"regular,omitempty"` } `tfsdk:"staged_transformations" json:"stagedTransformations,omitempty"` Transformations *struct { ClearRouteCache *bool `tfsdk:"clear_route_cache" json:"clearRouteCache,omitempty"` RequestTransformation *struct { HeaderBodyTransform *struct { AddRequestMetadata *bool `tfsdk:"add_request_metadata" json:"addRequestMetadata,omitempty"` } `tfsdk:"header_body_transform" json:"headerBodyTransform,omitempty"` LogRequestResponseInfo *bool `tfsdk:"log_request_response_info" json:"logRequestResponseInfo,omitempty"` TransformationTemplate *struct { AdvancedTemplates *bool `tfsdk:"advanced_templates" json:"advancedTemplates,omitempty"` Body *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"body" json:"body,omitempty"` DynamicMetadataValues *[]struct { JsonToProto *bool `tfsdk:"json_to_proto" json:"jsonToProto,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` MetadataNamespace *string `tfsdk:"metadata_namespace" json:"metadataNamespace,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"dynamic_metadata_values" json:"dynamicMetadataValues,omitempty"` EscapeCharacters *bool `tfsdk:"escape_characters" json:"escapeCharacters,omitempty"` Extractors *struct { Body *map[string]string `tfsdk:"body" json:"body,omitempty"` Header *string `tfsdk:"header" json:"header,omitempty"` Mode *string `tfsdk:"mode" json:"mode,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` ReplacementText *string `tfsdk:"replacement_text" json:"replacementText,omitempty"` Subgroup *int64 `tfsdk:"subgroup" json:"subgroup,omitempty"` } `tfsdk:"extractors" json:"extractors,omitempty"` Headers *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` HeadersToAppend *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers_to_append" json:"headersToAppend,omitempty"` HeadersToRemove *[]string `tfsdk:"headers_to_remove" json:"headersToRemove,omitempty"` IgnoreErrorOnParse *bool `tfsdk:"ignore_error_on_parse" json:"ignoreErrorOnParse,omitempty"` MergeExtractorsToBody *map[string]string `tfsdk:"merge_extractors_to_body" json:"mergeExtractorsToBody,omitempty"` MergeJsonKeys *struct { JsonKeys *struct { OverrideEmpty *bool `tfsdk:"override_empty" json:"overrideEmpty,omitempty"` Tmpl *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"tmpl" json:"tmpl,omitempty"` } `tfsdk:"json_keys" json:"jsonKeys,omitempty"` } `tfsdk:"merge_json_keys" json:"mergeJsonKeys,omitempty"` ParseBodyBehavior *string `tfsdk:"parse_body_behavior" json:"parseBodyBehavior,omitempty"` Passthrough *map[string]string `tfsdk:"passthrough" json:"passthrough,omitempty"` } `tfsdk:"transformation_template" json:"transformationTemplate,omitempty"` XsltTransformation *struct { NonXmlTransform *bool `tfsdk:"non_xml_transform" json:"nonXmlTransform,omitempty"` SetContentType *string `tfsdk:"set_content_type" json:"setContentType,omitempty"` Xslt *string `tfsdk:"xslt" json:"xslt,omitempty"` } `tfsdk:"xslt_transformation" json:"xsltTransformation,omitempty"` } `tfsdk:"request_transformation" json:"requestTransformation,omitempty"` ResponseTransformation *struct { HeaderBodyTransform *struct { AddRequestMetadata *bool `tfsdk:"add_request_metadata" json:"addRequestMetadata,omitempty"` } `tfsdk:"header_body_transform" json:"headerBodyTransform,omitempty"` LogRequestResponseInfo *bool `tfsdk:"log_request_response_info" json:"logRequestResponseInfo,omitempty"` TransformationTemplate *struct { AdvancedTemplates *bool `tfsdk:"advanced_templates" json:"advancedTemplates,omitempty"` Body *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"body" json:"body,omitempty"` DynamicMetadataValues *[]struct { JsonToProto *bool `tfsdk:"json_to_proto" json:"jsonToProto,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` MetadataNamespace *string `tfsdk:"metadata_namespace" json:"metadataNamespace,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"dynamic_metadata_values" json:"dynamicMetadataValues,omitempty"` EscapeCharacters *bool `tfsdk:"escape_characters" json:"escapeCharacters,omitempty"` Extractors *struct { Body *map[string]string `tfsdk:"body" json:"body,omitempty"` Header *string `tfsdk:"header" json:"header,omitempty"` Mode *string `tfsdk:"mode" json:"mode,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` ReplacementText *string `tfsdk:"replacement_text" json:"replacementText,omitempty"` Subgroup *int64 `tfsdk:"subgroup" json:"subgroup,omitempty"` } `tfsdk:"extractors" json:"extractors,omitempty"` Headers *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` HeadersToAppend *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers_to_append" json:"headersToAppend,omitempty"` HeadersToRemove *[]string `tfsdk:"headers_to_remove" json:"headersToRemove,omitempty"` IgnoreErrorOnParse *bool `tfsdk:"ignore_error_on_parse" json:"ignoreErrorOnParse,omitempty"` MergeExtractorsToBody *map[string]string `tfsdk:"merge_extractors_to_body" json:"mergeExtractorsToBody,omitempty"` MergeJsonKeys *struct { JsonKeys *struct { OverrideEmpty *bool `tfsdk:"override_empty" json:"overrideEmpty,omitempty"` Tmpl *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"tmpl" json:"tmpl,omitempty"` } `tfsdk:"json_keys" json:"jsonKeys,omitempty"` } `tfsdk:"merge_json_keys" json:"mergeJsonKeys,omitempty"` ParseBodyBehavior *string `tfsdk:"parse_body_behavior" json:"parseBodyBehavior,omitempty"` Passthrough *map[string]string `tfsdk:"passthrough" json:"passthrough,omitempty"` } `tfsdk:"transformation_template" json:"transformationTemplate,omitempty"` XsltTransformation *struct { NonXmlTransform *bool `tfsdk:"non_xml_transform" json:"nonXmlTransform,omitempty"` SetContentType *string `tfsdk:"set_content_type" json:"setContentType,omitempty"` Xslt *string `tfsdk:"xslt" json:"xslt,omitempty"` } `tfsdk:"xslt_transformation" json:"xsltTransformation,omitempty"` } `tfsdk:"response_transformation" json:"responseTransformation,omitempty"` } `tfsdk:"transformations" json:"transformations,omitempty"` } `tfsdk:"options" json:"options,omitempty"` Weight *int64 `tfsdk:"weight" json:"weight,omitempty"` } `tfsdk:"destinations" json:"destinations,omitempty"` NamespacedStatuses *struct { Statuses *map[string]string `tfsdk:"statuses" json:"statuses,omitempty"` } `tfsdk:"namespaced_statuses" json:"namespacedStatuses,omitempty"` } `tfsdk:"spec" json:"spec,omitempty"` }
type GlooSoloIoUpstreamV1Manifest ¶
type GlooSoloIoUpstreamV1Manifest struct{}
func (*GlooSoloIoUpstreamV1Manifest) Metadata ¶
func (r *GlooSoloIoUpstreamV1Manifest) Metadata(_ context.Context, request datasource.MetadataRequest, response *datasource.MetadataResponse)
func (*GlooSoloIoUpstreamV1Manifest) Read ¶
func (r *GlooSoloIoUpstreamV1Manifest) Read(ctx context.Context, request datasource.ReadRequest, response *datasource.ReadResponse)
func (*GlooSoloIoUpstreamV1Manifest) Schema ¶
func (r *GlooSoloIoUpstreamV1Manifest) Schema(_ context.Context, _ datasource.SchemaRequest, response *datasource.SchemaResponse)
type GlooSoloIoUpstreamV1ManifestData ¶
type GlooSoloIoUpstreamV1ManifestData 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 { Ai *struct { Anthropic *struct { AuthToken *struct { Inline *string `tfsdk:"inline" json:"inline,omitempty"` SecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"secret_ref" json:"secretRef,omitempty"` } `tfsdk:"auth_token" json:"authToken,omitempty"` CustomHost *struct { Host *string `tfsdk:"host" json:"host,omitempty"` Port *int64 `tfsdk:"port" json:"port,omitempty"` } `tfsdk:"custom_host" json:"customHost,omitempty"` Model *string `tfsdk:"model" json:"model,omitempty"` Version *string `tfsdk:"version" json:"version,omitempty"` } `tfsdk:"anthropic" json:"anthropic,omitempty"` AzureOpenai *struct { ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` AuthToken *struct { Inline *string `tfsdk:"inline" json:"inline,omitempty"` SecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"secret_ref" json:"secretRef,omitempty"` } `tfsdk:"auth_token" json:"authToken,omitempty"` DeploymentName *string `tfsdk:"deployment_name" json:"deploymentName,omitempty"` Endpoint *string `tfsdk:"endpoint" json:"endpoint,omitempty"` } `tfsdk:"azure_openai" json:"azureOpenai,omitempty"` Gemini *struct { ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` AuthToken *struct { Inline *string `tfsdk:"inline" json:"inline,omitempty"` SecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"secret_ref" json:"secretRef,omitempty"` } `tfsdk:"auth_token" json:"authToken,omitempty"` Model *string `tfsdk:"model" json:"model,omitempty"` } `tfsdk:"gemini" json:"gemini,omitempty"` Mistral *struct { AuthToken *struct { Inline *string `tfsdk:"inline" json:"inline,omitempty"` SecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"secret_ref" json:"secretRef,omitempty"` } `tfsdk:"auth_token" json:"authToken,omitempty"` CustomHost *struct { Host *string `tfsdk:"host" json:"host,omitempty"` Port *int64 `tfsdk:"port" json:"port,omitempty"` } `tfsdk:"custom_host" json:"customHost,omitempty"` Model *string `tfsdk:"model" json:"model,omitempty"` } `tfsdk:"mistral" json:"mistral,omitempty"` Multi *struct { Priorities *[]struct { Pool *[]struct { Anthropic *struct { AuthToken *struct { Inline *string `tfsdk:"inline" json:"inline,omitempty"` SecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"secret_ref" json:"secretRef,omitempty"` } `tfsdk:"auth_token" json:"authToken,omitempty"` CustomHost *struct { Host *string `tfsdk:"host" json:"host,omitempty"` Port *int64 `tfsdk:"port" json:"port,omitempty"` } `tfsdk:"custom_host" json:"customHost,omitempty"` Model *string `tfsdk:"model" json:"model,omitempty"` Version *string `tfsdk:"version" json:"version,omitempty"` } `tfsdk:"anthropic" json:"anthropic,omitempty"` AzureOpenai *struct { ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` AuthToken *struct { Inline *string `tfsdk:"inline" json:"inline,omitempty"` SecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"secret_ref" json:"secretRef,omitempty"` } `tfsdk:"auth_token" json:"authToken,omitempty"` DeploymentName *string `tfsdk:"deployment_name" json:"deploymentName,omitempty"` Endpoint *string `tfsdk:"endpoint" json:"endpoint,omitempty"` } `tfsdk:"azure_openai" json:"azureOpenai,omitempty"` Gemini *struct { ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"` AuthToken *struct { Inline *string `tfsdk:"inline" json:"inline,omitempty"` SecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"secret_ref" json:"secretRef,omitempty"` } `tfsdk:"auth_token" json:"authToken,omitempty"` Model *string `tfsdk:"model" json:"model,omitempty"` } `tfsdk:"gemini" json:"gemini,omitempty"` Mistral *struct { AuthToken *struct { Inline *string `tfsdk:"inline" json:"inline,omitempty"` SecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"secret_ref" json:"secretRef,omitempty"` } `tfsdk:"auth_token" json:"authToken,omitempty"` CustomHost *struct { Host *string `tfsdk:"host" json:"host,omitempty"` Port *int64 `tfsdk:"port" json:"port,omitempty"` } `tfsdk:"custom_host" json:"customHost,omitempty"` Model *string `tfsdk:"model" json:"model,omitempty"` } `tfsdk:"mistral" json:"mistral,omitempty"` Openai *struct { AuthToken *struct { Inline *string `tfsdk:"inline" json:"inline,omitempty"` SecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"secret_ref" json:"secretRef,omitempty"` } `tfsdk:"auth_token" json:"authToken,omitempty"` CustomHost *struct { Host *string `tfsdk:"host" json:"host,omitempty"` Port *int64 `tfsdk:"port" json:"port,omitempty"` } `tfsdk:"custom_host" json:"customHost,omitempty"` Model *string `tfsdk:"model" json:"model,omitempty"` } `tfsdk:"openai" json:"openai,omitempty"` } `tfsdk:"pool" json:"pool,omitempty"` } `tfsdk:"priorities" json:"priorities,omitempty"` } `tfsdk:"multi" json:"multi,omitempty"` Openai *struct { AuthToken *struct { Inline *string `tfsdk:"inline" json:"inline,omitempty"` SecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"secret_ref" json:"secretRef,omitempty"` } `tfsdk:"auth_token" json:"authToken,omitempty"` CustomHost *struct { Host *string `tfsdk:"host" json:"host,omitempty"` Port *int64 `tfsdk:"port" json:"port,omitempty"` } `tfsdk:"custom_host" json:"customHost,omitempty"` Model *string `tfsdk:"model" json:"model,omitempty"` } `tfsdk:"openai" json:"openai,omitempty"` } `tfsdk:"ai" json:"ai,omitempty"` Aws *struct { AwsAccountId *string `tfsdk:"aws_account_id" json:"awsAccountId,omitempty"` DestinationOverrides *struct { InvocationStyle *string `tfsdk:"invocation_style" json:"invocationStyle,omitempty"` LogicalName *string `tfsdk:"logical_name" json:"logicalName,omitempty"` RequestTransformation *bool `tfsdk:"request_transformation" json:"requestTransformation,omitempty"` ResponseTransformation *bool `tfsdk:"response_transformation" json:"responseTransformation,omitempty"` UnwrapAsAlb *bool `tfsdk:"unwrap_as_alb" json:"unwrapAsAlb,omitempty"` UnwrapAsApiGateway *bool `tfsdk:"unwrap_as_api_gateway" json:"unwrapAsApiGateway,omitempty"` WrapAsApiGateway *bool `tfsdk:"wrap_as_api_gateway" json:"wrapAsApiGateway,omitempty"` } `tfsdk:"destination_overrides" json:"destinationOverrides,omitempty"` DisableRoleChaining *bool `tfsdk:"disable_role_chaining" json:"disableRoleChaining,omitempty"` LambdaFunctions *[]struct { LambdaFunctionName *string `tfsdk:"lambda_function_name" json:"lambdaFunctionName,omitempty"` LogicalName *string `tfsdk:"logical_name" json:"logicalName,omitempty"` Qualifier *string `tfsdk:"qualifier" json:"qualifier,omitempty"` } `tfsdk:"lambda_functions" json:"lambdaFunctions,omitempty"` Region *string `tfsdk:"region" json:"region,omitempty"` RoleArn *string `tfsdk:"role_arn" json:"roleArn,omitempty"` SecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"secret_ref" json:"secretRef,omitempty"` } `tfsdk:"aws" json:"aws,omitempty"` AwsEc2 *struct { Filters *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` KvPair *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"kv_pair" json:"kvPair,omitempty"` } `tfsdk:"filters" json:"filters,omitempty"` Port *int64 `tfsdk:"port" json:"port,omitempty"` PublicIp *bool `tfsdk:"public_ip" json:"publicIp,omitempty"` Region *string `tfsdk:"region" json:"region,omitempty"` RoleArn *string `tfsdk:"role_arn" json:"roleArn,omitempty"` SecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"secret_ref" json:"secretRef,omitempty"` } `tfsdk:"aws_ec2" json:"awsEc2,omitempty"` Azure *struct { FunctionAppName *string `tfsdk:"function_app_name" json:"functionAppName,omitempty"` Functions *[]struct { AuthLevel *string `tfsdk:"auth_level" json:"authLevel,omitempty"` FunctionName *string `tfsdk:"function_name" json:"functionName,omitempty"` } `tfsdk:"functions" json:"functions,omitempty"` SecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"secret_ref" json:"secretRef,omitempty"` } `tfsdk:"azure" json:"azure,omitempty"` CircuitBreakers *struct { MaxConnections *int64 `tfsdk:"max_connections" json:"maxConnections,omitempty"` MaxPendingRequests *int64 `tfsdk:"max_pending_requests" json:"maxPendingRequests,omitempty"` MaxRequests *int64 `tfsdk:"max_requests" json:"maxRequests,omitempty"` MaxRetries *int64 `tfsdk:"max_retries" json:"maxRetries,omitempty"` } `tfsdk:"circuit_breakers" json:"circuitBreakers,omitempty"` ConnectionConfig *struct { CommonHttpProtocolOptions *struct { HeadersWithUnderscoresAction *string `tfsdk:"headers_with_underscores_action" json:"headersWithUnderscoresAction,omitempty"` IdleTimeout *string `tfsdk:"idle_timeout" json:"idleTimeout,omitempty"` MaxHeadersCount *int64 `tfsdk:"max_headers_count" json:"maxHeadersCount,omitempty"` MaxStreamDuration *string `tfsdk:"max_stream_duration" json:"maxStreamDuration,omitempty"` } `tfsdk:"common_http_protocol_options" json:"commonHttpProtocolOptions,omitempty"` ConnectTimeout *string `tfsdk:"connect_timeout" json:"connectTimeout,omitempty"` Http1ProtocolOptions *struct { EnableTrailers *bool `tfsdk:"enable_trailers" json:"enableTrailers,omitempty"` OverrideStreamErrorOnInvalidHttpMessage *bool `tfsdk:"override_stream_error_on_invalid_http_message" json:"overrideStreamErrorOnInvalidHttpMessage,omitempty"` PreserveCaseHeaderKeyFormat *bool `tfsdk:"preserve_case_header_key_format" json:"preserveCaseHeaderKeyFormat,omitempty"` ProperCaseHeaderKeyFormat *bool `tfsdk:"proper_case_header_key_format" json:"properCaseHeaderKeyFormat,omitempty"` } `tfsdk:"http1_protocol_options" json:"http1ProtocolOptions,omitempty"` MaxRequestsPerConnection *int64 `tfsdk:"max_requests_per_connection" json:"maxRequestsPerConnection,omitempty"` PerConnectionBufferLimitBytes *int64 `tfsdk:"per_connection_buffer_limit_bytes" json:"perConnectionBufferLimitBytes,omitempty"` TcpKeepalive *struct { KeepaliveInterval *string `tfsdk:"keepalive_interval" json:"keepaliveInterval,omitempty"` KeepaliveProbes *int64 `tfsdk:"keepalive_probes" json:"keepaliveProbes,omitempty"` KeepaliveTime *string `tfsdk:"keepalive_time" json:"keepaliveTime,omitempty"` } `tfsdk:"tcp_keepalive" json:"tcpKeepalive,omitempty"` } `tfsdk:"connection_config" json:"connectionConfig,omitempty"` Consul *struct { ConnectEnabled *bool `tfsdk:"connect_enabled" json:"connectEnabled,omitempty"` ConsistencyMode *string `tfsdk:"consistency_mode" json:"consistencyMode,omitempty"` DataCenters *[]string `tfsdk:"data_centers" json:"dataCenters,omitempty"` InstanceBlacklistTags *[]string `tfsdk:"instance_blacklist_tags" json:"instanceBlacklistTags,omitempty"` InstanceTags *[]string `tfsdk:"instance_tags" json:"instanceTags,omitempty"` QueryOptions *struct { UseCache *bool `tfsdk:"use_cache" json:"useCache,omitempty"` } `tfsdk:"query_options" json:"queryOptions,omitempty"` ServiceName *string `tfsdk:"service_name" json:"serviceName,omitempty"` ServiceSpec *struct { Graphql *struct { Endpoint *struct { Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"endpoint" json:"endpoint,omitempty"` } `tfsdk:"graphql" json:"graphql,omitempty"` Grpc *struct { Descriptors *string `tfsdk:"descriptors" json:"descriptors,omitempty"` GrpcServices *[]struct { FunctionNames *[]string `tfsdk:"function_names" json:"functionNames,omitempty"` PackageName *string `tfsdk:"package_name" json:"packageName,omitempty"` ServiceName *string `tfsdk:"service_name" json:"serviceName,omitempty"` } `tfsdk:"grpc_services" json:"grpcServices,omitempty"` } `tfsdk:"grpc" json:"grpc,omitempty"` GrpcJsonTranscoder *struct { AutoMapping *bool `tfsdk:"auto_mapping" json:"autoMapping,omitempty"` ConvertGrpcStatus *bool `tfsdk:"convert_grpc_status" json:"convertGrpcStatus,omitempty"` IgnoreUnknownQueryParameters *bool `tfsdk:"ignore_unknown_query_parameters" json:"ignoreUnknownQueryParameters,omitempty"` IgnoredQueryParameters *[]string `tfsdk:"ignored_query_parameters" json:"ignoredQueryParameters,omitempty"` MatchIncomingRequestRoute *bool `tfsdk:"match_incoming_request_route" json:"matchIncomingRequestRoute,omitempty"` PrintOptions *struct { AddWhitespace *bool `tfsdk:"add_whitespace" json:"addWhitespace,omitempty"` AlwaysPrintEnumsAsInts *bool `tfsdk:"always_print_enums_as_ints" json:"alwaysPrintEnumsAsInts,omitempty"` AlwaysPrintPrimitiveFields *bool `tfsdk:"always_print_primitive_fields" json:"alwaysPrintPrimitiveFields,omitempty"` PreserveProtoFieldNames *bool `tfsdk:"preserve_proto_field_names" json:"preserveProtoFieldNames,omitempty"` } `tfsdk:"print_options" json:"printOptions,omitempty"` ProtoDescriptor *string `tfsdk:"proto_descriptor" json:"protoDescriptor,omitempty"` ProtoDescriptorBin *string `tfsdk:"proto_descriptor_bin" json:"protoDescriptorBin,omitempty"` ProtoDescriptorConfigMap *struct { ConfigMapRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"config_map_ref" json:"configMapRef,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` } `tfsdk:"proto_descriptor_config_map" json:"protoDescriptorConfigMap,omitempty"` Services *[]string `tfsdk:"services" json:"services,omitempty"` } `tfsdk:"grpc_json_transcoder" json:"grpcJsonTranscoder,omitempty"` Rest *struct { SwaggerInfo *struct { Inline *string `tfsdk:"inline" json:"inline,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"swagger_info" json:"swaggerInfo,omitempty"` Transformations *struct { AdvancedTemplates *bool `tfsdk:"advanced_templates" json:"advancedTemplates,omitempty"` Body *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"body" json:"body,omitempty"` DynamicMetadataValues *[]struct { JsonToProto *bool `tfsdk:"json_to_proto" json:"jsonToProto,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` MetadataNamespace *string `tfsdk:"metadata_namespace" json:"metadataNamespace,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"dynamic_metadata_values" json:"dynamicMetadataValues,omitempty"` EscapeCharacters *bool `tfsdk:"escape_characters" json:"escapeCharacters,omitempty"` Extractors *struct { Body *map[string]string `tfsdk:"body" json:"body,omitempty"` Header *string `tfsdk:"header" json:"header,omitempty"` Mode *string `tfsdk:"mode" json:"mode,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` ReplacementText *string `tfsdk:"replacement_text" json:"replacementText,omitempty"` Subgroup *int64 `tfsdk:"subgroup" json:"subgroup,omitempty"` } `tfsdk:"extractors" json:"extractors,omitempty"` Headers *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` HeadersToAppend *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers_to_append" json:"headersToAppend,omitempty"` HeadersToRemove *[]string `tfsdk:"headers_to_remove" json:"headersToRemove,omitempty"` IgnoreErrorOnParse *bool `tfsdk:"ignore_error_on_parse" json:"ignoreErrorOnParse,omitempty"` MergeExtractorsToBody *map[string]string `tfsdk:"merge_extractors_to_body" json:"mergeExtractorsToBody,omitempty"` MergeJsonKeys *struct { JsonKeys *struct { OverrideEmpty *bool `tfsdk:"override_empty" json:"overrideEmpty,omitempty"` Tmpl *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"tmpl" json:"tmpl,omitempty"` } `tfsdk:"json_keys" json:"jsonKeys,omitempty"` } `tfsdk:"merge_json_keys" json:"mergeJsonKeys,omitempty"` ParseBodyBehavior *string `tfsdk:"parse_body_behavior" json:"parseBodyBehavior,omitempty"` Passthrough *map[string]string `tfsdk:"passthrough" json:"passthrough,omitempty"` } `tfsdk:"transformations" json:"transformations,omitempty"` } `tfsdk:"rest" json:"rest,omitempty"` } `tfsdk:"service_spec" json:"serviceSpec,omitempty"` ServiceTags *[]string `tfsdk:"service_tags" json:"serviceTags,omitempty"` SubsetTags *[]string `tfsdk:"subset_tags" json:"subsetTags,omitempty"` } `tfsdk:"consul" json:"consul,omitempty"` DisableIstioAutoMtls *bool `tfsdk:"disable_istio_auto_mtls" json:"disableIstioAutoMtls,omitempty"` DiscoveryMetadata *struct { Labels *map[string]string `tfsdk:"labels" json:"labels,omitempty"` } `tfsdk:"discovery_metadata" json:"discoveryMetadata,omitempty"` DnsRefreshRate *string `tfsdk:"dns_refresh_rate" json:"dnsRefreshRate,omitempty"` Failover *struct { Policy *struct { OverprovisioningFactor *int64 `tfsdk:"overprovisioning_factor" json:"overprovisioningFactor,omitempty"` } `tfsdk:"policy" json:"policy,omitempty"` PrioritizedLocalities *[]struct { LocalityEndpoints *[]struct { LbEndpoints *[]struct { Address *string `tfsdk:"address" json:"address,omitempty"` HealthCheckConfig *struct { Hostname *string `tfsdk:"hostname" json:"hostname,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *string `tfsdk:"path" json:"path,omitempty"` PortValue *int64 `tfsdk:"port_value" json:"portValue,omitempty"` } `tfsdk:"health_check_config" json:"healthCheckConfig,omitempty"` LoadBalancingWeight *int64 `tfsdk:"load_balancing_weight" json:"loadBalancingWeight,omitempty"` Metadata *map[string]string `tfsdk:"metadata" json:"metadata,omitempty"` Port *int64 `tfsdk:"port" json:"port,omitempty"` UpstreamSslConfig *struct { AllowRenegotiation *bool `tfsdk:"allow_renegotiation" json:"allowRenegotiation,omitempty"` AlpnProtocols *[]string `tfsdk:"alpn_protocols" json:"alpnProtocols,omitempty"` OneWayTls *bool `tfsdk:"one_way_tls" json:"oneWayTls,omitempty"` Parameters *struct { CipherSuites *[]string `tfsdk:"cipher_suites" json:"cipherSuites,omitempty"` EcdhCurves *[]string `tfsdk:"ecdh_curves" json:"ecdhCurves,omitempty"` MaximumProtocolVersion *string `tfsdk:"maximum_protocol_version" json:"maximumProtocolVersion,omitempty"` MinimumProtocolVersion *string `tfsdk:"minimum_protocol_version" json:"minimumProtocolVersion,omitempty"` } `tfsdk:"parameters" json:"parameters,omitempty"` Sds *struct { CallCredentials *struct { FileCredentialSource *struct { Header *string `tfsdk:"header" json:"header,omitempty"` TokenFileName *string `tfsdk:"token_file_name" json:"tokenFileName,omitempty"` } `tfsdk:"file_credential_source" json:"fileCredentialSource,omitempty"` } `tfsdk:"call_credentials" json:"callCredentials,omitempty"` CertificatesSecretName *string `tfsdk:"certificates_secret_name" json:"certificatesSecretName,omitempty"` ClusterName *string `tfsdk:"cluster_name" json:"clusterName,omitempty"` TargetUri *string `tfsdk:"target_uri" json:"targetUri,omitempty"` ValidationContextName *string `tfsdk:"validation_context_name" json:"validationContextName,omitempty"` } `tfsdk:"sds" json:"sds,omitempty"` SecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"secret_ref" json:"secretRef,omitempty"` Sni *string `tfsdk:"sni" json:"sni,omitempty"` SslFiles *struct { OcspStaple *string `tfsdk:"ocsp_staple" json:"ocspStaple,omitempty"` RootCa *string `tfsdk:"root_ca" json:"rootCa,omitempty"` TlsCert *string `tfsdk:"tls_cert" json:"tlsCert,omitempty"` TlsKey *string `tfsdk:"tls_key" json:"tlsKey,omitempty"` } `tfsdk:"ssl_files" json:"sslFiles,omitempty"` VerifySubjectAltName *[]string `tfsdk:"verify_subject_alt_name" json:"verifySubjectAltName,omitempty"` } `tfsdk:"upstream_ssl_config" json:"upstreamSslConfig,omitempty"` } `tfsdk:"lb_endpoints" json:"lbEndpoints,omitempty"` LoadBalancingWeight *int64 `tfsdk:"load_balancing_weight" json:"loadBalancingWeight,omitempty"` Locality *struct { Region *string `tfsdk:"region" json:"region,omitempty"` SubZone *string `tfsdk:"sub_zone" json:"subZone,omitempty"` Zone *string `tfsdk:"zone" json:"zone,omitempty"` } `tfsdk:"locality" json:"locality,omitempty"` } `tfsdk:"locality_endpoints" json:"localityEndpoints,omitempty"` } `tfsdk:"prioritized_localities" json:"prioritizedLocalities,omitempty"` } `tfsdk:"failover" json:"failover,omitempty"` Gcp *struct { Audience *string `tfsdk:"audience" json:"audience,omitempty"` Host *string `tfsdk:"host" json:"host,omitempty"` } `tfsdk:"gcp" json:"gcp,omitempty"` HealthChecks *[]struct { AlwaysLogHealthCheckFailures *bool `tfsdk:"always_log_health_check_failures" json:"alwaysLogHealthCheckFailures,omitempty"` CustomHealthCheck *struct { Config *map[string]string `tfsdk:"config" json:"config,omitempty"` Name *string `tfsdk:"name" json:"name,omitempty"` TypedConfig *map[string]string `tfsdk:"typed_config" json:"typedConfig,omitempty"` } `tfsdk:"custom_health_check" json:"customHealthCheck,omitempty"` EventLogPath *string `tfsdk:"event_log_path" json:"eventLogPath,omitempty"` GrpcHealthCheck *struct { Authority *string `tfsdk:"authority" json:"authority,omitempty"` InitialMetadata *[]struct { Append *bool `tfsdk:"append" json:"append,omitempty"` Header *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"header" json:"header,omitempty"` HeaderSecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"header_secret_ref" json:"headerSecretRef,omitempty"` } `tfsdk:"initial_metadata" json:"initialMetadata,omitempty"` ServiceName *string `tfsdk:"service_name" json:"serviceName,omitempty"` } `tfsdk:"grpc_health_check" json:"grpcHealthCheck,omitempty"` HealthyEdgeInterval *string `tfsdk:"healthy_edge_interval" json:"healthyEdgeInterval,omitempty"` HealthyThreshold *int64 `tfsdk:"healthy_threshold" json:"healthyThreshold,omitempty"` HttpHealthCheck *struct { ExpectedStatuses *[]struct { End *int64 `tfsdk:"end" json:"end,omitempty"` Start *int64 `tfsdk:"start" json:"start,omitempty"` } `tfsdk:"expected_statuses" json:"expectedStatuses,omitempty"` Host *string `tfsdk:"host" json:"host,omitempty"` Method *string `tfsdk:"method" json:"method,omitempty"` Path *string `tfsdk:"path" json:"path,omitempty"` RequestHeadersToAdd *[]struct { Append *bool `tfsdk:"append" json:"append,omitempty"` Header *struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"header" json:"header,omitempty"` HeaderSecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"header_secret_ref" json:"headerSecretRef,omitempty"` } `tfsdk:"request_headers_to_add" json:"requestHeadersToAdd,omitempty"` RequestHeadersToRemove *[]string `tfsdk:"request_headers_to_remove" json:"requestHeadersToRemove,omitempty"` ResponseAssertions *struct { NoMatchHealth *string `tfsdk:"no_match_health" json:"noMatchHealth,omitempty"` ResponseMatchers *[]struct { MatchHealth *string `tfsdk:"match_health" json:"matchHealth,omitempty"` ResponseMatch *struct { Body *map[string]string `tfsdk:"body" json:"body,omitempty"` Header *string `tfsdk:"header" json:"header,omitempty"` IgnoreErrorOnParse *bool `tfsdk:"ignore_error_on_parse" json:"ignoreErrorOnParse,omitempty"` JsonKey *struct { Path *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` } `tfsdk:"path" json:"path,omitempty"` } `tfsdk:"json_key" json:"jsonKey,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` } `tfsdk:"response_match" json:"responseMatch,omitempty"` } `tfsdk:"response_matchers" json:"responseMatchers,omitempty"` } `tfsdk:"response_assertions" json:"responseAssertions,omitempty"` ServiceName *string `tfsdk:"service_name" json:"serviceName,omitempty"` UseHttp2 *bool `tfsdk:"use_http2" json:"useHttp2,omitempty"` } `tfsdk:"http_health_check" json:"httpHealthCheck,omitempty"` InitialJitter *string `tfsdk:"initial_jitter" json:"initialJitter,omitempty"` Interval *string `tfsdk:"interval" json:"interval,omitempty"` IntervalJitter *string `tfsdk:"interval_jitter" json:"intervalJitter,omitempty"` IntervalJitterPercent *int64 `tfsdk:"interval_jitter_percent" json:"intervalJitterPercent,omitempty"` NoTrafficInterval *string `tfsdk:"no_traffic_interval" json:"noTrafficInterval,omitempty"` ReuseConnection *bool `tfsdk:"reuse_connection" json:"reuseConnection,omitempty"` TcpHealthCheck *struct { Receive *[]struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"receive" json:"receive,omitempty"` Send *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"send" json:"send,omitempty"` } `tfsdk:"tcp_health_check" json:"tcpHealthCheck,omitempty"` Timeout *string `tfsdk:"timeout" json:"timeout,omitempty"` UnhealthyEdgeInterval *string `tfsdk:"unhealthy_edge_interval" json:"unhealthyEdgeInterval,omitempty"` UnhealthyInterval *string `tfsdk:"unhealthy_interval" json:"unhealthyInterval,omitempty"` UnhealthyThreshold *int64 `tfsdk:"unhealthy_threshold" json:"unhealthyThreshold,omitempty"` } `tfsdk:"health_checks" json:"healthChecks,omitempty"` HttpConnectHeaders *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *string `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"http_connect_headers" json:"httpConnectHeaders,omitempty"` HttpConnectSslConfig *struct { AllowRenegotiation *bool `tfsdk:"allow_renegotiation" json:"allowRenegotiation,omitempty"` AlpnProtocols *[]string `tfsdk:"alpn_protocols" json:"alpnProtocols,omitempty"` OneWayTls *bool `tfsdk:"one_way_tls" json:"oneWayTls,omitempty"` Parameters *struct { CipherSuites *[]string `tfsdk:"cipher_suites" json:"cipherSuites,omitempty"` EcdhCurves *[]string `tfsdk:"ecdh_curves" json:"ecdhCurves,omitempty"` MaximumProtocolVersion *string `tfsdk:"maximum_protocol_version" json:"maximumProtocolVersion,omitempty"` MinimumProtocolVersion *string `tfsdk:"minimum_protocol_version" json:"minimumProtocolVersion,omitempty"` } `tfsdk:"parameters" json:"parameters,omitempty"` Sds *struct { CallCredentials *struct { FileCredentialSource *struct { Header *string `tfsdk:"header" json:"header,omitempty"` TokenFileName *string `tfsdk:"token_file_name" json:"tokenFileName,omitempty"` } `tfsdk:"file_credential_source" json:"fileCredentialSource,omitempty"` } `tfsdk:"call_credentials" json:"callCredentials,omitempty"` CertificatesSecretName *string `tfsdk:"certificates_secret_name" json:"certificatesSecretName,omitempty"` ClusterName *string `tfsdk:"cluster_name" json:"clusterName,omitempty"` TargetUri *string `tfsdk:"target_uri" json:"targetUri,omitempty"` ValidationContextName *string `tfsdk:"validation_context_name" json:"validationContextName,omitempty"` } `tfsdk:"sds" json:"sds,omitempty"` SecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"secret_ref" json:"secretRef,omitempty"` Sni *string `tfsdk:"sni" json:"sni,omitempty"` SslFiles *struct { OcspStaple *string `tfsdk:"ocsp_staple" json:"ocspStaple,omitempty"` RootCa *string `tfsdk:"root_ca" json:"rootCa,omitempty"` TlsCert *string `tfsdk:"tls_cert" json:"tlsCert,omitempty"` TlsKey *string `tfsdk:"tls_key" json:"tlsKey,omitempty"` } `tfsdk:"ssl_files" json:"sslFiles,omitempty"` VerifySubjectAltName *[]string `tfsdk:"verify_subject_alt_name" json:"verifySubjectAltName,omitempty"` } `tfsdk:"http_connect_ssl_config" json:"httpConnectSslConfig,omitempty"` HttpProxyHostname *string `tfsdk:"http_proxy_hostname" json:"httpProxyHostname,omitempty"` IgnoreHealthOnHostRemoval *bool `tfsdk:"ignore_health_on_host_removal" json:"ignoreHealthOnHostRemoval,omitempty"` InitialConnectionWindowSize *int64 `tfsdk:"initial_connection_window_size" json:"initialConnectionWindowSize,omitempty"` InitialStreamWindowSize *int64 `tfsdk:"initial_stream_window_size" json:"initialStreamWindowSize,omitempty"` Kube *struct { Selector *map[string]string `tfsdk:"selector" json:"selector,omitempty"` ServiceName *string `tfsdk:"service_name" json:"serviceName,omitempty"` ServiceNamespace *string `tfsdk:"service_namespace" json:"serviceNamespace,omitempty"` ServicePort *int64 `tfsdk:"service_port" json:"servicePort,omitempty"` ServiceSpec *struct { Graphql *struct { Endpoint *struct { Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"endpoint" json:"endpoint,omitempty"` } `tfsdk:"graphql" json:"graphql,omitempty"` Grpc *struct { Descriptors *string `tfsdk:"descriptors" json:"descriptors,omitempty"` GrpcServices *[]struct { FunctionNames *[]string `tfsdk:"function_names" json:"functionNames,omitempty"` PackageName *string `tfsdk:"package_name" json:"packageName,omitempty"` ServiceName *string `tfsdk:"service_name" json:"serviceName,omitempty"` } `tfsdk:"grpc_services" json:"grpcServices,omitempty"` } `tfsdk:"grpc" json:"grpc,omitempty"` GrpcJsonTranscoder *struct { AutoMapping *bool `tfsdk:"auto_mapping" json:"autoMapping,omitempty"` ConvertGrpcStatus *bool `tfsdk:"convert_grpc_status" json:"convertGrpcStatus,omitempty"` IgnoreUnknownQueryParameters *bool `tfsdk:"ignore_unknown_query_parameters" json:"ignoreUnknownQueryParameters,omitempty"` IgnoredQueryParameters *[]string `tfsdk:"ignored_query_parameters" json:"ignoredQueryParameters,omitempty"` MatchIncomingRequestRoute *bool `tfsdk:"match_incoming_request_route" json:"matchIncomingRequestRoute,omitempty"` PrintOptions *struct { AddWhitespace *bool `tfsdk:"add_whitespace" json:"addWhitespace,omitempty"` AlwaysPrintEnumsAsInts *bool `tfsdk:"always_print_enums_as_ints" json:"alwaysPrintEnumsAsInts,omitempty"` AlwaysPrintPrimitiveFields *bool `tfsdk:"always_print_primitive_fields" json:"alwaysPrintPrimitiveFields,omitempty"` PreserveProtoFieldNames *bool `tfsdk:"preserve_proto_field_names" json:"preserveProtoFieldNames,omitempty"` } `tfsdk:"print_options" json:"printOptions,omitempty"` ProtoDescriptor *string `tfsdk:"proto_descriptor" json:"protoDescriptor,omitempty"` ProtoDescriptorBin *string `tfsdk:"proto_descriptor_bin" json:"protoDescriptorBin,omitempty"` ProtoDescriptorConfigMap *struct { ConfigMapRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"config_map_ref" json:"configMapRef,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` } `tfsdk:"proto_descriptor_config_map" json:"protoDescriptorConfigMap,omitempty"` Services *[]string `tfsdk:"services" json:"services,omitempty"` } `tfsdk:"grpc_json_transcoder" json:"grpcJsonTranscoder,omitempty"` Rest *struct { SwaggerInfo *struct { Inline *string `tfsdk:"inline" json:"inline,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"swagger_info" json:"swaggerInfo,omitempty"` Transformations *struct { AdvancedTemplates *bool `tfsdk:"advanced_templates" json:"advancedTemplates,omitempty"` Body *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"body" json:"body,omitempty"` DynamicMetadataValues *[]struct { JsonToProto *bool `tfsdk:"json_to_proto" json:"jsonToProto,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` MetadataNamespace *string `tfsdk:"metadata_namespace" json:"metadataNamespace,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"dynamic_metadata_values" json:"dynamicMetadataValues,omitempty"` EscapeCharacters *bool `tfsdk:"escape_characters" json:"escapeCharacters,omitempty"` Extractors *struct { Body *map[string]string `tfsdk:"body" json:"body,omitempty"` Header *string `tfsdk:"header" json:"header,omitempty"` Mode *string `tfsdk:"mode" json:"mode,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` ReplacementText *string `tfsdk:"replacement_text" json:"replacementText,omitempty"` Subgroup *int64 `tfsdk:"subgroup" json:"subgroup,omitempty"` } `tfsdk:"extractors" json:"extractors,omitempty"` Headers *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` HeadersToAppend *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers_to_append" json:"headersToAppend,omitempty"` HeadersToRemove *[]string `tfsdk:"headers_to_remove" json:"headersToRemove,omitempty"` IgnoreErrorOnParse *bool `tfsdk:"ignore_error_on_parse" json:"ignoreErrorOnParse,omitempty"` MergeExtractorsToBody *map[string]string `tfsdk:"merge_extractors_to_body" json:"mergeExtractorsToBody,omitempty"` MergeJsonKeys *struct { JsonKeys *struct { OverrideEmpty *bool `tfsdk:"override_empty" json:"overrideEmpty,omitempty"` Tmpl *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"tmpl" json:"tmpl,omitempty"` } `tfsdk:"json_keys" json:"jsonKeys,omitempty"` } `tfsdk:"merge_json_keys" json:"mergeJsonKeys,omitempty"` ParseBodyBehavior *string `tfsdk:"parse_body_behavior" json:"parseBodyBehavior,omitempty"` Passthrough *map[string]string `tfsdk:"passthrough" json:"passthrough,omitempty"` } `tfsdk:"transformations" json:"transformations,omitempty"` } `tfsdk:"rest" json:"rest,omitempty"` } `tfsdk:"service_spec" json:"serviceSpec,omitempty"` SubsetSpec *struct { DefaultSubset *struct { Values *map[string]string `tfsdk:"values" json:"values,omitempty"` } `tfsdk:"default_subset" json:"defaultSubset,omitempty"` FallbackPolicy *string `tfsdk:"fallback_policy" json:"fallbackPolicy,omitempty"` Selectors *[]struct { Keys *[]string `tfsdk:"keys" json:"keys,omitempty"` SingleHostPerSubset *bool `tfsdk:"single_host_per_subset" json:"singleHostPerSubset,omitempty"` } `tfsdk:"selectors" json:"selectors,omitempty"` } `tfsdk:"subset_spec" json:"subsetSpec,omitempty"` } `tfsdk:"kube" json:"kube,omitempty"` LoadBalancerConfig *struct { HealthyPanicThreshold *float64 `tfsdk:"healthy_panic_threshold" json:"healthyPanicThreshold,omitempty"` LeastRequest *struct { ChoiceCount *int64 `tfsdk:"choice_count" json:"choiceCount,omitempty"` SlowStartConfig *struct { Aggression *float64 `tfsdk:"aggression" json:"aggression,omitempty"` MinWeightPercent *float64 `tfsdk:"min_weight_percent" json:"minWeightPercent,omitempty"` SlowStartWindow *string `tfsdk:"slow_start_window" json:"slowStartWindow,omitempty"` } `tfsdk:"slow_start_config" json:"slowStartConfig,omitempty"` } `tfsdk:"least_request" json:"leastRequest,omitempty"` LocalityWeightedLbConfig *map[string]string `tfsdk:"locality_weighted_lb_config" json:"localityWeightedLbConfig,omitempty"` Maglev *map[string]string `tfsdk:"maglev" json:"maglev,omitempty"` Random *map[string]string `tfsdk:"random" json:"random,omitempty"` RingHash *struct { RingHashConfig *struct { MaximumRingSize *int64 `tfsdk:"maximum_ring_size" json:"maximumRingSize,omitempty"` MinimumRingSize *int64 `tfsdk:"minimum_ring_size" json:"minimumRingSize,omitempty"` } `tfsdk:"ring_hash_config" json:"ringHashConfig,omitempty"` } `tfsdk:"ring_hash" json:"ringHash,omitempty"` RoundRobin *struct { SlowStartConfig *struct { Aggression *float64 `tfsdk:"aggression" json:"aggression,omitempty"` MinWeightPercent *float64 `tfsdk:"min_weight_percent" json:"minWeightPercent,omitempty"` SlowStartWindow *string `tfsdk:"slow_start_window" json:"slowStartWindow,omitempty"` } `tfsdk:"slow_start_config" json:"slowStartConfig,omitempty"` } `tfsdk:"round_robin" json:"roundRobin,omitempty"` UpdateMergeWindow *string `tfsdk:"update_merge_window" json:"updateMergeWindow,omitempty"` UseHostnameForHashing *bool `tfsdk:"use_hostname_for_hashing" json:"useHostnameForHashing,omitempty"` } `tfsdk:"load_balancer_config" json:"loadBalancerConfig,omitempty"` MaxConcurrentStreams *int64 `tfsdk:"max_concurrent_streams" json:"maxConcurrentStreams,omitempty"` NamespacedStatuses *struct { Statuses *map[string]string `tfsdk:"statuses" json:"statuses,omitempty"` } `tfsdk:"namespaced_statuses" json:"namespacedStatuses,omitempty"` OutlierDetection *struct { BaseEjectionTime *string `tfsdk:"base_ejection_time" json:"baseEjectionTime,omitempty"` Consecutive5xx *int64 `tfsdk:"consecutive5xx" json:"consecutive5xx,omitempty"` ConsecutiveGatewayFailure *int64 `tfsdk:"consecutive_gateway_failure" json:"consecutiveGatewayFailure,omitempty"` ConsecutiveLocalOriginFailure *int64 `tfsdk:"consecutive_local_origin_failure" json:"consecutiveLocalOriginFailure,omitempty"` EnforcingConsecutive5xx *int64 `tfsdk:"enforcing_consecutive5xx" json:"enforcingConsecutive5xx,omitempty"` EnforcingConsecutiveGatewayFailure *int64 `tfsdk:"enforcing_consecutive_gateway_failure" json:"enforcingConsecutiveGatewayFailure,omitempty"` EnforcingConsecutiveLocalOriginFailure *int64 `tfsdk:"enforcing_consecutive_local_origin_failure" json:"enforcingConsecutiveLocalOriginFailure,omitempty"` EnforcingLocalOriginSuccessRate *int64 `tfsdk:"enforcing_local_origin_success_rate" json:"enforcingLocalOriginSuccessRate,omitempty"` EnforcingSuccessRate *int64 `tfsdk:"enforcing_success_rate" json:"enforcingSuccessRate,omitempty"` Interval *string `tfsdk:"interval" json:"interval,omitempty"` MaxEjectionPercent *int64 `tfsdk:"max_ejection_percent" json:"maxEjectionPercent,omitempty"` SplitExternalLocalOriginErrors *bool `tfsdk:"split_external_local_origin_errors" json:"splitExternalLocalOriginErrors,omitempty"` SuccessRateMinimumHosts *int64 `tfsdk:"success_rate_minimum_hosts" json:"successRateMinimumHosts,omitempty"` SuccessRateRequestVolume *int64 `tfsdk:"success_rate_request_volume" json:"successRateRequestVolume,omitempty"` SuccessRateStdevFactor *int64 `tfsdk:"success_rate_stdev_factor" json:"successRateStdevFactor,omitempty"` } `tfsdk:"outlier_detection" json:"outlierDetection,omitempty"` OverrideStreamErrorOnInvalidHttpMessage *bool `tfsdk:"override_stream_error_on_invalid_http_message" json:"overrideStreamErrorOnInvalidHttpMessage,omitempty"` Pipe *struct { Path *string `tfsdk:"path" json:"path,omitempty"` ServiceSpec *struct { Graphql *struct { Endpoint *struct { Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"endpoint" json:"endpoint,omitempty"` } `tfsdk:"graphql" json:"graphql,omitempty"` Grpc *struct { Descriptors *string `tfsdk:"descriptors" json:"descriptors,omitempty"` GrpcServices *[]struct { FunctionNames *[]string `tfsdk:"function_names" json:"functionNames,omitempty"` PackageName *string `tfsdk:"package_name" json:"packageName,omitempty"` ServiceName *string `tfsdk:"service_name" json:"serviceName,omitempty"` } `tfsdk:"grpc_services" json:"grpcServices,omitempty"` } `tfsdk:"grpc" json:"grpc,omitempty"` GrpcJsonTranscoder *struct { AutoMapping *bool `tfsdk:"auto_mapping" json:"autoMapping,omitempty"` ConvertGrpcStatus *bool `tfsdk:"convert_grpc_status" json:"convertGrpcStatus,omitempty"` IgnoreUnknownQueryParameters *bool `tfsdk:"ignore_unknown_query_parameters" json:"ignoreUnknownQueryParameters,omitempty"` IgnoredQueryParameters *[]string `tfsdk:"ignored_query_parameters" json:"ignoredQueryParameters,omitempty"` MatchIncomingRequestRoute *bool `tfsdk:"match_incoming_request_route" json:"matchIncomingRequestRoute,omitempty"` PrintOptions *struct { AddWhitespace *bool `tfsdk:"add_whitespace" json:"addWhitespace,omitempty"` AlwaysPrintEnumsAsInts *bool `tfsdk:"always_print_enums_as_ints" json:"alwaysPrintEnumsAsInts,omitempty"` AlwaysPrintPrimitiveFields *bool `tfsdk:"always_print_primitive_fields" json:"alwaysPrintPrimitiveFields,omitempty"` PreserveProtoFieldNames *bool `tfsdk:"preserve_proto_field_names" json:"preserveProtoFieldNames,omitempty"` } `tfsdk:"print_options" json:"printOptions,omitempty"` ProtoDescriptor *string `tfsdk:"proto_descriptor" json:"protoDescriptor,omitempty"` ProtoDescriptorBin *string `tfsdk:"proto_descriptor_bin" json:"protoDescriptorBin,omitempty"` ProtoDescriptorConfigMap *struct { ConfigMapRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"config_map_ref" json:"configMapRef,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` } `tfsdk:"proto_descriptor_config_map" json:"protoDescriptorConfigMap,omitempty"` Services *[]string `tfsdk:"services" json:"services,omitempty"` } `tfsdk:"grpc_json_transcoder" json:"grpcJsonTranscoder,omitempty"` Rest *struct { SwaggerInfo *struct { Inline *string `tfsdk:"inline" json:"inline,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"swagger_info" json:"swaggerInfo,omitempty"` Transformations *struct { AdvancedTemplates *bool `tfsdk:"advanced_templates" json:"advancedTemplates,omitempty"` Body *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"body" json:"body,omitempty"` DynamicMetadataValues *[]struct { JsonToProto *bool `tfsdk:"json_to_proto" json:"jsonToProto,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` MetadataNamespace *string `tfsdk:"metadata_namespace" json:"metadataNamespace,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"dynamic_metadata_values" json:"dynamicMetadataValues,omitempty"` EscapeCharacters *bool `tfsdk:"escape_characters" json:"escapeCharacters,omitempty"` Extractors *struct { Body *map[string]string `tfsdk:"body" json:"body,omitempty"` Header *string `tfsdk:"header" json:"header,omitempty"` Mode *string `tfsdk:"mode" json:"mode,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` ReplacementText *string `tfsdk:"replacement_text" json:"replacementText,omitempty"` Subgroup *int64 `tfsdk:"subgroup" json:"subgroup,omitempty"` } `tfsdk:"extractors" json:"extractors,omitempty"` Headers *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` HeadersToAppend *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers_to_append" json:"headersToAppend,omitempty"` HeadersToRemove *[]string `tfsdk:"headers_to_remove" json:"headersToRemove,omitempty"` IgnoreErrorOnParse *bool `tfsdk:"ignore_error_on_parse" json:"ignoreErrorOnParse,omitempty"` MergeExtractorsToBody *map[string]string `tfsdk:"merge_extractors_to_body" json:"mergeExtractorsToBody,omitempty"` MergeJsonKeys *struct { JsonKeys *struct { OverrideEmpty *bool `tfsdk:"override_empty" json:"overrideEmpty,omitempty"` Tmpl *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"tmpl" json:"tmpl,omitempty"` } `tfsdk:"json_keys" json:"jsonKeys,omitempty"` } `tfsdk:"merge_json_keys" json:"mergeJsonKeys,omitempty"` ParseBodyBehavior *string `tfsdk:"parse_body_behavior" json:"parseBodyBehavior,omitempty"` Passthrough *map[string]string `tfsdk:"passthrough" json:"passthrough,omitempty"` } `tfsdk:"transformations" json:"transformations,omitempty"` } `tfsdk:"rest" json:"rest,omitempty"` } `tfsdk:"service_spec" json:"serviceSpec,omitempty"` } `tfsdk:"pipe" json:"pipe,omitempty"` PreconnectPolicy *struct { PerUpstreamPreconnectRatio *float64 `tfsdk:"per_upstream_preconnect_ratio" json:"perUpstreamPreconnectRatio,omitempty"` PredictivePreconnectRatio *float64 `tfsdk:"predictive_preconnect_ratio" json:"predictivePreconnectRatio,omitempty"` } `tfsdk:"preconnect_policy" json:"preconnectPolicy,omitempty"` ProtocolSelection *string `tfsdk:"protocol_selection" json:"protocolSelection,omitempty"` ProxyProtocolVersion *string `tfsdk:"proxy_protocol_version" json:"proxyProtocolVersion,omitempty"` RespectDnsTtl *bool `tfsdk:"respect_dns_ttl" json:"respectDnsTtl,omitempty"` SslConfig *struct { AllowRenegotiation *bool `tfsdk:"allow_renegotiation" json:"allowRenegotiation,omitempty"` AlpnProtocols *[]string `tfsdk:"alpn_protocols" json:"alpnProtocols,omitempty"` OneWayTls *bool `tfsdk:"one_way_tls" json:"oneWayTls,omitempty"` Parameters *struct { CipherSuites *[]string `tfsdk:"cipher_suites" json:"cipherSuites,omitempty"` EcdhCurves *[]string `tfsdk:"ecdh_curves" json:"ecdhCurves,omitempty"` MaximumProtocolVersion *string `tfsdk:"maximum_protocol_version" json:"maximumProtocolVersion,omitempty"` MinimumProtocolVersion *string `tfsdk:"minimum_protocol_version" json:"minimumProtocolVersion,omitempty"` } `tfsdk:"parameters" json:"parameters,omitempty"` Sds *struct { CallCredentials *struct { FileCredentialSource *struct { Header *string `tfsdk:"header" json:"header,omitempty"` TokenFileName *string `tfsdk:"token_file_name" json:"tokenFileName,omitempty"` } `tfsdk:"file_credential_source" json:"fileCredentialSource,omitempty"` } `tfsdk:"call_credentials" json:"callCredentials,omitempty"` CertificatesSecretName *string `tfsdk:"certificates_secret_name" json:"certificatesSecretName,omitempty"` ClusterName *string `tfsdk:"cluster_name" json:"clusterName,omitempty"` TargetUri *string `tfsdk:"target_uri" json:"targetUri,omitempty"` ValidationContextName *string `tfsdk:"validation_context_name" json:"validationContextName,omitempty"` } `tfsdk:"sds" json:"sds,omitempty"` SecretRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"secret_ref" json:"secretRef,omitempty"` Sni *string `tfsdk:"sni" json:"sni,omitempty"` SslFiles *struct { OcspStaple *string `tfsdk:"ocsp_staple" json:"ocspStaple,omitempty"` RootCa *string `tfsdk:"root_ca" json:"rootCa,omitempty"` TlsCert *string `tfsdk:"tls_cert" json:"tlsCert,omitempty"` TlsKey *string `tfsdk:"tls_key" json:"tlsKey,omitempty"` } `tfsdk:"ssl_files" json:"sslFiles,omitempty"` VerifySubjectAltName *[]string `tfsdk:"verify_subject_alt_name" json:"verifySubjectAltName,omitempty"` } `tfsdk:"ssl_config" json:"sslConfig,omitempty"` Static *struct { AutoSniRewrite *bool `tfsdk:"auto_sni_rewrite" json:"autoSniRewrite,omitempty"` Hosts *[]struct { Addr *string `tfsdk:"addr" json:"addr,omitempty"` HealthCheckConfig *struct { Method *string `tfsdk:"method" json:"method,omitempty"` Path *string `tfsdk:"path" json:"path,omitempty"` } `tfsdk:"health_check_config" json:"healthCheckConfig,omitempty"` LoadBalancingWeight *int64 `tfsdk:"load_balancing_weight" json:"loadBalancingWeight,omitempty"` Metadata *map[string]string `tfsdk:"metadata" json:"metadata,omitempty"` Port *int64 `tfsdk:"port" json:"port,omitempty"` SniAddr *string `tfsdk:"sni_addr" json:"sniAddr,omitempty"` } `tfsdk:"hosts" json:"hosts,omitempty"` ServiceSpec *struct { Graphql *struct { Endpoint *struct { Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"endpoint" json:"endpoint,omitempty"` } `tfsdk:"graphql" json:"graphql,omitempty"` Grpc *struct { Descriptors *string `tfsdk:"descriptors" json:"descriptors,omitempty"` GrpcServices *[]struct { FunctionNames *[]string `tfsdk:"function_names" json:"functionNames,omitempty"` PackageName *string `tfsdk:"package_name" json:"packageName,omitempty"` ServiceName *string `tfsdk:"service_name" json:"serviceName,omitempty"` } `tfsdk:"grpc_services" json:"grpcServices,omitempty"` } `tfsdk:"grpc" json:"grpc,omitempty"` GrpcJsonTranscoder *struct { AutoMapping *bool `tfsdk:"auto_mapping" json:"autoMapping,omitempty"` ConvertGrpcStatus *bool `tfsdk:"convert_grpc_status" json:"convertGrpcStatus,omitempty"` IgnoreUnknownQueryParameters *bool `tfsdk:"ignore_unknown_query_parameters" json:"ignoreUnknownQueryParameters,omitempty"` IgnoredQueryParameters *[]string `tfsdk:"ignored_query_parameters" json:"ignoredQueryParameters,omitempty"` MatchIncomingRequestRoute *bool `tfsdk:"match_incoming_request_route" json:"matchIncomingRequestRoute,omitempty"` PrintOptions *struct { AddWhitespace *bool `tfsdk:"add_whitespace" json:"addWhitespace,omitempty"` AlwaysPrintEnumsAsInts *bool `tfsdk:"always_print_enums_as_ints" json:"alwaysPrintEnumsAsInts,omitempty"` AlwaysPrintPrimitiveFields *bool `tfsdk:"always_print_primitive_fields" json:"alwaysPrintPrimitiveFields,omitempty"` PreserveProtoFieldNames *bool `tfsdk:"preserve_proto_field_names" json:"preserveProtoFieldNames,omitempty"` } `tfsdk:"print_options" json:"printOptions,omitempty"` ProtoDescriptor *string `tfsdk:"proto_descriptor" json:"protoDescriptor,omitempty"` ProtoDescriptorBin *string `tfsdk:"proto_descriptor_bin" json:"protoDescriptorBin,omitempty"` ProtoDescriptorConfigMap *struct { ConfigMapRef *struct { Name *string `tfsdk:"name" json:"name,omitempty"` Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"` } `tfsdk:"config_map_ref" json:"configMapRef,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` } `tfsdk:"proto_descriptor_config_map" json:"protoDescriptorConfigMap,omitempty"` Services *[]string `tfsdk:"services" json:"services,omitempty"` } `tfsdk:"grpc_json_transcoder" json:"grpcJsonTranscoder,omitempty"` Rest *struct { SwaggerInfo *struct { Inline *string `tfsdk:"inline" json:"inline,omitempty"` Url *string `tfsdk:"url" json:"url,omitempty"` } `tfsdk:"swagger_info" json:"swaggerInfo,omitempty"` Transformations *struct { AdvancedTemplates *bool `tfsdk:"advanced_templates" json:"advancedTemplates,omitempty"` Body *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"body" json:"body,omitempty"` DynamicMetadataValues *[]struct { JsonToProto *bool `tfsdk:"json_to_proto" json:"jsonToProto,omitempty"` Key *string `tfsdk:"key" json:"key,omitempty"` MetadataNamespace *string `tfsdk:"metadata_namespace" json:"metadataNamespace,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"dynamic_metadata_values" json:"dynamicMetadataValues,omitempty"` EscapeCharacters *bool `tfsdk:"escape_characters" json:"escapeCharacters,omitempty"` Extractors *struct { Body *map[string]string `tfsdk:"body" json:"body,omitempty"` Header *string `tfsdk:"header" json:"header,omitempty"` Mode *string `tfsdk:"mode" json:"mode,omitempty"` Regex *string `tfsdk:"regex" json:"regex,omitempty"` ReplacementText *string `tfsdk:"replacement_text" json:"replacementText,omitempty"` Subgroup *int64 `tfsdk:"subgroup" json:"subgroup,omitempty"` } `tfsdk:"extractors" json:"extractors,omitempty"` Headers *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"headers" json:"headers,omitempty"` HeadersToAppend *[]struct { Key *string `tfsdk:"key" json:"key,omitempty"` Value *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"value" json:"value,omitempty"` } `tfsdk:"headers_to_append" json:"headersToAppend,omitempty"` HeadersToRemove *[]string `tfsdk:"headers_to_remove" json:"headersToRemove,omitempty"` IgnoreErrorOnParse *bool `tfsdk:"ignore_error_on_parse" json:"ignoreErrorOnParse,omitempty"` MergeExtractorsToBody *map[string]string `tfsdk:"merge_extractors_to_body" json:"mergeExtractorsToBody,omitempty"` MergeJsonKeys *struct { JsonKeys *struct { OverrideEmpty *bool `tfsdk:"override_empty" json:"overrideEmpty,omitempty"` Tmpl *struct { Text *string `tfsdk:"text" json:"text,omitempty"` } `tfsdk:"tmpl" json:"tmpl,omitempty"` } `tfsdk:"json_keys" json:"jsonKeys,omitempty"` } `tfsdk:"merge_json_keys" json:"mergeJsonKeys,omitempty"` ParseBodyBehavior *string `tfsdk:"parse_body_behavior" json:"parseBodyBehavior,omitempty"` Passthrough *map[string]string `tfsdk:"passthrough" json:"passthrough,omitempty"` } `tfsdk:"transformations" json:"transformations,omitempty"` } `tfsdk:"rest" json:"rest,omitempty"` } `tfsdk:"service_spec" json:"serviceSpec,omitempty"` UseTls *bool `tfsdk:"use_tls" json:"useTls,omitempty"` } `tfsdk:"static" json:"static,omitempty"` UseHttp2 *bool `tfsdk:"use_http2" json:"useHttp2,omitempty"` } `tfsdk:"spec" json:"spec,omitempty"` }
Click to show internal directories.
Click to hide internal directories.