Skip to content

compute.v1beta1.backendService

"BackendService is the Schema for the BackendServices API. A Backend Service defines a group of virtual machines that will serve traffic for load balancing."

Index

Fields

fn new

new(name)

new returns an instance of BackendService

obj metadata

"ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create."

fn metadata.withAnnotations

withAnnotations(annotations)

"Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations"

fn metadata.withAnnotationsMixin

withAnnotationsMixin(annotations)

"Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations"

Note: This function appends passed data to existing values

fn metadata.withClusterName

withClusterName(clusterName)

"The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request."

fn metadata.withCreationTimestamp

withCreationTimestamp(creationTimestamp)

"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers."

fn metadata.withDeletionGracePeriodSeconds

withDeletionGracePeriodSeconds(deletionGracePeriodSeconds)

"Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only."

fn metadata.withDeletionTimestamp

withDeletionTimestamp(deletionTimestamp)

"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers."

fn metadata.withFinalizers

withFinalizers(finalizers)

"Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list."

fn metadata.withFinalizersMixin

withFinalizersMixin(finalizers)

"Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list."

Note: This function appends passed data to existing values

fn metadata.withGenerateName

withGenerateName(generateName)

"GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency"

fn metadata.withGeneration

withGeneration(generation)

"A sequence number representing a specific generation of the desired state. Populated by the system. Read-only."

fn metadata.withLabels

withLabels(labels)

"Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels"

fn metadata.withLabelsMixin

withLabelsMixin(labels)

"Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels"

Note: This function appends passed data to existing values

fn metadata.withName

withName(name)

"Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names"

fn metadata.withNamespace

withNamespace(namespace)

"Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces"

fn metadata.withOwnerReferences

withOwnerReferences(ownerReferences)

"List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller."

fn metadata.withOwnerReferencesMixin

withOwnerReferencesMixin(ownerReferences)

"List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller."

Note: This function appends passed data to existing values

fn metadata.withResourceVersion

withResourceVersion(resourceVersion)

"An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency"

withSelfLink(selfLink)

"SelfLink is a URL representing this object. Populated by the system. Read-only.\n\nDEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release."

fn metadata.withUid

withUid(uid)

"UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids"

obj spec

"BackendServiceSpec defines the desired state of BackendService"

fn spec.withDeletionPolicy

withDeletionPolicy(deletionPolicy)

"DeletionPolicy specifies what will happen to the underlying external when this managed resource is deleted - either \"Delete\" or \"Orphan\" the external resource. This field is planned to be deprecated in favor of the ManagementPolicies field in a future release. Currently, both could be set independently and non-default values would be honored if the feature flag is enabled. See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223"

fn spec.withManagementPolicies

withManagementPolicies(managementPolicies)

"THIS IS AN ALPHA FIELD. Do not use it in production. It is not honored unless the relevant Crossplane feature flag is enabled, and may be changed or removed without notice. ManagementPolicies specify the array of actions Crossplane is allowed to take on the managed and external resources. This field is planned to replace the DeletionPolicy field in a future release. Currently, both could be set independently and non-default values would be honored if the feature flag is enabled. If both are custom, the DeletionPolicy field will be ignored. See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md"

fn spec.withManagementPoliciesMixin

withManagementPoliciesMixin(managementPolicies)

"THIS IS AN ALPHA FIELD. Do not use it in production. It is not honored unless the relevant Crossplane feature flag is enabled, and may be changed or removed without notice. ManagementPolicies specify the array of actions Crossplane is allowed to take on the managed and external resources. This field is planned to replace the DeletionPolicy field in a future release. Currently, both could be set independently and non-default values would be honored if the feature flag is enabled. If both are custom, the DeletionPolicy field will be ignored. See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md"

Note: This function appends passed data to existing values

obj spec.forProvider

fn spec.forProvider.withAffinityCookieTtlSec

withAffinityCookieTtlSec(affinityCookieTtlSec)

"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."

fn spec.forProvider.withBackend

withBackend(backend)

"The set of backends that serve this BackendService. Structure is documented below."

fn spec.forProvider.withBackendMixin

withBackendMixin(backend)

"The set of backends that serve this BackendService. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withCdnPolicy

withCdnPolicy(cdnPolicy)

"Cloud CDN configuration for this BackendService. Structure is documented below."

fn spec.forProvider.withCdnPolicyMixin

withCdnPolicyMixin(cdnPolicy)

"Cloud CDN configuration for this BackendService. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withCircuitBreakers

withCircuitBreakers(circuitBreakers)

"Settings controlling the volume of connections to a backend service. This field is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED. Structure is documented below."

fn spec.forProvider.withCircuitBreakersMixin

withCircuitBreakersMixin(circuitBreakers)

"Settings controlling the volume of connections to a backend service. This field is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withCompressionMode

withCompressionMode(compressionMode)

"Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header. Possible values are: AUTOMATIC, DISABLED."

fn spec.forProvider.withConnectionDrainingTimeoutSec

withConnectionDrainingTimeoutSec(connectionDrainingTimeoutSec)

"Time for which instance will be drained (not accept new connections, but still work to finish started)."

fn spec.forProvider.withConsistentHash

withConsistentHash(consistentHash)

"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 load_balancing_scheme is set to INTERNAL_SELF_MANAGED. This field is only applicable when locality_lb_policy is set to MAGLEV or RING_HASH. Structure is documented below."

fn spec.forProvider.withConsistentHashMixin

withConsistentHashMixin(consistentHash)

"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 load_balancing_scheme is set to INTERNAL_SELF_MANAGED. This field is only applicable when locality_lb_policy is set to MAGLEV or RING_HASH. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withCustomRequestHeaders

withCustomRequestHeaders(customRequestHeaders)

"Headers that the HTTP/S load balancer should add to proxied requests."

fn spec.forProvider.withCustomRequestHeadersMixin

withCustomRequestHeadersMixin(customRequestHeaders)

"Headers that the HTTP/S load balancer should add to proxied requests."

Note: This function appends passed data to existing values

fn spec.forProvider.withCustomResponseHeaders

withCustomResponseHeaders(customResponseHeaders)

"Headers that the HTTP/S load balancer should add to proxied responses."

fn spec.forProvider.withCustomResponseHeadersMixin

withCustomResponseHeadersMixin(customResponseHeaders)

"Headers that the HTTP/S load balancer should add to proxied responses."

Note: This function appends passed data to existing values

fn spec.forProvider.withDescription

withDescription(description)

"An optional description of this resource."

fn spec.forProvider.withEdgeSecurityPolicy

withEdgeSecurityPolicy(edgeSecurityPolicy)

"The resource URL for the edge security policy associated with this backend service."

fn spec.forProvider.withEnableCdn

withEnableCdn(enableCdn)

"If true, enable Cloud CDN for this BackendService."

fn spec.forProvider.withHealthChecks

withHealthChecks(healthChecks)

"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."

fn spec.forProvider.withHealthChecksMixin

withHealthChecksMixin(healthChecks)

"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."

Note: This function appends passed data to existing values

fn spec.forProvider.withHealthChecksRefs

withHealthChecksRefs(healthChecksRefs)

"References to HealthCheck to populate healthChecks."

fn spec.forProvider.withHealthChecksRefsMixin

withHealthChecksRefsMixin(healthChecksRefs)

"References to HealthCheck to populate healthChecks."

Note: This function appends passed data to existing values

fn spec.forProvider.withIap

withIap(iap)

"Settings for enabling Cloud Identity Aware Proxy Structure is documented below."

fn spec.forProvider.withIapMixin

withIapMixin(iap)

"Settings for enabling Cloud Identity Aware Proxy Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withLoadBalancingScheme

withLoadBalancingScheme(loadBalancingScheme)

"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, EXTERNAL_MANAGED."

fn spec.forProvider.withLocalityLbPolicies

withLocalityLbPolicies(localityLbPolicies)

"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."

fn spec.forProvider.withLocalityLbPoliciesMixin

withLocalityLbPoliciesMixin(localityLbPolicies)

"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."

Note: This function appends passed data to existing values

fn spec.forProvider.withLocalityLbPolicy

withLocalityLbPolicy(localityLbPolicy)

"The load balancing algorithm used within the scope of the locality. The possible values are:"

fn spec.forProvider.withLogConfig

withLogConfig(logConfig)

"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."

fn spec.forProvider.withLogConfigMixin

withLogConfigMixin(logConfig)

"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."

Note: This function appends passed data to existing values

fn spec.forProvider.withOutlierDetection

withOutlierDetection(outlierDetection)

"Settings controlling eviction of unhealthy hosts from the load balancing pool. This field is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED. Structure is documented below."

fn spec.forProvider.withOutlierDetectionMixin

withOutlierDetectionMixin(outlierDetection)

"Settings controlling eviction of unhealthy hosts from the load balancing pool. This field is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withPortName

withPortName(portName)

"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."

fn spec.forProvider.withProject

withProject(project)

"The ID of the project in which the resource belongs. If it is not provided, the provider project is used."

fn spec.forProvider.withProtocol

withProtocol(protocol)

"The protocol this BackendService uses to communicate with backends. The default is HTTP. NOTE: HTTP2 is only valid for beta HTTP/2 load balancer types and may result in errors if used with the GA API. Possible values are: HTTP, HTTPS, HTTP2, TCP, SSL, GRPC."

fn spec.forProvider.withSecurityPolicy

withSecurityPolicy(securityPolicy)

"The security policy associated with this backend service."

fn spec.forProvider.withSecuritySettings

withSecuritySettings(securitySettings)

"The security settings that apply to this backend service. This field is applicable to either a regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED; or a global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. Structure is documented below."

fn spec.forProvider.withSecuritySettingsMixin

withSecuritySettingsMixin(securitySettings)

"The security settings that apply to this backend service. This field is applicable to either a regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED; or a global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withSessionAffinity

withSessionAffinity(sessionAffinity)

"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."

fn spec.forProvider.withTimeoutSec

withTimeoutSec(timeoutSec)

"How many seconds to wait for the backend before considering it a failed request. Default is 30 seconds. Valid range is [1, 86400]."

obj spec.forProvider.backend

"The set of backends that serve this BackendService. Structure is documented below."

fn spec.forProvider.backend.withBalancingMode

withBalancingMode(balancingMode)

"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)) and CONNECTION (for TCP/SSL). See the Backend Services Overview for an explanation of load balancing modes. Default value is UTILIZATION. Possible values are: UTILIZATION, RATE, CONNECTION."

fn spec.forProvider.backend.withCapacityScaler

withCapacityScaler(capacityScaler)

"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]."

fn spec.forProvider.backend.withDescription

withDescription(description)

"An optional description of this resource. Provide this property when you create the resource."

fn spec.forProvider.backend.withGroup

withGroup(group)

"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."

fn spec.forProvider.backend.withMaxConnections

withMaxConnections(maxConnections)

"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."

fn spec.forProvider.backend.withMaxConnectionsPerEndpoint

withMaxConnectionsPerEndpoint(maxConnectionsPerEndpoint)

"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."

fn spec.forProvider.backend.withMaxConnectionsPerInstance

withMaxConnectionsPerInstance(maxConnectionsPerInstance)

"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."

fn spec.forProvider.backend.withMaxRate

withMaxRate(maxRate)

"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."

fn spec.forProvider.backend.withMaxRatePerEndpoint

withMaxRatePerEndpoint(maxRatePerEndpoint)

"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."

fn spec.forProvider.backend.withMaxRatePerInstance

withMaxRatePerInstance(maxRatePerInstance)

"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."

fn spec.forProvider.backend.withMaxUtilization

withMaxUtilization(maxUtilization)

"Used when balancingMode is UTILIZATION. This ratio defines the CPU utilization target for the group. Valid range is [0.0, 1.0]."

obj spec.forProvider.backend.groupRef

"Reference to a InstanceGroupManager to populate group."

fn spec.forProvider.backend.groupRef.withName

withName(name)

"Name of the referenced object."

obj spec.forProvider.backend.groupRef.policy

"Policies for referencing."

fn spec.forProvider.backend.groupRef.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.forProvider.backend.groupRef.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.forProvider.backend.groupSelector

"Selector for a InstanceGroupManager to populate group."

fn spec.forProvider.backend.groupSelector.withMatchControllerRef

withMatchControllerRef(matchControllerRef)

"MatchControllerRef ensures an object with the same controller reference as the selecting object is selected."

fn spec.forProvider.backend.groupSelector.withMatchLabels

withMatchLabels(matchLabels)

"MatchLabels ensures an object with matching labels is selected."

fn spec.forProvider.backend.groupSelector.withMatchLabelsMixin

withMatchLabelsMixin(matchLabels)

"MatchLabels ensures an object with matching labels is selected."

Note: This function appends passed data to existing values

obj spec.forProvider.backend.groupSelector.policy

"Policies for selection."

fn spec.forProvider.backend.groupSelector.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.forProvider.backend.groupSelector.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.forProvider.cdnPolicy

"Cloud CDN configuration for this BackendService. Structure is documented below."

fn spec.forProvider.cdnPolicy.withBypassCacheOnRequestHeaders

withBypassCacheOnRequestHeaders(bypassCacheOnRequestHeaders)

"Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings. Structure is documented below."

fn spec.forProvider.cdnPolicy.withBypassCacheOnRequestHeadersMixin

withBypassCacheOnRequestHeadersMixin(bypassCacheOnRequestHeaders)

"Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.cdnPolicy.withCacheKeyPolicy

withCacheKeyPolicy(cacheKeyPolicy)

"The CacheKeyPolicy for this CdnPolicy. Structure is documented below."

fn spec.forProvider.cdnPolicy.withCacheKeyPolicyMixin

withCacheKeyPolicyMixin(cacheKeyPolicy)

"The CacheKeyPolicy for this CdnPolicy. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.cdnPolicy.withCacheMode

withCacheMode(cacheMode)

"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 are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL, CACHE_ALL_STATIC."

fn spec.forProvider.cdnPolicy.withClientTtl

withClientTtl(clientTtl)

"Specifies the maximum allowed TTL for cached content served by this origin."

fn spec.forProvider.cdnPolicy.withDefaultTtl

withDefaultTtl(defaultTtl)

"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)."

fn spec.forProvider.cdnPolicy.withMaxTtl

withMaxTtl(maxTtl)

"Specifies the maximum allowed TTL for cached content served by this origin."

fn spec.forProvider.cdnPolicy.withNegativeCaching

withNegativeCaching(negativeCaching)

"Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects."

fn spec.forProvider.cdnPolicy.withNegativeCachingPolicy

withNegativeCachingPolicy(negativeCachingPolicy)

"Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy. Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs. Structure is documented below."

fn spec.forProvider.cdnPolicy.withNegativeCachingPolicyMixin

withNegativeCachingPolicyMixin(negativeCachingPolicy)

"Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy. Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.cdnPolicy.withServeWhileStale

withServeWhileStale(serveWhileStale)

"Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache."

fn spec.forProvider.cdnPolicy.withSignedUrlCacheMaxAgeSec

withSignedUrlCacheMaxAgeSec(signedUrlCacheMaxAgeSec)

"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."

obj spec.forProvider.cdnPolicy.bypassCacheOnRequestHeaders

"Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings. Structure is documented below."

fn spec.forProvider.cdnPolicy.bypassCacheOnRequestHeaders.withHeaderName

withHeaderName(headerName)

"The header field name to match on when bypassing cache. Values are case-insensitive."

obj spec.forProvider.cdnPolicy.cacheKeyPolicy

"The CacheKeyPolicy for this CdnPolicy. Structure is documented below."

fn spec.forProvider.cdnPolicy.cacheKeyPolicy.withIncludeHost

withIncludeHost(includeHost)

"If true requests to different hosts will be cached separately."

fn spec.forProvider.cdnPolicy.cacheKeyPolicy.withIncludeHttpHeaders

withIncludeHttpHeaders(includeHttpHeaders)

"Allows HTTP request headers (by name) to be used in the cache key."

fn spec.forProvider.cdnPolicy.cacheKeyPolicy.withIncludeHttpHeadersMixin

withIncludeHttpHeadersMixin(includeHttpHeaders)

"Allows HTTP request headers (by name) to be used in the cache key."

Note: This function appends passed data to existing values

fn spec.forProvider.cdnPolicy.cacheKeyPolicy.withIncludeNamedCookies

withIncludeNamedCookies(includeNamedCookies)

"Names of cookies to include in cache keys."

fn spec.forProvider.cdnPolicy.cacheKeyPolicy.withIncludeNamedCookiesMixin

withIncludeNamedCookiesMixin(includeNamedCookies)

"Names of cookies to include in cache keys."

Note: This function appends passed data to existing values

fn spec.forProvider.cdnPolicy.cacheKeyPolicy.withIncludeProtocol

withIncludeProtocol(includeProtocol)

"If true, http and https requests will be cached separately."

fn spec.forProvider.cdnPolicy.cacheKeyPolicy.withIncludeQueryString

withIncludeQueryString(includeQueryString)

"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."

fn spec.forProvider.cdnPolicy.cacheKeyPolicy.withQueryStringBlacklist

withQueryStringBlacklist(queryStringBlacklist)

"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."

fn spec.forProvider.cdnPolicy.cacheKeyPolicy.withQueryStringBlacklistMixin

withQueryStringBlacklistMixin(queryStringBlacklist)

"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."

Note: This function appends passed data to existing values

fn spec.forProvider.cdnPolicy.cacheKeyPolicy.withQueryStringWhitelist

withQueryStringWhitelist(queryStringWhitelist)

"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."

fn spec.forProvider.cdnPolicy.cacheKeyPolicy.withQueryStringWhitelistMixin

withQueryStringWhitelistMixin(queryStringWhitelist)

"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."

Note: This function appends passed data to existing values

obj spec.forProvider.cdnPolicy.negativeCachingPolicy

"Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy. Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs. Structure is documented below."

fn spec.forProvider.cdnPolicy.negativeCachingPolicy.withCode

withCode(code)

"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."

fn spec.forProvider.cdnPolicy.negativeCachingPolicy.withTtl

withTtl(ttl)

"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."

obj spec.forProvider.circuitBreakers

"Settings controlling the volume of connections to a backend service. This field is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED. Structure is documented below."

fn spec.forProvider.circuitBreakers.withMaxConnections

withMaxConnections(maxConnections)

"The maximum number of connections to the backend cluster. Defaults to 1024."

fn spec.forProvider.circuitBreakers.withMaxPendingRequests

withMaxPendingRequests(maxPendingRequests)

"The maximum number of pending requests to the backend cluster. Defaults to 1024."

fn spec.forProvider.circuitBreakers.withMaxRequests

withMaxRequests(maxRequests)

"The maximum number of parallel requests to the backend cluster. Defaults to 1024."

fn spec.forProvider.circuitBreakers.withMaxRequestsPerConnection

withMaxRequestsPerConnection(maxRequestsPerConnection)

"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."

fn spec.forProvider.circuitBreakers.withMaxRetries

withMaxRetries(maxRetries)

"The maximum number of parallel retries to the backend cluster. Defaults to 3."

obj spec.forProvider.consistentHash

"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 load_balancing_scheme is set to INTERNAL_SELF_MANAGED. This field is only applicable when locality_lb_policy is set to MAGLEV or RING_HASH. Structure is documented below."

fn spec.forProvider.consistentHash.withHttpCookie

withHttpCookie(httpCookie)

"Hash is based on HTTP Cookie. This field describes a HTTP cookie that will be used as the hash key for the consistent hash load balancer. If the cookie is not present, it will be generated. This field is applicable if the sessionAffinity is set to HTTP_COOKIE. Structure is documented below."

fn spec.forProvider.consistentHash.withHttpCookieMixin

withHttpCookieMixin(httpCookie)

"Hash is based on HTTP Cookie. This field describes a HTTP cookie that will be used as the hash key for the consistent hash load balancer. If the cookie is not present, it will be generated. This field is applicable if the sessionAffinity is set to HTTP_COOKIE. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.consistentHash.withHttpHeaderName

withHttpHeaderName(httpHeaderName)

"The hash based on the value of the specified header field. This field is applicable if the sessionAffinity is set to HEADER_FIELD."

fn spec.forProvider.consistentHash.withMinimumRingSize

withMinimumRingSize(minimumRingSize)

"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."

obj spec.forProvider.consistentHash.httpCookie

"Hash is based on HTTP Cookie. This field describes a HTTP cookie that will be used as the hash key for the consistent hash load balancer. If the cookie is not present, it will be generated. This field is applicable if the sessionAffinity is set to HTTP_COOKIE. Structure is documented below."

fn spec.forProvider.consistentHash.httpCookie.withName

withName(name)

"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:"

fn spec.forProvider.consistentHash.httpCookie.withPath

withPath(path)

"Path to set for the cookie."

fn spec.forProvider.consistentHash.httpCookie.withTtl

withTtl(ttl)

"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."

fn spec.forProvider.consistentHash.httpCookie.withTtlMixin

withTtlMixin(ttl)

"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."

Note: This function appends passed data to existing values

obj spec.forProvider.consistentHash.httpCookie.ttl

"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."

fn spec.forProvider.consistentHash.httpCookie.ttl.withNanos

withNanos(nanos)

"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."

fn spec.forProvider.consistentHash.httpCookie.ttl.withSeconds

withSeconds(seconds)

"Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive."

obj spec.forProvider.healthChecksRefs

"References to HealthCheck to populate healthChecks."

fn spec.forProvider.healthChecksRefs.withName

withName(name)

"Name of the referenced object."

obj spec.forProvider.healthChecksRefs.policy

"Policies for referencing."

fn spec.forProvider.healthChecksRefs.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.forProvider.healthChecksRefs.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.forProvider.healthChecksSelector

"Selector for a list of HealthCheck to populate healthChecks."

fn spec.forProvider.healthChecksSelector.withMatchControllerRef

withMatchControllerRef(matchControllerRef)

"MatchControllerRef ensures an object with the same controller reference as the selecting object is selected."

fn spec.forProvider.healthChecksSelector.withMatchLabels

withMatchLabels(matchLabels)

"MatchLabels ensures an object with matching labels is selected."

fn spec.forProvider.healthChecksSelector.withMatchLabelsMixin

withMatchLabelsMixin(matchLabels)

"MatchLabels ensures an object with matching labels is selected."

Note: This function appends passed data to existing values

obj spec.forProvider.healthChecksSelector.policy

"Policies for selection."

fn spec.forProvider.healthChecksSelector.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.forProvider.healthChecksSelector.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.forProvider.iap

"Settings for enabling Cloud Identity Aware Proxy Structure is documented below."

fn spec.forProvider.iap.withOauth2ClientId

withOauth2ClientId(oauth2ClientId)

"OAuth2 Client ID for IAP"

obj spec.forProvider.iap.oauth2ClientSecretSecretRef

"OAuth2 Client Secret for IAP Note: This property is sensitive and will not be displayed in the plan."

fn spec.forProvider.iap.oauth2ClientSecretSecretRef.withKey

withKey(key)

"The key to select."

fn spec.forProvider.iap.oauth2ClientSecretSecretRef.withName

withName(name)

"Name of the secret."

fn spec.forProvider.iap.oauth2ClientSecretSecretRef.withNamespace

withNamespace(namespace)

"Namespace of the secret."

obj spec.forProvider.localityLbPolicies

"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."

fn spec.forProvider.localityLbPolicies.withCustomPolicy

withCustomPolicy(customPolicy)

"The configuration for a custom policy implemented by the user and deployed with the client. Structure is documented below."

fn spec.forProvider.localityLbPolicies.withCustomPolicyMixin

withCustomPolicyMixin(customPolicy)

"The configuration for a custom policy implemented by the user and deployed with the client. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.localityLbPolicies.withPolicy

withPolicy(policy)

"The configuration for a built-in load balancing policy. Structure is documented below."

fn spec.forProvider.localityLbPolicies.withPolicyMixin

withPolicyMixin(policy)

"The configuration for a built-in load balancing policy. Structure is documented below."

Note: This function appends passed data to existing values

obj spec.forProvider.localityLbPolicies.customPolicy

"The configuration for a custom policy implemented by the user and deployed with the client. Structure is documented below."

fn spec.forProvider.localityLbPolicies.customPolicy.withData

withData(data)

"An optional, arbitrary JSON object with configuration data, understood by a locally installed custom policy implementation."

fn spec.forProvider.localityLbPolicies.customPolicy.withName

withName(name)

"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:"

obj spec.forProvider.localityLbPolicies.policy

"The configuration for a built-in load balancing policy. Structure is documented below."

fn spec.forProvider.localityLbPolicies.policy.withName

withName(name)

"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:"

obj spec.forProvider.logConfig

"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."

fn spec.forProvider.logConfig.withEnable

withEnable(enable)

"Whether to enable logging for the load balancer traffic served by this backend service."

fn spec.forProvider.logConfig.withSampleRate

withSampleRate(sampleRate)

"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."

obj spec.forProvider.outlierDetection

"Settings controlling eviction of unhealthy hosts from the load balancing pool. This field is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED. Structure is documented below."

fn spec.forProvider.outlierDetection.withBaseEjectionTime

withBaseEjectionTime(baseEjectionTime)

"The base time that a host is ejected for. The real time is equal to the base time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. Structure is documented below."

fn spec.forProvider.outlierDetection.withBaseEjectionTimeMixin

withBaseEjectionTimeMixin(baseEjectionTime)

"The base time that a host is ejected for. The real time is equal to the base time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.outlierDetection.withConsecutiveErrors

withConsecutiveErrors(consecutiveErrors)

"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."

fn spec.forProvider.outlierDetection.withConsecutiveGatewayFailure

withConsecutiveGatewayFailure(consecutiveGatewayFailure)

"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."

fn spec.forProvider.outlierDetection.withEnforcingConsecutiveErrors

withEnforcingConsecutiveErrors(enforcingConsecutiveErrors)

"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."

fn spec.forProvider.outlierDetection.withEnforcingConsecutiveGatewayFailure

withEnforcingConsecutiveGatewayFailure(enforcingConsecutiveGatewayFailure)

"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."

fn spec.forProvider.outlierDetection.withEnforcingSuccessRate

withEnforcingSuccessRate(enforcingSuccessRate)

"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."

fn spec.forProvider.outlierDetection.withInterval

withInterval(interval)

"Time interval between ejection sweep analysis. This can result in both new ejections as well as hosts being returned to service. Defaults to 10 seconds. Structure is documented below."

fn spec.forProvider.outlierDetection.withIntervalMixin

withIntervalMixin(interval)

"Time interval between ejection sweep analysis. This can result in both new ejections as well as hosts being returned to service. Defaults to 10 seconds. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.outlierDetection.withMaxEjectionPercent

withMaxEjectionPercent(maxEjectionPercent)

"Maximum percentage of hosts in the load balancing pool for the backend service that can be ejected. Defaults to 10%."

fn spec.forProvider.outlierDetection.withSuccessRateMinimumHosts

withSuccessRateMinimumHosts(successRateMinimumHosts)

"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."

fn spec.forProvider.outlierDetection.withSuccessRateRequestVolume

withSuccessRateRequestVolume(successRateRequestVolume)

"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."

fn spec.forProvider.outlierDetection.withSuccessRateStdevFactor

withSuccessRateStdevFactor(successRateStdevFactor)

"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."

obj spec.forProvider.outlierDetection.baseEjectionTime

"The base time that a host is ejected for. The real time is equal to the base time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. Structure is documented below."

fn spec.forProvider.outlierDetection.baseEjectionTime.withNanos

withNanos(nanos)

"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."

fn spec.forProvider.outlierDetection.baseEjectionTime.withSeconds

withSeconds(seconds)

"Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive."

obj spec.forProvider.outlierDetection.interval

"Time interval between ejection sweep analysis. This can result in both new ejections as well as hosts being returned to service. Defaults to 10 seconds. Structure is documented below."

fn spec.forProvider.outlierDetection.interval.withNanos

withNanos(nanos)

"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."

fn spec.forProvider.outlierDetection.interval.withSeconds

withSeconds(seconds)

"Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive."

obj spec.forProvider.securitySettings

"The security settings that apply to this backend service. This field is applicable to either a regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED; or a global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. Structure is documented below."

fn spec.forProvider.securitySettings.withClientTlsPolicy

withClientTlsPolicy(clientTlsPolicy)

"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."

fn spec.forProvider.securitySettings.withSubjectAltNames

withSubjectAltNames(subjectAltNames)

"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."

fn spec.forProvider.securitySettings.withSubjectAltNamesMixin

withSubjectAltNamesMixin(subjectAltNames)

"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."

Note: This function appends passed data to existing values

obj spec.initProvider

"THIS IS AN ALPHA FIELD. Do not use it in production. It is not honored unless the relevant Crossplane feature flag is enabled, and may be changed or removed without notice. InitProvider holds the same fields as ForProvider, with the exception of Identifier and other resource reference fields. The fields that are in InitProvider are merged into ForProvider when the resource is created. The same fields are also added to the terraform ignore_changes hook, to avoid updating them after creation. This is useful for fields that are required on creation, but we do not desire to update them after creation, for example because of an external controller is managing them, like an autoscaler."

fn spec.initProvider.withAffinityCookieTtlSec

withAffinityCookieTtlSec(affinityCookieTtlSec)

"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."

fn spec.initProvider.withBackend

withBackend(backend)

"The set of backends that serve this BackendService. Structure is documented below."

fn spec.initProvider.withBackendMixin

withBackendMixin(backend)

"The set of backends that serve this BackendService. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withCdnPolicy

withCdnPolicy(cdnPolicy)

"Cloud CDN configuration for this BackendService. Structure is documented below."

fn spec.initProvider.withCdnPolicyMixin

withCdnPolicyMixin(cdnPolicy)

"Cloud CDN configuration for this BackendService. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withCircuitBreakers

withCircuitBreakers(circuitBreakers)

"Settings controlling the volume of connections to a backend service. This field is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED. Structure is documented below."

fn spec.initProvider.withCircuitBreakersMixin

withCircuitBreakersMixin(circuitBreakers)

"Settings controlling the volume of connections to a backend service. This field is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withCompressionMode

withCompressionMode(compressionMode)

"Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header. Possible values are: AUTOMATIC, DISABLED."

fn spec.initProvider.withConnectionDrainingTimeoutSec

withConnectionDrainingTimeoutSec(connectionDrainingTimeoutSec)

"Time for which instance will be drained (not accept new connections, but still work to finish started)."

fn spec.initProvider.withConsistentHash

withConsistentHash(consistentHash)

"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 load_balancing_scheme is set to INTERNAL_SELF_MANAGED. This field is only applicable when locality_lb_policy is set to MAGLEV or RING_HASH. Structure is documented below."

fn spec.initProvider.withConsistentHashMixin

withConsistentHashMixin(consistentHash)

"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 load_balancing_scheme is set to INTERNAL_SELF_MANAGED. This field is only applicable when locality_lb_policy is set to MAGLEV or RING_HASH. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withCustomRequestHeaders

withCustomRequestHeaders(customRequestHeaders)

"Headers that the HTTP/S load balancer should add to proxied requests."

fn spec.initProvider.withCustomRequestHeadersMixin

withCustomRequestHeadersMixin(customRequestHeaders)

"Headers that the HTTP/S load balancer should add to proxied requests."

Note: This function appends passed data to existing values

fn spec.initProvider.withCustomResponseHeaders

withCustomResponseHeaders(customResponseHeaders)

"Headers that the HTTP/S load balancer should add to proxied responses."

fn spec.initProvider.withCustomResponseHeadersMixin

withCustomResponseHeadersMixin(customResponseHeaders)

"Headers that the HTTP/S load balancer should add to proxied responses."

Note: This function appends passed data to existing values

fn spec.initProvider.withDescription

withDescription(description)

"An optional description of this resource."

fn spec.initProvider.withEdgeSecurityPolicy

withEdgeSecurityPolicy(edgeSecurityPolicy)

"The resource URL for the edge security policy associated with this backend service."

fn spec.initProvider.withEnableCdn

withEnableCdn(enableCdn)

"If true, enable Cloud CDN for this BackendService."

fn spec.initProvider.withIap

withIap(iap)

"Settings for enabling Cloud Identity Aware Proxy Structure is documented below."

fn spec.initProvider.withIapMixin

withIapMixin(iap)

"Settings for enabling Cloud Identity Aware Proxy Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withLoadBalancingScheme

withLoadBalancingScheme(loadBalancingScheme)

"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, EXTERNAL_MANAGED."

fn spec.initProvider.withLocalityLbPolicies

withLocalityLbPolicies(localityLbPolicies)

"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."

fn spec.initProvider.withLocalityLbPoliciesMixin

withLocalityLbPoliciesMixin(localityLbPolicies)

"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."

Note: This function appends passed data to existing values

fn spec.initProvider.withLocalityLbPolicy

withLocalityLbPolicy(localityLbPolicy)

"The load balancing algorithm used within the scope of the locality. The possible values are:"

fn spec.initProvider.withLogConfig

withLogConfig(logConfig)

"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."

fn spec.initProvider.withLogConfigMixin

withLogConfigMixin(logConfig)

"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."

Note: This function appends passed data to existing values

fn spec.initProvider.withOutlierDetection

withOutlierDetection(outlierDetection)

"Settings controlling eviction of unhealthy hosts from the load balancing pool. This field is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED. Structure is documented below."

fn spec.initProvider.withOutlierDetectionMixin

withOutlierDetectionMixin(outlierDetection)

"Settings controlling eviction of unhealthy hosts from the load balancing pool. This field is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withPortName

withPortName(portName)

"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."

fn spec.initProvider.withProject

withProject(project)

"The ID of the project in which the resource belongs. If it is not provided, the provider project is used."

fn spec.initProvider.withProtocol

withProtocol(protocol)

"The protocol this BackendService uses to communicate with backends. The default is HTTP. NOTE: HTTP2 is only valid for beta HTTP/2 load balancer types and may result in errors if used with the GA API. Possible values are: HTTP, HTTPS, HTTP2, TCP, SSL, GRPC."

fn spec.initProvider.withSecurityPolicy

withSecurityPolicy(securityPolicy)

"The security policy associated with this backend service."

fn spec.initProvider.withSecuritySettings

withSecuritySettings(securitySettings)

"The security settings that apply to this backend service. This field is applicable to either a regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED; or a global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. Structure is documented below."

fn spec.initProvider.withSecuritySettingsMixin

withSecuritySettingsMixin(securitySettings)

"The security settings that apply to this backend service. This field is applicable to either a regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED; or a global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withSessionAffinity

withSessionAffinity(sessionAffinity)

"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."

fn spec.initProvider.withTimeoutSec

withTimeoutSec(timeoutSec)

"How many seconds to wait for the backend before considering it a failed request. Default is 30 seconds. Valid range is [1, 86400]."

obj spec.initProvider.backend

"The set of backends that serve this BackendService. Structure is documented below."

fn spec.initProvider.backend.withBalancingMode

withBalancingMode(balancingMode)

"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)) and CONNECTION (for TCP/SSL). See the Backend Services Overview for an explanation of load balancing modes. Default value is UTILIZATION. Possible values are: UTILIZATION, RATE, CONNECTION."

fn spec.initProvider.backend.withCapacityScaler

withCapacityScaler(capacityScaler)

"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]."

fn spec.initProvider.backend.withDescription

withDescription(description)

"An optional description of this resource. Provide this property when you create the resource."

fn spec.initProvider.backend.withMaxConnections

withMaxConnections(maxConnections)

"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."

fn spec.initProvider.backend.withMaxConnectionsPerEndpoint

withMaxConnectionsPerEndpoint(maxConnectionsPerEndpoint)

"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."

fn spec.initProvider.backend.withMaxConnectionsPerInstance

withMaxConnectionsPerInstance(maxConnectionsPerInstance)

"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."

fn spec.initProvider.backend.withMaxRate

withMaxRate(maxRate)

"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."

fn spec.initProvider.backend.withMaxRatePerEndpoint

withMaxRatePerEndpoint(maxRatePerEndpoint)

"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."

fn spec.initProvider.backend.withMaxRatePerInstance

withMaxRatePerInstance(maxRatePerInstance)

"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."

fn spec.initProvider.backend.withMaxUtilization

withMaxUtilization(maxUtilization)

"Used when balancingMode is UTILIZATION. This ratio defines the CPU utilization target for the group. Valid range is [0.0, 1.0]."

obj spec.initProvider.cdnPolicy

"Cloud CDN configuration for this BackendService. Structure is documented below."

fn spec.initProvider.cdnPolicy.withBypassCacheOnRequestHeaders

withBypassCacheOnRequestHeaders(bypassCacheOnRequestHeaders)

"Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings. Structure is documented below."

fn spec.initProvider.cdnPolicy.withBypassCacheOnRequestHeadersMixin

withBypassCacheOnRequestHeadersMixin(bypassCacheOnRequestHeaders)

"Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.cdnPolicy.withCacheKeyPolicy

withCacheKeyPolicy(cacheKeyPolicy)

"The CacheKeyPolicy for this CdnPolicy. Structure is documented below."

fn spec.initProvider.cdnPolicy.withCacheKeyPolicyMixin

withCacheKeyPolicyMixin(cacheKeyPolicy)

"The CacheKeyPolicy for this CdnPolicy. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.cdnPolicy.withCacheMode

withCacheMode(cacheMode)

"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 are: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL, CACHE_ALL_STATIC."

fn spec.initProvider.cdnPolicy.withClientTtl

withClientTtl(clientTtl)

"Specifies the maximum allowed TTL for cached content served by this origin."

fn spec.initProvider.cdnPolicy.withDefaultTtl

withDefaultTtl(defaultTtl)

"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)."

fn spec.initProvider.cdnPolicy.withMaxTtl

withMaxTtl(maxTtl)

"Specifies the maximum allowed TTL for cached content served by this origin."

fn spec.initProvider.cdnPolicy.withNegativeCaching

withNegativeCaching(negativeCaching)

"Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects."

fn spec.initProvider.cdnPolicy.withNegativeCachingPolicy

withNegativeCachingPolicy(negativeCachingPolicy)

"Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy. Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs. Structure is documented below."

fn spec.initProvider.cdnPolicy.withNegativeCachingPolicyMixin

withNegativeCachingPolicyMixin(negativeCachingPolicy)

"Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy. Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.cdnPolicy.withServeWhileStale

withServeWhileStale(serveWhileStale)

"Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache."

fn spec.initProvider.cdnPolicy.withSignedUrlCacheMaxAgeSec

withSignedUrlCacheMaxAgeSec(signedUrlCacheMaxAgeSec)

"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."

obj spec.initProvider.cdnPolicy.bypassCacheOnRequestHeaders

"Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings. Structure is documented below."

fn spec.initProvider.cdnPolicy.bypassCacheOnRequestHeaders.withHeaderName

withHeaderName(headerName)

"The header field name to match on when bypassing cache. Values are case-insensitive."

obj spec.initProvider.cdnPolicy.cacheKeyPolicy

"The CacheKeyPolicy for this CdnPolicy. Structure is documented below."

fn spec.initProvider.cdnPolicy.cacheKeyPolicy.withIncludeHost

withIncludeHost(includeHost)

"If true requests to different hosts will be cached separately."

fn spec.initProvider.cdnPolicy.cacheKeyPolicy.withIncludeHttpHeaders

withIncludeHttpHeaders(includeHttpHeaders)

"Allows HTTP request headers (by name) to be used in the cache key."

fn spec.initProvider.cdnPolicy.cacheKeyPolicy.withIncludeHttpHeadersMixin

withIncludeHttpHeadersMixin(includeHttpHeaders)

"Allows HTTP request headers (by name) to be used in the cache key."

Note: This function appends passed data to existing values

fn spec.initProvider.cdnPolicy.cacheKeyPolicy.withIncludeNamedCookies

withIncludeNamedCookies(includeNamedCookies)

"Names of cookies to include in cache keys."

fn spec.initProvider.cdnPolicy.cacheKeyPolicy.withIncludeNamedCookiesMixin

withIncludeNamedCookiesMixin(includeNamedCookies)

"Names of cookies to include in cache keys."

Note: This function appends passed data to existing values

fn spec.initProvider.cdnPolicy.cacheKeyPolicy.withIncludeProtocol

withIncludeProtocol(includeProtocol)

"If true, http and https requests will be cached separately."

fn spec.initProvider.cdnPolicy.cacheKeyPolicy.withIncludeQueryString

withIncludeQueryString(includeQueryString)

"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."

fn spec.initProvider.cdnPolicy.cacheKeyPolicy.withQueryStringBlacklist

withQueryStringBlacklist(queryStringBlacklist)

"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."

fn spec.initProvider.cdnPolicy.cacheKeyPolicy.withQueryStringBlacklistMixin

withQueryStringBlacklistMixin(queryStringBlacklist)

"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."

Note: This function appends passed data to existing values

fn spec.initProvider.cdnPolicy.cacheKeyPolicy.withQueryStringWhitelist

withQueryStringWhitelist(queryStringWhitelist)

"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."

fn spec.initProvider.cdnPolicy.cacheKeyPolicy.withQueryStringWhitelistMixin

withQueryStringWhitelistMixin(queryStringWhitelist)

"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."

Note: This function appends passed data to existing values

obj spec.initProvider.cdnPolicy.negativeCachingPolicy

"Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy. Omitting the policy and leaving negativeCaching enabled will use Cloud CDN's default cache TTLs. Structure is documented below."

fn spec.initProvider.cdnPolicy.negativeCachingPolicy.withCode

withCode(code)

"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."

fn spec.initProvider.cdnPolicy.negativeCachingPolicy.withTtl

withTtl(ttl)

"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."

obj spec.initProvider.circuitBreakers

"Settings controlling the volume of connections to a backend service. This field is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED. Structure is documented below."

fn spec.initProvider.circuitBreakers.withMaxConnections

withMaxConnections(maxConnections)

"The maximum number of connections to the backend cluster. Defaults to 1024."

fn spec.initProvider.circuitBreakers.withMaxPendingRequests

withMaxPendingRequests(maxPendingRequests)

"The maximum number of pending requests to the backend cluster. Defaults to 1024."

fn spec.initProvider.circuitBreakers.withMaxRequests

withMaxRequests(maxRequests)

"The maximum number of parallel requests to the backend cluster. Defaults to 1024."

fn spec.initProvider.circuitBreakers.withMaxRequestsPerConnection

withMaxRequestsPerConnection(maxRequestsPerConnection)

"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."

fn spec.initProvider.circuitBreakers.withMaxRetries

withMaxRetries(maxRetries)

"The maximum number of parallel retries to the backend cluster. Defaults to 3."

obj spec.initProvider.consistentHash

"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 load_balancing_scheme is set to INTERNAL_SELF_MANAGED. This field is only applicable when locality_lb_policy is set to MAGLEV or RING_HASH. Structure is documented below."

fn spec.initProvider.consistentHash.withHttpCookie

withHttpCookie(httpCookie)

"Hash is based on HTTP Cookie. This field describes a HTTP cookie that will be used as the hash key for the consistent hash load balancer. If the cookie is not present, it will be generated. This field is applicable if the sessionAffinity is set to HTTP_COOKIE. Structure is documented below."

fn spec.initProvider.consistentHash.withHttpCookieMixin

withHttpCookieMixin(httpCookie)

"Hash is based on HTTP Cookie. This field describes a HTTP cookie that will be used as the hash key for the consistent hash load balancer. If the cookie is not present, it will be generated. This field is applicable if the sessionAffinity is set to HTTP_COOKIE. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.consistentHash.withHttpHeaderName

withHttpHeaderName(httpHeaderName)

"The hash based on the value of the specified header field. This field is applicable if the sessionAffinity is set to HEADER_FIELD."

fn spec.initProvider.consistentHash.withMinimumRingSize

withMinimumRingSize(minimumRingSize)

"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."

obj spec.initProvider.consistentHash.httpCookie

"Hash is based on HTTP Cookie. This field describes a HTTP cookie that will be used as the hash key for the consistent hash load balancer. If the cookie is not present, it will be generated. This field is applicable if the sessionAffinity is set to HTTP_COOKIE. Structure is documented below."

fn spec.initProvider.consistentHash.httpCookie.withName

withName(name)

"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:"

fn spec.initProvider.consistentHash.httpCookie.withPath

withPath(path)

"Path to set for the cookie."

fn spec.initProvider.consistentHash.httpCookie.withTtl

withTtl(ttl)

"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."

fn spec.initProvider.consistentHash.httpCookie.withTtlMixin

withTtlMixin(ttl)

"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."

Note: This function appends passed data to existing values

obj spec.initProvider.consistentHash.httpCookie.ttl

"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."

fn spec.initProvider.consistentHash.httpCookie.ttl.withNanos

withNanos(nanos)

"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."

fn spec.initProvider.consistentHash.httpCookie.ttl.withSeconds

withSeconds(seconds)

"Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive."

obj spec.initProvider.iap

"Settings for enabling Cloud Identity Aware Proxy Structure is documented below."

fn spec.initProvider.iap.withOauth2ClientId

withOauth2ClientId(oauth2ClientId)

"OAuth2 Client ID for IAP"

obj spec.initProvider.localityLbPolicies

"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."

fn spec.initProvider.localityLbPolicies.withCustomPolicy

withCustomPolicy(customPolicy)

"The configuration for a custom policy implemented by the user and deployed with the client. Structure is documented below."

fn spec.initProvider.localityLbPolicies.withCustomPolicyMixin

withCustomPolicyMixin(customPolicy)

"The configuration for a custom policy implemented by the user and deployed with the client. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.localityLbPolicies.withPolicy

withPolicy(policy)

"The configuration for a built-in load balancing policy. Structure is documented below."

fn spec.initProvider.localityLbPolicies.withPolicyMixin

withPolicyMixin(policy)

"The configuration for a built-in load balancing policy. Structure is documented below."

Note: This function appends passed data to existing values

obj spec.initProvider.localityLbPolicies.customPolicy

"The configuration for a custom policy implemented by the user and deployed with the client. Structure is documented below."

fn spec.initProvider.localityLbPolicies.customPolicy.withData

withData(data)

"An optional, arbitrary JSON object with configuration data, understood by a locally installed custom policy implementation."

fn spec.initProvider.localityLbPolicies.customPolicy.withName

withName(name)

"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:"

obj spec.initProvider.localityLbPolicies.policy

"The configuration for a built-in load balancing policy. Structure is documented below."

fn spec.initProvider.localityLbPolicies.policy.withName

withName(name)

"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:"

obj spec.initProvider.logConfig

"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."

fn spec.initProvider.logConfig.withEnable

withEnable(enable)

"Whether to enable logging for the load balancer traffic served by this backend service."

fn spec.initProvider.logConfig.withSampleRate

withSampleRate(sampleRate)

"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."

obj spec.initProvider.outlierDetection

"Settings controlling eviction of unhealthy hosts from the load balancing pool. This field is applicable only when the load_balancing_scheme is set to INTERNAL_SELF_MANAGED. Structure is documented below."

fn spec.initProvider.outlierDetection.withBaseEjectionTime

withBaseEjectionTime(baseEjectionTime)

"The base time that a host is ejected for. The real time is equal to the base time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. Structure is documented below."

fn spec.initProvider.outlierDetection.withBaseEjectionTimeMixin

withBaseEjectionTimeMixin(baseEjectionTime)

"The base time that a host is ejected for. The real time is equal to the base time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.outlierDetection.withConsecutiveErrors

withConsecutiveErrors(consecutiveErrors)

"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."

fn spec.initProvider.outlierDetection.withConsecutiveGatewayFailure

withConsecutiveGatewayFailure(consecutiveGatewayFailure)

"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."

fn spec.initProvider.outlierDetection.withEnforcingConsecutiveErrors

withEnforcingConsecutiveErrors(enforcingConsecutiveErrors)

"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."

fn spec.initProvider.outlierDetection.withEnforcingConsecutiveGatewayFailure

withEnforcingConsecutiveGatewayFailure(enforcingConsecutiveGatewayFailure)

"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."

fn spec.initProvider.outlierDetection.withEnforcingSuccessRate

withEnforcingSuccessRate(enforcingSuccessRate)

"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."

fn spec.initProvider.outlierDetection.withInterval

withInterval(interval)

"Time interval between ejection sweep analysis. This can result in both new ejections as well as hosts being returned to service. Defaults to 10 seconds. Structure is documented below."

fn spec.initProvider.outlierDetection.withIntervalMixin

withIntervalMixin(interval)

"Time interval between ejection sweep analysis. This can result in both new ejections as well as hosts being returned to service. Defaults to 10 seconds. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.outlierDetection.withMaxEjectionPercent

withMaxEjectionPercent(maxEjectionPercent)

"Maximum percentage of hosts in the load balancing pool for the backend service that can be ejected. Defaults to 10%."

fn spec.initProvider.outlierDetection.withSuccessRateMinimumHosts

withSuccessRateMinimumHosts(successRateMinimumHosts)

"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."

fn spec.initProvider.outlierDetection.withSuccessRateRequestVolume

withSuccessRateRequestVolume(successRateRequestVolume)

"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."

fn spec.initProvider.outlierDetection.withSuccessRateStdevFactor

withSuccessRateStdevFactor(successRateStdevFactor)

"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."

obj spec.initProvider.outlierDetection.baseEjectionTime

"The base time that a host is ejected for. The real time is equal to the base time multiplied by the number of times the host has been ejected. Defaults to 30000ms or 30s. Structure is documented below."

fn spec.initProvider.outlierDetection.baseEjectionTime.withNanos

withNanos(nanos)

"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."

fn spec.initProvider.outlierDetection.baseEjectionTime.withSeconds

withSeconds(seconds)

"Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive."

obj spec.initProvider.outlierDetection.interval

"Time interval between ejection sweep analysis. This can result in both new ejections as well as hosts being returned to service. Defaults to 10 seconds. Structure is documented below."

fn spec.initProvider.outlierDetection.interval.withNanos

withNanos(nanos)

"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."

fn spec.initProvider.outlierDetection.interval.withSeconds

withSeconds(seconds)

"Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive."

obj spec.initProvider.securitySettings

"The security settings that apply to this backend service. This field is applicable to either a regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED; or a global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. Structure is documented below."

fn spec.initProvider.securitySettings.withClientTlsPolicy

withClientTlsPolicy(clientTlsPolicy)

"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."

fn spec.initProvider.securitySettings.withSubjectAltNames

withSubjectAltNames(subjectAltNames)

"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."

fn spec.initProvider.securitySettings.withSubjectAltNamesMixin

withSubjectAltNamesMixin(subjectAltNames)

"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."

Note: This function appends passed data to existing values

obj spec.providerConfigRef

"ProviderConfigReference specifies how the provider that will be used to create, observe, update, and delete this managed resource should be configured."

fn spec.providerConfigRef.withName

withName(name)

"Name of the referenced object."

obj spec.providerConfigRef.policy

"Policies for referencing."

fn spec.providerConfigRef.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.providerConfigRef.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.providerRef

"ProviderReference specifies the provider that will be used to create, observe, update, and delete this managed resource. Deprecated: Please use ProviderConfigReference, i.e. providerConfigRef"

fn spec.providerRef.withName

withName(name)

"Name of the referenced object."

obj spec.providerRef.policy

"Policies for referencing."

fn spec.providerRef.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.providerRef.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.publishConnectionDetailsTo

"PublishConnectionDetailsTo specifies the connection secret config which contains a name, metadata and a reference to secret store config to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource."

fn spec.publishConnectionDetailsTo.withName

withName(name)

"Name is the name of the connection secret."

obj spec.publishConnectionDetailsTo.configRef

"SecretStoreConfigRef specifies which secret store config should be used for this ConnectionSecret."

fn spec.publishConnectionDetailsTo.configRef.withName

withName(name)

"Name of the referenced object."

obj spec.publishConnectionDetailsTo.configRef.policy

"Policies for referencing."

fn spec.publishConnectionDetailsTo.configRef.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.publishConnectionDetailsTo.configRef.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.publishConnectionDetailsTo.metadata

"Metadata is the metadata for connection secret."

fn spec.publishConnectionDetailsTo.metadata.withAnnotations

withAnnotations(annotations)

"Annotations are the annotations to be added to connection secret. - For Kubernetes secrets, this will be used as \"metadata.annotations\". - It is up to Secret Store implementation for others store types."

fn spec.publishConnectionDetailsTo.metadata.withAnnotationsMixin

withAnnotationsMixin(annotations)

"Annotations are the annotations to be added to connection secret. - For Kubernetes secrets, this will be used as \"metadata.annotations\". - It is up to Secret Store implementation for others store types."

Note: This function appends passed data to existing values

fn spec.publishConnectionDetailsTo.metadata.withLabels

withLabels(labels)

"Labels are the labels/tags to be added to connection secret. - For Kubernetes secrets, this will be used as \"metadata.labels\". - It is up to Secret Store implementation for others store types."

fn spec.publishConnectionDetailsTo.metadata.withLabelsMixin

withLabelsMixin(labels)

"Labels are the labels/tags to be added to connection secret. - For Kubernetes secrets, this will be used as \"metadata.labels\". - It is up to Secret Store implementation for others store types."

Note: This function appends passed data to existing values

fn spec.publishConnectionDetailsTo.metadata.withType

withType(type)

"Type is the SecretType for the connection secret. - Only valid for Kubernetes Secret Stores."

obj spec.writeConnectionSecretToRef

"WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource. This field is planned to be replaced in a future release in favor of PublishConnectionDetailsTo. Currently, both could be set independently and connection details would be published to both without affecting each other."

fn spec.writeConnectionSecretToRef.withName

withName(name)

"Name of the secret."

fn spec.writeConnectionSecretToRef.withNamespace

withNamespace(namespace)

"Namespace of the secret."