computebackendservice

package
v0.0.0-...-4f78cf2 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2025 License: MIT Imports: 7 Imported by: 0

README

google_compute_backend_service

Refer to the Terraform Registry for docs: google_compute_backend_service.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ComputeBackendService_GenerateConfigForImport

func ComputeBackendService_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, provider cdktf.TerraformProvider) cdktf.ImportableResource

Generates CDKTF code for importing a ComputeBackendService resource upon running "cdktf plan <stack-name>".

func ComputeBackendService_IsConstruct

func ComputeBackendService_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func ComputeBackendService_IsTerraformElement

func ComputeBackendService_IsTerraformElement(x interface{}) *bool

Experimental.

func ComputeBackendService_IsTerraformResource

func ComputeBackendService_IsTerraformResource(x interface{}) *bool

Experimental.

func ComputeBackendService_TfResourceType

func ComputeBackendService_TfResourceType() *string

func NewComputeBackendServiceBackendCustomMetricsList_Override

func NewComputeBackendServiceBackendCustomMetricsList_Override(c ComputeBackendServiceBackendCustomMetricsList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewComputeBackendServiceBackendCustomMetricsOutputReference_Override

func NewComputeBackendServiceBackendCustomMetricsOutputReference_Override(c ComputeBackendServiceBackendCustomMetricsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewComputeBackendServiceBackendList_Override

func NewComputeBackendServiceBackendList_Override(c ComputeBackendServiceBackendList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewComputeBackendServiceBackendOutputReference_Override

func NewComputeBackendServiceBackendOutputReference_Override(c ComputeBackendServiceBackendOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewComputeBackendServiceCdnPolicyBypassCacheOnRequestHeadersList_Override

func NewComputeBackendServiceCdnPolicyBypassCacheOnRequestHeadersList_Override(c ComputeBackendServiceCdnPolicyBypassCacheOnRequestHeadersList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewComputeBackendServiceCdnPolicyBypassCacheOnRequestHeadersOutputReference_Override

func NewComputeBackendServiceCdnPolicyBypassCacheOnRequestHeadersOutputReference_Override(c ComputeBackendServiceCdnPolicyBypassCacheOnRequestHeadersOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewComputeBackendServiceCdnPolicyCacheKeyPolicyOutputReference_Override

func NewComputeBackendServiceCdnPolicyCacheKeyPolicyOutputReference_Override(c ComputeBackendServiceCdnPolicyCacheKeyPolicyOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceCdnPolicyNegativeCachingPolicyList_Override

func NewComputeBackendServiceCdnPolicyNegativeCachingPolicyList_Override(c ComputeBackendServiceCdnPolicyNegativeCachingPolicyList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewComputeBackendServiceCdnPolicyNegativeCachingPolicyOutputReference_Override

func NewComputeBackendServiceCdnPolicyNegativeCachingPolicyOutputReference_Override(c ComputeBackendServiceCdnPolicyNegativeCachingPolicyOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewComputeBackendServiceCdnPolicyOutputReference_Override

func NewComputeBackendServiceCdnPolicyOutputReference_Override(c ComputeBackendServiceCdnPolicyOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceCircuitBreakersOutputReference_Override

func NewComputeBackendServiceCircuitBreakersOutputReference_Override(c ComputeBackendServiceCircuitBreakersOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceConsistentHashHttpCookieOutputReference_Override

func NewComputeBackendServiceConsistentHashHttpCookieOutputReference_Override(c ComputeBackendServiceConsistentHashHttpCookieOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceConsistentHashHttpCookieTtlOutputReference_Override

func NewComputeBackendServiceConsistentHashHttpCookieTtlOutputReference_Override(c ComputeBackendServiceConsistentHashHttpCookieTtlOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceConsistentHashOutputReference_Override

func NewComputeBackendServiceConsistentHashOutputReference_Override(c ComputeBackendServiceConsistentHashOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceCustomMetricsList_Override

func NewComputeBackendServiceCustomMetricsList_Override(c ComputeBackendServiceCustomMetricsList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewComputeBackendServiceCustomMetricsOutputReference_Override

func NewComputeBackendServiceCustomMetricsOutputReference_Override(c ComputeBackendServiceCustomMetricsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewComputeBackendServiceIapOutputReference_Override

func NewComputeBackendServiceIapOutputReference_Override(c ComputeBackendServiceIapOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceLocalityLbPoliciesCustomPolicyOutputReference_Override

func NewComputeBackendServiceLocalityLbPoliciesCustomPolicyOutputReference_Override(c ComputeBackendServiceLocalityLbPoliciesCustomPolicyOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceLocalityLbPoliciesList_Override

func NewComputeBackendServiceLocalityLbPoliciesList_Override(c ComputeBackendServiceLocalityLbPoliciesList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewComputeBackendServiceLocalityLbPoliciesOutputReference_Override

func NewComputeBackendServiceLocalityLbPoliciesOutputReference_Override(c ComputeBackendServiceLocalityLbPoliciesOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewComputeBackendServiceLocalityLbPoliciesPolicyOutputReference_Override

func NewComputeBackendServiceLocalityLbPoliciesPolicyOutputReference_Override(c ComputeBackendServiceLocalityLbPoliciesPolicyOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceLogConfigOutputReference_Override

func NewComputeBackendServiceLogConfigOutputReference_Override(c ComputeBackendServiceLogConfigOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceMaxStreamDurationOutputReference_Override

func NewComputeBackendServiceMaxStreamDurationOutputReference_Override(c ComputeBackendServiceMaxStreamDurationOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceOutlierDetectionBaseEjectionTimeOutputReference_Override

func NewComputeBackendServiceOutlierDetectionBaseEjectionTimeOutputReference_Override(c ComputeBackendServiceOutlierDetectionBaseEjectionTimeOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceOutlierDetectionIntervalOutputReference_Override

func NewComputeBackendServiceOutlierDetectionIntervalOutputReference_Override(c ComputeBackendServiceOutlierDetectionIntervalOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceOutlierDetectionOutputReference_Override

func NewComputeBackendServiceOutlierDetectionOutputReference_Override(c ComputeBackendServiceOutlierDetectionOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceSecuritySettingsAwsV4AuthenticationOutputReference_Override

func NewComputeBackendServiceSecuritySettingsAwsV4AuthenticationOutputReference_Override(c ComputeBackendServiceSecuritySettingsAwsV4AuthenticationOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceSecuritySettingsOutputReference_Override

func NewComputeBackendServiceSecuritySettingsOutputReference_Override(c ComputeBackendServiceSecuritySettingsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceStrongSessionAffinityCookieOutputReference_Override

func NewComputeBackendServiceStrongSessionAffinityCookieOutputReference_Override(c ComputeBackendServiceStrongSessionAffinityCookieOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceStrongSessionAffinityCookieTtlOutputReference_Override

func NewComputeBackendServiceStrongSessionAffinityCookieTtlOutputReference_Override(c ComputeBackendServiceStrongSessionAffinityCookieTtlOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceTimeoutsOutputReference_Override

func NewComputeBackendServiceTimeoutsOutputReference_Override(c ComputeBackendServiceTimeoutsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceTlsSettingsOutputReference_Override

func NewComputeBackendServiceTlsSettingsOutputReference_Override(c ComputeBackendServiceTlsSettingsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewComputeBackendServiceTlsSettingsSubjectAltNamesList_Override

func NewComputeBackendServiceTlsSettingsSubjectAltNamesList_Override(c ComputeBackendServiceTlsSettingsSubjectAltNamesList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewComputeBackendServiceTlsSettingsSubjectAltNamesOutputReference_Override

func NewComputeBackendServiceTlsSettingsSubjectAltNamesOutputReference_Override(c ComputeBackendServiceTlsSettingsSubjectAltNamesOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

Types

type ComputeBackendService

type ComputeBackendService interface {
	cdktf.TerraformResource
	AffinityCookieTtlSec() *float64
	SetAffinityCookieTtlSec(val *float64)
	AffinityCookieTtlSecInput() *float64
	Backend() ComputeBackendServiceBackendList
	BackendInput() interface{}
	// Experimental.
	CdktfStack() cdktf.TerraformStack
	CdnPolicy() ComputeBackendServiceCdnPolicyOutputReference
	CdnPolicyInput() *ComputeBackendServiceCdnPolicy
	CircuitBreakers() ComputeBackendServiceCircuitBreakersOutputReference
	CircuitBreakersInput() *ComputeBackendServiceCircuitBreakers
	CompressionMode() *string
	SetCompressionMode(val *string)
	CompressionModeInput() *string
	// Experimental.
	Connection() interface{}
	// Experimental.
	SetConnection(val interface{})
	ConnectionDrainingTimeoutSec() *float64
	SetConnectionDrainingTimeoutSec(val *float64)
	ConnectionDrainingTimeoutSecInput() *float64
	ConsistentHash() ComputeBackendServiceConsistentHashOutputReference
	ConsistentHashInput() *ComputeBackendServiceConsistentHash
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Count() interface{}
	// Experimental.
	SetCount(val interface{})
	CreationTimestamp() *string
	CustomMetrics() ComputeBackendServiceCustomMetricsList
	CustomMetricsInput() interface{}
	CustomRequestHeaders() *[]*string
	SetCustomRequestHeaders(val *[]*string)
	CustomRequestHeadersInput() *[]*string
	CustomResponseHeaders() *[]*string
	SetCustomResponseHeaders(val *[]*string)
	CustomResponseHeadersInput() *[]*string
	// Experimental.
	DependsOn() *[]*string
	// Experimental.
	SetDependsOn(val *[]*string)
	Description() *string
	SetDescription(val *string)
	DescriptionInput() *string
	EdgeSecurityPolicy() *string
	SetEdgeSecurityPolicy(val *string)
	EdgeSecurityPolicyInput() *string
	EnableCdn() interface{}
	SetEnableCdn(val interface{})
	EnableCdnInput() interface{}
	ExternalManagedMigrationState() *string
	SetExternalManagedMigrationState(val *string)
	ExternalManagedMigrationStateInput() *string
	ExternalManagedMigrationTestingPercentage() *float64
	SetExternalManagedMigrationTestingPercentage(val *float64)
	ExternalManagedMigrationTestingPercentageInput() *float64
	Fingerprint() *string
	// Experimental.
	ForEach() cdktf.ITerraformIterator
	// Experimental.
	SetForEach(val cdktf.ITerraformIterator)
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	GeneratedId() *float64
	HealthChecks() *[]*string
	SetHealthChecks(val *[]*string)
	HealthChecksInput() *[]*string
	Iap() ComputeBackendServiceIapOutputReference
	IapInput() *ComputeBackendServiceIap
	Id() *string
	SetId(val *string)
	IdInput() *string
	IpAddressSelectionPolicy() *string
	SetIpAddressSelectionPolicy(val *string)
	IpAddressSelectionPolicyInput() *string
	// Experimental.
	Lifecycle() *cdktf.TerraformResourceLifecycle
	// Experimental.
	SetLifecycle(val *cdktf.TerraformResourceLifecycle)
	LoadBalancingScheme() *string
	SetLoadBalancingScheme(val *string)
	LoadBalancingSchemeInput() *string
	LocalityLbPolicies() ComputeBackendServiceLocalityLbPoliciesList
	LocalityLbPoliciesInput() interface{}
	LocalityLbPolicy() *string
	SetLocalityLbPolicy(val *string)
	LocalityLbPolicyInput() *string
	LogConfig() ComputeBackendServiceLogConfigOutputReference
	LogConfigInput() *ComputeBackendServiceLogConfig
	MaxStreamDuration() ComputeBackendServiceMaxStreamDurationOutputReference
	MaxStreamDurationInput() *ComputeBackendServiceMaxStreamDuration
	Name() *string
	SetName(val *string)
	NameInput() *string
	// The tree node.
	Node() constructs.Node
	OutlierDetection() ComputeBackendServiceOutlierDetectionOutputReference
	OutlierDetectionInput() *ComputeBackendServiceOutlierDetection
	PortName() *string
	SetPortName(val *string)
	PortNameInput() *string
	Project() *string
	SetProject(val *string)
	ProjectInput() *string
	Protocol() *string
	SetProtocol(val *string)
	ProtocolInput() *string
	// Experimental.
	Provider() cdktf.TerraformProvider
	// Experimental.
	SetProvider(val cdktf.TerraformProvider)
	// Experimental.
	Provisioners() *[]interface{}
	// Experimental.
	SetProvisioners(val *[]interface{})
	// Experimental.
	RawOverrides() interface{}
	SecurityPolicy() *string
	SetSecurityPolicy(val *string)
	SecurityPolicyInput() *string
	SecuritySettings() ComputeBackendServiceSecuritySettingsOutputReference
	SecuritySettingsInput() *ComputeBackendServiceSecuritySettings
	SelfLink() *string
	ServiceLbPolicy() *string
	SetServiceLbPolicy(val *string)
	ServiceLbPolicyInput() *string
	SessionAffinity() *string
	SetSessionAffinity(val *string)
	SessionAffinityInput() *string
	StrongSessionAffinityCookie() ComputeBackendServiceStrongSessionAffinityCookieOutputReference
	StrongSessionAffinityCookieInput() *ComputeBackendServiceStrongSessionAffinityCookie
	// Experimental.
	TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata
	// Experimental.
	TerraformMetaArguments() *map[string]interface{}
	// Experimental.
	TerraformResourceType() *string
	Timeouts() ComputeBackendServiceTimeoutsOutputReference
	TimeoutSec() *float64
	SetTimeoutSec(val *float64)
	TimeoutSecInput() *float64
	TimeoutsInput() interface{}
	TlsSettings() ComputeBackendServiceTlsSettingsOutputReference
	TlsSettingsInput() *ComputeBackendServiceTlsSettings
	// Adds a user defined moveTarget string to this resource to be later used in .moveTo(moveTarget) to resolve the location of the move.
	// Experimental.
	AddMoveTarget(moveTarget *string)
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	HasResourceMove() interface{}
	// Experimental.
	ImportFrom(id *string, provider cdktf.TerraformProvider)
	// Experimental.
	InterpolationForAttribute(terraformAttribute *string) cdktf.IResolvable
	// Move the resource corresponding to "id" to this resource.
	//
	// Note that the resource being moved from must be marked as moved using it's instance function.
	// Experimental.
	MoveFromId(id *string)
	// Moves this resource to the target resource given by moveTarget.
	// Experimental.
	MoveTo(moveTarget *string, index interface{})
	// Moves this resource to the resource corresponding to "id".
	// Experimental.
	MoveToId(id *string)
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	PutBackend(value interface{})
	PutCdnPolicy(value *ComputeBackendServiceCdnPolicy)
	PutCircuitBreakers(value *ComputeBackendServiceCircuitBreakers)
	PutConsistentHash(value *ComputeBackendServiceConsistentHash)
	PutCustomMetrics(value interface{})
	PutIap(value *ComputeBackendServiceIap)
	PutLocalityLbPolicies(value interface{})
	PutLogConfig(value *ComputeBackendServiceLogConfig)
	PutMaxStreamDuration(value *ComputeBackendServiceMaxStreamDuration)
	PutOutlierDetection(value *ComputeBackendServiceOutlierDetection)
	PutSecuritySettings(value *ComputeBackendServiceSecuritySettings)
	PutStrongSessionAffinityCookie(value *ComputeBackendServiceStrongSessionAffinityCookie)
	PutTimeouts(value *ComputeBackendServiceTimeouts)
	PutTlsSettings(value *ComputeBackendServiceTlsSettings)
	ResetAffinityCookieTtlSec()
	ResetBackend()
	ResetCdnPolicy()
	ResetCircuitBreakers()
	ResetCompressionMode()
	ResetConnectionDrainingTimeoutSec()
	ResetConsistentHash()
	ResetCustomMetrics()
	ResetCustomRequestHeaders()
	ResetCustomResponseHeaders()
	ResetDescription()
	ResetEdgeSecurityPolicy()
	ResetEnableCdn()
	ResetExternalManagedMigrationState()
	ResetExternalManagedMigrationTestingPercentage()
	ResetHealthChecks()
	ResetIap()
	ResetId()
	ResetIpAddressSelectionPolicy()
	ResetLoadBalancingScheme()
	ResetLocalityLbPolicies()
	ResetLocalityLbPolicy()
	ResetLogConfig()
	ResetMaxStreamDuration()
	ResetOutlierDetection()
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	ResetPortName()
	ResetProject()
	ResetProtocol()
	ResetSecurityPolicy()
	ResetSecuritySettings()
	ResetServiceLbPolicy()
	ResetSessionAffinity()
	ResetStrongSessionAffinityCookie()
	ResetTimeouts()
	ResetTimeoutSec()
	ResetTlsSettings()
	SynthesizeAttributes() *map[string]interface{}
	SynthesizeHclAttributes() *map[string]interface{}
	// Experimental.
	ToHclTerraform() interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service google_compute_backend_service}.

type ComputeBackendServiceBackend

type ComputeBackendServiceBackend struct {
	// The fully-qualified URL of an Instance Group or Network Endpoint Group resource.
	//
	// In case of instance group this defines the list
	// of instances that serve traffic. Member virtual machine
	// instances from each instance group must live in the same zone as
	// the instance group itself. No two backends in a backend service
	// are allowed to use same Instance Group resource.
	//
	// For Network Endpoint Groups this defines list of endpoints. All
	// endpoints of Network Endpoint Group must be hosted on instances
	// located in the same zone as the Network Endpoint Group.
	//
	// Backend services cannot mix Instance Group and
	// Network Endpoint Group backends.
	//
	// Note that you must specify an Instance Group or Network Endpoint
	// Group resource using the fully-qualified URL, rather than a
	// partial URL.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#group ComputeBackendService#group}
	Group *string `field:"required" json:"group" yaml:"group"`
	// Specifies the balancing mode for this backend.
	//
	// For global HTTP(S) or TCP/SSL load balancing, the default is
	// UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S)),
	// CUSTOM_METRICS (for HTTP(s)) and CONNECTION (for TCP/SSL).
	//
	// See the [Backend Services Overview](https://cloud.google.com/load-balancing/docs/backend-service#balancing-mode)
	// for an explanation of load balancing modes. Default value: "UTILIZATION" Possible values: ["UTILIZATION", "RATE", "CONNECTION", "CUSTOM_METRICS"]
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#balancing_mode ComputeBackendService#balancing_mode}
	BalancingMode *string `field:"optional" json:"balancingMode" yaml:"balancingMode"`
	// A multiplier applied to the group's maximum servicing capacity (based on UTILIZATION, RATE or CONNECTION).
	//
	// Default value is 1, which means the group will serve up to 100%
	// of its configured capacity (depending on balancingMode). A
	// setting of 0 means the group is completely drained, offering
	// 0% of its available Capacity. Valid range is [0.0,1.0].
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#capacity_scaler ComputeBackendService#capacity_scaler}
	CapacityScaler *float64 `field:"optional" json:"capacityScaler" yaml:"capacityScaler"`
	// custom_metrics block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#custom_metrics ComputeBackendService#custom_metrics}
	CustomMetrics interface{} `field:"optional" json:"customMetrics" yaml:"customMetrics"`
	// An optional description of this resource. Provide this property when you create the resource.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#description ComputeBackendService#description}
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The max number of simultaneous connections for the group. Can be used with either CONNECTION or UTILIZATION balancing modes.
	//
	// For CONNECTION mode, either maxConnections or one
	// of maxConnectionsPerInstance or maxConnectionsPerEndpoint,
	// as appropriate for group type, must be set.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#max_connections ComputeBackendService#max_connections}
	MaxConnections *float64 `field:"optional" json:"maxConnections" yaml:"maxConnections"`
	// The max number of simultaneous connections that a single backend network endpoint can handle.
	//
	// This is used to calculate the
	// capacity of the group. Can be used in either CONNECTION or
	// UTILIZATION balancing modes.
	//
	// For CONNECTION mode, either
	// maxConnections or maxConnectionsPerEndpoint must be set.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#max_connections_per_endpoint ComputeBackendService#max_connections_per_endpoint}
	MaxConnectionsPerEndpoint *float64 `field:"optional" json:"maxConnectionsPerEndpoint" yaml:"maxConnectionsPerEndpoint"`
	// The max number of simultaneous connections that a single backend instance can handle.
	//
	// This is used to calculate the
	// capacity of the group. Can be used in either CONNECTION or
	// UTILIZATION balancing modes.
	//
	// For CONNECTION mode, either maxConnections or
	// maxConnectionsPerInstance must be set.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#max_connections_per_instance ComputeBackendService#max_connections_per_instance}
	MaxConnectionsPerInstance *float64 `field:"optional" json:"maxConnectionsPerInstance" yaml:"maxConnectionsPerInstance"`
	// The max requests per second (RPS) of the group.
	//
	// Can be used with either RATE or UTILIZATION balancing modes,
	// but required if RATE mode. For RATE mode, either maxRate or one
	// of maxRatePerInstance or maxRatePerEndpoint, as appropriate for
	// group type, must be set.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#max_rate ComputeBackendService#max_rate}
	MaxRate *float64 `field:"optional" json:"maxRate" yaml:"maxRate"`
	// The max requests per second (RPS) that a single backend network endpoint can handle.
	//
	// This is used to calculate the capacity of
	// the group. Can be used in either balancing mode. For RATE mode,
	// either maxRate or maxRatePerEndpoint must be set.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#max_rate_per_endpoint ComputeBackendService#max_rate_per_endpoint}
	MaxRatePerEndpoint *float64 `field:"optional" json:"maxRatePerEndpoint" yaml:"maxRatePerEndpoint"`
	// The max requests per second (RPS) that a single backend instance can handle.
	//
	// This is used to calculate the capacity of
	// the group. Can be used in either balancing mode. For RATE mode,
	// either maxRate or maxRatePerInstance must be set.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#max_rate_per_instance ComputeBackendService#max_rate_per_instance}
	MaxRatePerInstance *float64 `field:"optional" json:"maxRatePerInstance" yaml:"maxRatePerInstance"`
	// Used when balancingMode is UTILIZATION. This ratio defines the CPU utilization target for the group. Valid range is [0.0, 1.0].
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#max_utilization ComputeBackendService#max_utilization}
	MaxUtilization *float64 `field:"optional" json:"maxUtilization" yaml:"maxUtilization"`
	// This field indicates whether this backend should be fully utilized before sending traffic to backends with default preference.
	//
	// This field cannot be set when loadBalancingScheme is set to 'EXTERNAL'. The possible values are:
	//   - PREFERRED: Backends with this preference level will be filled up to their capacity limits first,
	//     based on RTT.
	//   - DEFAULT: If preferred backends don't have enough capacity, backends in this layer would be used and
	//     traffic would be assigned based on the load balancing algorithm you use. This is the default Possible values: ["PREFERRED", "DEFAULT"]
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#preference ComputeBackendService#preference}
	Preference *string `field:"optional" json:"preference" yaml:"preference"`
}

type ComputeBackendServiceBackendCustomMetrics

type ComputeBackendServiceBackendCustomMetrics struct {
	// If true, the metric data is collected and reported to Cloud Monitoring, but is not used for load balancing.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#dry_run ComputeBackendService#dry_run}
	DryRun interface{} `field:"required" json:"dryRun" yaml:"dryRun"`
	// Name of a custom utilization signal.
	//
	// The name must be 1-64 characters
	// long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which
	// means the first character must be a lowercase letter, and all following
	// characters must be a dash, period, underscore, lowercase letter, or
	// digit, except the last character, which cannot be a dash, period, or
	// underscore. For usage guidelines, see Custom Metrics balancing mode. This
	// field can only be used for a global or regional backend service with the
	// loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
	// <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#name ComputeBackendService#name}
	Name *string `field:"required" json:"name" yaml:"name"`
	// Optional parameter to define a target utilization for the Custom Metrics balancing mode. The valid range is <code>[0.0, 1.0]</code>.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#max_utilization ComputeBackendService#max_utilization}
	MaxUtilization *float64 `field:"optional" json:"maxUtilization" yaml:"maxUtilization"`
}

type ComputeBackendServiceBackendCustomMetricsList

type ComputeBackendServiceBackendCustomMetricsList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Creating an iterator for this complex list.
	//
	// The list will be converted into a map with the mapKeyAttributeName as the key.
	// Experimental.
	AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) ComputeBackendServiceBackendCustomMetricsOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceBackendCustomMetricsList

func NewComputeBackendServiceBackendCustomMetricsList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) ComputeBackendServiceBackendCustomMetricsList

type ComputeBackendServiceBackendCustomMetricsOutputReference

type ComputeBackendServiceBackendCustomMetricsOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DryRun() interface{}
	SetDryRun(val interface{})
	DryRunInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	MaxUtilization() *float64
	SetMaxUtilization(val *float64)
	MaxUtilizationInput() *float64
	Name() *string
	SetName(val *string)
	NameInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetMaxUtilization()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceBackendCustomMetricsOutputReference

func NewComputeBackendServiceBackendCustomMetricsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) ComputeBackendServiceBackendCustomMetricsOutputReference

type ComputeBackendServiceBackendList

type ComputeBackendServiceBackendList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Creating an iterator for this complex list.
	//
	// The list will be converted into a map with the mapKeyAttributeName as the key.
	// Experimental.
	AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) ComputeBackendServiceBackendOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceBackendList

func NewComputeBackendServiceBackendList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) ComputeBackendServiceBackendList

type ComputeBackendServiceBackendOutputReference

type ComputeBackendServiceBackendOutputReference interface {
	cdktf.ComplexObject
	BalancingMode() *string
	SetBalancingMode(val *string)
	BalancingModeInput() *string
	CapacityScaler() *float64
	SetCapacityScaler(val *float64)
	CapacityScalerInput() *float64
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	CustomMetrics() ComputeBackendServiceBackendCustomMetricsList
	CustomMetricsInput() interface{}
	Description() *string
	SetDescription(val *string)
	DescriptionInput() *string
	// Experimental.
	Fqn() *string
	Group() *string
	SetGroup(val *string)
	GroupInput() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	MaxConnections() *float64
	SetMaxConnections(val *float64)
	MaxConnectionsInput() *float64
	MaxConnectionsPerEndpoint() *float64
	SetMaxConnectionsPerEndpoint(val *float64)
	MaxConnectionsPerEndpointInput() *float64
	MaxConnectionsPerInstance() *float64
	SetMaxConnectionsPerInstance(val *float64)
	MaxConnectionsPerInstanceInput() *float64
	MaxRate() *float64
	SetMaxRate(val *float64)
	MaxRateInput() *float64
	MaxRatePerEndpoint() *float64
	SetMaxRatePerEndpoint(val *float64)
	MaxRatePerEndpointInput() *float64
	MaxRatePerInstance() *float64
	SetMaxRatePerInstance(val *float64)
	MaxRatePerInstanceInput() *float64
	MaxUtilization() *float64
	SetMaxUtilization(val *float64)
	MaxUtilizationInput() *float64
	Preference() *string
	SetPreference(val *string)
	PreferenceInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutCustomMetrics(value interface{})
	ResetBalancingMode()
	ResetCapacityScaler()
	ResetCustomMetrics()
	ResetDescription()
	ResetMaxConnections()
	ResetMaxConnectionsPerEndpoint()
	ResetMaxConnectionsPerInstance()
	ResetMaxRate()
	ResetMaxRatePerEndpoint()
	ResetMaxRatePerInstance()
	ResetMaxUtilization()
	ResetPreference()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceBackendOutputReference

func NewComputeBackendServiceBackendOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) ComputeBackendServiceBackendOutputReference

type ComputeBackendServiceCdnPolicy

type ComputeBackendServiceCdnPolicy struct {
	// bypass_cache_on_request_headers block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#bypass_cache_on_request_headers ComputeBackendService#bypass_cache_on_request_headers}
	BypassCacheOnRequestHeaders interface{} `field:"optional" json:"bypassCacheOnRequestHeaders" yaml:"bypassCacheOnRequestHeaders"`
	// cache_key_policy block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#cache_key_policy ComputeBackendService#cache_key_policy}
	CacheKeyPolicy *ComputeBackendServiceCdnPolicyCacheKeyPolicy `field:"optional" json:"cacheKeyPolicy" yaml:"cacheKeyPolicy"`
	// Specifies the cache setting for all responses from this backend.
	//
	// The possible values are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL and CACHE_ALL_STATIC Possible values: ["USE_ORIGIN_HEADERS", "FORCE_CACHE_ALL", "CACHE_ALL_STATIC"]
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#cache_mode ComputeBackendService#cache_mode}
	CacheMode *string `field:"optional" json:"cacheMode" yaml:"cacheMode"`
	// Specifies the maximum allowed TTL for cached content served by this origin.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#client_ttl ComputeBackendService#client_ttl}
	ClientTtl *float64 `field:"optional" json:"clientTtl" yaml:"clientTtl"`
	// Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age).
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#default_ttl ComputeBackendService#default_ttl}
	DefaultTtl *float64 `field:"optional" json:"defaultTtl" yaml:"defaultTtl"`
	// Specifies the maximum allowed TTL for cached content served by this origin.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#max_ttl ComputeBackendService#max_ttl}
	MaxTtl *float64 `field:"optional" json:"maxTtl" yaml:"maxTtl"`
	// Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#negative_caching ComputeBackendService#negative_caching}
	NegativeCaching interface{} `field:"optional" json:"negativeCaching" yaml:"negativeCaching"`
	// negative_caching_policy block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#negative_caching_policy ComputeBackendService#negative_caching_policy}
	NegativeCachingPolicy interface{} `field:"optional" json:"negativeCachingPolicy" yaml:"negativeCachingPolicy"`
	// If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#request_coalescing ComputeBackendService#request_coalescing}
	RequestCoalescing interface{} `field:"optional" json:"requestCoalescing" yaml:"requestCoalescing"`
	// Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#serve_while_stale ComputeBackendService#serve_while_stale}
	ServeWhileStale *float64 `field:"optional" json:"serveWhileStale" yaml:"serveWhileStale"`
	// Maximum number of seconds the response to a signed URL request will be considered fresh, defaults to 1hr (3600s).
	//
	// After this
	// time period, the response will be revalidated before
	// being served.
	//
	// When serving responses to signed URL requests, Cloud CDN will
	// internally behave as though all responses from this backend had a
	// "Cache-Control: public, max-age=[TTL]" header, regardless of any
	// existing Cache-Control header. The actual headers served in
	// responses will not be altered.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#signed_url_cache_max_age_sec ComputeBackendService#signed_url_cache_max_age_sec}
	SignedUrlCacheMaxAgeSec *float64 `field:"optional" json:"signedUrlCacheMaxAgeSec" yaml:"signedUrlCacheMaxAgeSec"`
}

type ComputeBackendServiceCdnPolicyBypassCacheOnRequestHeaders

type ComputeBackendServiceCdnPolicyBypassCacheOnRequestHeaders struct {
	// The header field name to match on when bypassing cache. Values are case-insensitive.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#header_name ComputeBackendService#header_name}
	HeaderName *string `field:"required" json:"headerName" yaml:"headerName"`
}

type ComputeBackendServiceCdnPolicyBypassCacheOnRequestHeadersList

type ComputeBackendServiceCdnPolicyBypassCacheOnRequestHeadersList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Creating an iterator for this complex list.
	//
	// The list will be converted into a map with the mapKeyAttributeName as the key.
	// Experimental.
	AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) ComputeBackendServiceCdnPolicyBypassCacheOnRequestHeadersOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceCdnPolicyBypassCacheOnRequestHeadersList

func NewComputeBackendServiceCdnPolicyBypassCacheOnRequestHeadersList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) ComputeBackendServiceCdnPolicyBypassCacheOnRequestHeadersList

type ComputeBackendServiceCdnPolicyBypassCacheOnRequestHeadersOutputReference

type ComputeBackendServiceCdnPolicyBypassCacheOnRequestHeadersOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	HeaderName() *string
	SetHeaderName(val *string)
	HeaderNameInput() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceCdnPolicyBypassCacheOnRequestHeadersOutputReference

func NewComputeBackendServiceCdnPolicyBypassCacheOnRequestHeadersOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) ComputeBackendServiceCdnPolicyBypassCacheOnRequestHeadersOutputReference

type ComputeBackendServiceCdnPolicyCacheKeyPolicy

type ComputeBackendServiceCdnPolicyCacheKeyPolicy struct {
	// If true requests to different hosts will be cached separately.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#include_host ComputeBackendService#include_host}
	IncludeHost interface{} `field:"optional" json:"includeHost" yaml:"includeHost"`
	// Allows HTTP request headers (by name) to be used in the cache key.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#include_http_headers ComputeBackendService#include_http_headers}
	IncludeHttpHeaders *[]*string `field:"optional" json:"includeHttpHeaders" yaml:"includeHttpHeaders"`
	// Names of cookies to include in cache keys.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#include_named_cookies ComputeBackendService#include_named_cookies}
	IncludeNamedCookies *[]*string `field:"optional" json:"includeNamedCookies" yaml:"includeNamedCookies"`
	// If true, http and https requests will be cached separately.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#include_protocol ComputeBackendService#include_protocol}
	IncludeProtocol interface{} `field:"optional" json:"includeProtocol" yaml:"includeProtocol"`
	// If true, include query string parameters in the cache key according to query_string_whitelist and query_string_blacklist.
	//
	// If neither is set, the entire query
	// string will be included.
	//
	// If false, the query string will be excluded from the cache
	// key entirely.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#include_query_string ComputeBackendService#include_query_string}
	IncludeQueryString interface{} `field:"optional" json:"includeQueryString" yaml:"includeQueryString"`
	// Names of query string parameters to exclude in cache keys.
	//
	// All other parameters will be included. Either specify
	// query_string_whitelist or query_string_blacklist, not both.
	// '&' and '=' will be percent encoded and not treated as
	// delimiters.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#query_string_blacklist ComputeBackendService#query_string_blacklist}
	QueryStringBlacklist *[]*string `field:"optional" json:"queryStringBlacklist" yaml:"queryStringBlacklist"`
	// Names of query string parameters to include in cache keys.
	//
	// All other parameters will be excluded. Either specify
	// query_string_whitelist or query_string_blacklist, not both.
	// '&' and '=' will be percent encoded and not treated as
	// delimiters.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#query_string_whitelist ComputeBackendService#query_string_whitelist}
	QueryStringWhitelist *[]*string `field:"optional" json:"queryStringWhitelist" yaml:"queryStringWhitelist"`
}

type ComputeBackendServiceCdnPolicyCacheKeyPolicyOutputReference

type ComputeBackendServiceCdnPolicyCacheKeyPolicyOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	IncludeHost() interface{}
	SetIncludeHost(val interface{})
	IncludeHostInput() interface{}
	IncludeHttpHeaders() *[]*string
	SetIncludeHttpHeaders(val *[]*string)
	IncludeHttpHeadersInput() *[]*string
	IncludeNamedCookies() *[]*string
	SetIncludeNamedCookies(val *[]*string)
	IncludeNamedCookiesInput() *[]*string
	IncludeProtocol() interface{}
	SetIncludeProtocol(val interface{})
	IncludeProtocolInput() interface{}
	IncludeQueryString() interface{}
	SetIncludeQueryString(val interface{})
	IncludeQueryStringInput() interface{}
	InternalValue() *ComputeBackendServiceCdnPolicyCacheKeyPolicy
	SetInternalValue(val *ComputeBackendServiceCdnPolicyCacheKeyPolicy)
	QueryStringBlacklist() *[]*string
	SetQueryStringBlacklist(val *[]*string)
	QueryStringBlacklistInput() *[]*string
	QueryStringWhitelist() *[]*string
	SetQueryStringWhitelist(val *[]*string)
	QueryStringWhitelistInput() *[]*string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetIncludeHost()
	ResetIncludeHttpHeaders()
	ResetIncludeNamedCookies()
	ResetIncludeProtocol()
	ResetIncludeQueryString()
	ResetQueryStringBlacklist()
	ResetQueryStringWhitelist()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceCdnPolicyCacheKeyPolicyOutputReference

func NewComputeBackendServiceCdnPolicyCacheKeyPolicyOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceCdnPolicyCacheKeyPolicyOutputReference

type ComputeBackendServiceCdnPolicyNegativeCachingPolicy

type ComputeBackendServiceCdnPolicyNegativeCachingPolicy struct {
	// The HTTP status code to define a TTL against.
	//
	// Only HTTP status codes 300, 301, 308, 404, 405, 410, 421, 451 and 501
	// can be specified as values, and you cannot specify a status code more than once.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#code ComputeBackendService#code}
	Code *float64 `field:"optional" json:"code" yaml:"code"`
	// The TTL (in seconds) for which to cache responses with the corresponding status code.
	//
	// The maximum allowed value is 1800s
	// (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#ttl ComputeBackendService#ttl}
	Ttl *float64 `field:"optional" json:"ttl" yaml:"ttl"`
}

type ComputeBackendServiceCdnPolicyNegativeCachingPolicyList

type ComputeBackendServiceCdnPolicyNegativeCachingPolicyList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Creating an iterator for this complex list.
	//
	// The list will be converted into a map with the mapKeyAttributeName as the key.
	// Experimental.
	AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) ComputeBackendServiceCdnPolicyNegativeCachingPolicyOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceCdnPolicyNegativeCachingPolicyList

func NewComputeBackendServiceCdnPolicyNegativeCachingPolicyList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) ComputeBackendServiceCdnPolicyNegativeCachingPolicyList

type ComputeBackendServiceCdnPolicyNegativeCachingPolicyOutputReference

type ComputeBackendServiceCdnPolicyNegativeCachingPolicyOutputReference interface {
	cdktf.ComplexObject
	Code() *float64
	SetCode(val *float64)
	CodeInput() *float64
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Ttl() *float64
	SetTtl(val *float64)
	TtlInput() *float64
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetCode()
	ResetTtl()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceCdnPolicyNegativeCachingPolicyOutputReference

func NewComputeBackendServiceCdnPolicyNegativeCachingPolicyOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) ComputeBackendServiceCdnPolicyNegativeCachingPolicyOutputReference

type ComputeBackendServiceCdnPolicyOutputReference

type ComputeBackendServiceCdnPolicyOutputReference interface {
	cdktf.ComplexObject
	BypassCacheOnRequestHeaders() ComputeBackendServiceCdnPolicyBypassCacheOnRequestHeadersList
	BypassCacheOnRequestHeadersInput() interface{}
	CacheKeyPolicy() ComputeBackendServiceCdnPolicyCacheKeyPolicyOutputReference
	CacheKeyPolicyInput() *ComputeBackendServiceCdnPolicyCacheKeyPolicy
	CacheMode() *string
	SetCacheMode(val *string)
	CacheModeInput() *string
	ClientTtl() *float64
	SetClientTtl(val *float64)
	ClientTtlInput() *float64
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DefaultTtl() *float64
	SetDefaultTtl(val *float64)
	DefaultTtlInput() *float64
	// Experimental.
	Fqn() *string
	InternalValue() *ComputeBackendServiceCdnPolicy
	SetInternalValue(val *ComputeBackendServiceCdnPolicy)
	MaxTtl() *float64
	SetMaxTtl(val *float64)
	MaxTtlInput() *float64
	NegativeCaching() interface{}
	SetNegativeCaching(val interface{})
	NegativeCachingInput() interface{}
	NegativeCachingPolicy() ComputeBackendServiceCdnPolicyNegativeCachingPolicyList
	NegativeCachingPolicyInput() interface{}
	RequestCoalescing() interface{}
	SetRequestCoalescing(val interface{})
	RequestCoalescingInput() interface{}
	ServeWhileStale() *float64
	SetServeWhileStale(val *float64)
	ServeWhileStaleInput() *float64
	SignedUrlCacheMaxAgeSec() *float64
	SetSignedUrlCacheMaxAgeSec(val *float64)
	SignedUrlCacheMaxAgeSecInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutBypassCacheOnRequestHeaders(value interface{})
	PutCacheKeyPolicy(value *ComputeBackendServiceCdnPolicyCacheKeyPolicy)
	PutNegativeCachingPolicy(value interface{})
	ResetBypassCacheOnRequestHeaders()
	ResetCacheKeyPolicy()
	ResetCacheMode()
	ResetClientTtl()
	ResetDefaultTtl()
	ResetMaxTtl()
	ResetNegativeCaching()
	ResetNegativeCachingPolicy()
	ResetRequestCoalescing()
	ResetServeWhileStale()
	ResetSignedUrlCacheMaxAgeSec()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceCdnPolicyOutputReference

func NewComputeBackendServiceCdnPolicyOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceCdnPolicyOutputReference

type ComputeBackendServiceCircuitBreakers

type ComputeBackendServiceCircuitBreakers struct {
	// The maximum number of connections to the backend cluster. Defaults to 1024.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#max_connections ComputeBackendService#max_connections}
	MaxConnections *float64 `field:"optional" json:"maxConnections" yaml:"maxConnections"`
	// The maximum number of pending requests to the backend cluster. Defaults to 1024.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#max_pending_requests ComputeBackendService#max_pending_requests}
	MaxPendingRequests *float64 `field:"optional" json:"maxPendingRequests" yaml:"maxPendingRequests"`
	// The maximum number of parallel requests to the backend cluster. Defaults to 1024.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#max_requests ComputeBackendService#max_requests}
	MaxRequests *float64 `field:"optional" json:"maxRequests" yaml:"maxRequests"`
	// Maximum requests for a single backend connection.
	//
	// This parameter
	// is respected by both the HTTP/1.1 and HTTP/2 implementations. If
	// not specified, there is no limit. Setting this parameter to 1
	// will effectively disable keep alive.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#max_requests_per_connection ComputeBackendService#max_requests_per_connection}
	MaxRequestsPerConnection *float64 `field:"optional" json:"maxRequestsPerConnection" yaml:"maxRequestsPerConnection"`
	// The maximum number of parallel retries to the backend cluster. Defaults to 3.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#max_retries ComputeBackendService#max_retries}
	MaxRetries *float64 `field:"optional" json:"maxRetries" yaml:"maxRetries"`
}

type ComputeBackendServiceCircuitBreakersOutputReference

type ComputeBackendServiceCircuitBreakersOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *ComputeBackendServiceCircuitBreakers
	SetInternalValue(val *ComputeBackendServiceCircuitBreakers)
	MaxConnections() *float64
	SetMaxConnections(val *float64)
	MaxConnectionsInput() *float64
	MaxPendingRequests() *float64
	SetMaxPendingRequests(val *float64)
	MaxPendingRequestsInput() *float64
	MaxRequests() *float64
	SetMaxRequests(val *float64)
	MaxRequestsInput() *float64
	MaxRequestsPerConnection() *float64
	SetMaxRequestsPerConnection(val *float64)
	MaxRequestsPerConnectionInput() *float64
	MaxRetries() *float64
	SetMaxRetries(val *float64)
	MaxRetriesInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetMaxConnections()
	ResetMaxPendingRequests()
	ResetMaxRequests()
	ResetMaxRequestsPerConnection()
	ResetMaxRetries()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceCircuitBreakersOutputReference

func NewComputeBackendServiceCircuitBreakersOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceCircuitBreakersOutputReference

type ComputeBackendServiceConfig

type ComputeBackendServiceConfig struct {
	// Experimental.
	Connection interface{} `field:"optional" json:"connection" yaml:"connection"`
	// Experimental.
	Count interface{} `field:"optional" json:"count" yaml:"count"`
	// Experimental.
	DependsOn *[]cdktf.ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
	// Experimental.
	ForEach cdktf.ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
	// Experimental.
	Lifecycle *cdktf.TerraformResourceLifecycle `field:"optional" json:"lifecycle" yaml:"lifecycle"`
	// Experimental.
	Provider cdktf.TerraformProvider `field:"optional" json:"provider" yaml:"provider"`
	// Experimental.
	Provisioners *[]interface{} `field:"optional" json:"provisioners" yaml:"provisioners"`
	// Name of the resource.
	//
	// Provided by the client when the resource is
	// created. The name must be 1-63 characters long, and comply with
	// RFC1035. Specifically, the name must be 1-63 characters long and match
	// the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the
	// first character must be a lowercase letter, and all following
	// characters must be a dash, lowercase letter, or digit, except the last
	// character, which cannot be a dash.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#name ComputeBackendService#name}
	Name *string `field:"required" json:"name" yaml:"name"`
	// Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE.
	//
	// If set to 0, the cookie is non-persistent and lasts
	// only until the end of the browser session (or equivalent). The
	// maximum allowed value for TTL is one day.
	//
	// When the load balancing scheme is INTERNAL, this field is not used.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#affinity_cookie_ttl_sec ComputeBackendService#affinity_cookie_ttl_sec}
	AffinityCookieTtlSec *float64 `field:"optional" json:"affinityCookieTtlSec" yaml:"affinityCookieTtlSec"`
	// backend block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#backend ComputeBackendService#backend}
	Backend interface{} `field:"optional" json:"backend" yaml:"backend"`
	// cdn_policy block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#cdn_policy ComputeBackendService#cdn_policy}
	CdnPolicy *ComputeBackendServiceCdnPolicy `field:"optional" json:"cdnPolicy" yaml:"cdnPolicy"`
	// circuit_breakers block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#circuit_breakers ComputeBackendService#circuit_breakers}
	CircuitBreakers *ComputeBackendServiceCircuitBreakers `field:"optional" json:"circuitBreakers" yaml:"circuitBreakers"`
	// Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header. Possible values: ["AUTOMATIC", "DISABLED"].
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#compression_mode ComputeBackendService#compression_mode}
	CompressionMode *string `field:"optional" json:"compressionMode" yaml:"compressionMode"`
	// Time for which instance will be drained (not accept new connections, but still work to finish started).
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#connection_draining_timeout_sec ComputeBackendService#connection_draining_timeout_sec}
	ConnectionDrainingTimeoutSec *float64 `field:"optional" json:"connectionDrainingTimeoutSec" yaml:"connectionDrainingTimeoutSec"`
	// consistent_hash block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#consistent_hash ComputeBackendService#consistent_hash}
	ConsistentHash *ComputeBackendServiceConsistentHash `field:"optional" json:"consistentHash" yaml:"consistentHash"`
	// custom_metrics block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#custom_metrics ComputeBackendService#custom_metrics}
	CustomMetrics interface{} `field:"optional" json:"customMetrics" yaml:"customMetrics"`
	// Headers that the HTTP/S load balancer should add to proxied requests.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#custom_request_headers ComputeBackendService#custom_request_headers}
	CustomRequestHeaders *[]*string `field:"optional" json:"customRequestHeaders" yaml:"customRequestHeaders"`
	// Headers that the HTTP/S load balancer should add to proxied responses.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#custom_response_headers ComputeBackendService#custom_response_headers}
	CustomResponseHeaders *[]*string `field:"optional" json:"customResponseHeaders" yaml:"customResponseHeaders"`
	// An optional description of this resource.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#description ComputeBackendService#description}
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The resource URL for the edge security policy associated with this backend service.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#edge_security_policy ComputeBackendService#edge_security_policy}
	EdgeSecurityPolicy *string `field:"optional" json:"edgeSecurityPolicy" yaml:"edgeSecurityPolicy"`
	// If true, enable Cloud CDN for this BackendService.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#enable_cdn ComputeBackendService#enable_cdn}
	EnableCdn interface{} `field:"optional" json:"enableCdn" yaml:"enableCdn"`
	// Specifies the canary migration state. Possible values are PREPARE, TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC.
	//
	// To begin the migration from EXTERNAL to EXTERNAL_MANAGED, the state must be changed to
	// PREPARE. The state must be changed to TEST_ALL_TRAFFIC before the loadBalancingScheme can be
	// changed to EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate
	// traffic by percentage using externalManagedMigrationTestingPercentage.
	//
	// Rolling back a migration requires the states to be set in reverse order. So changing the
	// scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be set to TEST_ALL_TRAFFIC at
	// the same time. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate some traffic
	// back to EXTERNAL or PREPARE can be used to migrate all traffic back to EXTERNAL. Possible values: ["PREPARE", "TEST_BY_PERCENTAGE", "TEST_ALL_TRAFFIC"]
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#external_managed_migration_state ComputeBackendService#external_managed_migration_state}
	ExternalManagedMigrationState *string `field:"optional" json:"externalManagedMigrationState" yaml:"externalManagedMigrationState"`
	// Determines the fraction of requests that should be processed by the Global external Application Load Balancer.
	//
	// The value of this field must be in the range [0, 100].
	//
	// Session affinity options will slightly affect this routing behavior, for more details,
	// see: Session Affinity.
	//
	// This value can only be set if the loadBalancingScheme in the backend service is set to
	// EXTERNAL (when using the Classic ALB) and the migration state is TEST_BY_PERCENTAGE.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#external_managed_migration_testing_percentage ComputeBackendService#external_managed_migration_testing_percentage}
	ExternalManagedMigrationTestingPercentage *float64 `field:"optional" json:"externalManagedMigrationTestingPercentage" yaml:"externalManagedMigrationTestingPercentage"`
	// The set of URLs to the HttpHealthCheck or HttpsHealthCheck resource for health checking this BackendService.
	//
	// Currently at most one health
	// check can be specified.
	//
	// A health check must be specified unless the backend service uses an internet
	// or serverless NEG as a backend.
	//
	// For internal load balancing, a URL to a HealthCheck resource must be specified instead.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#health_checks ComputeBackendService#health_checks}
	HealthChecks *[]*string `field:"optional" json:"healthChecks" yaml:"healthChecks"`
	// iap block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#iap ComputeBackendService#iap}
	Iap *ComputeBackendServiceIap `field:"optional" json:"iap" yaml:"iap"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#id ComputeBackendService#id}.
	//
	// Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
	// If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
	Id *string `field:"optional" json:"id" yaml:"id"`
	// Specifies preference of traffic to the backend (from the proxy and from the client for proxyless gRPC).
	//
	// Possible values: ["IPV4_ONLY", "PREFER_IPV6", "IPV6_ONLY"]
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#ip_address_selection_policy ComputeBackendService#ip_address_selection_policy}
	IpAddressSelectionPolicy *string `field:"optional" json:"ipAddressSelectionPolicy" yaml:"ipAddressSelectionPolicy"`
	// Indicates whether the backend service will be used with internal or external load balancing.
	//
	// A backend service created for one type of
	// load balancing cannot be used with the other. For more information, refer to
	// [Choosing a load balancer](https://cloud.google.com/load-balancing/docs/backend-service). Default value: "EXTERNAL" Possible values: ["EXTERNAL", "INTERNAL_SELF_MANAGED", "INTERNAL_MANAGED", "EXTERNAL_MANAGED"]
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#load_balancing_scheme ComputeBackendService#load_balancing_scheme}
	LoadBalancingScheme *string `field:"optional" json:"loadBalancingScheme" yaml:"loadBalancingScheme"`
	// locality_lb_policies block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#locality_lb_policies ComputeBackendService#locality_lb_policies}
	LocalityLbPolicies interface{} `field:"optional" json:"localityLbPolicies" yaml:"localityLbPolicies"`
	// The load balancing algorithm used within the scope of the locality. The possible values are:.
	//
	// * 'ROUND_ROBIN': This is a simple policy in which each healthy backend
	//                  is selected in round robin order.
	//
	// * 'LEAST_REQUEST': An O(1) algorithm which selects two random healthy
	//                    hosts and picks the host which has fewer active requests.
	//
	// * 'RING_HASH': The ring/modulo hash load balancer implements consistent
	//                hashing to backends. The algorithm has the property that the
	//                addition/removal of a host from a set of N hosts only affects
	//                1/N of the requests.
	//
	// * 'RANDOM': The load balancer selects a random healthy host.
	//
	// * 'ORIGINAL_DESTINATION': Backend host is selected based on the client
	//                           connection metadata, i.e., connections are opened
	//                           to the same address as the destination address of
	//                           the incoming connection before the connection
	//                           was redirected to the load balancer.
	//
	// * 'MAGLEV': used as a drop in replacement for the ring hash load balancer.
	//             Maglev is not as stable as ring hash but has faster table lookup
	//             build times and host selection times. For more information about
	//             Maglev, refer to https://ai.google/research/pubs/pub44824
	//
	// * 'WEIGHTED_MAGLEV': Per-instance weighted Load Balancing via health check
	//                      reported weights. Only applicable to loadBalancingScheme
	//                      EXTERNAL. If set, the Backend Service must
	//                      configure a non legacy HTTP-based Health Check, and
	//                      health check replies are expected to contain
	//                      non-standard HTTP response header field
	//                      X-Load-Balancing-Endpoint-Weight to specify the
	//                      per-instance weights. If set, Load Balancing is weight
	//                      based on the per-instance weights reported in the last
	//                      processed health check replies, as long as every
	//                      instance either reported a valid weight or had
	//                      UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains
	//                      equal-weight.
	//
	// * 'WEIGHTED_ROUND_ROBIN': Per-endpoint weighted round-robin Load Balancing using weights computed
	//                           from Backend reported Custom Metrics. If set, the Backend Service
	//                           responses are expected to contain non-standard HTTP response header field
	//                           X-Endpoint-Load-Metrics. The reported metrics
	//                           to use for computing the weights are specified via the
	//                           backends[].customMetrics fields.
	//
	// locality_lb_policy is applicable to either:
	//
	// * A regional backend service with the service_protocol set to HTTP, HTTPS, HTTP2 or H2C,
	//   and loadBalancingScheme set to INTERNAL_MANAGED.
	// * A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED.
	// * A regional backend service with loadBalancingScheme set to EXTERNAL (External Network
	//   Load Balancing). Only MAGLEV and WEIGHTED_MAGLEV values are possible for External
	//   Network Load Balancing. The default is MAGLEV.
	//
	// If session_affinity is not NONE, and locality_lb_policy is not set to MAGLEV, WEIGHTED_MAGLEV,
	// or RING_HASH, session affinity settings will not take effect.
	//
	// Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced
	// by a URL map that is bound to target gRPC proxy that has validate_for_proxyless
	// field set to true. Possible values: ["ROUND_ROBIN", "LEAST_REQUEST", "RING_HASH", "RANDOM", "ORIGINAL_DESTINATION", "MAGLEV", "WEIGHTED_MAGLEV", "WEIGHTED_ROUND_ROBIN"]
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#locality_lb_policy ComputeBackendService#locality_lb_policy}
	LocalityLbPolicy *string `field:"optional" json:"localityLbPolicy" yaml:"localityLbPolicy"`
	// log_config block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#log_config ComputeBackendService#log_config}
	LogConfig *ComputeBackendServiceLogConfig `field:"optional" json:"logConfig" yaml:"logConfig"`
	// max_stream_duration block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#max_stream_duration ComputeBackendService#max_stream_duration}
	MaxStreamDuration *ComputeBackendServiceMaxStreamDuration `field:"optional" json:"maxStreamDuration" yaml:"maxStreamDuration"`
	// outlier_detection block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#outlier_detection ComputeBackendService#outlier_detection}
	OutlierDetection *ComputeBackendServiceOutlierDetection `field:"optional" json:"outlierDetection" yaml:"outlierDetection"`
	// Name of backend port.
	//
	// The same name should appear in the instance
	// groups referenced by this service. Required when the load balancing
	// scheme is EXTERNAL.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#port_name ComputeBackendService#port_name}
	PortName *string `field:"optional" json:"portName" yaml:"portName"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#project ComputeBackendService#project}.
	Project *string `field:"optional" json:"project" yaml:"project"`
	// The protocol this BackendService uses to communicate with backends.
	//
	// The default is HTTP. Possible values are HTTP, HTTPS, HTTP2, H2C, TCP, SSL, UDP
	// or GRPC. Refer to the documentation for the load balancers or for Traffic Director
	// for more information. Must be set to GRPC when the backend service is referenced
	// by a URL map that is bound to target gRPC proxy. Possible values: ["HTTP", "HTTPS", "HTTP2", "TCP", "SSL", "UDP", "GRPC", "UNSPECIFIED", "H2C"]
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#protocol ComputeBackendService#protocol}
	Protocol *string `field:"optional" json:"protocol" yaml:"protocol"`
	// The security policy associated with this backend service.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#security_policy ComputeBackendService#security_policy}
	SecurityPolicy *string `field:"optional" json:"securityPolicy" yaml:"securityPolicy"`
	// security_settings block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#security_settings ComputeBackendService#security_settings}
	SecuritySettings *ComputeBackendServiceSecuritySettings `field:"optional" json:"securitySettings" yaml:"securitySettings"`
	// URL to networkservices.ServiceLbPolicy resource. Can only be set if load balancing scheme is EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED or INTERNAL_SELF_MANAGED and the scope is global.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#service_lb_policy ComputeBackendService#service_lb_policy}
	ServiceLbPolicy *string `field:"optional" json:"serviceLbPolicy" yaml:"serviceLbPolicy"`
	// Type of session affinity to use.
	//
	// The default is NONE. Session affinity is
	// not applicable if the protocol is UDP. Possible values: ["NONE", "CLIENT_IP", "CLIENT_IP_PORT_PROTO", "CLIENT_IP_PROTO", "GENERATED_COOKIE", "HEADER_FIELD", "HTTP_COOKIE", "STRONG_COOKIE_AFFINITY"]
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#session_affinity ComputeBackendService#session_affinity}
	SessionAffinity *string `field:"optional" json:"sessionAffinity" yaml:"sessionAffinity"`
	// strong_session_affinity_cookie block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#strong_session_affinity_cookie ComputeBackendService#strong_session_affinity_cookie}
	StrongSessionAffinityCookie *ComputeBackendServiceStrongSessionAffinityCookie `field:"optional" json:"strongSessionAffinityCookie" yaml:"strongSessionAffinityCookie"`
	// timeouts block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#timeouts ComputeBackendService#timeouts}
	Timeouts *ComputeBackendServiceTimeouts `field:"optional" json:"timeouts" yaml:"timeouts"`
	// The backend service timeout has a different meaning depending on the type of load balancer.
	//
	// For more information see, [Backend service settings](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices).
	// The default is 30 seconds.
	// The full range of timeout values allowed goes from 1 through 2,147,483,647 seconds.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#timeout_sec ComputeBackendService#timeout_sec}
	TimeoutSec *float64 `field:"optional" json:"timeoutSec" yaml:"timeoutSec"`
	// tls_settings block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#tls_settings ComputeBackendService#tls_settings}
	TlsSettings *ComputeBackendServiceTlsSettings `field:"optional" json:"tlsSettings" yaml:"tlsSettings"`
}

type ComputeBackendServiceConsistentHash

type ComputeBackendServiceConsistentHash struct {
	// http_cookie block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#http_cookie ComputeBackendService#http_cookie}
	HttpCookie *ComputeBackendServiceConsistentHashHttpCookie `field:"optional" json:"httpCookie" yaml:"httpCookie"`
	// The hash based on the value of the specified header field.
	//
	// This field is applicable if the sessionAffinity is set to HEADER_FIELD.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#http_header_name ComputeBackendService#http_header_name}
	HttpHeaderName *string `field:"optional" json:"httpHeaderName" yaml:"httpHeaderName"`
	// The minimum number of virtual nodes to use for the hash ring.
	//
	// Larger ring sizes result in more granular load
	// distributions. If the number of hosts in the load balancing pool
	// is larger than the ring size, each host will be assigned a single
	// virtual node.
	// Defaults to 1024.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#minimum_ring_size ComputeBackendService#minimum_ring_size}
	MinimumRingSize *float64 `field:"optional" json:"minimumRingSize" yaml:"minimumRingSize"`
}

type ComputeBackendServiceConsistentHashHttpCookie

type ComputeBackendServiceConsistentHashHttpCookie struct {
	// Name of the cookie.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#name ComputeBackendService#name}
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Path to set for the cookie.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#path ComputeBackendService#path}
	Path *string `field:"optional" json:"path" yaml:"path"`
	// ttl block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#ttl ComputeBackendService#ttl}
	Ttl *ComputeBackendServiceConsistentHashHttpCookieTtl `field:"optional" json:"ttl" yaml:"ttl"`
}

type ComputeBackendServiceConsistentHashHttpCookieOutputReference

type ComputeBackendServiceConsistentHashHttpCookieOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *ComputeBackendServiceConsistentHashHttpCookie
	SetInternalValue(val *ComputeBackendServiceConsistentHashHttpCookie)
	Name() *string
	SetName(val *string)
	NameInput() *string
	Path() *string
	SetPath(val *string)
	PathInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Ttl() ComputeBackendServiceConsistentHashHttpCookieTtlOutputReference
	TtlInput() *ComputeBackendServiceConsistentHashHttpCookieTtl
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutTtl(value *ComputeBackendServiceConsistentHashHttpCookieTtl)
	ResetName()
	ResetPath()
	ResetTtl()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceConsistentHashHttpCookieOutputReference

func NewComputeBackendServiceConsistentHashHttpCookieOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceConsistentHashHttpCookieOutputReference

type ComputeBackendServiceConsistentHashHttpCookieTtl

type ComputeBackendServiceConsistentHashHttpCookieTtl struct {
	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#seconds ComputeBackendService#seconds}
	Seconds *float64 `field:"required" json:"seconds" yaml:"seconds"`
	// Span of time that's a fraction of a second at nanosecond resolution.
	//
	// Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#nanos ComputeBackendService#nanos}
	Nanos *float64 `field:"optional" json:"nanos" yaml:"nanos"`
}

type ComputeBackendServiceConsistentHashHttpCookieTtlOutputReference

type ComputeBackendServiceConsistentHashHttpCookieTtlOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *ComputeBackendServiceConsistentHashHttpCookieTtl
	SetInternalValue(val *ComputeBackendServiceConsistentHashHttpCookieTtl)
	Nanos() *float64
	SetNanos(val *float64)
	NanosInput() *float64
	Seconds() *float64
	SetSeconds(val *float64)
	SecondsInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetNanos()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceConsistentHashHttpCookieTtlOutputReference

func NewComputeBackendServiceConsistentHashHttpCookieTtlOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceConsistentHashHttpCookieTtlOutputReference

type ComputeBackendServiceConsistentHashOutputReference

type ComputeBackendServiceConsistentHashOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	HttpCookie() ComputeBackendServiceConsistentHashHttpCookieOutputReference
	HttpCookieInput() *ComputeBackendServiceConsistentHashHttpCookie
	HttpHeaderName() *string
	SetHttpHeaderName(val *string)
	HttpHeaderNameInput() *string
	InternalValue() *ComputeBackendServiceConsistentHash
	SetInternalValue(val *ComputeBackendServiceConsistentHash)
	MinimumRingSize() *float64
	SetMinimumRingSize(val *float64)
	MinimumRingSizeInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutHttpCookie(value *ComputeBackendServiceConsistentHashHttpCookie)
	ResetHttpCookie()
	ResetHttpHeaderName()
	ResetMinimumRingSize()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceConsistentHashOutputReference

func NewComputeBackendServiceConsistentHashOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceConsistentHashOutputReference

type ComputeBackendServiceCustomMetrics

type ComputeBackendServiceCustomMetrics struct {
	// If true, the metric data is not used for load balancing.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#dry_run ComputeBackendService#dry_run}
	DryRun interface{} `field:"required" json:"dryRun" yaml:"dryRun"`
	// Name of a custom utilization signal.
	//
	// The name must be 1-64 characters
	// long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which
	// means the first character must be a lowercase letter, and all following
	// characters must be a dash, period, underscore, lowercase letter, or
	// digit, except the last character, which cannot be a dash, period, or
	// underscore. For usage guidelines, see Custom Metrics balancing mode. This
	// field can only be used for a global or regional backend service with the
	// loadBalancingScheme set to <code>EXTERNAL_MANAGED</code>,
	// <code>INTERNAL_MANAGED</code> <code>INTERNAL_SELF_MANAGED</code>.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#name ComputeBackendService#name}
	Name *string `field:"required" json:"name" yaml:"name"`
}

type ComputeBackendServiceCustomMetricsList

type ComputeBackendServiceCustomMetricsList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Creating an iterator for this complex list.
	//
	// The list will be converted into a map with the mapKeyAttributeName as the key.
	// Experimental.
	AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) ComputeBackendServiceCustomMetricsOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceCustomMetricsList

func NewComputeBackendServiceCustomMetricsList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) ComputeBackendServiceCustomMetricsList

type ComputeBackendServiceCustomMetricsOutputReference

type ComputeBackendServiceCustomMetricsOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DryRun() interface{}
	SetDryRun(val interface{})
	DryRunInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	Name() *string
	SetName(val *string)
	NameInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceCustomMetricsOutputReference

func NewComputeBackendServiceCustomMetricsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) ComputeBackendServiceCustomMetricsOutputReference

type ComputeBackendServiceIap

type ComputeBackendServiceIap struct {
	// Whether the serving infrastructure will authenticate and authorize all incoming requests.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#enabled ComputeBackendService#enabled}
	Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"`
	// OAuth2 Client ID for IAP.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#oauth2_client_id ComputeBackendService#oauth2_client_id}
	Oauth2ClientId *string `field:"optional" json:"oauth2ClientId" yaml:"oauth2ClientId"`
	// OAuth2 Client Secret for IAP.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#oauth2_client_secret ComputeBackendService#oauth2_client_secret}
	Oauth2ClientSecret *string `field:"optional" json:"oauth2ClientSecret" yaml:"oauth2ClientSecret"`
}

type ComputeBackendServiceIapOutputReference

type ComputeBackendServiceIapOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	Enabled() interface{}
	SetEnabled(val interface{})
	EnabledInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() *ComputeBackendServiceIap
	SetInternalValue(val *ComputeBackendServiceIap)
	Oauth2ClientId() *string
	SetOauth2ClientId(val *string)
	Oauth2ClientIdInput() *string
	Oauth2ClientSecret() *string
	SetOauth2ClientSecret(val *string)
	Oauth2ClientSecretInput() *string
	Oauth2ClientSecretSha256() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetOauth2ClientId()
	ResetOauth2ClientSecret()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceIapOutputReference

func NewComputeBackendServiceIapOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceIapOutputReference

type ComputeBackendServiceLocalityLbPolicies

type ComputeBackendServiceLocalityLbPolicies struct {
	// custom_policy block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#custom_policy ComputeBackendService#custom_policy}
	CustomPolicy *ComputeBackendServiceLocalityLbPoliciesCustomPolicy `field:"optional" json:"customPolicy" yaml:"customPolicy"`
	// policy block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#policy ComputeBackendService#policy}
	Policy *ComputeBackendServiceLocalityLbPoliciesPolicy `field:"optional" json:"policy" yaml:"policy"`
}

type ComputeBackendServiceLocalityLbPoliciesCustomPolicy

type ComputeBackendServiceLocalityLbPoliciesCustomPolicy struct {
	// Identifies the custom policy.
	//
	// The value should match the type the custom implementation is registered
	// with on the gRPC clients. It should follow protocol buffer
	// message naming conventions and include the full path (e.g.
	// myorg.CustomLbPolicy). The maximum length is 256 characters.
	//
	// Note that specifying the same custom policy more than once for a
	// backend is not a valid configuration and will be rejected.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#name ComputeBackendService#name}
	Name *string `field:"required" json:"name" yaml:"name"`
	// An optional, arbitrary JSON object with configuration data, understood by a locally installed custom policy implementation.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#data ComputeBackendService#data}
	Data *string `field:"optional" json:"data" yaml:"data"`
}

type ComputeBackendServiceLocalityLbPoliciesCustomPolicyOutputReference

type ComputeBackendServiceLocalityLbPoliciesCustomPolicyOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	Data() *string
	SetData(val *string)
	DataInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() *ComputeBackendServiceLocalityLbPoliciesCustomPolicy
	SetInternalValue(val *ComputeBackendServiceLocalityLbPoliciesCustomPolicy)
	Name() *string
	SetName(val *string)
	NameInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetData()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceLocalityLbPoliciesCustomPolicyOutputReference

func NewComputeBackendServiceLocalityLbPoliciesCustomPolicyOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceLocalityLbPoliciesCustomPolicyOutputReference

type ComputeBackendServiceLocalityLbPoliciesList

type ComputeBackendServiceLocalityLbPoliciesList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Creating an iterator for this complex list.
	//
	// The list will be converted into a map with the mapKeyAttributeName as the key.
	// Experimental.
	AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) ComputeBackendServiceLocalityLbPoliciesOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceLocalityLbPoliciesList

func NewComputeBackendServiceLocalityLbPoliciesList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) ComputeBackendServiceLocalityLbPoliciesList

type ComputeBackendServiceLocalityLbPoliciesOutputReference

type ComputeBackendServiceLocalityLbPoliciesOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	CustomPolicy() ComputeBackendServiceLocalityLbPoliciesCustomPolicyOutputReference
	CustomPolicyInput() *ComputeBackendServiceLocalityLbPoliciesCustomPolicy
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	Policy() ComputeBackendServiceLocalityLbPoliciesPolicyOutputReference
	PolicyInput() *ComputeBackendServiceLocalityLbPoliciesPolicy
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutCustomPolicy(value *ComputeBackendServiceLocalityLbPoliciesCustomPolicy)
	PutPolicy(value *ComputeBackendServiceLocalityLbPoliciesPolicy)
	ResetCustomPolicy()
	ResetPolicy()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceLocalityLbPoliciesOutputReference

func NewComputeBackendServiceLocalityLbPoliciesOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) ComputeBackendServiceLocalityLbPoliciesOutputReference

type ComputeBackendServiceLocalityLbPoliciesPolicy

type ComputeBackendServiceLocalityLbPoliciesPolicy struct {
	// The name of a locality load balancer policy to be used.
	//
	// The value
	// should be one of the predefined ones as supported by localityLbPolicy,
	// although at the moment only ROUND_ROBIN is supported.
	//
	// This field should only be populated when the customPolicy field is not
	// used.
	//
	// Note that specifying the same policy more than once for a backend is
	// not a valid configuration and will be rejected.
	//
	// The possible values are:
	//
	// * 'ROUND_ROBIN': This is a simple policy in which each healthy backend
	//                 is selected in round robin order.
	//
	// * 'LEAST_REQUEST': An O(1) algorithm which selects two random healthy
	//                   hosts and picks the host which has fewer active requests.
	//
	// * 'RING_HASH': The ring/modulo hash load balancer implements consistent
	//               hashing to backends. The algorithm has the property that the
	//               addition/removal of a host from a set of N hosts only affects
	//               1/N of the requests.
	//
	// * 'RANDOM': The load balancer selects a random healthy host.
	//
	// * 'ORIGINAL_DESTINATION': Backend host is selected based on the client
	//                           connection metadata, i.e., connections are opened
	//                           to the same address as the destination address of
	//                           the incoming connection before the connection
	//                           was redirected to the load balancer.
	//
	// * 'MAGLEV': used as a drop in replacement for the ring hash load balancer.
	//             Maglev is not as stable as ring hash but has faster table lookup
	//             build times and host selection times. For more information about
	//             Maglev, refer to https://ai.google/research/pubs/pub44824 Possible values: ["ROUND_ROBIN", "LEAST_REQUEST", "RING_HASH", "RANDOM", "ORIGINAL_DESTINATION", "MAGLEV"]
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#name ComputeBackendService#name}
	Name *string `field:"required" json:"name" yaml:"name"`
}

type ComputeBackendServiceLocalityLbPoliciesPolicyOutputReference

type ComputeBackendServiceLocalityLbPoliciesPolicyOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *ComputeBackendServiceLocalityLbPoliciesPolicy
	SetInternalValue(val *ComputeBackendServiceLocalityLbPoliciesPolicy)
	Name() *string
	SetName(val *string)
	NameInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceLocalityLbPoliciesPolicyOutputReference

func NewComputeBackendServiceLocalityLbPoliciesPolicyOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceLocalityLbPoliciesPolicyOutputReference

type ComputeBackendServiceLogConfig

type ComputeBackendServiceLogConfig struct {
	// Whether to enable logging for the load balancer traffic served by this backend service.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#enable ComputeBackendService#enable}
	Enable interface{} `field:"optional" json:"enable" yaml:"enable"`
	// This field can only be specified if logging is enabled for this backend service and "logConfig.optionalMode" was set to CUSTOM. Contains a list of optional fields you want to include in the logs. For example: serverInstance, serverGkeDetails.cluster, serverGkeDetails.pod.podNamespace For example: orca_load_report, tls.protocol.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#optional_fields ComputeBackendService#optional_fields}
	OptionalFields *[]*string `field:"optional" json:"optionalFields" yaml:"optionalFields"`
	// Specifies the optional logging mode for the load balancer traffic. Supported values: INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM. Possible values: ["INCLUDE_ALL_OPTIONAL", "EXCLUDE_ALL_OPTIONAL", "CUSTOM"].
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#optional_mode ComputeBackendService#optional_mode}
	OptionalMode *string `field:"optional" json:"optionalMode" yaml:"optionalMode"`
	// This field can only be specified if logging is enabled for this backend service.
	//
	// The value of
	// the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer
	// where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported.
	// The default value is 1.0.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#sample_rate ComputeBackendService#sample_rate}
	SampleRate *float64 `field:"optional" json:"sampleRate" yaml:"sampleRate"`
}

type ComputeBackendServiceLogConfigOutputReference

type ComputeBackendServiceLogConfigOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	Enable() interface{}
	SetEnable(val interface{})
	EnableInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() *ComputeBackendServiceLogConfig
	SetInternalValue(val *ComputeBackendServiceLogConfig)
	OptionalFields() *[]*string
	SetOptionalFields(val *[]*string)
	OptionalFieldsInput() *[]*string
	OptionalMode() *string
	SetOptionalMode(val *string)
	OptionalModeInput() *string
	SampleRate() *float64
	SetSampleRate(val *float64)
	SampleRateInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetEnable()
	ResetOptionalFields()
	ResetOptionalMode()
	ResetSampleRate()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceLogConfigOutputReference

func NewComputeBackendServiceLogConfigOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceLogConfigOutputReference

type ComputeBackendServiceMaxStreamDuration

type ComputeBackendServiceMaxStreamDuration struct {
	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. (int64 format).
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#seconds ComputeBackendService#seconds}
	Seconds *string `field:"required" json:"seconds" yaml:"seconds"`
	// Span of time that's a fraction of a second at nanosecond resolution.
	//
	// Durations less than one second are represented with a 0 seconds field and a positive nanos field.
	// Must be from 0 to 999,999,999 inclusive.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#nanos ComputeBackendService#nanos}
	Nanos *float64 `field:"optional" json:"nanos" yaml:"nanos"`
}

type ComputeBackendServiceMaxStreamDurationOutputReference

type ComputeBackendServiceMaxStreamDurationOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *ComputeBackendServiceMaxStreamDuration
	SetInternalValue(val *ComputeBackendServiceMaxStreamDuration)
	Nanos() *float64
	SetNanos(val *float64)
	NanosInput() *float64
	Seconds() *string
	SetSeconds(val *string)
	SecondsInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetNanos()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceMaxStreamDurationOutputReference

func NewComputeBackendServiceMaxStreamDurationOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceMaxStreamDurationOutputReference

type ComputeBackendServiceOutlierDetection

type ComputeBackendServiceOutlierDetection struct {
	// base_ejection_time block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#base_ejection_time ComputeBackendService#base_ejection_time}
	BaseEjectionTime *ComputeBackendServiceOutlierDetectionBaseEjectionTime `field:"optional" json:"baseEjectionTime" yaml:"baseEjectionTime"`
	// Number of errors before a host is ejected from the connection pool.
	//
	// When the
	// backend host is accessed over HTTP, a 5xx return code qualifies as an error.
	// Defaults to 5.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#consecutive_errors ComputeBackendService#consecutive_errors}
	ConsecutiveErrors *float64 `field:"optional" json:"consecutiveErrors" yaml:"consecutiveErrors"`
	// The number of consecutive gateway failures (502, 503, 504 status or connection errors that are mapped to one of those status codes) before a consecutive gateway failure ejection occurs.
	//
	// Defaults to 5.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#consecutive_gateway_failure ComputeBackendService#consecutive_gateway_failure}
	ConsecutiveGatewayFailure *float64 `field:"optional" json:"consecutiveGatewayFailure" yaml:"consecutiveGatewayFailure"`
	// The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive 5xx.
	//
	// This setting can be used to disable
	// ejection or to ramp it up slowly. Defaults to 100.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#enforcing_consecutive_errors ComputeBackendService#enforcing_consecutive_errors}
	EnforcingConsecutiveErrors *float64 `field:"optional" json:"enforcingConsecutiveErrors" yaml:"enforcingConsecutiveErrors"`
	// The percentage chance that a host will be actually ejected when an outlier status is detected through consecutive gateway failures.
	//
	// This setting can be
	// used to disable ejection or to ramp it up slowly. Defaults to 0.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#enforcing_consecutive_gateway_failure ComputeBackendService#enforcing_consecutive_gateway_failure}
	EnforcingConsecutiveGatewayFailure *float64 `field:"optional" json:"enforcingConsecutiveGatewayFailure" yaml:"enforcingConsecutiveGatewayFailure"`
	// The percentage chance that a host will be actually ejected when an outlier status is detected through success rate statistics.
	//
	// This setting can be used to
	// disable ejection or to ramp it up slowly. Defaults to 100.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#enforcing_success_rate ComputeBackendService#enforcing_success_rate}
	EnforcingSuccessRate *float64 `field:"optional" json:"enforcingSuccessRate" yaml:"enforcingSuccessRate"`
	// interval block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#interval ComputeBackendService#interval}
	Interval *ComputeBackendServiceOutlierDetectionInterval `field:"optional" json:"interval" yaml:"interval"`
	// Maximum percentage of hosts in the load balancing pool for the backend service that can be ejected. Defaults to 10%.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#max_ejection_percent ComputeBackendService#max_ejection_percent}
	MaxEjectionPercent *float64 `field:"optional" json:"maxEjectionPercent" yaml:"maxEjectionPercent"`
	// The number of hosts in a cluster that must have enough request volume to detect success rate outliers.
	//
	// If the number of hosts is less than this setting, outlier
	// detection via success rate statistics is not performed for any host in the
	// cluster. Defaults to 5.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#success_rate_minimum_hosts ComputeBackendService#success_rate_minimum_hosts}
	SuccessRateMinimumHosts *float64 `field:"optional" json:"successRateMinimumHosts" yaml:"successRateMinimumHosts"`
	// The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this host in success rate based outlier detection.
	//
	// If the volume is lower than this setting, outlier
	// detection via success rate statistics is not performed for that host. Defaults
	// to 100.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#success_rate_request_volume ComputeBackendService#success_rate_request_volume}
	SuccessRateRequestVolume *float64 `field:"optional" json:"successRateRequestVolume" yaml:"successRateRequestVolume"`
	// This factor is used to determine the ejection threshold for success rate outlier ejection.
	//
	// The ejection threshold is the difference between the mean success
	// rate, and the product of this factor and the standard deviation of the mean
	// success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided
	// by a thousand to get a double. That is, if the desired factor is 1.9, the
	// runtime value should be 1900. Defaults to 1900.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#success_rate_stdev_factor ComputeBackendService#success_rate_stdev_factor}
	SuccessRateStdevFactor *float64 `field:"optional" json:"successRateStdevFactor" yaml:"successRateStdevFactor"`
}

type ComputeBackendServiceOutlierDetectionBaseEjectionTime

type ComputeBackendServiceOutlierDetectionBaseEjectionTime struct {
	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#seconds ComputeBackendService#seconds}
	Seconds *float64 `field:"required" json:"seconds" yaml:"seconds"`
	// Span of time that's a fraction of a second at nanosecond resolution.
	//
	// Durations
	// less than one second are represented with a 0 'seconds' field and a positive
	// 'nanos' field. Must be from 0 to 999,999,999 inclusive.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#nanos ComputeBackendService#nanos}
	Nanos *float64 `field:"optional" json:"nanos" yaml:"nanos"`
}

type ComputeBackendServiceOutlierDetectionBaseEjectionTimeOutputReference

type ComputeBackendServiceOutlierDetectionBaseEjectionTimeOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *ComputeBackendServiceOutlierDetectionBaseEjectionTime
	SetInternalValue(val *ComputeBackendServiceOutlierDetectionBaseEjectionTime)
	Nanos() *float64
	SetNanos(val *float64)
	NanosInput() *float64
	Seconds() *float64
	SetSeconds(val *float64)
	SecondsInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetNanos()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceOutlierDetectionBaseEjectionTimeOutputReference

func NewComputeBackendServiceOutlierDetectionBaseEjectionTimeOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceOutlierDetectionBaseEjectionTimeOutputReference

type ComputeBackendServiceOutlierDetectionInterval

type ComputeBackendServiceOutlierDetectionInterval struct {
	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#seconds ComputeBackendService#seconds}
	Seconds *float64 `field:"required" json:"seconds" yaml:"seconds"`
	// Span of time that's a fraction of a second at nanosecond resolution.
	//
	// Durations
	// less than one second are represented with a 0 'seconds' field and a positive
	// 'nanos' field. Must be from 0 to 999,999,999 inclusive.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#nanos ComputeBackendService#nanos}
	Nanos *float64 `field:"optional" json:"nanos" yaml:"nanos"`
}

type ComputeBackendServiceOutlierDetectionIntervalOutputReference

type ComputeBackendServiceOutlierDetectionIntervalOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *ComputeBackendServiceOutlierDetectionInterval
	SetInternalValue(val *ComputeBackendServiceOutlierDetectionInterval)
	Nanos() *float64
	SetNanos(val *float64)
	NanosInput() *float64
	Seconds() *float64
	SetSeconds(val *float64)
	SecondsInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetNanos()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceOutlierDetectionIntervalOutputReference

func NewComputeBackendServiceOutlierDetectionIntervalOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceOutlierDetectionIntervalOutputReference

type ComputeBackendServiceOutlierDetectionOutputReference

type ComputeBackendServiceOutlierDetectionOutputReference interface {
	cdktf.ComplexObject
	BaseEjectionTime() ComputeBackendServiceOutlierDetectionBaseEjectionTimeOutputReference
	BaseEjectionTimeInput() *ComputeBackendServiceOutlierDetectionBaseEjectionTime
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	ConsecutiveErrors() *float64
	SetConsecutiveErrors(val *float64)
	ConsecutiveErrorsInput() *float64
	ConsecutiveGatewayFailure() *float64
	SetConsecutiveGatewayFailure(val *float64)
	ConsecutiveGatewayFailureInput() *float64
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	EnforcingConsecutiveErrors() *float64
	SetEnforcingConsecutiveErrors(val *float64)
	EnforcingConsecutiveErrorsInput() *float64
	EnforcingConsecutiveGatewayFailure() *float64
	SetEnforcingConsecutiveGatewayFailure(val *float64)
	EnforcingConsecutiveGatewayFailureInput() *float64
	EnforcingSuccessRate() *float64
	SetEnforcingSuccessRate(val *float64)
	EnforcingSuccessRateInput() *float64
	// Experimental.
	Fqn() *string
	InternalValue() *ComputeBackendServiceOutlierDetection
	SetInternalValue(val *ComputeBackendServiceOutlierDetection)
	Interval() ComputeBackendServiceOutlierDetectionIntervalOutputReference
	IntervalInput() *ComputeBackendServiceOutlierDetectionInterval
	MaxEjectionPercent() *float64
	SetMaxEjectionPercent(val *float64)
	MaxEjectionPercentInput() *float64
	SuccessRateMinimumHosts() *float64
	SetSuccessRateMinimumHosts(val *float64)
	SuccessRateMinimumHostsInput() *float64
	SuccessRateRequestVolume() *float64
	SetSuccessRateRequestVolume(val *float64)
	SuccessRateRequestVolumeInput() *float64
	SuccessRateStdevFactor() *float64
	SetSuccessRateStdevFactor(val *float64)
	SuccessRateStdevFactorInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutBaseEjectionTime(value *ComputeBackendServiceOutlierDetectionBaseEjectionTime)
	PutInterval(value *ComputeBackendServiceOutlierDetectionInterval)
	ResetBaseEjectionTime()
	ResetConsecutiveErrors()
	ResetConsecutiveGatewayFailure()
	ResetEnforcingConsecutiveErrors()
	ResetEnforcingConsecutiveGatewayFailure()
	ResetEnforcingSuccessRate()
	ResetInterval()
	ResetMaxEjectionPercent()
	ResetSuccessRateMinimumHosts()
	ResetSuccessRateRequestVolume()
	ResetSuccessRateStdevFactor()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceOutlierDetectionOutputReference

func NewComputeBackendServiceOutlierDetectionOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceOutlierDetectionOutputReference

type ComputeBackendServiceSecuritySettings

type ComputeBackendServiceSecuritySettings struct {
	// aws_v4_authentication block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#aws_v4_authentication ComputeBackendService#aws_v4_authentication}
	AwsV4Authentication *ComputeBackendServiceSecuritySettingsAwsV4Authentication `field:"optional" json:"awsV4Authentication" yaml:"awsV4Authentication"`
	// ClientTlsPolicy is a resource that specifies how a client should authenticate connections to backends of a service.
	//
	// This resource itself does not affect
	// configuration unless it is attached to a backend service resource.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#client_tls_policy ComputeBackendService#client_tls_policy}
	ClientTlsPolicy *string `field:"optional" json:"clientTlsPolicy" yaml:"clientTlsPolicy"`
	// A list of alternate names to verify the subject identity in the certificate.
	//
	// If specified, the client will verify that the server certificate's subject
	// alt name matches one of the specified values.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#subject_alt_names ComputeBackendService#subject_alt_names}
	SubjectAltNames *[]*string `field:"optional" json:"subjectAltNames" yaml:"subjectAltNames"`
}

type ComputeBackendServiceSecuritySettingsAwsV4Authentication

type ComputeBackendServiceSecuritySettingsAwsV4Authentication struct {
	// The access key used for s3 bucket authentication.
	//
	// Required for updating or creating a backend that uses AWS v4 signature authentication, but will not be returned as part of the configuration when queried with a REST API GET request.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#access_key ComputeBackendService#access_key}
	AccessKey *string `field:"optional" json:"accessKey" yaml:"accessKey"`
	// The identifier of an access key used for s3 bucket authentication.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#access_key_id ComputeBackendService#access_key_id}
	AccessKeyId *string `field:"optional" json:"accessKeyId" yaml:"accessKeyId"`
	// The optional version identifier for the access key.
	//
	// You can use this to keep track of different iterations of your access key.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#access_key_version ComputeBackendService#access_key_version}
	AccessKeyVersion *string `field:"optional" json:"accessKeyVersion" yaml:"accessKeyVersion"`
	// The name of the cloud region of your origin.
	//
	// This is a free-form field with the name of the region your cloud uses to host your origin.
	// For example, "us-east-1" for AWS or "us-ashburn-1" for OCI.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#origin_region ComputeBackendService#origin_region}
	OriginRegion *string `field:"optional" json:"originRegion" yaml:"originRegion"`
}

type ComputeBackendServiceSecuritySettingsAwsV4AuthenticationOutputReference

type ComputeBackendServiceSecuritySettingsAwsV4AuthenticationOutputReference interface {
	cdktf.ComplexObject
	AccessKey() *string
	SetAccessKey(val *string)
	AccessKeyId() *string
	SetAccessKeyId(val *string)
	AccessKeyIdInput() *string
	AccessKeyInput() *string
	AccessKeyVersion() *string
	SetAccessKeyVersion(val *string)
	AccessKeyVersionInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *ComputeBackendServiceSecuritySettingsAwsV4Authentication
	SetInternalValue(val *ComputeBackendServiceSecuritySettingsAwsV4Authentication)
	OriginRegion() *string
	SetOriginRegion(val *string)
	OriginRegionInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetAccessKey()
	ResetAccessKeyId()
	ResetAccessKeyVersion()
	ResetOriginRegion()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceSecuritySettingsAwsV4AuthenticationOutputReference

func NewComputeBackendServiceSecuritySettingsAwsV4AuthenticationOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceSecuritySettingsAwsV4AuthenticationOutputReference

type ComputeBackendServiceSecuritySettingsOutputReference

type ComputeBackendServiceSecuritySettingsOutputReference interface {
	cdktf.ComplexObject
	AwsV4Authentication() ComputeBackendServiceSecuritySettingsAwsV4AuthenticationOutputReference
	AwsV4AuthenticationInput() *ComputeBackendServiceSecuritySettingsAwsV4Authentication
	ClientTlsPolicy() *string
	SetClientTlsPolicy(val *string)
	ClientTlsPolicyInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *ComputeBackendServiceSecuritySettings
	SetInternalValue(val *ComputeBackendServiceSecuritySettings)
	SubjectAltNames() *[]*string
	SetSubjectAltNames(val *[]*string)
	SubjectAltNamesInput() *[]*string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutAwsV4Authentication(value *ComputeBackendServiceSecuritySettingsAwsV4Authentication)
	ResetAwsV4Authentication()
	ResetClientTlsPolicy()
	ResetSubjectAltNames()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceSecuritySettingsOutputReference

func NewComputeBackendServiceSecuritySettingsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceSecuritySettingsOutputReference

type ComputeBackendServiceStrongSessionAffinityCookie

type ComputeBackendServiceStrongSessionAffinityCookie struct {
	// Name of the cookie.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#name ComputeBackendService#name}
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Path to set for the cookie.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#path ComputeBackendService#path}
	Path *string `field:"optional" json:"path" yaml:"path"`
	// ttl block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#ttl ComputeBackendService#ttl}
	Ttl *ComputeBackendServiceStrongSessionAffinityCookieTtl `field:"optional" json:"ttl" yaml:"ttl"`
}

type ComputeBackendServiceStrongSessionAffinityCookieOutputReference

type ComputeBackendServiceStrongSessionAffinityCookieOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *ComputeBackendServiceStrongSessionAffinityCookie
	SetInternalValue(val *ComputeBackendServiceStrongSessionAffinityCookie)
	Name() *string
	SetName(val *string)
	NameInput() *string
	Path() *string
	SetPath(val *string)
	PathInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Ttl() ComputeBackendServiceStrongSessionAffinityCookieTtlOutputReference
	TtlInput() *ComputeBackendServiceStrongSessionAffinityCookieTtl
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutTtl(value *ComputeBackendServiceStrongSessionAffinityCookieTtl)
	ResetName()
	ResetPath()
	ResetTtl()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceStrongSessionAffinityCookieOutputReference

func NewComputeBackendServiceStrongSessionAffinityCookieOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceStrongSessionAffinityCookieOutputReference

type ComputeBackendServiceStrongSessionAffinityCookieTtl

type ComputeBackendServiceStrongSessionAffinityCookieTtl struct {
	// Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#seconds ComputeBackendService#seconds}
	Seconds *float64 `field:"required" json:"seconds" yaml:"seconds"`
	// Span of time that's a fraction of a second at nanosecond resolution.
	//
	// Durations less than one second are represented
	// with a 0 seconds field and a positive nanos field. Must
	// be from 0 to 999,999,999 inclusive.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#nanos ComputeBackendService#nanos}
	Nanos *float64 `field:"optional" json:"nanos" yaml:"nanos"`
}

type ComputeBackendServiceStrongSessionAffinityCookieTtlOutputReference

type ComputeBackendServiceStrongSessionAffinityCookieTtlOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *ComputeBackendServiceStrongSessionAffinityCookieTtl
	SetInternalValue(val *ComputeBackendServiceStrongSessionAffinityCookieTtl)
	Nanos() *float64
	SetNanos(val *float64)
	NanosInput() *float64
	Seconds() *float64
	SetSeconds(val *float64)
	SecondsInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetNanos()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceStrongSessionAffinityCookieTtlOutputReference

func NewComputeBackendServiceStrongSessionAffinityCookieTtlOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceStrongSessionAffinityCookieTtlOutputReference

type ComputeBackendServiceTimeouts

type ComputeBackendServiceTimeouts struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#create ComputeBackendService#create}.
	Create *string `field:"optional" json:"create" yaml:"create"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#delete ComputeBackendService#delete}.
	Delete *string `field:"optional" json:"delete" yaml:"delete"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#update ComputeBackendService#update}.
	Update *string `field:"optional" json:"update" yaml:"update"`
}

type ComputeBackendServiceTimeoutsOutputReference

type ComputeBackendServiceTimeoutsOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	Create() *string
	SetCreate(val *string)
	CreateInput() *string
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	Delete() *string
	SetDelete(val *string)
	DeleteInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Update() *string
	SetUpdate(val *string)
	UpdateInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetCreate()
	ResetDelete()
	ResetUpdate()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceTimeoutsOutputReference

func NewComputeBackendServiceTimeoutsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceTimeoutsOutputReference

type ComputeBackendServiceTlsSettings

type ComputeBackendServiceTlsSettings struct {
	// Reference to the BackendAuthenticationConfig resource from the networksecurity.googleapis.com namespace. Can be used in authenticating TLS connections to the backend, as specified by the authenticationMode field. Can only be specified if authenticationMode is not NONE.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#authentication_config ComputeBackendService#authentication_config}
	AuthenticationConfig *string `field:"optional" json:"authenticationConfig" yaml:"authenticationConfig"`
	// Server Name Indication - see RFC3546 section 3.1. If set, the load balancer sends this string as the SNI hostname in the TLS connection to the backend, and requires that this string match a Subject Alternative Name (SAN) in the backend's server certificate. With a Regional Internet NEG backend, if the SNI is specified here, the load balancer uses it regardless of whether the Regional Internet NEG is specified with FQDN or IP address and port.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#sni ComputeBackendService#sni}
	Sni *string `field:"optional" json:"sni" yaml:"sni"`
	// subject_alt_names block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#subject_alt_names ComputeBackendService#subject_alt_names}
	SubjectAltNames interface{} `field:"optional" json:"subjectAltNames" yaml:"subjectAltNames"`
}

type ComputeBackendServiceTlsSettingsOutputReference

type ComputeBackendServiceTlsSettingsOutputReference interface {
	cdktf.ComplexObject
	AuthenticationConfig() *string
	SetAuthenticationConfig(val *string)
	AuthenticationConfigInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *ComputeBackendServiceTlsSettings
	SetInternalValue(val *ComputeBackendServiceTlsSettings)
	Sni() *string
	SetSni(val *string)
	SniInput() *string
	SubjectAltNames() ComputeBackendServiceTlsSettingsSubjectAltNamesList
	SubjectAltNamesInput() interface{}
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutSubjectAltNames(value interface{})
	ResetAuthenticationConfig()
	ResetSni()
	ResetSubjectAltNames()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceTlsSettingsOutputReference

func NewComputeBackendServiceTlsSettingsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ComputeBackendServiceTlsSettingsOutputReference

type ComputeBackendServiceTlsSettingsSubjectAltNames

type ComputeBackendServiceTlsSettingsSubjectAltNames struct {
	// The SAN specified as a DNS Name.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#dns_name ComputeBackendService#dns_name}
	DnsName *string `field:"optional" json:"dnsName" yaml:"dnsName"`
	// The SAN specified as a URI.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.45.0/docs/resources/compute_backend_service#uniform_resource_identifier ComputeBackendService#uniform_resource_identifier}
	UniformResourceIdentifier *string `field:"optional" json:"uniformResourceIdentifier" yaml:"uniformResourceIdentifier"`
}

type ComputeBackendServiceTlsSettingsSubjectAltNamesList

type ComputeBackendServiceTlsSettingsSubjectAltNamesList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Creating an iterator for this complex list.
	//
	// The list will be converted into a map with the mapKeyAttributeName as the key.
	// Experimental.
	AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) ComputeBackendServiceTlsSettingsSubjectAltNamesOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceTlsSettingsSubjectAltNamesList

func NewComputeBackendServiceTlsSettingsSubjectAltNamesList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) ComputeBackendServiceTlsSettingsSubjectAltNamesList

type ComputeBackendServiceTlsSettingsSubjectAltNamesOutputReference

type ComputeBackendServiceTlsSettingsSubjectAltNamesOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DnsName() *string
	SetDnsName(val *string)
	DnsNameInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	UniformResourceIdentifier() *string
	SetUniformResourceIdentifier(val *string)
	UniformResourceIdentifierInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetDnsName()
	ResetUniformResourceIdentifier()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewComputeBackendServiceTlsSettingsSubjectAltNamesOutputReference

func NewComputeBackendServiceTlsSettingsSubjectAltNamesOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) ComputeBackendServiceTlsSettingsSubjectAltNamesOutputReference

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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