BackendServiceArgs class

The set of arguments for BackendService. The set of arguments for BackendService.

Constructors

BackendServiceArgs({Input<int?>? affinityCookieTtlSec, Input<List<BackendServiceBackend>?>? backends, Input<BackendServiceCdnPolicy?>? cdnPolicy, Input<BackendServiceCircuitBreakers?>? circuitBreakers, Input<String?>? compressionMode, Input<int?>? connectionDrainingTimeoutSec, Input<BackendServiceConsistentHash?>? consistentHash, Input<List<BackendServiceCustomMetric>?>? customMetrics, Input<List<String>?>? customRequestHeaders, Input<List<String>?>? customResponseHeaders, Input<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<BackendServiceLocalityLbPolicy>?>? localityLbPolicies, Input<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. affinityCookieTtlSec Lifetime of cookies in seconds if sessionAffinity is backends The set of backends that serve this BackendService. cdnPolicy Cloud CDN configuration for this BackendService. circuitBreakers Settings controlling the volume of connections to a backend service. This field compressionMode Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header. connectionDrainingTimeoutSec Time for which instance will be drained (not accept new consistentHash Consistent Hash-based load balancing can be used to provide soft session customMetrics List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy. customRequestHeaders Headers that the HTTP/S load balancer should add to proxied customResponseHeaders Headers that the HTTP/S load balancer should add to proxied deletionPolicy Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. description An optional description of this resource. dynamicForwarding (Optional, Beta) edgeSecurityPolicy The resource URL for the edge security policy associated with this backend service. enableCdn If true, enable Cloud CDN for this BackendService. externalManagedMigrationState Specifies the canary migration state. Possible values are PREPARE, TEST_BY_PERCENTAGE, and externalManagedMigrationTestingPercentage Determines the fraction of requests that should be processed by the Global external healthChecks The set of URLs to the HttpHealthCheck or HttpsHealthCheck resource iap Settings for enabling Cloud Identity Aware Proxy. ipAddressSelectionPolicy Specifies preference of traffic to the backend (from the proxy and from the client for proxyless gRPC). loadBalancingScheme Indicates whether the backend service will be used with internal or localityLbPolicies A list of locality load balancing policies to be used in order of localityLbPolicy The load balancing algorithm used within the scope of the locality. logConfig This field denotes the logging options for the load balancer traffic served by this backend service. maxStreamDuration Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the name Name of the resource. Provided by the client when the resource is networkPassThroughLbTrafficPolicy (Optional, Beta) outlierDetection Settings controlling eviction of unhealthy hosts from the load balancing pool. params Additional params passed with the request, but not persisted as part of resource payload portName Name of backend port. The same name should appear in the instance project The ID of the project in which the resource belongs. protocol The protocol this BackendService uses to communicate with backends. securityPolicy The security policy associated with this backend service. securitySettings The security settings that apply to this backend service. This field is applicable to either serviceLbPolicy URL to networkservices.ServiceLbPolicy resource. sessionAffinity Type of session affinity to use. The default is NONE. Session affinity is strongSessionAffinityCookie Describes the HTTP cookie used for stateful session affinity. This field is applicable and required if the sessionAffinity is set to STRONG_COOKIE_AFFINITY. timeoutSec The backend service timeout has a different meaning depending on the type of load balancer. tlsSettings Configuration 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