diff --git a/api_names_out.yaml b/api_names_out.yaml index a1f4659a1..8afaa7fb7 100644 --- a/api_names_out.yaml +++ b/api_names_out.yaml @@ -47081,6 +47081,8 @@ "/compute:v1/BackendBucket/bucketName": bucket_name "/compute:v1/BackendBucket/cdnPolicy": cdn_policy "/compute:v1/BackendBucket/creationTimestamp": creation_timestamp +"/compute:v1/BackendBucket/customResponseHeaders": custom_response_headers +"/compute:v1/BackendBucket/customResponseHeaders/custom_response_header": custom_response_header "/compute:v1/BackendBucket/description": description "/compute:v1/BackendBucket/enableCdn": enable_cdn "/compute:v1/BackendBucket/id": id @@ -47088,6 +47090,10 @@ "/compute:v1/BackendBucket/name": name "/compute:v1/BackendBucket/selfLink": self_link "/compute:v1/BackendBucketCdnPolicy": backend_bucket_cdn_policy +"/compute:v1/BackendBucketCdnPolicy/cacheMode": cache_mode +"/compute:v1/BackendBucketCdnPolicy/clientTtl": client_ttl +"/compute:v1/BackendBucketCdnPolicy/defaultTtl": default_ttl +"/compute:v1/BackendBucketCdnPolicy/maxTtl": max_ttl "/compute:v1/BackendBucketCdnPolicy/signedUrlCacheMaxAgeSec": signed_url_cache_max_age_sec "/compute:v1/BackendBucketCdnPolicy/signedUrlKeyNames": signed_url_key_names "/compute:v1/BackendBucketCdnPolicy/signedUrlKeyNames/signed_url_key_name": signed_url_key_name @@ -47116,6 +47122,8 @@ "/compute:v1/BackendService/creationTimestamp": creation_timestamp "/compute:v1/BackendService/customRequestHeaders": custom_request_headers "/compute:v1/BackendService/customRequestHeaders/custom_request_header": custom_request_header +"/compute:v1/BackendService/customResponseHeaders": custom_response_headers +"/compute:v1/BackendService/customResponseHeaders/custom_response_header": custom_response_header "/compute:v1/BackendService/description": description "/compute:v1/BackendService/enableCDN": enable_cdn "/compute:v1/BackendService/failoverPolicy": failover_policy @@ -47158,6 +47166,10 @@ "/compute:v1/BackendServiceAggregatedList/warning/message": message "/compute:v1/BackendServiceCdnPolicy": backend_service_cdn_policy "/compute:v1/BackendServiceCdnPolicy/cacheKeyPolicy": cache_key_policy +"/compute:v1/BackendServiceCdnPolicy/cacheMode": cache_mode +"/compute:v1/BackendServiceCdnPolicy/clientTtl": client_ttl +"/compute:v1/BackendServiceCdnPolicy/defaultTtl": default_ttl +"/compute:v1/BackendServiceCdnPolicy/maxTtl": max_ttl "/compute:v1/BackendServiceCdnPolicy/signedUrlCacheMaxAgeSec": signed_url_cache_max_age_sec "/compute:v1/BackendServiceCdnPolicy/signedUrlKeyNames": signed_url_key_names "/compute:v1/BackendServiceCdnPolicy/signedUrlKeyNames/signed_url_key_name": signed_url_key_name @@ -47840,6 +47852,8 @@ "/compute:v1/HealthStatus/instance": instance "/compute:v1/HealthStatus/ipAddress": ip_address "/compute:v1/HealthStatus/port": port +"/compute:v1/HealthStatus/weight": weight +"/compute:v1/HealthStatus/weightError": weight_error "/compute:v1/HealthStatusForNetworkEndpoint": health_status_for_network_endpoint "/compute:v1/HealthStatusForNetworkEndpoint/backendService": backend_service "/compute:v1/HealthStatusForNetworkEndpoint/forwardingRule": forwarding_rule @@ -48515,6 +48529,7 @@ "/compute:v1/InterconnectAttachment/id": id "/compute:v1/InterconnectAttachment/interconnect": interconnect "/compute:v1/InterconnectAttachment/kind": kind +"/compute:v1/InterconnectAttachment/mtu": mtu "/compute:v1/InterconnectAttachment/name": name "/compute:v1/InterconnectAttachment/operationalStatus": operational_status "/compute:v1/InterconnectAttachment/pairingKey": pairing_key @@ -48707,6 +48722,10 @@ "/compute:v1/LicensesListResponse/warning/data/datum/key": key "/compute:v1/LicensesListResponse/warning/data/datum/value": value "/compute:v1/LicensesListResponse/warning/message": message +"/compute:v1/LocalDisk": local_disk +"/compute:v1/LocalDisk/diskCount": disk_count +"/compute:v1/LocalDisk/diskSizeGb": disk_size_gb +"/compute:v1/LocalDisk/diskType": disk_type "/compute:v1/LogConfig": log_config "/compute:v1/LogConfig/cloudAudit": cloud_audit "/compute:v1/LogConfig/counter": counter @@ -48956,6 +48975,7 @@ "/compute:v1/NetworkInterface/name": name "/compute:v1/NetworkInterface/network": network "/compute:v1/NetworkInterface/networkIP": network_ip +"/compute:v1/NetworkInterface/nicType": nic_type "/compute:v1/NetworkInterface/subnetwork": subnetwork "/compute:v1/NetworkList": network_list "/compute:v1/NetworkList/id": id @@ -49002,6 +49022,7 @@ "/compute:v1/NodeGroup/id": id "/compute:v1/NodeGroup/kind": kind "/compute:v1/NodeGroup/maintenancePolicy": maintenance_policy +"/compute:v1/NodeGroup/maintenanceWindow": maintenance_window "/compute:v1/NodeGroup/name": name "/compute:v1/NodeGroup/nodeTemplate": node_template "/compute:v1/NodeGroup/selfLink": self_link @@ -49042,8 +49063,15 @@ "/compute:v1/NodeGroupList/warning/data/datum/key": key "/compute:v1/NodeGroupList/warning/data/datum/value": value "/compute:v1/NodeGroupList/warning/message": message +"/compute:v1/NodeGroupMaintenanceWindow": node_group_maintenance_window +"/compute:v1/NodeGroupMaintenanceWindow/maintenanceDuration": maintenance_duration +"/compute:v1/NodeGroupMaintenanceWindow/startTime": start_time "/compute:v1/NodeGroupNode": node_group_node +"/compute:v1/NodeGroupNode/accelerators": accelerators +"/compute:v1/NodeGroupNode/accelerators/accelerator": accelerator "/compute:v1/NodeGroupNode/cpuOvercommitType": cpu_overcommit_type +"/compute:v1/NodeGroupNode/disks": disks +"/compute:v1/NodeGroupNode/disks/disk": disk "/compute:v1/NodeGroupNode/instances": instances "/compute:v1/NodeGroupNode/instances/instance": instance "/compute:v1/NodeGroupNode/name": name @@ -49083,9 +49111,13 @@ "/compute:v1/NodeGroupsSetNodeTemplateRequest": node_groups_set_node_template_request "/compute:v1/NodeGroupsSetNodeTemplateRequest/nodeTemplate": node_template "/compute:v1/NodeTemplate": node_template +"/compute:v1/NodeTemplate/accelerators": accelerators +"/compute:v1/NodeTemplate/accelerators/accelerator": accelerator "/compute:v1/NodeTemplate/cpuOvercommitType": cpu_overcommit_type "/compute:v1/NodeTemplate/creationTimestamp": creation_timestamp "/compute:v1/NodeTemplate/description": description +"/compute:v1/NodeTemplate/disks": disks +"/compute:v1/NodeTemplate/disks/disk": disk "/compute:v1/NodeTemplate/id": id "/compute:v1/NodeTemplate/kind": kind "/compute:v1/NodeTemplate/name": name @@ -50024,6 +50056,7 @@ "/compute:v1/SSLHealthCheck/response": response "/compute:v1/Scheduling": scheduling "/compute:v1/Scheduling/automaticRestart": automatic_restart +"/compute:v1/Scheduling/locationHint": location_hint "/compute:v1/Scheduling/minNodeCpus": min_node_cpus "/compute:v1/Scheduling/nodeAffinities": node_affinities "/compute:v1/Scheduling/nodeAffinities/node_affinity": node_affinity diff --git a/generated/google/apis/compute_v1.rb b/generated/google/apis/compute_v1.rb index d939667cb..24ad46d7e 100644 --- a/generated/google/apis/compute_v1.rb +++ b/generated/google/apis/compute_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/compute/docs/reference/latest/ module ComputeV1 VERSION = 'V1' - REVISION = '20201102' + REVISION = '20201122' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/compute_v1/classes.rb b/generated/google/apis/compute_v1/classes.rb index c061807cc..3b56974cf 100644 --- a/generated/google/apis/compute_v1/classes.rb +++ b/generated/google/apis/compute_v1/classes.rb @@ -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] 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] + 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] 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] + 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] 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] + 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] + attr_accessor :disks + # Instances scheduled on this node. # Corresponds to the JSON property `instances` # @return [Array] @@ -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] + 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] + 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 diff --git a/generated/google/apis/compute_v1/representations.rb b/generated/google/apis/compute_v1/representations.rb index 096c89fde..dd06fd6a0 100644 --- a/generated/google/apis/compute_v1/representations.rb +++ b/generated/google/apis/compute_v1/representations.rb @@ -1996,6 +1996,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class LocalDisk + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class LogConfig class Representation < Google::Apis::Core::JsonRepresentation; end @@ -2398,6 +2404,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class NodeGroupMaintenanceWindow + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class NodeGroupNode class Representation < Google::Apis::Core::JsonRepresentation; end @@ -5333,6 +5345,7 @@ module Google property :cdn_policy, as: 'cdnPolicy', class: Google::Apis::ComputeV1::BackendBucketCdnPolicy, decorator: Google::Apis::ComputeV1::BackendBucketCdnPolicy::Representation property :creation_timestamp, as: 'creationTimestamp' + collection :custom_response_headers, as: 'customResponseHeaders' property :description, as: 'description' property :enable_cdn, as: 'enableCdn' property :id, :numeric_string => true, as: 'id' @@ -5345,6 +5358,10 @@ module Google class BackendBucketCdnPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation + property :cache_mode, as: 'cacheMode' + property :client_ttl, as: 'clientTtl' + property :default_ttl, as: 'defaultTtl' + property :max_ttl, as: 'maxTtl' property :signed_url_cache_max_age_sec, :numeric_string => true, as: 'signedUrlCacheMaxAgeSec' collection :signed_url_key_names, as: 'signedUrlKeyNames' end @@ -5398,6 +5415,7 @@ module Google property :creation_timestamp, as: 'creationTimestamp' collection :custom_request_headers, as: 'customRequestHeaders' + collection :custom_response_headers, as: 'customResponseHeaders' property :description, as: 'description' property :enable_cdn, as: 'enableCDN' property :failover_policy, as: 'failoverPolicy', class: Google::Apis::ComputeV1::BackendServiceFailoverPolicy, decorator: Google::Apis::ComputeV1::BackendServiceFailoverPolicy::Representation @@ -5467,6 +5485,10 @@ module Google class Representation < Google::Apis::Core::JsonRepresentation property :cache_key_policy, as: 'cacheKeyPolicy', class: Google::Apis::ComputeV1::CacheKeyPolicy, decorator: Google::Apis::ComputeV1::CacheKeyPolicy::Representation + property :cache_mode, as: 'cacheMode' + property :client_ttl, as: 'clientTtl' + property :default_ttl, as: 'defaultTtl' + property :max_ttl, as: 'maxTtl' property :signed_url_cache_max_age_sec, :numeric_string => true, as: 'signedUrlCacheMaxAgeSec' collection :signed_url_key_names, as: 'signedUrlKeyNames' end @@ -6808,6 +6830,8 @@ module Google property :instance, as: 'instance' property :ip_address, as: 'ipAddress' property :port, as: 'port' + property :weight, as: 'weight' + property :weight_error, as: 'weightError' end end @@ -8125,6 +8149,7 @@ module Google property :id, :numeric_string => true, as: 'id' property :interconnect, as: 'interconnect' property :kind, as: 'kind' + property :mtu, as: 'mtu' property :name, as: 'name' property :operational_status, as: 'operationalStatus' property :pairing_key, as: 'pairingKey' @@ -8518,6 +8543,15 @@ module Google end end + class LocalDisk + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :disk_count, as: 'diskCount' + property :disk_size_gb, as: 'diskSizeGb' + property :disk_type, as: 'diskType' + end + end + class LogConfig # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -9055,6 +9089,7 @@ module Google property :name, as: 'name' property :network, as: 'network' property :network_ip, as: 'networkIP' + property :nic_type, as: 'nicType' property :subnetwork, as: 'subnetwork' end end @@ -9152,6 +9187,8 @@ module Google property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :maintenance_policy, as: 'maintenancePolicy' + property :maintenance_window, as: 'maintenanceWindow', class: Google::Apis::ComputeV1::NodeGroupMaintenanceWindow, decorator: Google::Apis::ComputeV1::NodeGroupMaintenanceWindow::Representation + property :name, as: 'name' property :node_template, as: 'nodeTemplate' property :self_link, as: 'selfLink' @@ -9235,10 +9272,23 @@ module Google end end + class NodeGroupMaintenanceWindow + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :maintenance_duration, as: 'maintenanceDuration', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation + + property :start_time, as: 'startTime' + end + end + class NodeGroupNode # @private class Representation < Google::Apis::Core::JsonRepresentation + collection :accelerators, as: 'accelerators', class: Google::Apis::ComputeV1::AcceleratorConfig, decorator: Google::Apis::ComputeV1::AcceleratorConfig::Representation + property :cpu_overcommit_type, as: 'cpuOvercommitType' + collection :disks, as: 'disks', class: Google::Apis::ComputeV1::LocalDisk, decorator: Google::Apis::ComputeV1::LocalDisk::Representation + collection :instances, as: 'instances' property :name, as: 'name' property :node_type, as: 'nodeType' @@ -9333,9 +9383,13 @@ module Google class NodeTemplate # @private class Representation < Google::Apis::Core::JsonRepresentation + collection :accelerators, as: 'accelerators', class: Google::Apis::ComputeV1::AcceleratorConfig, decorator: Google::Apis::ComputeV1::AcceleratorConfig::Representation + property :cpu_overcommit_type, as: 'cpuOvercommitType' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' + collection :disks, as: 'disks', class: Google::Apis::ComputeV1::LocalDisk, decorator: Google::Apis::ComputeV1::LocalDisk::Representation + property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' @@ -11260,6 +11314,7 @@ module Google # @private class Representation < Google::Apis::Core::JsonRepresentation property :automatic_restart, as: 'automaticRestart' + property :location_hint, as: 'locationHint' property :min_node_cpus, as: 'minNodeCpus' collection :node_affinities, as: 'nodeAffinities', class: Google::Apis::ComputeV1::SchedulingNodeAffinity, decorator: Google::Apis::ComputeV1::SchedulingNodeAffinity::Representation diff --git a/generated/google/apis/compute_v1/service.rb b/generated/google/apis/compute_v1/service.rb index 2821cd870..0f05bf247 100644 --- a/generated/google/apis/compute_v1/service.rb +++ b/generated/google/apis/compute_v1/service.rb @@ -19220,9 +19220,9 @@ module Google execute_or_queue_command(command, &block) end - # Insert or patch (for the ones that already exist) per-instance configs for the - # managed instance group. perInstanceConfig.instance serves as a key used to - # distinguish whether to perform insert or patch. + # Inserts or patches per-instance configs for the managed instance group. + # perInstanceConfig.name serves as a key used to distinguish whether to perform + # insert or patch. # @param [String] project # Project ID for this request. # @param [String] region @@ -19511,9 +19511,9 @@ module Google execute_or_queue_command(command, &block) end - # Insert or update (for the ones that already exist) per-instance configs for - # the managed instance group. perInstanceConfig.instance serves as a key used to - # distinguish whether to perform insert or patch. + # Inserts or updates per-instance configs for the managed instance group. + # perInstanceConfig.name serves as a key used to distinguish whether to perform + # insert or patch. # @param [String] project # Project ID for this request. # @param [String] region @@ -23826,7 +23826,9 @@ module Google execute_or_queue_command(command, &block) end - # Patches the specified policy with the data included in the request. + # Patches the specified policy with the data included in the request. This + # cannot be used to be update the rules in the policy. Please use the per rule + # methods like addRule, patchRule, and removeRule instead. # @param [String] project # Project ID for this request. # @param [String] security_policy diff --git a/generated/google/apis/compute_v1/synth.metadata b/generated/google/apis/compute_v1/synth.metadata index 95b528ff2..05b42c93d 100644 --- a/generated/google/apis/compute_v1/synth.metadata +++ b/generated/google/apis/compute_v1/synth.metadata @@ -4,7 +4,7 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/google-api-ruby-client.git", - "sha": "a22618d2ab4cf744163c1341253f834f54618f45" + "sha": "800e822b5eb5ee610179aa0f8646db4870e635f8" } } ]