projectcontour_io_v1alpha1

package
v0.0.0-...-6209148 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 27, 2024 License: 0BSD Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewProjectcontourIoContourConfigurationV1Alpha1Manifest

func NewProjectcontourIoContourConfigurationV1Alpha1Manifest() datasource.DataSource

func NewProjectcontourIoContourDeploymentV1Alpha1Manifest

func NewProjectcontourIoContourDeploymentV1Alpha1Manifest() datasource.DataSource

func NewProjectcontourIoExtensionServiceV1Alpha1Manifest

func NewProjectcontourIoExtensionServiceV1Alpha1Manifest() datasource.DataSource

Types

type ProjectcontourIoContourConfigurationV1Alpha1Manifest

type ProjectcontourIoContourConfigurationV1Alpha1Manifest struct{}

func (*ProjectcontourIoContourConfigurationV1Alpha1Manifest) Metadata

func (*ProjectcontourIoContourConfigurationV1Alpha1Manifest) Read

func (*ProjectcontourIoContourConfigurationV1Alpha1Manifest) Schema

type ProjectcontourIoContourConfigurationV1Alpha1ManifestData

type ProjectcontourIoContourConfigurationV1Alpha1ManifestData 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 {
		Debug *struct {
			Address *string `tfsdk:"address" json:"address,omitempty"`
			Port    *int64  `tfsdk:"port" json:"port,omitempty"`
		} `tfsdk:"debug" json:"debug,omitempty"`
		EnableExternalNameService *bool `tfsdk:"enable_external_name_service" json:"enableExternalNameService,omitempty"`
		Envoy                     *struct {
			ClientCertificate *struct {
				Name      *string `tfsdk:"name" json:"name,omitempty"`
				Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
			} `tfsdk:"client_certificate" json:"clientCertificate,omitempty"`
			Cluster *struct {
				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"`
					PerHostMaxConnections *int64 `tfsdk:"per_host_max_connections" json:"perHostMaxConnections,omitempty"`
				} `tfsdk:"circuit_breakers" json:"circuitBreakers,omitempty"`
				DnsLookupFamily                   *string `tfsdk:"dns_lookup_family" json:"dnsLookupFamily,omitempty"`
				MaxRequestsPerConnection          *int64  `tfsdk:"max_requests_per_connection" json:"maxRequestsPerConnection,omitempty"`
				Per_connection_buffer_limit_bytes *int64  `tfsdk:"per_connection_buffer_limit_bytes" json:"per-connection-buffer-limit-bytes,omitempty"`
				UpstreamTLS                       *struct {
					CipherSuites           *[]string `tfsdk:"cipher_suites" json:"cipherSuites,omitempty"`
					MaximumProtocolVersion *string   `tfsdk:"maximum_protocol_version" json:"maximumProtocolVersion,omitempty"`
					MinimumProtocolVersion *string   `tfsdk:"minimum_protocol_version" json:"minimumProtocolVersion,omitempty"`
				} `tfsdk:"upstream_tls" json:"upstreamTLS,omitempty"`
			} `tfsdk:"cluster" json:"cluster,omitempty"`
			DefaultHTTPVersions *[]string `tfsdk:"default_http_versions" json:"defaultHTTPVersions,omitempty"`
			Health              *struct {
				Address *string `tfsdk:"address" json:"address,omitempty"`
				Port    *int64  `tfsdk:"port" json:"port,omitempty"`
			} `tfsdk:"health" json:"health,omitempty"`
			Http *struct {
				AccessLog *string `tfsdk:"access_log" json:"accessLog,omitempty"`
				Address   *string `tfsdk:"address" json:"address,omitempty"`
				Port      *int64  `tfsdk:"port" json:"port,omitempty"`
			} `tfsdk:"http" json:"http,omitempty"`
			Https *struct {
				AccessLog *string `tfsdk:"access_log" json:"accessLog,omitempty"`
				Address   *string `tfsdk:"address" json:"address,omitempty"`
				Port      *int64  `tfsdk:"port" json:"port,omitempty"`
			} `tfsdk:"https" json:"https,omitempty"`
			Listener *struct {
				ConnectionBalancer                *string `tfsdk:"connection_balancer" json:"connectionBalancer,omitempty"`
				DisableAllowChunkedLength         *bool   `tfsdk:"disable_allow_chunked_length" json:"disableAllowChunkedLength,omitempty"`
				DisableMergeSlashes               *bool   `tfsdk:"disable_merge_slashes" json:"disableMergeSlashes,omitempty"`
				HttpMaxConcurrentStreams          *int64  `tfsdk:"http_max_concurrent_streams" json:"httpMaxConcurrentStreams,omitempty"`
				MaxConnectionsPerListener         *int64  `tfsdk:"max_connections_per_listener" json:"maxConnectionsPerListener,omitempty"`
				MaxRequestsPerConnection          *int64  `tfsdk:"max_requests_per_connection" json:"maxRequestsPerConnection,omitempty"`
				MaxRequestsPerIOCycle             *int64  `tfsdk:"max_requests_per_io_cycle" json:"maxRequestsPerIOCycle,omitempty"`
				Per_connection_buffer_limit_bytes *int64  `tfsdk:"per_connection_buffer_limit_bytes" json:"per-connection-buffer-limit-bytes,omitempty"`
				ServerHeaderTransformation        *string `tfsdk:"server_header_transformation" json:"serverHeaderTransformation,omitempty"`
				SocketOptions                     *struct {
					Tos          *int64 `tfsdk:"tos" json:"tos,omitempty"`
					TrafficClass *int64 `tfsdk:"traffic_class" json:"trafficClass,omitempty"`
				} `tfsdk:"socket_options" json:"socketOptions,omitempty"`
				Tls *struct {
					CipherSuites           *[]string `tfsdk:"cipher_suites" json:"cipherSuites,omitempty"`
					MaximumProtocolVersion *string   `tfsdk:"maximum_protocol_version" json:"maximumProtocolVersion,omitempty"`
					MinimumProtocolVersion *string   `tfsdk:"minimum_protocol_version" json:"minimumProtocolVersion,omitempty"`
				} `tfsdk:"tls" json:"tls,omitempty"`
				UseProxyProtocol *bool `tfsdk:"use_proxy_protocol" json:"useProxyProtocol,omitempty"`
			} `tfsdk:"listener" json:"listener,omitempty"`
			Logging *struct {
				AccessLogFormat       *string   `tfsdk:"access_log_format" json:"accessLogFormat,omitempty"`
				AccessLogFormatString *string   `tfsdk:"access_log_format_string" json:"accessLogFormatString,omitempty"`
				AccessLogJSONFields   *[]string `tfsdk:"access_log_json_fields" json:"accessLogJSONFields,omitempty"`
				AccessLogLevel        *string   `tfsdk:"access_log_level" json:"accessLogLevel,omitempty"`
			} `tfsdk:"logging" json:"logging,omitempty"`
			Metrics *struct {
				Address *string `tfsdk:"address" json:"address,omitempty"`
				Port    *int64  `tfsdk:"port" json:"port,omitempty"`
				Tls     *struct {
					CaFile   *string `tfsdk:"ca_file" json:"caFile,omitempty"`
					CertFile *string `tfsdk:"cert_file" json:"certFile,omitempty"`
					KeyFile  *string `tfsdk:"key_file" json:"keyFile,omitempty"`
				} `tfsdk:"tls" json:"tls,omitempty"`
			} `tfsdk:"metrics" json:"metrics,omitempty"`
			Network *struct {
				AdminPort      *int64 `tfsdk:"admin_port" json:"adminPort,omitempty"`
				NumTrustedHops *int64 `tfsdk:"num_trusted_hops" json:"numTrustedHops,omitempty"`
			} `tfsdk:"network" json:"network,omitempty"`
			Service *struct {
				Name      *string `tfsdk:"name" json:"name,omitempty"`
				Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
			} `tfsdk:"service" json:"service,omitempty"`
			Timeouts *struct {
				ConnectTimeout                *string `tfsdk:"connect_timeout" json:"connectTimeout,omitempty"`
				ConnectionIdleTimeout         *string `tfsdk:"connection_idle_timeout" json:"connectionIdleTimeout,omitempty"`
				ConnectionShutdownGracePeriod *string `tfsdk:"connection_shutdown_grace_period" json:"connectionShutdownGracePeriod,omitempty"`
				DelayedCloseTimeout           *string `tfsdk:"delayed_close_timeout" json:"delayedCloseTimeout,omitempty"`
				MaxConnectionDuration         *string `tfsdk:"max_connection_duration" json:"maxConnectionDuration,omitempty"`
				RequestTimeout                *string `tfsdk:"request_timeout" json:"requestTimeout,omitempty"`
				StreamIdleTimeout             *string `tfsdk:"stream_idle_timeout" json:"streamIdleTimeout,omitempty"`
			} `tfsdk:"timeouts" json:"timeouts,omitempty"`
		} `tfsdk:"envoy" json:"envoy,omitempty"`
		FeatureFlags *[]string `tfsdk:"feature_flags" json:"featureFlags,omitempty"`
		Gateway      *struct {
			GatewayRef *struct {
				Name      *string `tfsdk:"name" json:"name,omitempty"`
				Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
			} `tfsdk:"gateway_ref" json:"gatewayRef,omitempty"`
		} `tfsdk:"gateway" json:"gateway,omitempty"`
		GlobalExtAuth *struct {
			AuthPolicy *struct {
				Context  *map[string]string `tfsdk:"context" json:"context,omitempty"`
				Disabled *bool              `tfsdk:"disabled" json:"disabled,omitempty"`
			} `tfsdk:"auth_policy" json:"authPolicy,omitempty"`
			ExtensionRef *struct {
				ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
				Name       *string `tfsdk:"name" json:"name,omitempty"`
				Namespace  *string `tfsdk:"namespace" json:"namespace,omitempty"`
			} `tfsdk:"extension_ref" json:"extensionRef,omitempty"`
			FailOpen        *bool   `tfsdk:"fail_open" json:"failOpen,omitempty"`
			ResponseTimeout *string `tfsdk:"response_timeout" json:"responseTimeout,omitempty"`
			WithRequestBody *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:"with_request_body" json:"withRequestBody,omitempty"`
		} `tfsdk:"global_ext_auth" json:"globalExtAuth,omitempty"`
		Health *struct {
			Address *string `tfsdk:"address" json:"address,omitempty"`
			Port    *int64  `tfsdk:"port" json:"port,omitempty"`
		} `tfsdk:"health" json:"health,omitempty"`
		Httpproxy *struct {
			DisablePermitInsecure *bool `tfsdk:"disable_permit_insecure" json:"disablePermitInsecure,omitempty"`
			FallbackCertificate   *struct {
				Name      *string `tfsdk:"name" json:"name,omitempty"`
				Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
			} `tfsdk:"fallback_certificate" json:"fallbackCertificate,omitempty"`
			RootNamespaces *[]string `tfsdk:"root_namespaces" json:"rootNamespaces,omitempty"`
		} `tfsdk:"httpproxy" json:"httpproxy,omitempty"`
		Ingress *struct {
			ClassNames    *[]string `tfsdk:"class_names" json:"classNames,omitempty"`
			StatusAddress *string   `tfsdk:"status_address" json:"statusAddress,omitempty"`
		} `tfsdk:"ingress" json:"ingress,omitempty"`
		Metrics *struct {
			Address *string `tfsdk:"address" json:"address,omitempty"`
			Port    *int64  `tfsdk:"port" json:"port,omitempty"`
			Tls     *struct {
				CaFile   *string `tfsdk:"ca_file" json:"caFile,omitempty"`
				CertFile *string `tfsdk:"cert_file" json:"certFile,omitempty"`
				KeyFile  *string `tfsdk:"key_file" json:"keyFile,omitempty"`
			} `tfsdk:"tls" json:"tls,omitempty"`
		} `tfsdk:"metrics" json:"metrics,omitempty"`
		Policy *struct {
			ApplyToIngress *bool `tfsdk:"apply_to_ingress" json:"applyToIngress,omitempty"`
			RequestHeaders *struct {
				Remove *[]string          `tfsdk:"remove" json:"remove,omitempty"`
				Set    *map[string]string `tfsdk:"set" json:"set,omitempty"`
			} `tfsdk:"request_headers" json:"requestHeaders,omitempty"`
			ResponseHeaders *struct {
				Remove *[]string          `tfsdk:"remove" json:"remove,omitempty"`
				Set    *map[string]string `tfsdk:"set" json:"set,omitempty"`
			} `tfsdk:"response_headers" json:"responseHeaders,omitempty"`
		} `tfsdk:"policy" json:"policy,omitempty"`
		RateLimitService *struct {
			DefaultGlobalRateLimitPolicy *struct {
				Descriptors *[]struct {
					Entries *[]struct {
						GenericKey *struct {
							Key   *string `tfsdk:"key" json:"key,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"generic_key" json:"genericKey,omitempty"`
						RemoteAddress *map[string]string `tfsdk:"remote_address" json:"remoteAddress,omitempty"`
						RequestHeader *struct {
							DescriptorKey *string `tfsdk:"descriptor_key" json:"descriptorKey,omitempty"`
							HeaderName    *string `tfsdk:"header_name" json:"headerName,omitempty"`
						} `tfsdk:"request_header" json:"requestHeader,omitempty"`
						RequestHeaderValueMatch *struct {
							ExpectMatch *bool `tfsdk:"expect_match" json:"expectMatch,omitempty"`
							Headers     *[]struct {
								Contains            *string `tfsdk:"contains" json:"contains,omitempty"`
								Exact               *string `tfsdk:"exact" json:"exact,omitempty"`
								IgnoreCase          *bool   `tfsdk:"ignore_case" json:"ignoreCase,omitempty"`
								Name                *string `tfsdk:"name" json:"name,omitempty"`
								Notcontains         *string `tfsdk:"notcontains" json:"notcontains,omitempty"`
								Notexact            *string `tfsdk:"notexact" json:"notexact,omitempty"`
								Notpresent          *bool   `tfsdk:"notpresent" json:"notpresent,omitempty"`
								Present             *bool   `tfsdk:"present" json:"present,omitempty"`
								Regex               *string `tfsdk:"regex" json:"regex,omitempty"`
								TreatMissingAsEmpty *bool   `tfsdk:"treat_missing_as_empty" json:"treatMissingAsEmpty,omitempty"`
							} `tfsdk:"headers" json:"headers,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"request_header_value_match" json:"requestHeaderValueMatch,omitempty"`
					} `tfsdk:"entries" json:"entries,omitempty"`
				} `tfsdk:"descriptors" json:"descriptors,omitempty"`
				Disabled *bool `tfsdk:"disabled" json:"disabled,omitempty"`
			} `tfsdk:"default_global_rate_limit_policy" json:"defaultGlobalRateLimitPolicy,omitempty"`
			Domain                      *string `tfsdk:"domain" json:"domain,omitempty"`
			EnableResourceExhaustedCode *bool   `tfsdk:"enable_resource_exhausted_code" json:"enableResourceExhaustedCode,omitempty"`
			EnableXRateLimitHeaders     *bool   `tfsdk:"enable_x_rate_limit_headers" json:"enableXRateLimitHeaders,omitempty"`
			ExtensionService            *struct {
				Name      *string `tfsdk:"name" json:"name,omitempty"`
				Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
			} `tfsdk:"extension_service" json:"extensionService,omitempty"`
			FailOpen *bool `tfsdk:"fail_open" json:"failOpen,omitempty"`
		} `tfsdk:"rate_limit_service" json:"rateLimitService,omitempty"`
		Tracing *struct {
			CustomTags *[]struct {
				Literal           *string `tfsdk:"literal" json:"literal,omitempty"`
				RequestHeaderName *string `tfsdk:"request_header_name" json:"requestHeaderName,omitempty"`
				TagName           *string `tfsdk:"tag_name" json:"tagName,omitempty"`
			} `tfsdk:"custom_tags" json:"customTags,omitempty"`
			ExtensionService *struct {
				Name      *string `tfsdk:"name" json:"name,omitempty"`
				Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
			} `tfsdk:"extension_service" json:"extensionService,omitempty"`
			IncludePodDetail *bool   `tfsdk:"include_pod_detail" json:"includePodDetail,omitempty"`
			MaxPathTagLength *int64  `tfsdk:"max_path_tag_length" json:"maxPathTagLength,omitempty"`
			OverallSampling  *string `tfsdk:"overall_sampling" json:"overallSampling,omitempty"`
			ServiceName      *string `tfsdk:"service_name" json:"serviceName,omitempty"`
		} `tfsdk:"tracing" json:"tracing,omitempty"`
		XdsServer *struct {
			Address *string `tfsdk:"address" json:"address,omitempty"`
			Port    *int64  `tfsdk:"port" json:"port,omitempty"`
			Tls     *struct {
				CaFile   *string `tfsdk:"ca_file" json:"caFile,omitempty"`
				CertFile *string `tfsdk:"cert_file" json:"certFile,omitempty"`
				Insecure *bool   `tfsdk:"insecure" json:"insecure,omitempty"`
				KeyFile  *string `tfsdk:"key_file" json:"keyFile,omitempty"`
			} `tfsdk:"tls" json:"tls,omitempty"`
			Type *string `tfsdk:"type" json:"type,omitempty"`
		} `tfsdk:"xds_server" json:"xdsServer,omitempty"`
	} `tfsdk:"spec" json:"spec,omitempty"`
}

type ProjectcontourIoContourDeploymentV1Alpha1Manifest

type ProjectcontourIoContourDeploymentV1Alpha1Manifest struct{}

func (*ProjectcontourIoContourDeploymentV1Alpha1Manifest) Metadata

func (*ProjectcontourIoContourDeploymentV1Alpha1Manifest) Read

func (*ProjectcontourIoContourDeploymentV1Alpha1Manifest) Schema

type ProjectcontourIoContourDeploymentV1Alpha1ManifestData

type ProjectcontourIoContourDeploymentV1Alpha1ManifestData 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 {
		Contour *struct {
			Deployment *struct {
				Replicas *int64 `tfsdk:"replicas" json:"replicas,omitempty"`
				Strategy *struct {
					RollingUpdate *struct {
						MaxSurge       *string `tfsdk:"max_surge" json:"maxSurge,omitempty"`
						MaxUnavailable *string `tfsdk:"max_unavailable" json:"maxUnavailable,omitempty"`
					} `tfsdk:"rolling_update" json:"rollingUpdate,omitempty"`
					Type *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"strategy" json:"strategy,omitempty"`
			} `tfsdk:"deployment" json:"deployment,omitempty"`
			DisabledFeatures   *[]string `tfsdk:"disabled_features" json:"disabledFeatures,omitempty"`
			KubernetesLogLevel *int64    `tfsdk:"kubernetes_log_level" json:"kubernetesLogLevel,omitempty"`
			LogLevel           *string   `tfsdk:"log_level" json:"logLevel,omitempty"`
			NodePlacement      *struct {
				NodeSelector *map[string]string `tfsdk:"node_selector" json:"nodeSelector,omitempty"`
				Tolerations  *[]struct {
					Effect            *string `tfsdk:"effect" json:"effect,omitempty"`
					Key               *string `tfsdk:"key" json:"key,omitempty"`
					Operator          *string `tfsdk:"operator" json:"operator,omitempty"`
					TolerationSeconds *int64  `tfsdk:"toleration_seconds" json:"tolerationSeconds,omitempty"`
					Value             *string `tfsdk:"value" json:"value,omitempty"`
				} `tfsdk:"tolerations" json:"tolerations,omitempty"`
			} `tfsdk:"node_placement" json:"nodePlacement,omitempty"`
			PodAnnotations *map[string]string `tfsdk:"pod_annotations" json:"podAnnotations,omitempty"`
			Replicas       *int64             `tfsdk:"replicas" json:"replicas,omitempty"`
			Resources      *struct {
				Claims *[]struct {
					Name *string `tfsdk:"name" json:"name,omitempty"`
				} `tfsdk:"claims" json:"claims,omitempty"`
				Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
				Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
			} `tfsdk:"resources" json:"resources,omitempty"`
			WatchNamespaces *[]string `tfsdk:"watch_namespaces" json:"watchNamespaces,omitempty"`
		} `tfsdk:"contour" json:"contour,omitempty"`
		Envoy *struct {
			BaseID    *int64 `tfsdk:"base_id" json:"baseID,omitempty"`
			DaemonSet *struct {
				UpdateStrategy *struct {
					RollingUpdate *struct {
						MaxSurge       *string `tfsdk:"max_surge" json:"maxSurge,omitempty"`
						MaxUnavailable *string `tfsdk:"max_unavailable" json:"maxUnavailable,omitempty"`
					} `tfsdk:"rolling_update" json:"rollingUpdate,omitempty"`
					Type *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"update_strategy" json:"updateStrategy,omitempty"`
			} `tfsdk:"daemon_set" json:"daemonSet,omitempty"`
			Deployment *struct {
				Replicas *int64 `tfsdk:"replicas" json:"replicas,omitempty"`
				Strategy *struct {
					RollingUpdate *struct {
						MaxSurge       *string `tfsdk:"max_surge" json:"maxSurge,omitempty"`
						MaxUnavailable *string `tfsdk:"max_unavailable" json:"maxUnavailable,omitempty"`
					} `tfsdk:"rolling_update" json:"rollingUpdate,omitempty"`
					Type *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"strategy" json:"strategy,omitempty"`
			} `tfsdk:"deployment" json:"deployment,omitempty"`
			ExtraVolumeMounts *[]struct {
				MountPath         *string `tfsdk:"mount_path" json:"mountPath,omitempty"`
				MountPropagation  *string `tfsdk:"mount_propagation" json:"mountPropagation,omitempty"`
				Name              *string `tfsdk:"name" json:"name,omitempty"`
				ReadOnly          *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
				RecursiveReadOnly *string `tfsdk:"recursive_read_only" json:"recursiveReadOnly,omitempty"`
				SubPath           *string `tfsdk:"sub_path" json:"subPath,omitempty"`
				SubPathExpr       *string `tfsdk:"sub_path_expr" json:"subPathExpr,omitempty"`
			} `tfsdk:"extra_volume_mounts" json:"extraVolumeMounts,omitempty"`
			ExtraVolumes *[]struct {
				AwsElasticBlockStore *struct {
					FsType    *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					Partition *int64  `tfsdk:"partition" json:"partition,omitempty"`
					ReadOnly  *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
					VolumeID  *string `tfsdk:"volume_id" json:"volumeID,omitempty"`
				} `tfsdk:"aws_elastic_block_store" json:"awsElasticBlockStore,omitempty"`
				AzureDisk *struct {
					CachingMode *string `tfsdk:"caching_mode" json:"cachingMode,omitempty"`
					DiskName    *string `tfsdk:"disk_name" json:"diskName,omitempty"`
					DiskURI     *string `tfsdk:"disk_uri" json:"diskURI,omitempty"`
					FsType      *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					Kind        *string `tfsdk:"kind" json:"kind,omitempty"`
					ReadOnly    *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
				} `tfsdk:"azure_disk" json:"azureDisk,omitempty"`
				AzureFile *struct {
					ReadOnly   *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
					SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
					ShareName  *string `tfsdk:"share_name" json:"shareName,omitempty"`
				} `tfsdk:"azure_file" json:"azureFile,omitempty"`
				Cephfs *struct {
					Monitors   *[]string `tfsdk:"monitors" json:"monitors,omitempty"`
					Path       *string   `tfsdk:"path" json:"path,omitempty"`
					ReadOnly   *bool     `tfsdk:"read_only" json:"readOnly,omitempty"`
					SecretFile *string   `tfsdk:"secret_file" json:"secretFile,omitempty"`
					SecretRef  *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"secret_ref" json:"secretRef,omitempty"`
					User *string `tfsdk:"user" json:"user,omitempty"`
				} `tfsdk:"cephfs" json:"cephfs,omitempty"`
				Cinder *struct {
					FsType    *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					ReadOnly  *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
					SecretRef *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"secret_ref" json:"secretRef,omitempty"`
					VolumeID *string `tfsdk:"volume_id" json:"volumeID,omitempty"`
				} `tfsdk:"cinder" json:"cinder,omitempty"`
				ConfigMap *struct {
					DefaultMode *int64 `tfsdk:"default_mode" json:"defaultMode,omitempty"`
					Items       *[]struct {
						Key  *string `tfsdk:"key" json:"key,omitempty"`
						Mode *int64  `tfsdk:"mode" json:"mode,omitempty"`
						Path *string `tfsdk:"path" json:"path,omitempty"`
					} `tfsdk:"items" json:"items,omitempty"`
					Name     *string `tfsdk:"name" json:"name,omitempty"`
					Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
				} `tfsdk:"config_map" json:"configMap,omitempty"`
				Csi *struct {
					Driver               *string `tfsdk:"driver" json:"driver,omitempty"`
					FsType               *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					NodePublishSecretRef *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"node_publish_secret_ref" json:"nodePublishSecretRef,omitempty"`
					ReadOnly         *bool              `tfsdk:"read_only" json:"readOnly,omitempty"`
					VolumeAttributes *map[string]string `tfsdk:"volume_attributes" json:"volumeAttributes,omitempty"`
				} `tfsdk:"csi" json:"csi,omitempty"`
				DownwardAPI *struct {
					DefaultMode *int64 `tfsdk:"default_mode" json:"defaultMode,omitempty"`
					Items       *[]struct {
						FieldRef *struct {
							ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
							FieldPath  *string `tfsdk:"field_path" json:"fieldPath,omitempty"`
						} `tfsdk:"field_ref" json:"fieldRef,omitempty"`
						Mode             *int64  `tfsdk:"mode" json:"mode,omitempty"`
						Path             *string `tfsdk:"path" json:"path,omitempty"`
						ResourceFieldRef *struct {
							ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"`
							Divisor       *string `tfsdk:"divisor" json:"divisor,omitempty"`
							Resource      *string `tfsdk:"resource" json:"resource,omitempty"`
						} `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"`
					} `tfsdk:"items" json:"items,omitempty"`
				} `tfsdk:"downward_api" json:"downwardAPI,omitempty"`
				EmptyDir *struct {
					Medium    *string `tfsdk:"medium" json:"medium,omitempty"`
					SizeLimit *string `tfsdk:"size_limit" json:"sizeLimit,omitempty"`
				} `tfsdk:"empty_dir" json:"emptyDir,omitempty"`
				Ephemeral *struct {
					VolumeClaimTemplate *struct {
						Metadata *map[string]string `tfsdk:"metadata" json:"metadata,omitempty"`
						Spec     *struct {
							AccessModes *[]string `tfsdk:"access_modes" json:"accessModes,omitempty"`
							DataSource  *struct {
								ApiGroup *string `tfsdk:"api_group" json:"apiGroup,omitempty"`
								Kind     *string `tfsdk:"kind" json:"kind,omitempty"`
								Name     *string `tfsdk:"name" json:"name,omitempty"`
							} `tfsdk:"data_source" json:"dataSource,omitempty"`
							DataSourceRef *struct {
								ApiGroup  *string `tfsdk:"api_group" json:"apiGroup,omitempty"`
								Kind      *string `tfsdk:"kind" json:"kind,omitempty"`
								Name      *string `tfsdk:"name" json:"name,omitempty"`
								Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"data_source_ref" json:"dataSourceRef,omitempty"`
							Resources *struct {
								Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
								Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
							} `tfsdk:"resources" json:"resources,omitempty"`
							Selector *struct {
								MatchExpressions *[]struct {
									Key      *string   `tfsdk:"key" json:"key,omitempty"`
									Operator *string   `tfsdk:"operator" json:"operator,omitempty"`
									Values   *[]string `tfsdk:"values" json:"values,omitempty"`
								} `tfsdk:"match_expressions" json:"matchExpressions,omitempty"`
								MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"`
							} `tfsdk:"selector" json:"selector,omitempty"`
							StorageClassName          *string `tfsdk:"storage_class_name" json:"storageClassName,omitempty"`
							VolumeAttributesClassName *string `tfsdk:"volume_attributes_class_name" json:"volumeAttributesClassName,omitempty"`
							VolumeMode                *string `tfsdk:"volume_mode" json:"volumeMode,omitempty"`
							VolumeName                *string `tfsdk:"volume_name" json:"volumeName,omitempty"`
						} `tfsdk:"spec" json:"spec,omitempty"`
					} `tfsdk:"volume_claim_template" json:"volumeClaimTemplate,omitempty"`
				} `tfsdk:"ephemeral" json:"ephemeral,omitempty"`
				Fc *struct {
					FsType     *string   `tfsdk:"fs_type" json:"fsType,omitempty"`
					Lun        *int64    `tfsdk:"lun" json:"lun,omitempty"`
					ReadOnly   *bool     `tfsdk:"read_only" json:"readOnly,omitempty"`
					TargetWWNs *[]string `tfsdk:"target_ww_ns" json:"targetWWNs,omitempty"`
					Wwids      *[]string `tfsdk:"wwids" json:"wwids,omitempty"`
				} `tfsdk:"fc" json:"fc,omitempty"`
				FlexVolume *struct {
					Driver    *string            `tfsdk:"driver" json:"driver,omitempty"`
					FsType    *string            `tfsdk:"fs_type" json:"fsType,omitempty"`
					Options   *map[string]string `tfsdk:"options" json:"options,omitempty"`
					ReadOnly  *bool              `tfsdk:"read_only" json:"readOnly,omitempty"`
					SecretRef *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"secret_ref" json:"secretRef,omitempty"`
				} `tfsdk:"flex_volume" json:"flexVolume,omitempty"`
				Flocker *struct {
					DatasetName *string `tfsdk:"dataset_name" json:"datasetName,omitempty"`
					DatasetUUID *string `tfsdk:"dataset_uuid" json:"datasetUUID,omitempty"`
				} `tfsdk:"flocker" json:"flocker,omitempty"`
				GcePersistentDisk *struct {
					FsType    *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					Partition *int64  `tfsdk:"partition" json:"partition,omitempty"`
					PdName    *string `tfsdk:"pd_name" json:"pdName,omitempty"`
					ReadOnly  *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
				} `tfsdk:"gce_persistent_disk" json:"gcePersistentDisk,omitempty"`
				GitRepo *struct {
					Directory  *string `tfsdk:"directory" json:"directory,omitempty"`
					Repository *string `tfsdk:"repository" json:"repository,omitempty"`
					Revision   *string `tfsdk:"revision" json:"revision,omitempty"`
				} `tfsdk:"git_repo" json:"gitRepo,omitempty"`
				Glusterfs *struct {
					Endpoints *string `tfsdk:"endpoints" json:"endpoints,omitempty"`
					Path      *string `tfsdk:"path" json:"path,omitempty"`
					ReadOnly  *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
				} `tfsdk:"glusterfs" json:"glusterfs,omitempty"`
				HostPath *struct {
					Path *string `tfsdk:"path" json:"path,omitempty"`
					Type *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"host_path" json:"hostPath,omitempty"`
				Iscsi *struct {
					ChapAuthDiscovery *bool     `tfsdk:"chap_auth_discovery" json:"chapAuthDiscovery,omitempty"`
					ChapAuthSession   *bool     `tfsdk:"chap_auth_session" json:"chapAuthSession,omitempty"`
					FsType            *string   `tfsdk:"fs_type" json:"fsType,omitempty"`
					InitiatorName     *string   `tfsdk:"initiator_name" json:"initiatorName,omitempty"`
					Iqn               *string   `tfsdk:"iqn" json:"iqn,omitempty"`
					IscsiInterface    *string   `tfsdk:"iscsi_interface" json:"iscsiInterface,omitempty"`
					Lun               *int64    `tfsdk:"lun" json:"lun,omitempty"`
					Portals           *[]string `tfsdk:"portals" json:"portals,omitempty"`
					ReadOnly          *bool     `tfsdk:"read_only" json:"readOnly,omitempty"`
					SecretRef         *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"secret_ref" json:"secretRef,omitempty"`
					TargetPortal *string `tfsdk:"target_portal" json:"targetPortal,omitempty"`
				} `tfsdk:"iscsi" json:"iscsi,omitempty"`
				Name *string `tfsdk:"name" json:"name,omitempty"`
				Nfs  *struct {
					Path     *string `tfsdk:"path" json:"path,omitempty"`
					ReadOnly *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
					Server   *string `tfsdk:"server" json:"server,omitempty"`
				} `tfsdk:"nfs" json:"nfs,omitempty"`
				PersistentVolumeClaim *struct {
					ClaimName *string `tfsdk:"claim_name" json:"claimName,omitempty"`
					ReadOnly  *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
				} `tfsdk:"persistent_volume_claim" json:"persistentVolumeClaim,omitempty"`
				PhotonPersistentDisk *struct {
					FsType *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					PdID   *string `tfsdk:"pd_id" json:"pdID,omitempty"`
				} `tfsdk:"photon_persistent_disk" json:"photonPersistentDisk,omitempty"`
				PortworxVolume *struct {
					FsType   *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					ReadOnly *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
					VolumeID *string `tfsdk:"volume_id" json:"volumeID,omitempty"`
				} `tfsdk:"portworx_volume" json:"portworxVolume,omitempty"`
				Projected *struct {
					DefaultMode *int64 `tfsdk:"default_mode" json:"defaultMode,omitempty"`
					Sources     *[]struct {
						ClusterTrustBundle *struct {
							LabelSelector *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:"label_selector" json:"labelSelector,omitempty"`
							Name       *string `tfsdk:"name" json:"name,omitempty"`
							Optional   *bool   `tfsdk:"optional" json:"optional,omitempty"`
							Path       *string `tfsdk:"path" json:"path,omitempty"`
							SignerName *string `tfsdk:"signer_name" json:"signerName,omitempty"`
						} `tfsdk:"cluster_trust_bundle" json:"clusterTrustBundle,omitempty"`
						ConfigMap *struct {
							Items *[]struct {
								Key  *string `tfsdk:"key" json:"key,omitempty"`
								Mode *int64  `tfsdk:"mode" json:"mode,omitempty"`
								Path *string `tfsdk:"path" json:"path,omitempty"`
							} `tfsdk:"items" json:"items,omitempty"`
							Name     *string `tfsdk:"name" json:"name,omitempty"`
							Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
						} `tfsdk:"config_map" json:"configMap,omitempty"`
						DownwardAPI *struct {
							Items *[]struct {
								FieldRef *struct {
									ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
									FieldPath  *string `tfsdk:"field_path" json:"fieldPath,omitempty"`
								} `tfsdk:"field_ref" json:"fieldRef,omitempty"`
								Mode             *int64  `tfsdk:"mode" json:"mode,omitempty"`
								Path             *string `tfsdk:"path" json:"path,omitempty"`
								ResourceFieldRef *struct {
									ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"`
									Divisor       *string `tfsdk:"divisor" json:"divisor,omitempty"`
									Resource      *string `tfsdk:"resource" json:"resource,omitempty"`
								} `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"`
							} `tfsdk:"items" json:"items,omitempty"`
						} `tfsdk:"downward_api" json:"downwardAPI,omitempty"`
						Secret *struct {
							Items *[]struct {
								Key  *string `tfsdk:"key" json:"key,omitempty"`
								Mode *int64  `tfsdk:"mode" json:"mode,omitempty"`
								Path *string `tfsdk:"path" json:"path,omitempty"`
							} `tfsdk:"items" json:"items,omitempty"`
							Name     *string `tfsdk:"name" json:"name,omitempty"`
							Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
						} `tfsdk:"secret" json:"secret,omitempty"`
						ServiceAccountToken *struct {
							Audience          *string `tfsdk:"audience" json:"audience,omitempty"`
							ExpirationSeconds *int64  `tfsdk:"expiration_seconds" json:"expirationSeconds,omitempty"`
							Path              *string `tfsdk:"path" json:"path,omitempty"`
						} `tfsdk:"service_account_token" json:"serviceAccountToken,omitempty"`
					} `tfsdk:"sources" json:"sources,omitempty"`
				} `tfsdk:"projected" json:"projected,omitempty"`
				Quobyte *struct {
					Group    *string `tfsdk:"group" json:"group,omitempty"`
					ReadOnly *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
					Registry *string `tfsdk:"registry" json:"registry,omitempty"`
					Tenant   *string `tfsdk:"tenant" json:"tenant,omitempty"`
					User     *string `tfsdk:"user" json:"user,omitempty"`
					Volume   *string `tfsdk:"volume" json:"volume,omitempty"`
				} `tfsdk:"quobyte" json:"quobyte,omitempty"`
				Rbd *struct {
					FsType    *string   `tfsdk:"fs_type" json:"fsType,omitempty"`
					Image     *string   `tfsdk:"image" json:"image,omitempty"`
					Keyring   *string   `tfsdk:"keyring" json:"keyring,omitempty"`
					Monitors  *[]string `tfsdk:"monitors" json:"monitors,omitempty"`
					Pool      *string   `tfsdk:"pool" json:"pool,omitempty"`
					ReadOnly  *bool     `tfsdk:"read_only" json:"readOnly,omitempty"`
					SecretRef *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"secret_ref" json:"secretRef,omitempty"`
					User *string `tfsdk:"user" json:"user,omitempty"`
				} `tfsdk:"rbd" json:"rbd,omitempty"`
				ScaleIO *struct {
					FsType           *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					Gateway          *string `tfsdk:"gateway" json:"gateway,omitempty"`
					ProtectionDomain *string `tfsdk:"protection_domain" json:"protectionDomain,omitempty"`
					ReadOnly         *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
					SecretRef        *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"secret_ref" json:"secretRef,omitempty"`
					SslEnabled  *bool   `tfsdk:"ssl_enabled" json:"sslEnabled,omitempty"`
					StorageMode *string `tfsdk:"storage_mode" json:"storageMode,omitempty"`
					StoragePool *string `tfsdk:"storage_pool" json:"storagePool,omitempty"`
					System      *string `tfsdk:"system" json:"system,omitempty"`
					VolumeName  *string `tfsdk:"volume_name" json:"volumeName,omitempty"`
				} `tfsdk:"scale_io" json:"scaleIO,omitempty"`
				Secret *struct {
					DefaultMode *int64 `tfsdk:"default_mode" json:"defaultMode,omitempty"`
					Items       *[]struct {
						Key  *string `tfsdk:"key" json:"key,omitempty"`
						Mode *int64  `tfsdk:"mode" json:"mode,omitempty"`
						Path *string `tfsdk:"path" json:"path,omitempty"`
					} `tfsdk:"items" json:"items,omitempty"`
					Optional   *bool   `tfsdk:"optional" json:"optional,omitempty"`
					SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
				} `tfsdk:"secret" json:"secret,omitempty"`
				Storageos *struct {
					FsType    *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					ReadOnly  *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
					SecretRef *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"secret_ref" json:"secretRef,omitempty"`
					VolumeName      *string `tfsdk:"volume_name" json:"volumeName,omitempty"`
					VolumeNamespace *string `tfsdk:"volume_namespace" json:"volumeNamespace,omitempty"`
				} `tfsdk:"storageos" json:"storageos,omitempty"`
				VsphereVolume *struct {
					FsType            *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					StoragePolicyID   *string `tfsdk:"storage_policy_id" json:"storagePolicyID,omitempty"`
					StoragePolicyName *string `tfsdk:"storage_policy_name" json:"storagePolicyName,omitempty"`
					VolumePath        *string `tfsdk:"volume_path" json:"volumePath,omitempty"`
				} `tfsdk:"vsphere_volume" json:"vsphereVolume,omitempty"`
			} `tfsdk:"extra_volumes" json:"extraVolumes,omitempty"`
			LogLevel          *string `tfsdk:"log_level" json:"logLevel,omitempty"`
			NetworkPublishing *struct {
				ExternalTrafficPolicy *string            `tfsdk:"external_traffic_policy" json:"externalTrafficPolicy,omitempty"`
				IpFamilyPolicy        *string            `tfsdk:"ip_family_policy" json:"ipFamilyPolicy,omitempty"`
				ServiceAnnotations    *map[string]string `tfsdk:"service_annotations" json:"serviceAnnotations,omitempty"`
				Type                  *string            `tfsdk:"type" json:"type,omitempty"`
			} `tfsdk:"network_publishing" json:"networkPublishing,omitempty"`
			NodePlacement *struct {
				NodeSelector *map[string]string `tfsdk:"node_selector" json:"nodeSelector,omitempty"`
				Tolerations  *[]struct {
					Effect            *string `tfsdk:"effect" json:"effect,omitempty"`
					Key               *string `tfsdk:"key" json:"key,omitempty"`
					Operator          *string `tfsdk:"operator" json:"operator,omitempty"`
					TolerationSeconds *int64  `tfsdk:"toleration_seconds" json:"tolerationSeconds,omitempty"`
					Value             *string `tfsdk:"value" json:"value,omitempty"`
				} `tfsdk:"tolerations" json:"tolerations,omitempty"`
			} `tfsdk:"node_placement" json:"nodePlacement,omitempty"`
			OverloadMaxHeapSize *int64             `tfsdk:"overload_max_heap_size" json:"overloadMaxHeapSize,omitempty"`
			PodAnnotations      *map[string]string `tfsdk:"pod_annotations" json:"podAnnotations,omitempty"`
			Replicas            *int64             `tfsdk:"replicas" json:"replicas,omitempty"`
			Resources           *struct {
				Claims *[]struct {
					Name *string `tfsdk:"name" json:"name,omitempty"`
				} `tfsdk:"claims" json:"claims,omitempty"`
				Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
				Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
			} `tfsdk:"resources" json:"resources,omitempty"`
			WorkloadType *string `tfsdk:"workload_type" json:"workloadType,omitempty"`
		} `tfsdk:"envoy" json:"envoy,omitempty"`
		ResourceLabels  *map[string]string `tfsdk:"resource_labels" json:"resourceLabels,omitempty"`
		RuntimeSettings *struct {
			Debug *struct {
				Address *string `tfsdk:"address" json:"address,omitempty"`
				Port    *int64  `tfsdk:"port" json:"port,omitempty"`
			} `tfsdk:"debug" json:"debug,omitempty"`
			EnableExternalNameService *bool `tfsdk:"enable_external_name_service" json:"enableExternalNameService,omitempty"`
			Envoy                     *struct {
				ClientCertificate *struct {
					Name      *string `tfsdk:"name" json:"name,omitempty"`
					Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
				} `tfsdk:"client_certificate" json:"clientCertificate,omitempty"`
				Cluster *struct {
					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"`
						PerHostMaxConnections *int64 `tfsdk:"per_host_max_connections" json:"perHostMaxConnections,omitempty"`
					} `tfsdk:"circuit_breakers" json:"circuitBreakers,omitempty"`
					DnsLookupFamily                   *string `tfsdk:"dns_lookup_family" json:"dnsLookupFamily,omitempty"`
					MaxRequestsPerConnection          *int64  `tfsdk:"max_requests_per_connection" json:"maxRequestsPerConnection,omitempty"`
					Per_connection_buffer_limit_bytes *int64  `tfsdk:"per_connection_buffer_limit_bytes" json:"per-connection-buffer-limit-bytes,omitempty"`
					UpstreamTLS                       *struct {
						CipherSuites           *[]string `tfsdk:"cipher_suites" json:"cipherSuites,omitempty"`
						MaximumProtocolVersion *string   `tfsdk:"maximum_protocol_version" json:"maximumProtocolVersion,omitempty"`
						MinimumProtocolVersion *string   `tfsdk:"minimum_protocol_version" json:"minimumProtocolVersion,omitempty"`
					} `tfsdk:"upstream_tls" json:"upstreamTLS,omitempty"`
				} `tfsdk:"cluster" json:"cluster,omitempty"`
				DefaultHTTPVersions *[]string `tfsdk:"default_http_versions" json:"defaultHTTPVersions,omitempty"`
				Health              *struct {
					Address *string `tfsdk:"address" json:"address,omitempty"`
					Port    *int64  `tfsdk:"port" json:"port,omitempty"`
				} `tfsdk:"health" json:"health,omitempty"`
				Http *struct {
					AccessLog *string `tfsdk:"access_log" json:"accessLog,omitempty"`
					Address   *string `tfsdk:"address" json:"address,omitempty"`
					Port      *int64  `tfsdk:"port" json:"port,omitempty"`
				} `tfsdk:"http" json:"http,omitempty"`
				Https *struct {
					AccessLog *string `tfsdk:"access_log" json:"accessLog,omitempty"`
					Address   *string `tfsdk:"address" json:"address,omitempty"`
					Port      *int64  `tfsdk:"port" json:"port,omitempty"`
				} `tfsdk:"https" json:"https,omitempty"`
				Listener *struct {
					ConnectionBalancer                *string `tfsdk:"connection_balancer" json:"connectionBalancer,omitempty"`
					DisableAllowChunkedLength         *bool   `tfsdk:"disable_allow_chunked_length" json:"disableAllowChunkedLength,omitempty"`
					DisableMergeSlashes               *bool   `tfsdk:"disable_merge_slashes" json:"disableMergeSlashes,omitempty"`
					HttpMaxConcurrentStreams          *int64  `tfsdk:"http_max_concurrent_streams" json:"httpMaxConcurrentStreams,omitempty"`
					MaxConnectionsPerListener         *int64  `tfsdk:"max_connections_per_listener" json:"maxConnectionsPerListener,omitempty"`
					MaxRequestsPerConnection          *int64  `tfsdk:"max_requests_per_connection" json:"maxRequestsPerConnection,omitempty"`
					MaxRequestsPerIOCycle             *int64  `tfsdk:"max_requests_per_io_cycle" json:"maxRequestsPerIOCycle,omitempty"`
					Per_connection_buffer_limit_bytes *int64  `tfsdk:"per_connection_buffer_limit_bytes" json:"per-connection-buffer-limit-bytes,omitempty"`
					ServerHeaderTransformation        *string `tfsdk:"server_header_transformation" json:"serverHeaderTransformation,omitempty"`
					SocketOptions                     *struct {
						Tos          *int64 `tfsdk:"tos" json:"tos,omitempty"`
						TrafficClass *int64 `tfsdk:"traffic_class" json:"trafficClass,omitempty"`
					} `tfsdk:"socket_options" json:"socketOptions,omitempty"`
					Tls *struct {
						CipherSuites           *[]string `tfsdk:"cipher_suites" json:"cipherSuites,omitempty"`
						MaximumProtocolVersion *string   `tfsdk:"maximum_protocol_version" json:"maximumProtocolVersion,omitempty"`
						MinimumProtocolVersion *string   `tfsdk:"minimum_protocol_version" json:"minimumProtocolVersion,omitempty"`
					} `tfsdk:"tls" json:"tls,omitempty"`
					UseProxyProtocol *bool `tfsdk:"use_proxy_protocol" json:"useProxyProtocol,omitempty"`
				} `tfsdk:"listener" json:"listener,omitempty"`
				Logging *struct {
					AccessLogFormat       *string   `tfsdk:"access_log_format" json:"accessLogFormat,omitempty"`
					AccessLogFormatString *string   `tfsdk:"access_log_format_string" json:"accessLogFormatString,omitempty"`
					AccessLogJSONFields   *[]string `tfsdk:"access_log_json_fields" json:"accessLogJSONFields,omitempty"`
					AccessLogLevel        *string   `tfsdk:"access_log_level" json:"accessLogLevel,omitempty"`
				} `tfsdk:"logging" json:"logging,omitempty"`
				Metrics *struct {
					Address *string `tfsdk:"address" json:"address,omitempty"`
					Port    *int64  `tfsdk:"port" json:"port,omitempty"`
					Tls     *struct {
						CaFile   *string `tfsdk:"ca_file" json:"caFile,omitempty"`
						CertFile *string `tfsdk:"cert_file" json:"certFile,omitempty"`
						KeyFile  *string `tfsdk:"key_file" json:"keyFile,omitempty"`
					} `tfsdk:"tls" json:"tls,omitempty"`
				} `tfsdk:"metrics" json:"metrics,omitempty"`
				Network *struct {
					AdminPort      *int64 `tfsdk:"admin_port" json:"adminPort,omitempty"`
					NumTrustedHops *int64 `tfsdk:"num_trusted_hops" json:"numTrustedHops,omitempty"`
				} `tfsdk:"network" json:"network,omitempty"`
				Service *struct {
					Name      *string `tfsdk:"name" json:"name,omitempty"`
					Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
				} `tfsdk:"service" json:"service,omitempty"`
				Timeouts *struct {
					ConnectTimeout                *string `tfsdk:"connect_timeout" json:"connectTimeout,omitempty"`
					ConnectionIdleTimeout         *string `tfsdk:"connection_idle_timeout" json:"connectionIdleTimeout,omitempty"`
					ConnectionShutdownGracePeriod *string `tfsdk:"connection_shutdown_grace_period" json:"connectionShutdownGracePeriod,omitempty"`
					DelayedCloseTimeout           *string `tfsdk:"delayed_close_timeout" json:"delayedCloseTimeout,omitempty"`
					MaxConnectionDuration         *string `tfsdk:"max_connection_duration" json:"maxConnectionDuration,omitempty"`
					RequestTimeout                *string `tfsdk:"request_timeout" json:"requestTimeout,omitempty"`
					StreamIdleTimeout             *string `tfsdk:"stream_idle_timeout" json:"streamIdleTimeout,omitempty"`
				} `tfsdk:"timeouts" json:"timeouts,omitempty"`
			} `tfsdk:"envoy" json:"envoy,omitempty"`
			FeatureFlags *[]string `tfsdk:"feature_flags" json:"featureFlags,omitempty"`
			Gateway      *struct {
				GatewayRef *struct {
					Name      *string `tfsdk:"name" json:"name,omitempty"`
					Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
				} `tfsdk:"gateway_ref" json:"gatewayRef,omitempty"`
			} `tfsdk:"gateway" json:"gateway,omitempty"`
			GlobalExtAuth *struct {
				AuthPolicy *struct {
					Context  *map[string]string `tfsdk:"context" json:"context,omitempty"`
					Disabled *bool              `tfsdk:"disabled" json:"disabled,omitempty"`
				} `tfsdk:"auth_policy" json:"authPolicy,omitempty"`
				ExtensionRef *struct {
					ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
					Name       *string `tfsdk:"name" json:"name,omitempty"`
					Namespace  *string `tfsdk:"namespace" json:"namespace,omitempty"`
				} `tfsdk:"extension_ref" json:"extensionRef,omitempty"`
				FailOpen        *bool   `tfsdk:"fail_open" json:"failOpen,omitempty"`
				ResponseTimeout *string `tfsdk:"response_timeout" json:"responseTimeout,omitempty"`
				WithRequestBody *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:"with_request_body" json:"withRequestBody,omitempty"`
			} `tfsdk:"global_ext_auth" json:"globalExtAuth,omitempty"`
			Health *struct {
				Address *string `tfsdk:"address" json:"address,omitempty"`
				Port    *int64  `tfsdk:"port" json:"port,omitempty"`
			} `tfsdk:"health" json:"health,omitempty"`
			Httpproxy *struct {
				DisablePermitInsecure *bool `tfsdk:"disable_permit_insecure" json:"disablePermitInsecure,omitempty"`
				FallbackCertificate   *struct {
					Name      *string `tfsdk:"name" json:"name,omitempty"`
					Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
				} `tfsdk:"fallback_certificate" json:"fallbackCertificate,omitempty"`
				RootNamespaces *[]string `tfsdk:"root_namespaces" json:"rootNamespaces,omitempty"`
			} `tfsdk:"httpproxy" json:"httpproxy,omitempty"`
			Ingress *struct {
				ClassNames    *[]string `tfsdk:"class_names" json:"classNames,omitempty"`
				StatusAddress *string   `tfsdk:"status_address" json:"statusAddress,omitempty"`
			} `tfsdk:"ingress" json:"ingress,omitempty"`
			Metrics *struct {
				Address *string `tfsdk:"address" json:"address,omitempty"`
				Port    *int64  `tfsdk:"port" json:"port,omitempty"`
				Tls     *struct {
					CaFile   *string `tfsdk:"ca_file" json:"caFile,omitempty"`
					CertFile *string `tfsdk:"cert_file" json:"certFile,omitempty"`
					KeyFile  *string `tfsdk:"key_file" json:"keyFile,omitempty"`
				} `tfsdk:"tls" json:"tls,omitempty"`
			} `tfsdk:"metrics" json:"metrics,omitempty"`
			Policy *struct {
				ApplyToIngress *bool `tfsdk:"apply_to_ingress" json:"applyToIngress,omitempty"`
				RequestHeaders *struct {
					Remove *[]string          `tfsdk:"remove" json:"remove,omitempty"`
					Set    *map[string]string `tfsdk:"set" json:"set,omitempty"`
				} `tfsdk:"request_headers" json:"requestHeaders,omitempty"`
				ResponseHeaders *struct {
					Remove *[]string          `tfsdk:"remove" json:"remove,omitempty"`
					Set    *map[string]string `tfsdk:"set" json:"set,omitempty"`
				} `tfsdk:"response_headers" json:"responseHeaders,omitempty"`
			} `tfsdk:"policy" json:"policy,omitempty"`
			RateLimitService *struct {
				DefaultGlobalRateLimitPolicy *struct {
					Descriptors *[]struct {
						Entries *[]struct {
							GenericKey *struct {
								Key   *string `tfsdk:"key" json:"key,omitempty"`
								Value *string `tfsdk:"value" json:"value,omitempty"`
							} `tfsdk:"generic_key" json:"genericKey,omitempty"`
							RemoteAddress *map[string]string `tfsdk:"remote_address" json:"remoteAddress,omitempty"`
							RequestHeader *struct {
								DescriptorKey *string `tfsdk:"descriptor_key" json:"descriptorKey,omitempty"`
								HeaderName    *string `tfsdk:"header_name" json:"headerName,omitempty"`
							} `tfsdk:"request_header" json:"requestHeader,omitempty"`
							RequestHeaderValueMatch *struct {
								ExpectMatch *bool `tfsdk:"expect_match" json:"expectMatch,omitempty"`
								Headers     *[]struct {
									Contains            *string `tfsdk:"contains" json:"contains,omitempty"`
									Exact               *string `tfsdk:"exact" json:"exact,omitempty"`
									IgnoreCase          *bool   `tfsdk:"ignore_case" json:"ignoreCase,omitempty"`
									Name                *string `tfsdk:"name" json:"name,omitempty"`
									Notcontains         *string `tfsdk:"notcontains" json:"notcontains,omitempty"`
									Notexact            *string `tfsdk:"notexact" json:"notexact,omitempty"`
									Notpresent          *bool   `tfsdk:"notpresent" json:"notpresent,omitempty"`
									Present             *bool   `tfsdk:"present" json:"present,omitempty"`
									Regex               *string `tfsdk:"regex" json:"regex,omitempty"`
									TreatMissingAsEmpty *bool   `tfsdk:"treat_missing_as_empty" json:"treatMissingAsEmpty,omitempty"`
								} `tfsdk:"headers" json:"headers,omitempty"`
								Value *string `tfsdk:"value" json:"value,omitempty"`
							} `tfsdk:"request_header_value_match" json:"requestHeaderValueMatch,omitempty"`
						} `tfsdk:"entries" json:"entries,omitempty"`
					} `tfsdk:"descriptors" json:"descriptors,omitempty"`
					Disabled *bool `tfsdk:"disabled" json:"disabled,omitempty"`
				} `tfsdk:"default_global_rate_limit_policy" json:"defaultGlobalRateLimitPolicy,omitempty"`
				Domain                      *string `tfsdk:"domain" json:"domain,omitempty"`
				EnableResourceExhaustedCode *bool   `tfsdk:"enable_resource_exhausted_code" json:"enableResourceExhaustedCode,omitempty"`
				EnableXRateLimitHeaders     *bool   `tfsdk:"enable_x_rate_limit_headers" json:"enableXRateLimitHeaders,omitempty"`
				ExtensionService            *struct {
					Name      *string `tfsdk:"name" json:"name,omitempty"`
					Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
				} `tfsdk:"extension_service" json:"extensionService,omitempty"`
				FailOpen *bool `tfsdk:"fail_open" json:"failOpen,omitempty"`
			} `tfsdk:"rate_limit_service" json:"rateLimitService,omitempty"`
			Tracing *struct {
				CustomTags *[]struct {
					Literal           *string `tfsdk:"literal" json:"literal,omitempty"`
					RequestHeaderName *string `tfsdk:"request_header_name" json:"requestHeaderName,omitempty"`
					TagName           *string `tfsdk:"tag_name" json:"tagName,omitempty"`
				} `tfsdk:"custom_tags" json:"customTags,omitempty"`
				ExtensionService *struct {
					Name      *string `tfsdk:"name" json:"name,omitempty"`
					Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
				} `tfsdk:"extension_service" json:"extensionService,omitempty"`
				IncludePodDetail *bool   `tfsdk:"include_pod_detail" json:"includePodDetail,omitempty"`
				MaxPathTagLength *int64  `tfsdk:"max_path_tag_length" json:"maxPathTagLength,omitempty"`
				OverallSampling  *string `tfsdk:"overall_sampling" json:"overallSampling,omitempty"`
				ServiceName      *string `tfsdk:"service_name" json:"serviceName,omitempty"`
			} `tfsdk:"tracing" json:"tracing,omitempty"`
			XdsServer *struct {
				Address *string `tfsdk:"address" json:"address,omitempty"`
				Port    *int64  `tfsdk:"port" json:"port,omitempty"`
				Tls     *struct {
					CaFile   *string `tfsdk:"ca_file" json:"caFile,omitempty"`
					CertFile *string `tfsdk:"cert_file" json:"certFile,omitempty"`
					Insecure *bool   `tfsdk:"insecure" json:"insecure,omitempty"`
					KeyFile  *string `tfsdk:"key_file" json:"keyFile,omitempty"`
				} `tfsdk:"tls" json:"tls,omitempty"`
				Type *string `tfsdk:"type" json:"type,omitempty"`
			} `tfsdk:"xds_server" json:"xdsServer,omitempty"`
		} `tfsdk:"runtime_settings" json:"runtimeSettings,omitempty"`
	} `tfsdk:"spec" json:"spec,omitempty"`
}

type ProjectcontourIoExtensionServiceV1Alpha1Manifest

type ProjectcontourIoExtensionServiceV1Alpha1Manifest struct{}

func (*ProjectcontourIoExtensionServiceV1Alpha1Manifest) Metadata

func (*ProjectcontourIoExtensionServiceV1Alpha1Manifest) Read

func (*ProjectcontourIoExtensionServiceV1Alpha1Manifest) Schema

type ProjectcontourIoExtensionServiceV1Alpha1ManifestData

type ProjectcontourIoExtensionServiceV1Alpha1ManifestData 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 {
		CircuitBreakerPolicy *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"`
			PerHostMaxConnections *int64 `tfsdk:"per_host_max_connections" json:"perHostMaxConnections,omitempty"`
		} `tfsdk:"circuit_breaker_policy" json:"circuitBreakerPolicy,omitempty"`
		LoadBalancerPolicy *struct {
			RequestHashPolicies *[]struct {
				HashSourceIP      *bool `tfsdk:"hash_source_ip" json:"hashSourceIP,omitempty"`
				HeaderHashOptions *struct {
					HeaderName *string `tfsdk:"header_name" json:"headerName,omitempty"`
				} `tfsdk:"header_hash_options" json:"headerHashOptions,omitempty"`
				QueryParameterHashOptions *struct {
					ParameterName *string `tfsdk:"parameter_name" json:"parameterName,omitempty"`
				} `tfsdk:"query_parameter_hash_options" json:"queryParameterHashOptions,omitempty"`
				Terminal *bool `tfsdk:"terminal" json:"terminal,omitempty"`
			} `tfsdk:"request_hash_policies" json:"requestHashPolicies,omitempty"`
			Strategy *string `tfsdk:"strategy" json:"strategy,omitempty"`
		} `tfsdk:"load_balancer_policy" json:"loadBalancerPolicy,omitempty"`
		Protocol        *string `tfsdk:"protocol" json:"protocol,omitempty"`
		ProtocolVersion *string `tfsdk:"protocol_version" json:"protocolVersion,omitempty"`
		Services        *[]struct {
			Name   *string `tfsdk:"name" json:"name,omitempty"`
			Port   *int64  `tfsdk:"port" json:"port,omitempty"`
			Weight *int64  `tfsdk:"weight" json:"weight,omitempty"`
		} `tfsdk:"services" json:"services,omitempty"`
		TimeoutPolicy *struct {
			Idle           *string `tfsdk:"idle" json:"idle,omitempty"`
			IdleConnection *string `tfsdk:"idle_connection" json:"idleConnection,omitempty"`
			Response       *string `tfsdk:"response" json:"response,omitempty"`
		} `tfsdk:"timeout_policy" json:"timeoutPolicy,omitempty"`
		Validation *struct {
			CaSecret     *string   `tfsdk:"ca_secret" json:"caSecret,omitempty"`
			SubjectName  *string   `tfsdk:"subject_name" json:"subjectName,omitempty"`
			SubjectNames *[]string `tfsdk:"subject_names" json:"subjectNames,omitempty"`
		} `tfsdk:"validation" json:"validation,omitempty"`
	} `tfsdk:"spec" json:"spec,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL