BackendServiceArgs class
The set of arguments for BackendService. The set of arguments for BackendService.
Constructors
-
BackendServiceArgs({Input<
int?> ? affinityCookieTtlSec, Input<List< ? backends, Input<BackendServiceBackend> ?>BackendServiceCdnPolicy?> ? cdnPolicy, Input<BackendServiceCircuitBreakers?> ? circuitBreakers, Input<String?> ? compressionMode, Input<int?> ? connectionDrainingTimeoutSec, Input<BackendServiceConsistentHash?> ? consistentHash, Input<List< ? customMetrics, Input<BackendServiceCustomMetric> ?>List< ? customRequestHeaders, Input<String> ?>List< ? customResponseHeaders, Input<String> ?>String?> ? deletionPolicy, Input<String?> ? description, Input<BackendServiceDynamicForwarding?> ? dynamicForwarding, Input<String?> ? edgeSecurityPolicy, Input<bool?> ? enableCdn, Input<String?> ? externalManagedMigrationState, Input<double?> ? externalManagedMigrationTestingPercentage, Input<String?> ? healthChecks, Input<BackendServiceIap?> ? iap, Input<String?> ? ipAddressSelectionPolicy, Input<String?> ? loadBalancingScheme, Input<List< ? localityLbPolicies, Input<BackendServiceLocalityLbPolicy> ?>String?> ? localityLbPolicy, Input<BackendServiceLogConfig?> ? logConfig, Input<BackendServiceMaxStreamDuration?> ? maxStreamDuration, Input<String?> ? name, Input<BackendServiceNetworkPassThroughLbTrafficPolicy?> ? networkPassThroughLbTrafficPolicy, Input<BackendServiceOutlierDetection?> ? outlierDetection, Input<BackendServiceParams?> ? params, Input<String?> ? portName, Input<String?> ? project, Input<String?> ? protocol, Input<String?> ? securityPolicy, Input<BackendServiceSecuritySettings?> ? securitySettings, Input<String?> ? serviceLbPolicy, Input<String?> ? sessionAffinity, Input<BackendServiceStrongSessionAffinityCookie?> ? strongSessionAffinityCookie, Input<int?> ? timeoutSec, Input<BackendServiceTlsSettings?> ? tlsSettings}) -
Creates a new BackendServiceArgs.
affinityCookieTtlSecLifetime of cookies in seconds if sessionAffinity isbackendsThe set of backends that serve this BackendService.cdnPolicyCloud CDN configuration for this BackendService.circuitBreakersSettings controlling the volume of connections to a backend service. This fieldcompressionModeCompress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.connectionDrainingTimeoutSecTime for which instance will be drained (not accept newconsistentHashConsistent Hash-based load balancing can be used to provide soft sessioncustomMetricsList of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.customRequestHeadersHeaders that the HTTP/S load balancer should add to proxiedcustomResponseHeadersHeaders that the HTTP/S load balancer should add to proxieddeletionPolicyWhether Terraform will be prevented from destroying the resource. Defaults to DELETE.descriptionAn optional description of this resource.dynamicForwarding(Optional, Beta)edgeSecurityPolicyThe resource URL for the edge security policy associated with this backend service.enableCdnIf true, enable Cloud CDN for this BackendService.externalManagedMigrationStateSpecifies the canary migration state. Possible values are PREPARE, TEST_BY_PERCENTAGE, andexternalManagedMigrationTestingPercentageDetermines the fraction of requests that should be processed by the Global externalhealthChecksThe set of URLs to the HttpHealthCheck or HttpsHealthCheck resourceiapSettings for enabling Cloud Identity Aware Proxy.ipAddressSelectionPolicySpecifies preference of traffic to the backend (from the proxy and from the client for proxyless gRPC).loadBalancingSchemeIndicates whether the backend service will be used with internal orlocalityLbPoliciesA list of locality load balancing policies to be used in order oflocalityLbPolicyThe load balancing algorithm used within the scope of the locality.logConfigThis field denotes the logging options for the load balancer traffic served by this backend service.maxStreamDurationSpecifies the default maximum duration (timeout) for streams to this service. Duration is computed from thenameName of the resource. Provided by the client when the resource isnetworkPassThroughLbTrafficPolicy(Optional, Beta)outlierDetectionSettings controlling eviction of unhealthy hosts from the load balancing pool.paramsAdditional params passed with the request, but not persisted as part of resource payloadportNameName of backend port. The same name should appear in the instanceprojectThe ID of the project in which the resource belongs.protocolThe protocol this BackendService uses to communicate with backends.securityPolicyThe security policy associated with this backend service.securitySettingsThe security settings that apply to this backend service. This field is applicable to eitherserviceLbPolicyURL to networkservices.ServiceLbPolicy resource.sessionAffinityType of session affinity to use. The default is NONE. Session affinity isstrongSessionAffinityCookieDescribes the HTTP cookie used for stateful session affinity. This field is applicable and required if the sessionAffinity is set to STRONG_COOKIE_AFFINITY.timeoutSecThe backend service timeout has a different meaning depending on the type of load balancer.tlsSettingsConfiguration for Backend Authenticated TLS and mTLS. May only be specified when the backend protocol is SSL, HTTPS or HTTP2.const -
BackendServiceArgs.fromMap(Map<
String, dynamic> map) -
factory
Properties
-
affinityCookieTtlSec
→ Input<
int?> ? -
Lifetime of cookies in seconds if sessionAffinity 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.
final
-
backends
→ Input<
List< ?BackendServiceBackend> ?> -
The set of backends that serve this BackendService.
Structure is documented below.
final
-
cdnPolicy
→ Input<
BackendServiceCdnPolicy?> ? -
Cloud CDN configuration for this BackendService.
Structure is documented below.
final
-
circuitBreakers
→ Input<
BackendServiceCircuitBreakers?> ? -
Settings controlling the volume of connections to a backend service. This field
is applicable only when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.
Structure is documented below.
final
-
compressionMode
→ Input<
String?> ? -
Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.
Possible values are:
AUTOMATIC,DISABLED.final -
connectionDrainingTimeoutSec
→ Input<
int?> ? -
Time for which instance will be drained (not accept new
connections, but still work to finish started).
final
-
consistentHash
→ Input<
BackendServiceConsistentHash?> ? -
Consistent Hash-based load balancing can be used to provide soft session
affinity based on HTTP headers, cookies or other properties. This load balancing
policy is applicable only for HTTP connections. The affinity to a particular
destination host will be lost when one or more hosts are added/removed from the
destination service. This field specifies parameters that control consistent
hashing. This field only applies if the loadBalancingScheme is set to
INTERNAL_SELF_MANAGED. This field is only applicable when localityLbPolicy is
set to MAGLEV or RING_HASH.
Structure is documented below.
final
-
customMetrics
→ Input<
List< ?BackendServiceCustomMetric> ?> -
List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.
Structure is documented below.
final
-
customRequestHeaders
→ Input<
List< ?String> ?> -
Headers that the HTTP/S load balancer should add to proxied
requests.
final
-
customResponseHeaders
→ Input<
List< ?String> ?> -
Headers that the HTTP/S load balancer should add to proxied
responses.
final
-
deletionPolicy
→ Input<
String?> ? -
Whether Terraform will be prevented from destroying the resource. Defaults to DELETE.
When a 'terraform destroy' or 'pulumi up' would delete the resource,
the command will fail if this field is set to "PREVENT" in Terraform state.
When set to "ABANDON", the command will remove the resource from Terraform
management without updating or deleting the resource in the API.
When set to "DELETE", deleting the resource is allowed.
final
-
description
→ Input<
String?> ? -
An optional description of this resource.
final
-
dynamicForwarding
→ Input<
BackendServiceDynamicForwarding?> ? -
(Optional, Beta)
Dynamic forwarding configuration. This field is used to configure the backend service with dynamic forwarding
feature which together with Service Extension allows customized and complex routing logic.
Structure is documented below.
final
-
edgeSecurityPolicy
→ Input<
String?> ? -
The resource URL for the edge security policy associated with this backend service.
final
-
enableCdn
→ Input<
bool?> ? -
If true, enable Cloud CDN for this BackendService.
final
-
externalManagedMigrationState
→ Input<
String?> ? -
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 are:
PREPARE,TEST_BY_PERCENTAGE,TEST_ALL_TRAFFIC.final -
externalManagedMigrationTestingPercentage
→ Input<
double?> ? -
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.final - hashCode → int
-
The hash code for this object.
no setterinherited
-
healthChecks
→ Input<
String?> ? -
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.
final
-
iap
→ Input<
BackendServiceIap?> ? -
Settings for enabling Cloud Identity Aware Proxy.
If OAuth client is not set, the Google-managed OAuth client is used.
Structure is documented below.
final
-
ipAddressSelectionPolicy
→ Input<
String?> ? -
Specifies preference of traffic to the backend (from the proxy and from the client for proxyless gRPC).
Possible values are:
IPV4_ONLY,PREFER_IPV6,IPV6_ONLY.final -
loadBalancingScheme
→ Input<
String?> ? -
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.
Default value is
EXTERNAL. Possible values are:EXTERNAL,INTERNAL_SELF_MANAGED,INTERNAL_MANAGED,EXTERNAL_MANAGED.final -
localityLbPolicies
→ Input<
List< ?BackendServiceLocalityLbPolicy> ?> -
A list of locality load balancing policies to be used in order of
preference. Either the policy or the customPolicy field should be set.
Overrides any value set in the localityLbPolicy field.
localityLbPolicies is only supported when the BackendService is referenced
by a URL Map that is referenced by a target gRPC proxy that has the
validateForProxyless field set to true.
Structure is documented below.
final
-
localityLbPolicy
→ Input<
String?> ? -
The load balancing algorithm used within the scope of the locality.
The possible values are:
final
-
logConfig
→ Input<
BackendServiceLogConfig?> ? -
This field denotes the logging options for the load balancer traffic served by this backend service.
If logging is enabled, logs will be exported to Stackdriver.
Structure is documented below.
final
-
maxStreamDuration
→ Input<
BackendServiceMaxStreamDuration?> ? -
Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the
beginning of the stream until the response has been completely processed, including all retries. A stream that
does not complete in this duration is closed.
If not specified, there will be no timeout limit, i.e. the maximum duration is infinite.
This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service.
This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED.
Structure is documented below.
final
-
name
→ Input<
String?> ? -
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?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.final -
networkPassThroughLbTrafficPolicy
→ Input<
BackendServiceNetworkPassThroughLbTrafficPolicy?> ? -
(Optional, Beta)
Configures traffic steering properties of internal passthrough Network Load Balancers.
Structure is documented below.
final
-
outlierDetection
→ Input<
BackendServiceOutlierDetection?> ? -
Settings controlling eviction of unhealthy hosts from the load balancing pool.
Applicable backend service types can be a global backend service with the
loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED.
Structure is documented below.
final
-
params
→ Input<
BackendServiceParams?> ? -
Additional params passed with the request, but not persisted as part of resource payload
Structure is documented below.
final
-
portName
→ Input<
String?> ? -
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.
final
-
project
→ Input<
String?> ? -
The ID of the project in which the resource belongs.
If it is not provided, the provider project is used.
final
-
protocol
→ Input<
String?> ? -
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 are:
HTTP,HTTPS,HTTP2,TCP,SSL,UDP,GRPC,UNSPECIFIED,H2C.final - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
securityPolicy
→ Input<
String?> ? -
The security policy associated with this backend service.
final
-
securitySettings
→ Input<
BackendServiceSecuritySettings?> ? -
The security settings that apply to this backend service. This field is applicable to either
a regional backend service with the serviceProtocol set to HTTP, HTTPS, HTTP2 or H2C, and
loadBalancingScheme set to INTERNAL_MANAGED; or a global backend service with the
loadBalancingScheme set to INTERNAL_SELF_MANAGED.
Structure is documented below.
final
-
serviceLbPolicy
→ Input<
String?> ? -
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.
final
-
sessionAffinity
→ Input<
String?> ? -
Type of session affinity to use. The default is NONE. Session affinity is
not applicable if the protocol is UDP.
Possible values are:
NONE,CLIENT_IP,CLIENT_IP_PORT_PROTO,CLIENT_IP_PROTO,GENERATED_COOKIE,HEADER_FIELD,HTTP_COOKIE,STRONG_COOKIE_AFFINITY.final -
strongSessionAffinityCookie
→ Input<
BackendServiceStrongSessionAffinityCookie?> ? -
Describes the HTTP cookie used for stateful session affinity. This field is applicable and required if the sessionAffinity is set to STRONG_COOKIE_AFFINITY.
Structure is documented below.
final
-
timeoutSec
→ Input<
int?> ? -
The backend service timeout has a different meaning depending on the type of load balancer.
For more information see, Backend service settings.
The default is 30 seconds.
The full range of timeout values allowed goes from 1 through 2,147,483,647 seconds.
final
-
tlsSettings
→ Input<
BackendServiceTlsSettings?> ? -
Configuration for Backend Authenticated TLS and mTLS. May only be specified when the backend protocol is SSL, HTTPS or HTTP2.
Structure is documented below.
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toMap(
) → Map< String, dynamic> -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited