|
|
|
@ -1592,10 +1592,10 @@ module Google
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# [Output Only] Target recommended MIG size (number of instances) computed by
|
|
|
|
|
# autoscaler. Autoscaler calculates recommended MIG size even when autoscaling
|
|
|
|
|
# policy mode is different from ON. This field is empty when autoscaler is not
|
|
|
|
|
# connected to the existing managed instance group or autoscaler did not
|
|
|
|
|
# generate its prediction.
|
|
|
|
|
# autoscaler. Autoscaler calculates the recommended MIG size even when the
|
|
|
|
|
# autoscaling policy mode is different from ON. This field is empty when
|
|
|
|
|
# autoscaler is not connected to an existing managed instance group or
|
|
|
|
|
# autoscaler did not generate its prediction.
|
|
|
|
|
# Corresponds to the JSON property `recommendedSize`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :recommended_size
|
|
|
|
@ -1630,7 +1630,8 @@ module Google
|
|
|
|
|
# @return [Array<Google::Apis::ComputeV1::AutoscalerStatusDetails>]
|
|
|
|
|
attr_accessor :status_details
|
|
|
|
|
|
|
|
|
|
# URL of the managed instance group that this autoscaler will scale.
|
|
|
|
|
# URL of the managed instance group that this autoscaler will scale. This field
|
|
|
|
|
# is required when creating an autoscaler.
|
|
|
|
|
# Corresponds to the JSON property `target`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :target
|
|
|
|
@ -1937,7 +1938,7 @@ module Google
|
|
|
|
|
# - MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in
|
|
|
|
|
# the group won't change automatically. The autoscaling configuration is
|
|
|
|
|
# preserved.
|
|
|
|
|
# - MODE_ONLY_UP (WARNING): Autoscaling is in the "Autoscale only up" mode. The
|
|
|
|
|
# - MODE_ONLY_UP (WARNING): Autoscaling is in the "Autoscale only out" mode. The
|
|
|
|
|
# autoscaler can add instances but not remove any.
|
|
|
|
|
# - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be
|
|
|
|
|
# autoscaled because it has more than one backend service attached to it.
|
|
|
|
@ -2063,11 +2064,10 @@ module Google
|
|
|
|
|
class AutoscalingPolicy
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The number of seconds that the autoscaler should wait before it starts
|
|
|
|
|
# collecting information from a new instance. This prevents the autoscaler from
|
|
|
|
|
# collecting information when the instance is initializing, during which the
|
|
|
|
|
# collected usage would not be reliable. The default time autoscaler waits is 60
|
|
|
|
|
# seconds.
|
|
|
|
|
# The number of seconds that the autoscaler waits before it starts collecting
|
|
|
|
|
# information from a new instance. This prevents the autoscaler from collecting
|
|
|
|
|
# information when the instance is initializing, during which the collected
|
|
|
|
|
# usage would not be reliable. The default time autoscaler waits is 60 seconds.
|
|
|
|
|
# Virtual machine initialization times might vary because of numerous factors.
|
|
|
|
|
# We recommend that you test how long an instance may take to initialize. To do
|
|
|
|
|
# this, create an instance and time the startup process.
|
|
|
|
@ -2090,15 +2090,15 @@ module Google
|
|
|
|
|
# @return [Google::Apis::ComputeV1::AutoscalingPolicyLoadBalancingUtilization]
|
|
|
|
|
attr_accessor :load_balancing_utilization
|
|
|
|
|
|
|
|
|
|
# The maximum number of instances that the autoscaler can scale up to. This is
|
|
|
|
|
# The maximum number of instances that the autoscaler can scale out to. This is
|
|
|
|
|
# required when creating or updating an autoscaler. The maximum number of
|
|
|
|
|
# replicas should not be lower than minimal number of replicas.
|
|
|
|
|
# replicas must not be lower than minimal number of replicas.
|
|
|
|
|
# Corresponds to the JSON property `maxNumReplicas`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :max_num_replicas
|
|
|
|
|
|
|
|
|
|
# The minimum number of replicas that the autoscaler can scale down to. This
|
|
|
|
|
# cannot be less than 0. If not provided, autoscaler will choose a default value
|
|
|
|
|
# The minimum number of replicas that the autoscaler can scale in to. This
|
|
|
|
|
# cannot be less than 0. If not provided, autoscaler chooses a default value
|
|
|
|
|
# depending on maximum number of instances allowed.
|
|
|
|
|
# Corresponds to the JSON property `minNumReplicas`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
@ -2137,13 +2137,13 @@ module Google
|
|
|
|
|
class AutoscalingPolicyCpuUtilization
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# The target CPU utilization that the autoscaler should maintain. Must be a
|
|
|
|
|
# float value in the range (0, 1]. If not specified, the default is 0.6.
|
|
|
|
|
# If the CPU level is below the target utilization, the autoscaler scales down
|
|
|
|
|
# the number of instances until it reaches the minimum number of instances you
|
|
|
|
|
# The target CPU utilization that the autoscaler maintains. Must be a float
|
|
|
|
|
# value in the range (0, 1]. If not specified, the default is 0.6.
|
|
|
|
|
# If the CPU level is below the target utilization, the autoscaler scales in the
|
|
|
|
|
# number of instances until it reaches the minimum number of instances you
|
|
|
|
|
# specified or until the average CPU of your instances reaches the target
|
|
|
|
|
# utilization.
|
|
|
|
|
# If the average CPU is above the target utilization, the autoscaler scales up
|
|
|
|
|
# If the average CPU is above the target utilization, the autoscaler scales out
|
|
|
|
|
# until it reaches the maximum number of instances you specified or until the
|
|
|
|
|
# average utilization reaches the target utilization.
|
|
|
|
|
# Corresponds to the JSON property `utilizationTarget`
|
|
|
|
@ -2185,11 +2185,11 @@ module Google
|
|
|
|
|
# to scale upon. This is called a per-group metric for the purpose of
|
|
|
|
|
# autoscaling.
|
|
|
|
|
# If not specified, the type defaults to gce_instance.
|
|
|
|
|
# You should provide a filter that is selective enough to pick just one
|
|
|
|
|
# TimeSeries for the autoscaled group or for each of the instances (if you are
|
|
|
|
|
# using gce_instance resource type). If multiple TimeSeries are returned upon
|
|
|
|
|
# the query execution, the autoscaler will sum their respective values to obtain
|
|
|
|
|
# its scaling value.
|
|
|
|
|
# Try to provide a filter that is selective enough to pick just one TimeSeries
|
|
|
|
|
# for the autoscaled group or for each of the instances (if you are using
|
|
|
|
|
# gce_instance resource type). If multiple TimeSeries are returned upon the
|
|
|
|
|
# query execution, the autoscaler will sum their respective values to obtain its
|
|
|
|
|
# scaling value.
|
|
|
|
|
# Corresponds to the JSON property `filter`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :filter
|
|
|
|
@ -2203,9 +2203,9 @@ module Google
|
|
|
|
|
|
|
|
|
|
# If scaling is based on a per-group metric value that represents the total
|
|
|
|
|
# amount of work to be done or resource usage, set this value to an amount
|
|
|
|
|
# assigned for a single instance of the scaled group. Autoscaler will keep the
|
|
|
|
|
# number of instances proportional to the value of this metric, the metric
|
|
|
|
|
# itself should not change value due to group resizing.
|
|
|
|
|
# assigned for a single instance of the scaled group. Autoscaler keeps the
|
|
|
|
|
# number of instances proportional to the value of this metric. The metric
|
|
|
|
|
# itself does not change value due to group resizing.
|
|
|
|
|
# A good metric to use with the target is for example pubsub.googleapis.com/
|
|
|
|
|
# subscription/num_undelivered_messages or a custom metric exporting the total
|
|
|
|
|
# number of requests coming to your instances.
|
|
|
|
@ -2216,12 +2216,12 @@ module Google
|
|
|
|
|
# @return [Float]
|
|
|
|
|
attr_accessor :single_instance_assignment
|
|
|
|
|
|
|
|
|
|
# The target value of the metric that autoscaler should maintain. This must be a
|
|
|
|
|
# The target value of the metric that autoscaler maintains. This must be a
|
|
|
|
|
# positive value. A utilization metric scales number of virtual machines
|
|
|
|
|
# handling requests to increase or decrease proportionally to the metric.
|
|
|
|
|
# For example, a good metric to use as a utilization_target is https://www.
|
|
|
|
|
# googleapis.com/compute/v1/instance/network/received_bytes_count. The
|
|
|
|
|
# autoscaler will work to keep this value constant for each of the instances.
|
|
|
|
|
# autoscaler works to keep this value constant for each of the instances.
|
|
|
|
|
# Corresponds to the JSON property `utilizationTarget`
|
|
|
|
|
# @return [Float]
|
|
|
|
|
attr_accessor :utilization_target
|
|
|
|
@ -2251,7 +2251,7 @@ module Google
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Fraction of backend capacity utilization (set in HTTP(S) load balancing
|
|
|
|
|
# configuration) that autoscaler should maintain. Must be a positive float value.
|
|
|
|
|
# configuration) that the autoscaler maintains. Must be a positive float value.
|
|
|
|
|
# If not defined, the default is 0.8.
|
|
|
|
|
# Corresponds to the JSON property `utilizationTarget`
|
|
|
|
|
# @return [Float]
|
|
|
|
@ -2278,8 +2278,8 @@ module Google
|
|
|
|
|
# @return [Google::Apis::ComputeV1::FixedOrPercent]
|
|
|
|
|
attr_accessor :max_scaled_in_replicas
|
|
|
|
|
|
|
|
|
|
# How long back autoscaling should look when computing recommendations to
|
|
|
|
|
# include directives regarding slower scale in, as described above.
|
|
|
|
|
# How far back autoscaling looks when computing recommendations to include
|
|
|
|
|
# directives regarding slower scale in, as described above.
|
|
|
|
|
# Corresponds to the JSON property `timeWindowSec`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :time_window_sec
|
|
|
|
@ -2313,21 +2313,22 @@ module Google
|
|
|
|
|
# parameters: maxConnections (except for regional managed instance groups),
|
|
|
|
|
# maxConnectionsPerInstance, or maxConnectionsPerEndpoint.
|
|
|
|
|
# If the loadBalancingScheme for the backend service is INTERNAL (internal TCP/
|
|
|
|
|
# UDP load balancers), you cannot specify any additional parameters.
|
|
|
|
|
# UDP Load Balancers) or EXTERNAL (Network Load Balancing), you cannot specify
|
|
|
|
|
# any additional parameters.
|
|
|
|
|
#
|
|
|
|
|
# - If the load balancing mode is RATE, the load is spread based on the rate of
|
|
|
|
|
# HTTP requests per second (RPS).
|
|
|
|
|
# You can use the RATE balancing mode if the protocol for the backend service is
|
|
|
|
|
# HTTP or HTTPS. You must specify exactly one of the following parameters:
|
|
|
|
|
# maxRate (except for regional managed instance groups), maxRatePerInstance, or
|
|
|
|
|
# maxRatePerEndpoint.
|
|
|
|
|
# HTTP, HTTP2, or HTTPS. You must specify exactly one of the following
|
|
|
|
|
# parameters: maxRate (except for regional managed instance groups),
|
|
|
|
|
# maxRatePerInstance, or maxRatePerEndpoint.
|
|
|
|
|
#
|
|
|
|
|
# - If the load balancing mode is UTILIZATION, the load is spread based on the
|
|
|
|
|
# backend utilization of instances in an instance group.
|
|
|
|
|
# You can use the UTILIZATION balancing mode if the loadBalancingScheme of the
|
|
|
|
|
# backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and
|
|
|
|
|
# the backends are instance groups. There are no restrictions on the backend
|
|
|
|
|
# service protocol.
|
|
|
|
|
# backend service is EXTERNAL (except Network Load Balancing),
|
|
|
|
|
# INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and the backends are instance
|
|
|
|
|
# groups. There are no restrictions on the backend service protocol.
|
|
|
|
|
# Corresponds to the JSON property `balancingMode`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :balancing_mode
|
|
|
|
@ -2339,7 +2340,8 @@ module Google
|
|
|
|
|
# available capacity. Valid range is 0.0 and [0.1,1.0]. You cannot configure a
|
|
|
|
|
# setting larger than 0 and smaller than 0.1. You cannot configure a setting of
|
|
|
|
|
# 0 when there is only one backend attached to the backend service.
|
|
|
|
|
# This cannot be used for internal load balancing.
|
|
|
|
|
# This cannot be used for Internal TCP/UDP Load Balancing and Network Load
|
|
|
|
|
# Balancing.
|
|
|
|
|
# Corresponds to the JSON property `capacityScaler`
|
|
|
|
|
# @return [Float]
|
|
|
|
|
attr_accessor :capacity_scaler
|
|
|
|
@ -2361,14 +2363,16 @@ module Google
|
|
|
|
|
# resource. The type of backend that a backend service supports depends on the
|
|
|
|
|
# backend service's loadBalancingScheme.
|
|
|
|
|
#
|
|
|
|
|
# - When the loadBalancingScheme for the backend service is EXTERNAL,
|
|
|
|
|
# INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, the backend can be either an
|
|
|
|
|
# instance group or a NEG. The backends on the backend service must be either
|
|
|
|
|
# all instance groups or all NEGs. You cannot mix instance group and NEG
|
|
|
|
|
# backends on the same backend service.
|
|
|
|
|
# - When the loadBalancingScheme for the backend service is INTERNAL, the
|
|
|
|
|
# backend must be an instance group in the same region as the backend service.
|
|
|
|
|
# NEGs are not supported.
|
|
|
|
|
# - When the loadBalancingScheme for the backend service is EXTERNAL (except
|
|
|
|
|
# Network Load Balancing), INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED , the
|
|
|
|
|
# backend can be either an instance group or a NEG. The backends on the backend
|
|
|
|
|
# service must be either all instance groups or all NEGs. You cannot mix
|
|
|
|
|
# instance group and NEG backends on the same backend service.
|
|
|
|
|
# - When the loadBalancingScheme for the backend service is EXTERNAL for Network
|
|
|
|
|
# Load Balancing or INTERNAL for Internal TCP/UDP Load Balancing, the backend
|
|
|
|
|
# must be an instance group. NEGs are not supported.
|
|
|
|
|
# For regional services, the backend must be in the same region as the backend
|
|
|
|
|
# service.
|
|
|
|
|
# You must use the fully-qualified URL (starting with https://www.googleapis.com/
|
|
|
|
|
# ) to specify the instance group or NEG. Partial URLs are not supported.
|
|
|
|
|
# Corresponds to the JSON property `group`
|
|
|
|
@ -2380,11 +2384,12 @@ module Google
|
|
|
|
|
# except for regional managed instance groups). If the backend's balancingMode
|
|
|
|
|
# is UTILIZATION, this is an optional parameter. If the backend's balancingMode
|
|
|
|
|
# is CONNECTION, and backend is attached to a backend service whose
|
|
|
|
|
# loadBalancingScheme is EXTERNAL, you must specify either this parameter,
|
|
|
|
|
# maxConnectionsPerInstance, or maxConnectionsPerEndpoint.
|
|
|
|
|
# Not available if the backend's balancingMode is RATE. If the
|
|
|
|
|
# loadBalancingScheme is INTERNAL, then maxConnections is not supported, even
|
|
|
|
|
# though the backend requires a balancing mode of CONNECTION.
|
|
|
|
|
# loadBalancingScheme is EXTERNAL (except Network Load Balancing), you must
|
|
|
|
|
# specify either this parameter, maxConnectionsPerInstance, or
|
|
|
|
|
# maxConnectionsPerEndpoint.
|
|
|
|
|
# Not available if the backend's balancingMode is RATE. Cannot be specified for
|
|
|
|
|
# Network Load Balancing or Internal TCP/UDP Load Balancing, even though those
|
|
|
|
|
# load balancers require a balancing mode of CONNECTION.
|
|
|
|
|
# Corresponds to the JSON property `maxConnections`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :max_connections
|
|
|
|
@ -2392,12 +2397,13 @@ module Google
|
|
|
|
|
# Defines a target maximum number of simultaneous connections for an endpoint of
|
|
|
|
|
# a NEG. This is multiplied by the number of endpoints in the NEG to implicitly
|
|
|
|
|
# calculate a maximum number of target maximum simultaneous connections for the
|
|
|
|
|
# NEG. If the backend's balancingMode is CONNECTION, and the backend is attached
|
|
|
|
|
# to a backend service whose loadBalancingScheme is EXTERNAL, you must specify
|
|
|
|
|
# either this parameter, maxConnections, or maxConnectionsPerInstance.
|
|
|
|
|
# Not available if the backend's balancingMode is RATE. Internal TCP/UDP load
|
|
|
|
|
# balancing does not support setting maxConnectionsPerEndpoint even though its
|
|
|
|
|
# backends require a balancing mode of CONNECTION.
|
|
|
|
|
# NEG. If the backend's balancingMode is CONNECTION, and backend is attached to
|
|
|
|
|
# a backend service whose loadBalancingScheme is EXTERNAL (except Network Load
|
|
|
|
|
# Balancing), you must specify either this parameter, maxConnections, or
|
|
|
|
|
# maxConnectionsPerInstance.
|
|
|
|
|
# Not available if the backend's balancingMode is RATE. Cannot be specified for
|
|
|
|
|
# Network Load Balancing or Internal TCP/UDP Load Balancing, even though those
|
|
|
|
|
# load balancers require a balancing mode of CONNECTION.
|
|
|
|
|
# Corresponds to the JSON property `maxConnectionsPerEndpoint`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :max_connections_per_endpoint
|
|
|
|
@ -2408,11 +2414,11 @@ module Google
|
|
|
|
|
# connections for the whole instance group. If the backend's balancingMode is
|
|
|
|
|
# UTILIZATION, this is an optional parameter. If the backend's balancingMode is
|
|
|
|
|
# CONNECTION, and backend is attached to a backend service whose
|
|
|
|
|
# loadBalancingScheme is EXTERNAL, you must specify either this parameter,
|
|
|
|
|
# maxConnections, or maxConnectionsPerEndpoint.
|
|
|
|
|
# Not available if the backend's balancingMode is RATE. Internal TCP/UDP load
|
|
|
|
|
# balancing does not support setting maxConnectionsPerInstance even though its
|
|
|
|
|
# backends require a balancing mode of CONNECTION.
|
|
|
|
|
# loadBalancingScheme is EXTERNAL (except Network Load Balancing), you must
|
|
|
|
|
# specify either this parameter, maxConnections, or maxConnectionsPerEndpoint.
|
|
|
|
|
# Not available if the backend's balancingMode is RATE. Cannot be specified for
|
|
|
|
|
# Network Load Balancing or Internal TCP/UDP Load Balancing, even though those
|
|
|
|
|
# load balancers require a balancing mode of CONNECTION.
|
|
|
|
|
# Corresponds to the JSON property `maxConnectionsPerInstance`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :max_connections_per_instance
|
|
|
|
@ -2504,6 +2510,11 @@ module Google
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :creation_timestamp
|
|
|
|
|
|
|
|
|
|
# Headers that the HTTP/S load balancer should add to proxied responses.
|
|
|
|
|
# Corresponds to the JSON property `customResponseHeaders`
|
|
|
|
|
# @return [Array<String>]
|
|
|
|
|
attr_accessor :custom_response_headers
|
|
|
|
|
|
|
|
|
|
# An optional textual description of the resource; provided by the client when
|
|
|
|
|
# the resource is created.
|
|
|
|
|
# Corresponds to the JSON property `description`
|
|
|
|
@ -2550,6 +2561,7 @@ module Google
|
|
|
|
|
@bucket_name = args[:bucket_name] if args.key?(:bucket_name)
|
|
|
|
|
@cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
|
|
|
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
|
|
|
@custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
|
|
|
|
|
@description = args[:description] if args.key?(:description)
|
|
|
|
|
@enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
|
|
|
|
|
@id = args[:id] if args.key?(:id)
|
|
|
|
@ -2563,6 +2575,55 @@ module Google
|
|
|
|
|
class BackendBucketCdnPolicy
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Specifies the cache setting for all responses from this backend. The possible
|
|
|
|
|
# values are:
|
|
|
|
|
# USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache
|
|
|
|
|
# content. Responses without these headers will not be cached at Google's edge,
|
|
|
|
|
# and will require a full trip to the origin on every request, potentially
|
|
|
|
|
# impacting performance and increasing load on the origin server.
|
|
|
|
|
# FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-
|
|
|
|
|
# cache" directives in Cache-Control response headers. Warning: this may result
|
|
|
|
|
# in Cloud CDN caching private, per-user (user identifiable) content.
|
|
|
|
|
# CACHE_ALL_STATIC Automatically cache static content, including common image
|
|
|
|
|
# formats, media (video and audio), and web assets (JavaScript and CSS).
|
|
|
|
|
# Requests and responses that are marked as uncacheable, as well as dynamic
|
|
|
|
|
# content (including HTML), will not be cached.
|
|
|
|
|
# Corresponds to the JSON property `cacheMode`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :cache_mode
|
|
|
|
|
|
|
|
|
|
# Specifies a separate client (e.g. browser client) TTL, separate from the TTL
|
|
|
|
|
# for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL
|
|
|
|
|
# for both Cloud CDN and the client-facing response. The maximum allowed value
|
|
|
|
|
# is 86400s (1 day).
|
|
|
|
|
# Corresponds to the JSON property `clientTtl`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :client_ttl
|
|
|
|
|
|
|
|
|
|
# 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).
|
|
|
|
|
# Setting a TTL of "0" means "always revalidate". The value of defaultTTL cannot
|
|
|
|
|
# be set to a value greater than that of maxTTL, but can be equal. When the
|
|
|
|
|
# cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set
|
|
|
|
|
# in all responses. The maximum allowed value is 31,622,400s (1 year), noting
|
|
|
|
|
# that infrequently accessed objects may be evicted from the cache before the
|
|
|
|
|
# defined TTL.
|
|
|
|
|
# Corresponds to the JSON property `defaultTtl`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :default_ttl
|
|
|
|
|
|
|
|
|
|
# Specifies the maximum allowed TTL for cached content served by this origin.
|
|
|
|
|
# Cache directives that attempt to set a max-age or s-maxage higher than this,
|
|
|
|
|
# or an Expires header more than maxTTL seconds in the future will be capped at
|
|
|
|
|
# the value of maxTTL, as if it were the value of an s-maxage Cache-Control
|
|
|
|
|
# directive. Headers sent to the client will not be modified. Setting a TTL of "
|
|
|
|
|
# 0" means "always revalidate". The maximum allowed value is 31,622,400s (1 year)
|
|
|
|
|
# , noting that infrequently accessed objects may be evicted from the cache
|
|
|
|
|
# before the defined TTL.
|
|
|
|
|
# Corresponds to the JSON property `maxTtl`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :max_ttl
|
|
|
|
|
|
|
|
|
|
# Maximum number of seconds the response to a signed URL request will be
|
|
|
|
|
# considered fresh. After this time period, the response will be revalidated
|
|
|
|
|
# before being served. Defaults to 1hr (3600s). When serving responses to signed
|
|
|
|
@ -2585,6 +2646,10 @@ module Google
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@cache_mode = args[:cache_mode] if args.key?(:cache_mode)
|
|
|
|
|
@client_ttl = args[:client_ttl] if args.key?(:client_ttl)
|
|
|
|
|
@default_ttl = args[:default_ttl] if args.key?(:default_ttl)
|
|
|
|
|
@max_ttl = args[:max_ttl] if args.key?(:max_ttl)
|
|
|
|
|
@signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
|
|
|
|
|
@signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
|
|
|
|
|
end
|
|
|
|
@ -2769,6 +2834,11 @@ module Google
|
|
|
|
|
# @return [Array<String>]
|
|
|
|
|
attr_accessor :custom_request_headers
|
|
|
|
|
|
|
|
|
|
# Headers that the HTTP/S load balancer should add to proxied responses.
|
|
|
|
|
# Corresponds to the JSON property `customResponseHeaders`
|
|
|
|
|
# @return [Array<String>]
|
|
|
|
|
attr_accessor :custom_response_headers
|
|
|
|
|
|
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
|
|
|
# create the resource.
|
|
|
|
|
# Corresponds to the JSON property `description`
|
|
|
|
@ -2782,13 +2852,14 @@ module Google
|
|
|
|
|
attr_accessor :enable_cdn
|
|
|
|
|
alias_method :enable_cdn?, :enable_cdn
|
|
|
|
|
|
|
|
|
|
# Applicable only to Failover for Internal TCP/UDP Load Balancing. On failover
|
|
|
|
|
# or failback, this field indicates whether connection draining will be honored.
|
|
|
|
|
# GCP has a fixed connection draining timeout of 10 minutes. A setting of true
|
|
|
|
|
# terminates existing TCP connections to the active pool during failover and
|
|
|
|
|
# failback, immediately draining traffic. A setting of false allows existing TCP
|
|
|
|
|
# connections to persist, even on VMs no longer in the active pool, for up to
|
|
|
|
|
# the duration of the connection draining timeout (10 minutes).
|
|
|
|
|
# Applicable only to Failover for Internal TCP/UDP Load Balancing and Network
|
|
|
|
|
# Load Balancing. On failover or failback, this field indicates whether
|
|
|
|
|
# connection draining will be honored. GCP has a fixed connection draining
|
|
|
|
|
# timeout of 10 minutes. A setting of true terminates existing TCP connections
|
|
|
|
|
# to the active pool during failover and failback, immediately draining traffic.
|
|
|
|
|
# A setting of false allows existing TCP connections to persist, even on VMs no
|
|
|
|
|
# longer in the active pool, for up to the duration of the connection draining
|
|
|
|
|
# timeout (10 minutes).
|
|
|
|
|
# Corresponds to the JSON property `failoverPolicy`
|
|
|
|
|
# @return [Google::Apis::ComputeV1::BackendServiceFailoverPolicy]
|
|
|
|
|
attr_accessor :failover_policy
|
|
|
|
@ -2833,11 +2904,11 @@ module Google
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :kind
|
|
|
|
|
|
|
|
|
|
# Specifies the load balancer type. Choose EXTERNAL for load balancers that
|
|
|
|
|
# receive traffic from external clients. Choose INTERNAL for Internal TCP/UDP
|
|
|
|
|
# Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing.
|
|
|
|
|
# Choose INTERNAL_SELF_MANAGED for Traffic Director. A backend service created
|
|
|
|
|
# for one type of load balancing cannot be used with another. For more
|
|
|
|
|
# Specifies the load balancer type. Choose EXTERNAL for external HTTP(S), SSL
|
|
|
|
|
# Proxy, TCP Proxy and Network Load Balancing. Choose INTERNAL for Internal TCP/
|
|
|
|
|
# UDP Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load
|
|
|
|
|
# Balancing. INTERNAL_SELF_MANAGED for Traffic Director. A backend service
|
|
|
|
|
# created for one type of load balancer cannot be used with another. For more
|
|
|
|
|
# information, refer to Choosing a load balancer.
|
|
|
|
|
# Corresponds to the JSON property `loadBalancingScheme`
|
|
|
|
|
# @return [String]
|
|
|
|
@ -2892,7 +2963,7 @@ module Google
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# The URL of the network to which this backend service belongs. This field can
|
|
|
|
|
# only be spcified when the load balancing scheme is set to INTERNAL.
|
|
|
|
|
# only be specified when the load balancing scheme is set to INTERNAL.
|
|
|
|
|
# Corresponds to the JSON property `network`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :network
|
|
|
|
@ -2913,11 +2984,12 @@ module Google
|
|
|
|
|
|
|
|
|
|
# A named port on a backend instance group representing the port for
|
|
|
|
|
# communication to the backend VMs in that group. Required when the
|
|
|
|
|
# loadBalancingScheme is EXTERNAL, INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED
|
|
|
|
|
# and the backends are instance groups. The named port must be defined on each
|
|
|
|
|
# backend instance group. This parameter has no meaning if the backends are NEGs.
|
|
|
|
|
# Must be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP
|
|
|
|
|
# Load Balancing).
|
|
|
|
|
# loadBalancingScheme is EXTERNAL (except Network Load Balancing),
|
|
|
|
|
# INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED and the backends are instance
|
|
|
|
|
# groups. The named port must be defined on each backend instance group. This
|
|
|
|
|
# parameter has no meaning if the backends are NEGs.
|
|
|
|
|
# Backend services for Internal TCP/UDP Load Balancing and Network Load
|
|
|
|
|
# Balancing require you omit port_name.
|
|
|
|
|
# Corresponds to the JSON property `portName`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :port_name
|
|
|
|
@ -2957,11 +3029,12 @@ module Google
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :self_link
|
|
|
|
|
|
|
|
|
|
# Type of session affinity to use. The default is NONE. Session affinity is not
|
|
|
|
|
# applicable if the --protocol is UDP.
|
|
|
|
|
# When the loadBalancingScheme is EXTERNAL, possible values are NONE, CLIENT_IP,
|
|
|
|
|
# or GENERATED_COOKIE. You can use GENERATED_COOKIE if the protocol is HTTP or
|
|
|
|
|
# HTTPS.
|
|
|
|
|
# Type of session affinity to use. The default is NONE.
|
|
|
|
|
# When the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the
|
|
|
|
|
# possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
|
|
|
|
|
# * For all other load balancers that use loadBalancingScheme=EXTERNAL, the
|
|
|
|
|
# possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use
|
|
|
|
|
# GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.
|
|
|
|
|
# When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP,
|
|
|
|
|
# CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
|
|
|
|
|
# When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED,
|
|
|
|
@ -2994,6 +3067,7 @@ module Google
|
|
|
|
|
@consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
|
|
|
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
|
|
|
@custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers)
|
|
|
|
|
@custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
|
|
|
|
|
@description = args[:description] if args.key?(:description)
|
|
|
|
|
@enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
|
|
|
|
|
@failover_policy = args[:failover_policy] if args.key?(:failover_policy)
|
|
|
|
@ -3153,6 +3227,55 @@ module Google
|
|
|
|
|
# @return [Google::Apis::ComputeV1::CacheKeyPolicy]
|
|
|
|
|
attr_accessor :cache_key_policy
|
|
|
|
|
|
|
|
|
|
# Specifies the cache setting for all responses from this backend. The possible
|
|
|
|
|
# values are:
|
|
|
|
|
# USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache
|
|
|
|
|
# content. Responses without these headers will not be cached at Google's edge,
|
|
|
|
|
# and will require a full trip to the origin on every request, potentially
|
|
|
|
|
# impacting performance and increasing load on the origin server.
|
|
|
|
|
# FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-
|
|
|
|
|
# cache" directives in Cache-Control response headers. Warning: this may result
|
|
|
|
|
# in Cloud CDN caching private, per-user (user identifiable) content.
|
|
|
|
|
# CACHE_ALL_STATIC Automatically cache static content, including common image
|
|
|
|
|
# formats, media (video and audio), and web assets (JavaScript and CSS).
|
|
|
|
|
# Requests and responses that are marked as uncacheable, as well as dynamic
|
|
|
|
|
# content (including HTML), will not be cached.
|
|
|
|
|
# Corresponds to the JSON property `cacheMode`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :cache_mode
|
|
|
|
|
|
|
|
|
|
# Specifies a separate client (e.g. browser client) TTL, separate from the TTL
|
|
|
|
|
# for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL
|
|
|
|
|
# for both Cloud CDN and the client-facing response. The maximum allowed value
|
|
|
|
|
# is 86400s (1 day).
|
|
|
|
|
# Corresponds to the JSON property `clientTtl`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :client_ttl
|
|
|
|
|
|
|
|
|
|
# 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).
|
|
|
|
|
# Setting a TTL of "0" means "always revalidate". The value of defaultTTL cannot
|
|
|
|
|
# be set to a value greater than that of maxTTL, but can be equal. When the
|
|
|
|
|
# cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set
|
|
|
|
|
# in all responses. The maximum allowed value is 31,622,400s (1 year), noting
|
|
|
|
|
# that infrequently accessed objects may be evicted from the cache before the
|
|
|
|
|
# defined TTL.
|
|
|
|
|
# Corresponds to the JSON property `defaultTtl`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :default_ttl
|
|
|
|
|
|
|
|
|
|
# Specifies the maximum allowed TTL for cached content served by this origin.
|
|
|
|
|
# Cache directives that attempt to set a max-age or s-maxage higher than this,
|
|
|
|
|
# or an Expires header more than maxTTL seconds in the future will be capped at
|
|
|
|
|
# the value of maxTTL, as if it were the value of an s-maxage Cache-Control
|
|
|
|
|
# directive. Headers sent to the client will not be modified. Setting a TTL of "
|
|
|
|
|
# 0" means "always revalidate". The maximum allowed value is 31,622,400s (1 year)
|
|
|
|
|
# , noting that infrequently accessed objects may be evicted from the cache
|
|
|
|
|
# before the defined TTL.
|
|
|
|
|
# Corresponds to the JSON property `maxTtl`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :max_ttl
|
|
|
|
|
|
|
|
|
|
# Maximum number of seconds the response to a signed URL request will be
|
|
|
|
|
# considered fresh. After this time period, the response will be revalidated
|
|
|
|
|
# before being served. Defaults to 1hr (3600s). When serving responses to signed
|
|
|
|
@ -3176,18 +3299,23 @@ module Google
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
|
|
|
|
|
@cache_mode = args[:cache_mode] if args.key?(:cache_mode)
|
|
|
|
|
@client_ttl = args[:client_ttl] if args.key?(:client_ttl)
|
|
|
|
|
@default_ttl = args[:default_ttl] if args.key?(:default_ttl)
|
|
|
|
|
@max_ttl = args[:max_ttl] if args.key?(:max_ttl)
|
|
|
|
|
@signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
|
|
|
|
|
@signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Applicable only to Failover for Internal TCP/UDP Load Balancing. On failover
|
|
|
|
|
# or failback, this field indicates whether connection draining will be honored.
|
|
|
|
|
# GCP has a fixed connection draining timeout of 10 minutes. A setting of true
|
|
|
|
|
# terminates existing TCP connections to the active pool during failover and
|
|
|
|
|
# failback, immediately draining traffic. A setting of false allows existing TCP
|
|
|
|
|
# connections to persist, even on VMs no longer in the active pool, for up to
|
|
|
|
|
# the duration of the connection draining timeout (10 minutes).
|
|
|
|
|
# Applicable only to Failover for Internal TCP/UDP Load Balancing and Network
|
|
|
|
|
# Load Balancing. On failover or failback, this field indicates whether
|
|
|
|
|
# connection draining will be honored. GCP has a fixed connection draining
|
|
|
|
|
# timeout of 10 minutes. A setting of true terminates existing TCP connections
|
|
|
|
|
# to the active pool during failover and failback, immediately draining traffic.
|
|
|
|
|
# A setting of false allows existing TCP connections to persist, even on VMs no
|
|
|
|
|
# longer in the active pool, for up to the duration of the connection draining
|
|
|
|
|
# timeout (10 minutes).
|
|
|
|
|
class BackendServiceFailoverPolicy
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
@ -3198,22 +3326,21 @@ module Google
|
|
|
|
|
attr_accessor :disable_connection_drain_on_failover
|
|
|
|
|
alias_method :disable_connection_drain_on_failover?, :disable_connection_drain_on_failover
|
|
|
|
|
|
|
|
|
|
# Applicable only to Failover for Internal TCP/UDP Load Balancing. If set to
|
|
|
|
|
# true, connections to the load balancer are dropped when all primary and all
|
|
|
|
|
# backup backend VMs are unhealthy. If set to false, connections are distributed
|
|
|
|
|
# among all primary VMs when all primary and all backup backend VMs are
|
|
|
|
|
# unhealthy.
|
|
|
|
|
# The default is false.
|
|
|
|
|
# Applicable only to Failover for Internal TCP/UDP Load Balancing and Network
|
|
|
|
|
# Load Balancing, If set to true, connections to the load balancer are dropped
|
|
|
|
|
# when all primary and all backup backend VMs are unhealthy.If set to false,
|
|
|
|
|
# connections are distributed among all primary VMs when all primary and all
|
|
|
|
|
# backup backend VMs are unhealthy. The default is false.
|
|
|
|
|
# Corresponds to the JSON property `dropTrafficIfUnhealthy`
|
|
|
|
|
# @return [Boolean]
|
|
|
|
|
attr_accessor :drop_traffic_if_unhealthy
|
|
|
|
|
alias_method :drop_traffic_if_unhealthy?, :drop_traffic_if_unhealthy
|
|
|
|
|
|
|
|
|
|
# Applicable only to Failover for Internal TCP/UDP Load Balancing. The value of
|
|
|
|
|
# the field must be in the range [0, 1]. If the value is 0, the load balancer
|
|
|
|
|
# performs a failover when the number of healthy primary VMs equals zero. For
|
|
|
|
|
# all other values, the load balancer performs a failover when the total number
|
|
|
|
|
# of healthy primary VMs is less than this ratio.
|
|
|
|
|
# Applicable only to Failover for Internal TCP/UDP Load Balancing and Network
|
|
|
|
|
# Load Balancing. The value of the field must be in the range [0, 1]. If the
|
|
|
|
|
# value is 0, the load balancer performs a failover when the number of healthy
|
|
|
|
|
# primary VMs equals zero. For all other values, the load balancer performs a
|
|
|
|
|
# failover when the total number of healthy primary VMs is less than this ratio.
|
|
|
|
|
# Corresponds to the JSON property `failoverRatio`
|
|
|
|
|
# @return [Float]
|
|
|
|
|
attr_accessor :failover_ratio
|
|
|
|
@ -6860,9 +6987,11 @@ module Google
|
|
|
|
|
# assigned. Methods for specifying an IP address:
|
|
|
|
|
# * IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in https://www.
|
|
|
|
|
# googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-
|
|
|
|
|
# name * Partial URL or by name, as in: * projects/project_id/regions/region/
|
|
|
|
|
# addresses/address-name * regions/region/addresses/address-name * global/
|
|
|
|
|
# addresses/address-name * address-name
|
|
|
|
|
# name * Partial URL or by name, as in:
|
|
|
|
|
# - projects/project_id/regions/region/addresses/address-name
|
|
|
|
|
# - regions/region/addresses/address-name
|
|
|
|
|
# - global/addresses/address-name
|
|
|
|
|
# - address-name
|
|
|
|
|
# The loadBalancingScheme and the forwarding rule's target determine the type of
|
|
|
|
|
# IP address that you can use. For detailed information, refer to [IP address
|
|
|
|
|
# specifications](/load-balancing/docs/forwarding-rule-concepts#
|
|
|
|
@ -6875,16 +7004,19 @@ module Google
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :ip_address
|
|
|
|
|
|
|
|
|
|
# The IP protocol to which this rule applies. For protocol forwarding, valid
|
|
|
|
|
# options are TCP, UDP, ESP, AH, SCTP or ICMP.
|
|
|
|
|
# For Internal TCP/UDP Load Balancing, the load balancing scheme is INTERNAL,
|
|
|
|
|
# and one of TCP or UDP are valid. For Traffic Director, the load balancing
|
|
|
|
|
# scheme is INTERNAL_SELF_MANAGED, and only TCPis valid. For Internal HTTP(S)
|
|
|
|
|
# Load Balancing, the load balancing scheme is INTERNAL_MANAGED, and only TCP is
|
|
|
|
|
# valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load
|
|
|
|
|
# balancing scheme is EXTERNAL and only TCP is valid. For Network TCP/UDP Load
|
|
|
|
|
# Balancing, the load balancing scheme is EXTERNAL, and one of TCP or UDP is
|
|
|
|
|
# valid.
|
|
|
|
|
# The IP protocol to which this rule applies.
|
|
|
|
|
# For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
|
|
|
|
|
# The valid IP protocols are different for different load balancing products:
|
|
|
|
|
# - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and
|
|
|
|
|
# one of TCP, UDP or ALL is valid.
|
|
|
|
|
# - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and
|
|
|
|
|
# only TCP is valid.
|
|
|
|
|
# - Internal HTTP(S) Load Balancing: The load balancing scheme is
|
|
|
|
|
# INTERNAL_MANAGED, and only TCP is valid.
|
|
|
|
|
# - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme
|
|
|
|
|
# is EXTERNAL and only TCP is valid.
|
|
|
|
|
# - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of
|
|
|
|
|
# TCP or UDP is valid.
|
|
|
|
|
# Corresponds to the JSON property `IPProtocol`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :ip_protocol
|
|
|
|
@ -6909,9 +7041,9 @@ module Google
|
|
|
|
|
attr_accessor :allow_global_access
|
|
|
|
|
alias_method :allow_global_access?, :allow_global_access
|
|
|
|
|
|
|
|
|
|
# This field is only used for INTERNAL load balancing.
|
|
|
|
|
# For internal load balancing, this field identifies the BackendService resource
|
|
|
|
|
# to receive the matched traffic.
|
|
|
|
|
# Identifies the backend service to which the forwarding rule sends traffic.
|
|
|
|
|
# Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must
|
|
|
|
|
# be omitted for all other load balancer types.
|
|
|
|
|
# Corresponds to the JSON property `backendService`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :backend_service
|
|
|
|
@ -6973,13 +7105,12 @@ module Google
|
|
|
|
|
# - EXTERNAL is used for:
|
|
|
|
|
# - Classic Cloud VPN gateways
|
|
|
|
|
# - Protocol forwarding to VMs from an external IP address
|
|
|
|
|
# - The following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/
|
|
|
|
|
# UDP
|
|
|
|
|
# - HTTP(S), SSL Proxy, TCP Proxy, and Network Load Balancing
|
|
|
|
|
# - INTERNAL is used for:
|
|
|
|
|
# - Protocol forwarding to VMs from an internal IP address
|
|
|
|
|
# - Internal TCP/UDP load balancers
|
|
|
|
|
# - Internal TCP/UDP Load Balancing
|
|
|
|
|
# - INTERNAL_MANAGED is used for:
|
|
|
|
|
# - Internal HTTP(S) load balancers
|
|
|
|
|
# - Internal HTTP(S) Load Balancing
|
|
|
|
|
# - INTERNAL_SELF_MANAGED is used for:
|
|
|
|
|
# - Traffic Director
|
|
|
|
|
# For more information about forwarding rules, refer to Forwarding rule concepts.
|
|
|
|
@ -7018,9 +7149,9 @@ module Google
|
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
|
|
# This field is not used for external load balancing.
|
|
|
|
|
# For internal load balancing, this field identifies the network that the load
|
|
|
|
|
# balanced IP should belong to for this Forwarding Rule. If this field is not
|
|
|
|
|
# specified, the default network will be used.
|
|
|
|
|
# For Internal TCP/UDP Load Balancing, this field identifies the network that
|
|
|
|
|
# the load balanced IP should belong to for this Forwarding Rule. If this field
|
|
|
|
|
# is not specified, the default network will be used.
|
|
|
|
|
# For Private Service Connect forwarding rules that forward traffic to Google
|
|
|
|
|
# APIs, a network must be provided.
|
|
|
|
|
# Corresponds to the JSON property `network`
|
|
|
|
@ -7037,19 +7168,17 @@ module Google
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :network_tier
|
|
|
|
|
|
|
|
|
|
# When the load balancing scheme is EXTERNAL, INTERNAL_SELF_MANAGED and
|
|
|
|
|
# INTERNAL_MANAGED, you can specify a port_range. Use with a forwarding rule
|
|
|
|
|
# that points to a target proxy or a target pool. Do not use with a forwarding
|
|
|
|
|
# rule that points to a backend service. This field is used along with the
|
|
|
|
|
# target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy,
|
|
|
|
|
# TargetTcpProxy, TargetGrpcProxy, TargetVpnGateway, TargetPool, TargetInstance.
|
|
|
|
|
# Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed
|
|
|
|
|
# to ports in the specified range will be forwarded to target. Forwarding rules
|
|
|
|
|
# with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
|
|
|
|
|
# This field can be used only if: * Load balancing scheme is one of EXTERNAL,
|
|
|
|
|
# INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP,
|
|
|
|
|
# or SCTP.
|
|
|
|
|
# Packets addressed to ports in the specified range will be forwarded to target
|
|
|
|
|
# or backend_service. You can only use one of ports, port_range, or allPorts.
|
|
|
|
|
# The three are mutually exclusive. Forwarding rules with the same [IPAddress,
|
|
|
|
|
# IPProtocol] pair must have disjoint port ranges.
|
|
|
|
|
# Some types of forwarding target have constraints on the acceptable ports:
|
|
|
|
|
# - TargetHttpProxy: 80, 8080
|
|
|
|
|
# - TargetHttpsProxy: 443
|
|
|
|
|
# - TargetGrpcProxy: Any ports
|
|
|
|
|
# - TargetGrpcProxy: no constraints
|
|
|
|
|
# - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
|
|
|
|
|
# 1883, 5222
|
|
|
|
|
# - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
|
|
|
|
@ -7059,16 +7188,17 @@ module Google
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :port_range
|
|
|
|
|
|
|
|
|
|
# This field is used along with the backend_service field for internal load
|
|
|
|
|
# balancing.
|
|
|
|
|
# When the load balancing scheme is INTERNAL, a list of ports can be configured,
|
|
|
|
|
# for example, ['80'], ['8000','9000']. Only packets addressed to these ports
|
|
|
|
|
# are forwarded to the backends configured with the forwarding rule.
|
|
|
|
|
# If the forwarding rule's loadBalancingScheme is INTERNAL, you can specify
|
|
|
|
|
# ports in one of the following ways:
|
|
|
|
|
# * A list of up to five ports, which can be non-contiguous * Keyword ALL, which
|
|
|
|
|
# causes the forwarding rule to forward traffic on any port of the forwarding
|
|
|
|
|
# rule's protocol.
|
|
|
|
|
# The ports field is only supported when the forwarding rule references a
|
|
|
|
|
# backend_service directly. Supported load balancing products are Internal TCP/
|
|
|
|
|
# UDP Load Balancing and Network Load Balancing. Only packets addressed to the
|
|
|
|
|
# specified list of ports are forwarded to backends.
|
|
|
|
|
# You can only use one of ports and port_range, or allPorts. The three are
|
|
|
|
|
# mutually exclusive.
|
|
|
|
|
# You can specify a list of up to five ports, which can be non-contiguous.
|
|
|
|
|
# For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not
|
|
|
|
|
# specify ports.
|
|
|
|
|
# For more information, see [Port specifications](/load-balancing/docs/
|
|
|
|
|
# forwarding-rule-concepts#port_specifications).
|
|
|
|
|
# Corresponds to the JSON property `ports`
|
|
|
|
|
# @return [Array<String>]
|
|
|
|
|
attr_accessor :ports
|
|
|
|
@ -8868,6 +8998,16 @@ module Google
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :port
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
# Corresponds to the JSON property `weight`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :weight
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
# Corresponds to the JSON property `weightError`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :weight_error
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
@ -8879,6 +9019,8 @@ module Google
|
|
|
|
|
@instance = args[:instance] if args.key?(:instance)
|
|
|
|
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
|
|
|
|
@port = args[:port] if args.key?(:port)
|
|
|
|
|
@weight = args[:weight] if args.key?(:weight)
|
|
|
|
|
@weight_error = args[:weight_error] if args.key?(:weight_error)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
@ -14267,6 +14409,13 @@ module Google
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :kind
|
|
|
|
|
|
|
|
|
|
# Maximum Transmission Unit (MTU), in bytes, of packets passing through this
|
|
|
|
|
# interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the
|
|
|
|
|
# value will default to 1440.
|
|
|
|
|
# Corresponds to the JSON property `mtu`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :mtu
|
|
|
|
|
|
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
|
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
|
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
|
|
@ -14392,6 +14541,7 @@ module Google
|
|
|
|
|
@id = args[:id] if args.key?(:id)
|
|
|
|
|
@interconnect = args[:interconnect] if args.key?(:interconnect)
|
|
|
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
|
|
|
@mtu = args[:mtu] if args.key?(:mtu)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@operational_status = args[:operational_status] if args.key?(:operational_status)
|
|
|
|
|
@pairing_key = args[:pairing_key] if args.key?(:pairing_key)
|
|
|
|
@ -15860,6 +16010,39 @@ module Google
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class LocalDisk
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Specifies the number of such disks.
|
|
|
|
|
# Corresponds to the JSON property `diskCount`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :disk_count
|
|
|
|
|
|
|
|
|
|
# Specifies the size of the disk in base-2 GB.
|
|
|
|
|
# Corresponds to the JSON property `diskSizeGb`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :disk_size_gb
|
|
|
|
|
|
|
|
|
|
# Specifies the desired disk type on the node. This disk type must be a local
|
|
|
|
|
# storage type (e.g.: local-ssd). Note that for nodeTemplates, this should be
|
|
|
|
|
# the name of the disk type and not its URL.
|
|
|
|
|
# Corresponds to the JSON property `diskType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :disk_type
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@disk_count = args[:disk_count] if args.key?(:disk_count)
|
|
|
|
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
|
|
|
|
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Specifies what kind of log the caller must write
|
|
|
|
|
class LogConfig
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
@ -17074,8 +17257,9 @@ module Google
|
|
|
|
|
# Represents a collection of network endpoints.
|
|
|
|
|
# A network endpoint group (NEG) defines how a set of endpoints should be
|
|
|
|
|
# reached, whether they are reachable, and where they are located. For more
|
|
|
|
|
# information about using NEGs, see Setting up internet NEGs, Setting up zonal
|
|
|
|
|
# NEGs, or Setting up serverless NEGs. (== resource_for `$api_version`.
|
|
|
|
|
# information about using NEGs, see Setting up external HTTP(S) Load Balancing
|
|
|
|
|
# with internet NEGs, Setting up zonal NEGs, or Setting up external HTTP(S)
|
|
|
|
|
# Load Balancing with serverless NEGs. (== resource_for `$api_version`.
|
|
|
|
|
# networkEndpointGroups ==) (== resource_for `$api_version`.
|
|
|
|
|
# globalNetworkEndpointGroups ==) (== resource_for `$api_version`.
|
|
|
|
|
# regionNetworkEndpointGroups ==)
|
|
|
|
@ -17943,6 +18127,11 @@ module Google
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :network_ip
|
|
|
|
|
|
|
|
|
|
# The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
|
|
|
|
|
# Corresponds to the JSON property `nicType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :nic_type
|
|
|
|
|
|
|
|
|
|
# The URL of the Subnetwork resource for this instance. If the network resource
|
|
|
|
|
# is in legacy mode, do not specify this field. If the network is in auto subnet
|
|
|
|
|
# mode, specifying the subnetwork is optional. If the network is in custom
|
|
|
|
@ -17970,6 +18159,7 @@ module Google
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@network = args[:network] if args.key?(:network)
|
|
|
|
|
@network_ip = args[:network_ip] if args.key?(:network_ip)
|
|
|
|
|
@nic_type = args[:nic_type] if args.key?(:nic_type)
|
|
|
|
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
@ -18363,6 +18553,12 @@ module Google
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :maintenance_policy
|
|
|
|
|
|
|
|
|
|
# Time window specified for daily maintenance operations. GCE's internal
|
|
|
|
|
# maintenance will be performed within this window.
|
|
|
|
|
# Corresponds to the JSON property `maintenanceWindow`
|
|
|
|
|
# @return [Google::Apis::ComputeV1::NodeGroupMaintenanceWindow]
|
|
|
|
|
attr_accessor :maintenance_window
|
|
|
|
|
|
|
|
|
|
# The name of the resource, provided by the client when initially creating the
|
|
|
|
|
# resource. The resource name must be 1-63 characters long, and comply with
|
|
|
|
|
# RFC1035. Specifically, the name must be 1-63 characters long and match the
|
|
|
|
@ -18413,6 +18609,7 @@ module Google
|
|
|
|
|
@id = args[:id] if args.key?(:id)
|
|
|
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
|
|
|
@maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
|
|
|
|
|
@maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@node_template = args[:node_template] if args.key?(:node_template)
|
|
|
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
|
|
@ -18697,15 +18894,56 @@ module Google
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Time window specified for daily maintenance operations. GCE's internal
|
|
|
|
|
# maintenance will be performed within this window.
|
|
|
|
|
class NodeGroupMaintenanceWindow
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# A Duration represents a fixed-length span of time represented as a count of
|
|
|
|
|
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
|
|
|
|
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
|
|
|
|
# 000 years.
|
|
|
|
|
# Corresponds to the JSON property `maintenanceDuration`
|
|
|
|
|
# @return [Google::Apis::ComputeV1::Duration]
|
|
|
|
|
attr_accessor :maintenance_duration
|
|
|
|
|
|
|
|
|
|
# Start time of the window. This must be in UTC format that resolves to one of
|
|
|
|
|
# 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:
|
|
|
|
|
# 00 are valid.
|
|
|
|
|
# Corresponds to the JSON property `startTime`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :start_time
|
|
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
|
update!(**args)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@maintenance_duration = args[:maintenance_duration] if args.key?(:maintenance_duration)
|
|
|
|
|
@start_time = args[:start_time] if args.key?(:start_time)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
class NodeGroupNode
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
# Accelerators for this node.
|
|
|
|
|
# Corresponds to the JSON property `accelerators`
|
|
|
|
|
# @return [Array<Google::Apis::ComputeV1::AcceleratorConfig>]
|
|
|
|
|
attr_accessor :accelerators
|
|
|
|
|
|
|
|
|
|
# CPU overcommit.
|
|
|
|
|
# Corresponds to the JSON property `cpuOvercommitType`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :cpu_overcommit_type
|
|
|
|
|
|
|
|
|
|
# Local disk configurations.
|
|
|
|
|
# Corresponds to the JSON property `disks`
|
|
|
|
|
# @return [Array<Google::Apis::ComputeV1::LocalDisk>]
|
|
|
|
|
attr_accessor :disks
|
|
|
|
|
|
|
|
|
|
# Instances scheduled on this node.
|
|
|
|
|
# Corresponds to the JSON property `instances`
|
|
|
|
|
# @return [Array<String>]
|
|
|
|
@ -18742,7 +18980,9 @@ module Google
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@accelerators = args[:accelerators] if args.key?(:accelerators)
|
|
|
|
|
@cpu_overcommit_type = args[:cpu_overcommit_type] if args.key?(:cpu_overcommit_type)
|
|
|
|
|
@disks = args[:disks] if args.key?(:disks)
|
|
|
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
|
@node_type = args[:node_type] if args.key?(:node_type)
|
|
|
|
@ -19026,6 +19266,11 @@ module Google
|
|
|
|
|
class NodeTemplate
|
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
# Corresponds to the JSON property `accelerators`
|
|
|
|
|
# @return [Array<Google::Apis::ComputeV1::AcceleratorConfig>]
|
|
|
|
|
attr_accessor :accelerators
|
|
|
|
|
|
|
|
|
|
# CPU overcommit.
|
|
|
|
|
# Corresponds to the JSON property `cpuOvercommitType`
|
|
|
|
|
# @return [String]
|
|
|
|
@ -19042,6 +19287,11 @@ module Google
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :description
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
# Corresponds to the JSON property `disks`
|
|
|
|
|
# @return [Array<Google::Apis::ComputeV1::LocalDisk>]
|
|
|
|
|
attr_accessor :disks
|
|
|
|
|
|
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
|
|
|
# defined by the server.
|
|
|
|
|
# Corresponds to the JSON property `id`
|
|
|
|
@ -19121,9 +19371,11 @@ module Google
|
|
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@accelerators = args[:accelerators] if args.key?(:accelerators)
|
|
|
|
|
@cpu_overcommit_type = args[:cpu_overcommit_type] if args.key?(:cpu_overcommit_type)
|
|
|
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
|
|
|
@description = args[:description] if args.key?(:description)
|
|
|
|
|
@disks = args[:disks] if args.key?(:disks)
|
|
|
|
|
@id = args[:id] if args.key?(:id)
|
|
|
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
@ -24993,8 +25245,8 @@ module Google
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :description
|
|
|
|
|
|
|
|
|
|
# The destination range of outgoing packets that this route applies to. Only
|
|
|
|
|
# IPv4 is supported.
|
|
|
|
|
# The destination range of outgoing packets that this route applies to. Both
|
|
|
|
|
# IPv4 and IPv6 are supported.
|
|
|
|
|
# Corresponds to the JSON property `destRange`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :dest_range
|
|
|
|
@ -26524,6 +26776,12 @@ module Google
|
|
|
|
|
attr_accessor :automatic_restart
|
|
|
|
|
alias_method :automatic_restart?, :automatic_restart
|
|
|
|
|
|
|
|
|
|
# An opaque location hint used to place the instance close to other resources.
|
|
|
|
|
# This field is for use by internal tools that use the public API.
|
|
|
|
|
# Corresponds to the JSON property `locationHint`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :location_hint
|
|
|
|
|
|
|
|
|
|
# The minimum number of virtual CPUs this instance will consume when running on
|
|
|
|
|
# a sole-tenant node.
|
|
|
|
|
# Corresponds to the JSON property `minNodeCpus`
|
|
|
|
@ -26560,6 +26818,7 @@ module Google
|
|
|
|
|
# Update properties of this object
|
|
|
|
|
def update!(**args)
|
|
|
|
|
@automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
|
|
|
|
|
@location_hint = args[:location_hint] if args.key?(:location_hint)
|
|
|
|
|
@min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
|
|
|
|
|
@node_affinities = args[:node_affinities] if args.key?(:node_affinities)
|
|
|
|
|
@on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
|
|
|
|
@ -26916,7 +27175,7 @@ module Google
|
|
|
|
|
# An integer indicating the priority of a rule in the list. The priority must be
|
|
|
|
|
# a positive value between 0 and 2147483647. Rules are evaluated from highest to
|
|
|
|
|
# lowest priority where 0 is the highest priority and 2147483647 is the lowest
|
|
|
|
|
# prority.
|
|
|
|
|
# priority.
|
|
|
|
|
# Corresponds to the JSON property `priority`
|
|
|
|
|
# @return [Fixnum]
|
|
|
|
|
attr_accessor :priority
|
|
|
|
@ -28688,12 +28947,14 @@ module Google
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :self_link
|
|
|
|
|
|
|
|
|
|
# [Output Only] The state of the subnetwork, which can be one of READY or
|
|
|
|
|
# DRAINING. A subnetwork that is READY is ready to be used. The state of
|
|
|
|
|
# DRAINING is only applicable to subnetworks that have the purpose set to
|
|
|
|
|
# [Output Only] The state of the subnetwork, which can be one of the following
|
|
|
|
|
# values: READY: Subnetwork is created and ready to use DRAINING: only
|
|
|
|
|
# applicable to subnetworks that have the purpose set to
|
|
|
|
|
# INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load
|
|
|
|
|
# balancer are being drained. A subnetwork that is draining cannot be used or
|
|
|
|
|
# modified until it reaches a status of READY.
|
|
|
|
|
# modified until it reaches a status of READY CREATING: Subnetwork is
|
|
|
|
|
# provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is
|
|
|
|
|
# being updated
|
|
|
|
|
# Corresponds to the JSON property `state`
|
|
|
|
|
# @return [String]
|
|
|
|
|
attr_accessor :state
|
|
|
|
|