feat: Automated regeneration of compute v1 client (#1730)

This PR was generated using Autosynth. 🌈


<details><summary>Log from Synthtool</summary>

```
2020-12-11 02:06:58,523 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/google-api-ruby-client/synth.py.
On branch autosynth-compute-v1
nothing to commit, working tree clean
2020-12-11 02:06:58,552 synthtool [DEBUG] > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/google-api-ruby-client:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace --entrypoint script/synth.rb gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/autosynth compute v1
DEBUG:synthtool:Running: docker run --rm -v/home/kbuilder/.cache/synthtool/google-api-ruby-client:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace --entrypoint script/synth.rb gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/autosynth compute v1
bundle install
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
The dependency jruby-openssl (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for java. To add those platforms to the bundle, run `bundle lock --add-platform java`.
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Fetching rake 11.3.0
Installing rake 11.3.0
Fetching concurrent-ruby 1.1.7
Installing concurrent-ruby 1.1.7
Fetching i18n 1.8.5
Installing i18n 1.8.5
Fetching minitest 5.14.2
Installing minitest 5.14.2
Fetching thread_safe 0.3.6
Installing thread_safe 0.3.6
Fetching tzinfo 1.2.8
Installing tzinfo 1.2.8
Fetching activesupport 5.0.7.2
Installing activesupport 5.0.7.2
Fetching public_suffix 4.0.6
Installing public_suffix 4.0.6
Fetching addressable 2.7.0
Installing addressable 2.7.0
Fetching ast 2.4.1
Installing ast 2.4.1
Using bundler 2.1.4
Fetching byebug 11.1.3
Installing byebug 11.1.3 with native extensions
Fetching coderay 1.1.3
Installing coderay 1.1.3
Fetching json 2.3.1
Installing json 2.3.1 with native extensions
Fetching docile 1.3.2
Installing docile 1.3.2
Fetching simplecov-html 0.10.2
Installing simplecov-html 0.10.2
Fetching simplecov 0.16.1
Installing simplecov 0.16.1
Using sync 0.5.0
Fetching tins 1.26.0
Installing tins 1.26.0
Fetching term-ansicolor 1.7.1
Installing term-ansicolor 1.7.1
Fetching thor 0.20.3
Installing thor 0.20.3
Fetching coveralls 0.8.23
Installing coveralls 0.8.23
Fetching crack 0.4.4
Installing crack 0.4.4
Fetching declarative 0.0.20
Installing declarative 0.0.20
Fetching declarative-option 0.1.0
Installing declarative-option 0.1.0
Fetching diff-lcs 1.4.4
Installing diff-lcs 1.4.4
Fetching dotenv 2.7.6
Installing dotenv 2.7.6
Fetching fakefs 0.20.1
Installing fakefs 0.20.1
Fetching multipart-post 2.1.1
Installing multipart-post 2.1.1
Fetching ruby2_keywords 0.0.2
Installing ruby2_keywords 0.0.2
Fetching faraday 1.1.0
Installing faraday 1.1.0
Fetching gems 1.2.0
Installing gems 1.2.0
Fetching github-markup 1.7.0
Installing github-markup 1.7.0
Fetching jwt 2.2.2
Installing jwt 2.2.2
Fetching memoist 0.16.2
Installing memoist 0.16.2
Fetching multi_json 1.15.0
Installing multi_json 1.15.0
Fetching os 0.9.6
Installing os 0.9.6
Fetching signet 0.14.0
Installing signet 0.14.0
Fetching googleauth 0.14.0
Installing googleauth 0.14.0
Fetching httpclient 2.8.3
Installing httpclient 2.8.3
Fetching mini_mime 1.0.2
Installing mini_mime 1.0.2
Fetching uber 0.1.0
Installing uber 0.1.0
Fetching representable 3.0.4
Installing representable 3.0.4
Fetching retriable 3.1.2
Installing retriable 3.1.2
Fetching rexml 3.2.4
Installing rexml 3.2.4
Using google-api-client 0.51.0 from source at `.`
Fetching google-id-token 1.4.2
Installing google-id-token 1.4.2
Fetching hashdiff 1.0.1
Installing hashdiff 1.0.1
Fetching mime-types-data 3.2020.1104
Installing mime-types-data 3.2020.1104
Fetching mime-types 3.3.1
Installing mime-types 3.3.1
Fetching multi_xml 0.6.0
Installing multi_xml 0.6.0
Fetching httparty 0.18.1
Installing httparty 0.18.1
Fetching rspec-support 3.10.0
Installing rspec-support 3.10.0
Fetching rspec-core 3.10.0
Installing rspec-core 3.10.0
Fetching rspec-expectations 3.10.0
Installing rspec-expectations 3.10.0
Fetching rspec-mocks 3.10.0
Installing rspec-mocks 3.10.0
Fetching rspec 3.10.0
Installing rspec 3.10.0
Fetching json_spec 1.1.5
Installing json_spec 1.1.5
Fetching launchy 2.5.0
Installing launchy 2.5.0
Fetching little-plugger 1.1.4
Installing little-plugger 1.1.4
Fetching logging 2.3.0
Installing logging 2.3.0
Fetching method_source 1.0.0
Installing method_source 1.0.0
Fetching opencensus 0.5.0
Installing opencensus 0.5.0
Fetching parallel 1.20.1
Installing parallel 1.20.1
Fetching parser 2.7.2.0
Installing parser 2.7.2.0
Fetching powerpack 0.1.3
Installing powerpack 0.1.3
Fetching pry 0.13.1
Installing pry 0.13.1
Fetching pry-byebug 3.9.0
Installing pry-byebug 3.9.0
Fetching yard 0.9.25
Installing yard 0.9.25
Fetching pry-doc 0.13.5
Installing pry-doc 0.13.5
Fetching rainbow 2.2.2
Installing rainbow 2.2.2 with native extensions
Fetching redcarpet 3.5.0
Installing redcarpet 3.5.0 with native extensions
Fetching redis 3.3.5
Installing redis 3.3.5
Fetching rmail 1.1.4
Installing rmail 1.1.4
Fetching ruby-progressbar 1.10.1
Installing ruby-progressbar 1.10.1
Fetching unicode-display_width 1.7.0
Installing unicode-display_width 1.7.0
Fetching rubocop 0.49.1
Installing rubocop 0.49.1
Fetching webmock 2.3.2
Installing webmock 2.3.2
Bundle complete! 31 Gemfile dependencies, 78 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from i18n:

HEADS UP! i18n 1.1 changed fallbacks to exclude default locale.
But that may break your application.

If you are upgrading your Rails application from an older version of Rails:

Please check your Rails app for 'config.i18n.fallbacks = true'.
If you're using I18n (>= 1.1.0) and Rails (< 5.2.2), this should be
'config.i18n.fallbacks = [I18n.default_locale]'.
If not, fallbacks will be broken in your app by I18n 1.1.x.

If you are starting a NEW Rails application, you can ignore this notice.

For more info see:
https://github.com/svenfuchs/i18n/releases/tag/v1.1.0

Post-install message from httparty:
When you HTTParty, you must party hard!
echo a | bundle exec bin/generate-api gen generated --api=compute.v1 --names-out=/workspace/api_names_out.yaml
Loading compute, version v1 from https://raw.githubusercontent.com/googleapis/discovery-artifact-manager/master/discoveries/compute.v1.json
    conflict  google/apis/compute_v1.rb
<apis/compute_v1.rb? (enter "h" for help) [Ynaqdhm] a
       force  google/apis/compute_v1.rb
    conflict  google/apis/compute_v1/service.rb
       force  google/apis/compute_v1/service.rb
    conflict  google/apis/compute_v1/classes.rb
       force  google/apis/compute_v1/classes.rb
    conflict  google/apis/compute_v1/representations.rb
       force  google/apis/compute_v1/representations.rb
    conflict  /workspace/api_names_out.yaml
       force  /workspace/api_names_out.yaml
2020-12-11 02:07:37,630 synthtool [DEBUG] > Wrote metadata to generated/google/apis/compute_v1/synth.metadata.
DEBUG:synthtool:Wrote metadata to generated/google/apis/compute_v1/synth.metadata.

```
</details>

Full log will be available here:
https://source.cloud.google.com/results/invocations/461ec1a9-2841-43d5-b073-8c3cf2cfc89e/targets

- [ ] To automatically regenerate this PR, check this box.
This commit is contained in:
Yoshi Automation Bot 2020-12-11 02:26:05 -08:00 committed by GitHub
parent aa13eccd1a
commit e4329caa13
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 518 additions and 167 deletions

View File

@ -47081,6 +47081,8 @@
"/compute:v1/BackendBucket/bucketName": bucket_name "/compute:v1/BackendBucket/bucketName": bucket_name
"/compute:v1/BackendBucket/cdnPolicy": cdn_policy "/compute:v1/BackendBucket/cdnPolicy": cdn_policy
"/compute:v1/BackendBucket/creationTimestamp": creation_timestamp "/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/description": description
"/compute:v1/BackendBucket/enableCdn": enable_cdn "/compute:v1/BackendBucket/enableCdn": enable_cdn
"/compute:v1/BackendBucket/id": id "/compute:v1/BackendBucket/id": id
@ -47088,6 +47090,10 @@
"/compute:v1/BackendBucket/name": name "/compute:v1/BackendBucket/name": name
"/compute:v1/BackendBucket/selfLink": self_link "/compute:v1/BackendBucket/selfLink": self_link
"/compute:v1/BackendBucketCdnPolicy": backend_bucket_cdn_policy "/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/signedUrlCacheMaxAgeSec": signed_url_cache_max_age_sec
"/compute:v1/BackendBucketCdnPolicy/signedUrlKeyNames": signed_url_key_names "/compute:v1/BackendBucketCdnPolicy/signedUrlKeyNames": signed_url_key_names
"/compute:v1/BackendBucketCdnPolicy/signedUrlKeyNames/signed_url_key_name": signed_url_key_name "/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/creationTimestamp": creation_timestamp
"/compute:v1/BackendService/customRequestHeaders": custom_request_headers "/compute:v1/BackendService/customRequestHeaders": custom_request_headers
"/compute:v1/BackendService/customRequestHeaders/custom_request_header": custom_request_header "/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/description": description
"/compute:v1/BackendService/enableCDN": enable_cdn "/compute:v1/BackendService/enableCDN": enable_cdn
"/compute:v1/BackendService/failoverPolicy": failover_policy "/compute:v1/BackendService/failoverPolicy": failover_policy
@ -47158,6 +47166,10 @@
"/compute:v1/BackendServiceAggregatedList/warning/message": message "/compute:v1/BackendServiceAggregatedList/warning/message": message
"/compute:v1/BackendServiceCdnPolicy": backend_service_cdn_policy "/compute:v1/BackendServiceCdnPolicy": backend_service_cdn_policy
"/compute:v1/BackendServiceCdnPolicy/cacheKeyPolicy": cache_key_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/signedUrlCacheMaxAgeSec": signed_url_cache_max_age_sec
"/compute:v1/BackendServiceCdnPolicy/signedUrlKeyNames": signed_url_key_names "/compute:v1/BackendServiceCdnPolicy/signedUrlKeyNames": signed_url_key_names
"/compute:v1/BackendServiceCdnPolicy/signedUrlKeyNames/signed_url_key_name": signed_url_key_name "/compute:v1/BackendServiceCdnPolicy/signedUrlKeyNames/signed_url_key_name": signed_url_key_name
@ -47840,6 +47852,8 @@
"/compute:v1/HealthStatus/instance": instance "/compute:v1/HealthStatus/instance": instance
"/compute:v1/HealthStatus/ipAddress": ip_address "/compute:v1/HealthStatus/ipAddress": ip_address
"/compute:v1/HealthStatus/port": port "/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": health_status_for_network_endpoint
"/compute:v1/HealthStatusForNetworkEndpoint/backendService": backend_service "/compute:v1/HealthStatusForNetworkEndpoint/backendService": backend_service
"/compute:v1/HealthStatusForNetworkEndpoint/forwardingRule": forwarding_rule "/compute:v1/HealthStatusForNetworkEndpoint/forwardingRule": forwarding_rule
@ -48515,6 +48529,7 @@
"/compute:v1/InterconnectAttachment/id": id "/compute:v1/InterconnectAttachment/id": id
"/compute:v1/InterconnectAttachment/interconnect": interconnect "/compute:v1/InterconnectAttachment/interconnect": interconnect
"/compute:v1/InterconnectAttachment/kind": kind "/compute:v1/InterconnectAttachment/kind": kind
"/compute:v1/InterconnectAttachment/mtu": mtu
"/compute:v1/InterconnectAttachment/name": name "/compute:v1/InterconnectAttachment/name": name
"/compute:v1/InterconnectAttachment/operationalStatus": operational_status "/compute:v1/InterconnectAttachment/operationalStatus": operational_status
"/compute:v1/InterconnectAttachment/pairingKey": pairing_key "/compute:v1/InterconnectAttachment/pairingKey": pairing_key
@ -48707,6 +48722,10 @@
"/compute:v1/LicensesListResponse/warning/data/datum/key": key "/compute:v1/LicensesListResponse/warning/data/datum/key": key
"/compute:v1/LicensesListResponse/warning/data/datum/value": value "/compute:v1/LicensesListResponse/warning/data/datum/value": value
"/compute:v1/LicensesListResponse/warning/message": message "/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": log_config
"/compute:v1/LogConfig/cloudAudit": cloud_audit "/compute:v1/LogConfig/cloudAudit": cloud_audit
"/compute:v1/LogConfig/counter": counter "/compute:v1/LogConfig/counter": counter
@ -48956,6 +48975,7 @@
"/compute:v1/NetworkInterface/name": name "/compute:v1/NetworkInterface/name": name
"/compute:v1/NetworkInterface/network": network "/compute:v1/NetworkInterface/network": network
"/compute:v1/NetworkInterface/networkIP": network_ip "/compute:v1/NetworkInterface/networkIP": network_ip
"/compute:v1/NetworkInterface/nicType": nic_type
"/compute:v1/NetworkInterface/subnetwork": subnetwork "/compute:v1/NetworkInterface/subnetwork": subnetwork
"/compute:v1/NetworkList": network_list "/compute:v1/NetworkList": network_list
"/compute:v1/NetworkList/id": id "/compute:v1/NetworkList/id": id
@ -49002,6 +49022,7 @@
"/compute:v1/NodeGroup/id": id "/compute:v1/NodeGroup/id": id
"/compute:v1/NodeGroup/kind": kind "/compute:v1/NodeGroup/kind": kind
"/compute:v1/NodeGroup/maintenancePolicy": maintenance_policy "/compute:v1/NodeGroup/maintenancePolicy": maintenance_policy
"/compute:v1/NodeGroup/maintenanceWindow": maintenance_window
"/compute:v1/NodeGroup/name": name "/compute:v1/NodeGroup/name": name
"/compute:v1/NodeGroup/nodeTemplate": node_template "/compute:v1/NodeGroup/nodeTemplate": node_template
"/compute:v1/NodeGroup/selfLink": self_link "/compute:v1/NodeGroup/selfLink": self_link
@ -49042,8 +49063,15 @@
"/compute:v1/NodeGroupList/warning/data/datum/key": key "/compute:v1/NodeGroupList/warning/data/datum/key": key
"/compute:v1/NodeGroupList/warning/data/datum/value": value "/compute:v1/NodeGroupList/warning/data/datum/value": value
"/compute:v1/NodeGroupList/warning/message": message "/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": node_group_node
"/compute:v1/NodeGroupNode/accelerators": accelerators
"/compute:v1/NodeGroupNode/accelerators/accelerator": accelerator
"/compute:v1/NodeGroupNode/cpuOvercommitType": cpu_overcommit_type "/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": instances
"/compute:v1/NodeGroupNode/instances/instance": instance "/compute:v1/NodeGroupNode/instances/instance": instance
"/compute:v1/NodeGroupNode/name": name "/compute:v1/NodeGroupNode/name": name
@ -49083,9 +49111,13 @@
"/compute:v1/NodeGroupsSetNodeTemplateRequest": node_groups_set_node_template_request "/compute:v1/NodeGroupsSetNodeTemplateRequest": node_groups_set_node_template_request
"/compute:v1/NodeGroupsSetNodeTemplateRequest/nodeTemplate": node_template "/compute:v1/NodeGroupsSetNodeTemplateRequest/nodeTemplate": node_template
"/compute:v1/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/cpuOvercommitType": cpu_overcommit_type
"/compute:v1/NodeTemplate/creationTimestamp": creation_timestamp "/compute:v1/NodeTemplate/creationTimestamp": creation_timestamp
"/compute:v1/NodeTemplate/description": description "/compute:v1/NodeTemplate/description": description
"/compute:v1/NodeTemplate/disks": disks
"/compute:v1/NodeTemplate/disks/disk": disk
"/compute:v1/NodeTemplate/id": id "/compute:v1/NodeTemplate/id": id
"/compute:v1/NodeTemplate/kind": kind "/compute:v1/NodeTemplate/kind": kind
"/compute:v1/NodeTemplate/name": name "/compute:v1/NodeTemplate/name": name
@ -50024,6 +50056,7 @@
"/compute:v1/SSLHealthCheck/response": response "/compute:v1/SSLHealthCheck/response": response
"/compute:v1/Scheduling": scheduling "/compute:v1/Scheduling": scheduling
"/compute:v1/Scheduling/automaticRestart": automatic_restart "/compute:v1/Scheduling/automaticRestart": automatic_restart
"/compute:v1/Scheduling/locationHint": location_hint
"/compute:v1/Scheduling/minNodeCpus": min_node_cpus "/compute:v1/Scheduling/minNodeCpus": min_node_cpus
"/compute:v1/Scheduling/nodeAffinities": node_affinities "/compute:v1/Scheduling/nodeAffinities": node_affinities
"/compute:v1/Scheduling/nodeAffinities/node_affinity": node_affinity "/compute:v1/Scheduling/nodeAffinities/node_affinity": node_affinity

View File

@ -25,7 +25,7 @@ module Google
# @see https://developers.google.com/compute/docs/reference/latest/ # @see https://developers.google.com/compute/docs/reference/latest/
module ComputeV1 module ComputeV1
VERSION = 'V1' VERSION = 'V1'
REVISION = '20201102' REVISION = '20201122'
# View and manage your data across Google Cloud Platform services # View and manage your data across Google Cloud Platform services
AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'

View File

@ -1592,10 +1592,10 @@ module Google
attr_accessor :name attr_accessor :name
# [Output Only] Target recommended MIG size (number of instances) computed by # [Output Only] Target recommended MIG size (number of instances) computed by
# autoscaler. Autoscaler calculates recommended MIG size even when autoscaling # autoscaler. Autoscaler calculates the recommended MIG size even when the
# policy mode is different from ON. This field is empty when autoscaler is not # autoscaling policy mode is different from ON. This field is empty when
# connected to the existing managed instance group or autoscaler did not # autoscaler is not connected to an existing managed instance group or
# generate its prediction. # autoscaler did not generate its prediction.
# Corresponds to the JSON property `recommendedSize` # Corresponds to the JSON property `recommendedSize`
# @return [Fixnum] # @return [Fixnum]
attr_accessor :recommended_size attr_accessor :recommended_size
@ -1630,7 +1630,8 @@ module Google
# @return [Array<Google::Apis::ComputeV1::AutoscalerStatusDetails>] # @return [Array<Google::Apis::ComputeV1::AutoscalerStatusDetails>]
attr_accessor :status_details 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` # Corresponds to the JSON property `target`
# @return [String] # @return [String]
attr_accessor :target attr_accessor :target
@ -1937,7 +1938,7 @@ module Google
# - MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in # - MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in
# the group won't change automatically. The autoscaling configuration is # the group won't change automatically. The autoscaling configuration is
# preserved. # 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. # autoscaler can add instances but not remove any.
# - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be # - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be
# autoscaled because it has more than one backend service attached to it. # autoscaled because it has more than one backend service attached to it.
@ -2063,11 +2064,10 @@ module Google
class AutoscalingPolicy class AutoscalingPolicy
include Google::Apis::Core::Hashable include Google::Apis::Core::Hashable
# The number of seconds that the autoscaler should wait before it starts # The number of seconds that the autoscaler waits before it starts collecting
# collecting information from a new instance. This prevents the autoscaler from # information from a new instance. This prevents the autoscaler from collecting
# collecting information when the instance is initializing, during which the # information when the instance is initializing, during which the collected
# collected usage would not be reliable. The default time autoscaler waits is 60 # usage would not be reliable. The default time autoscaler waits is 60 seconds.
# seconds.
# Virtual machine initialization times might vary because of numerous factors. # 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 # We recommend that you test how long an instance may take to initialize. To do
# this, create an instance and time the startup process. # this, create an instance and time the startup process.
@ -2090,15 +2090,15 @@ module Google
# @return [Google::Apis::ComputeV1::AutoscalingPolicyLoadBalancingUtilization] # @return [Google::Apis::ComputeV1::AutoscalingPolicyLoadBalancingUtilization]
attr_accessor :load_balancing_utilization 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 # 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` # Corresponds to the JSON property `maxNumReplicas`
# @return [Fixnum] # @return [Fixnum]
attr_accessor :max_num_replicas attr_accessor :max_num_replicas
# The minimum number of replicas that the autoscaler can scale down to. This # The minimum number of replicas that the autoscaler can scale in to. This
# cannot be less than 0. If not provided, autoscaler will choose a default value # cannot be less than 0. If not provided, autoscaler chooses a default value
# depending on maximum number of instances allowed. # depending on maximum number of instances allowed.
# Corresponds to the JSON property `minNumReplicas` # Corresponds to the JSON property `minNumReplicas`
# @return [Fixnum] # @return [Fixnum]
@ -2137,13 +2137,13 @@ module Google
class AutoscalingPolicyCpuUtilization class AutoscalingPolicyCpuUtilization
include Google::Apis::Core::Hashable include Google::Apis::Core::Hashable
# The target CPU utilization that the autoscaler should maintain. Must be a # The target CPU utilization that the autoscaler maintains. Must be a float
# float value in the range (0, 1]. If not specified, the default is 0.6. # 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 # If the CPU level is below the target utilization, the autoscaler scales in the
# the number of instances until it reaches the minimum number of instances you # number of instances until it reaches the minimum number of instances you
# specified or until the average CPU of your instances reaches the target # specified or until the average CPU of your instances reaches the target
# utilization. # 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 # until it reaches the maximum number of instances you specified or until the
# average utilization reaches the target utilization. # average utilization reaches the target utilization.
# Corresponds to the JSON property `utilizationTarget` # 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 # to scale upon. This is called a per-group metric for the purpose of
# autoscaling. # autoscaling.
# If not specified, the type defaults to gce_instance. # If not specified, the type defaults to gce_instance.
# You should provide a filter that is selective enough to pick just one # Try to provide a filter that is selective enough to pick just one TimeSeries
# TimeSeries for the autoscaled group or for each of the instances (if you are # for the autoscaled group or for each of the instances (if you are using
# using gce_instance resource type). If multiple TimeSeries are returned upon # gce_instance resource type). If multiple TimeSeries are returned upon the
# the query execution, the autoscaler will sum their respective values to obtain # query execution, the autoscaler will sum their respective values to obtain its
# its scaling value. # scaling value.
# Corresponds to the JSON property `filter` # Corresponds to the JSON property `filter`
# @return [String] # @return [String]
attr_accessor :filter attr_accessor :filter
@ -2203,9 +2203,9 @@ module Google
# If scaling is based on a per-group metric value that represents the total # 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 # 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 # assigned for a single instance of the scaled group. Autoscaler keeps the
# number of instances proportional to the value of this metric, the metric # number of instances proportional to the value of this metric. The metric
# itself should not change value due to group resizing. # itself does not change value due to group resizing.
# A good metric to use with the target is for example pubsub.googleapis.com/ # 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 # subscription/num_undelivered_messages or a custom metric exporting the total
# number of requests coming to your instances. # number of requests coming to your instances.
@ -2216,12 +2216,12 @@ module Google
# @return [Float] # @return [Float]
attr_accessor :single_instance_assignment 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 # positive value. A utilization metric scales number of virtual machines
# handling requests to increase or decrease proportionally to the metric. # handling requests to increase or decrease proportionally to the metric.
# For example, a good metric to use as a utilization_target is https://www. # For example, a good metric to use as a utilization_target is https://www.
# googleapis.com/compute/v1/instance/network/received_bytes_count. The # 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` # Corresponds to the JSON property `utilizationTarget`
# @return [Float] # @return [Float]
attr_accessor :utilization_target attr_accessor :utilization_target
@ -2251,7 +2251,7 @@ module Google
include Google::Apis::Core::Hashable include Google::Apis::Core::Hashable
# Fraction of backend capacity utilization (set in HTTP(S) load balancing # 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. # If not defined, the default is 0.8.
# Corresponds to the JSON property `utilizationTarget` # Corresponds to the JSON property `utilizationTarget`
# @return [Float] # @return [Float]
@ -2278,8 +2278,8 @@ module Google
# @return [Google::Apis::ComputeV1::FixedOrPercent] # @return [Google::Apis::ComputeV1::FixedOrPercent]
attr_accessor :max_scaled_in_replicas attr_accessor :max_scaled_in_replicas
# How long back autoscaling should look when computing recommendations to # How far back autoscaling looks when computing recommendations to include
# include directives regarding slower scale in, as described above. # directives regarding slower scale in, as described above.
# Corresponds to the JSON property `timeWindowSec` # Corresponds to the JSON property `timeWindowSec`
# @return [Fixnum] # @return [Fixnum]
attr_accessor :time_window_sec attr_accessor :time_window_sec
@ -2313,21 +2313,22 @@ module Google
# parameters: maxConnections (except for regional managed instance groups), # parameters: maxConnections (except for regional managed instance groups),
# maxConnectionsPerInstance, or maxConnectionsPerEndpoint. # maxConnectionsPerInstance, or maxConnectionsPerEndpoint.
# If the loadBalancingScheme for the backend service is INTERNAL (internal TCP/ # 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 # - If the load balancing mode is RATE, the load is spread based on the rate of
# HTTP requests per second (RPS). # HTTP requests per second (RPS).
# You can use the RATE balancing mode if the protocol for the backend service is # 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: # HTTP, HTTP2, or HTTPS. You must specify exactly one of the following
# maxRate (except for regional managed instance groups), maxRatePerInstance, or # parameters: maxRate (except for regional managed instance groups),
# maxRatePerEndpoint. # maxRatePerInstance, or maxRatePerEndpoint.
# #
# - If the load balancing mode is UTILIZATION, the load is spread based on the # - If the load balancing mode is UTILIZATION, the load is spread based on the
# backend utilization of instances in an instance group. # backend utilization of instances in an instance group.
# You can use the UTILIZATION balancing mode if the loadBalancingScheme of the # You can use the UTILIZATION balancing mode if the loadBalancingScheme of the
# backend service is EXTERNAL, INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and # backend service is EXTERNAL (except Network Load Balancing),
# the backends are instance groups. There are no restrictions on the backend # INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and the backends are instance
# service protocol. # groups. There are no restrictions on the backend service protocol.
# Corresponds to the JSON property `balancingMode` # Corresponds to the JSON property `balancingMode`
# @return [String] # @return [String]
attr_accessor :balancing_mode 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 # 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 # 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. # 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` # Corresponds to the JSON property `capacityScaler`
# @return [Float] # @return [Float]
attr_accessor :capacity_scaler attr_accessor :capacity_scaler
@ -2361,14 +2363,16 @@ module Google
# resource. The type of backend that a backend service supports depends on the # resource. The type of backend that a backend service supports depends on the
# backend service's loadBalancingScheme. # backend service's loadBalancingScheme.
# #
# - When the loadBalancingScheme for the backend service is EXTERNAL, # - When the loadBalancingScheme for the backend service is EXTERNAL (except
# INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, the backend can be either an # Network Load Balancing), INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED , the
# instance group or a NEG. The backends on the backend service must be either # backend can be either an instance group or a NEG. The backends on the backend
# all instance groups or all NEGs. You cannot mix instance group and NEG # service must be either all instance groups or all NEGs. You cannot mix
# backends on the same backend service. # instance group and NEG backends on the same backend service.
# - When the loadBalancingScheme for the backend service is INTERNAL, the # - When the loadBalancingScheme for the backend service is EXTERNAL for Network
# backend must be an instance group in the same region as the backend service. # Load Balancing or INTERNAL for Internal TCP/UDP Load Balancing, the backend
# NEGs are not supported. # 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/ # 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. # ) to specify the instance group or NEG. Partial URLs are not supported.
# Corresponds to the JSON property `group` # Corresponds to the JSON property `group`
@ -2380,11 +2384,12 @@ module Google
# except for regional managed instance groups). If the backend's balancingMode # except for regional managed instance groups). If the backend's balancingMode
# is UTILIZATION, this is an optional parameter. 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 # is CONNECTION, and backend is attached to a backend service whose
# loadBalancingScheme is EXTERNAL, you must specify either this parameter, # loadBalancingScheme is EXTERNAL (except Network Load Balancing), you must
# maxConnectionsPerInstance, or maxConnectionsPerEndpoint. # specify either this parameter, maxConnectionsPerInstance, or
# Not available if the backend's balancingMode is RATE. If the # maxConnectionsPerEndpoint.
# loadBalancingScheme is INTERNAL, then maxConnections is not supported, even # Not available if the backend's balancingMode is RATE. Cannot be specified for
# though the backend requires a balancing mode of CONNECTION. # 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` # Corresponds to the JSON property `maxConnections`
# @return [Fixnum] # @return [Fixnum]
attr_accessor :max_connections attr_accessor :max_connections
@ -2392,12 +2397,13 @@ module Google
# Defines a target maximum number of simultaneous connections for an endpoint of # 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 # 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 # calculate a maximum number of target maximum simultaneous connections for the
# NEG. If the backend's balancingMode is CONNECTION, and the backend is attached # NEG. If the backend's balancingMode is CONNECTION, and backend is attached to
# to a backend service whose loadBalancingScheme is EXTERNAL, you must specify # a backend service whose loadBalancingScheme is EXTERNAL (except Network Load
# either this parameter, maxConnections, or maxConnectionsPerInstance. # Balancing), you must specify either this parameter, maxConnections, or
# Not available if the backend's balancingMode is RATE. Internal TCP/UDP load # maxConnectionsPerInstance.
# balancing does not support setting maxConnectionsPerEndpoint even though its # Not available if the backend's balancingMode is RATE. Cannot be specified for
# backends require a balancing mode of CONNECTION. # 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` # Corresponds to the JSON property `maxConnectionsPerEndpoint`
# @return [Fixnum] # @return [Fixnum]
attr_accessor :max_connections_per_endpoint attr_accessor :max_connections_per_endpoint
@ -2408,11 +2414,11 @@ module Google
# connections for the whole instance group. If the backend's balancingMode is # connections for the whole instance group. If the backend's balancingMode is
# UTILIZATION, this is an optional parameter. 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 # CONNECTION, and backend is attached to a backend service whose
# loadBalancingScheme is EXTERNAL, you must specify either this parameter, # loadBalancingScheme is EXTERNAL (except Network Load Balancing), you must
# maxConnections, or maxConnectionsPerEndpoint. # specify either this parameter, maxConnections, or maxConnectionsPerEndpoint.
# Not available if the backend's balancingMode is RATE. Internal TCP/UDP load # Not available if the backend's balancingMode is RATE. Cannot be specified for
# balancing does not support setting maxConnectionsPerInstance even though its # Network Load Balancing or Internal TCP/UDP Load Balancing, even though those
# backends require a balancing mode of CONNECTION. # load balancers require a balancing mode of CONNECTION.
# Corresponds to the JSON property `maxConnectionsPerInstance` # Corresponds to the JSON property `maxConnectionsPerInstance`
# @return [Fixnum] # @return [Fixnum]
attr_accessor :max_connections_per_instance attr_accessor :max_connections_per_instance
@ -2504,6 +2510,11 @@ module Google
# @return [String] # @return [String]
attr_accessor :creation_timestamp 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 # An optional textual description of the resource; provided by the client when
# the resource is created. # the resource is created.
# Corresponds to the JSON property `description` # Corresponds to the JSON property `description`
@ -2550,6 +2561,7 @@ module Google
@bucket_name = args[:bucket_name] if args.key?(:bucket_name) @bucket_name = args[:bucket_name] if args.key?(:bucket_name)
@cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy) @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @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) @description = args[:description] if args.key?(:description)
@enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn) @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
@id = args[:id] if args.key?(:id) @id = args[:id] if args.key?(:id)
@ -2563,6 +2575,55 @@ module Google
class BackendBucketCdnPolicy class BackendBucketCdnPolicy
include Google::Apis::Core::Hashable 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 # Maximum number of seconds the response to a signed URL request will be
# considered fresh. After this time period, the response will be revalidated # considered fresh. After this time period, the response will be revalidated
# before being served. Defaults to 1hr (3600s). When serving responses to signed # before being served. Defaults to 1hr (3600s). When serving responses to signed
@ -2585,6 +2646,10 @@ module Google
# Update properties of this object # Update properties of this object
def update!(**args) 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_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) @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
end end
@ -2769,6 +2834,11 @@ module Google
# @return [Array<String>] # @return [Array<String>]
attr_accessor :custom_request_headers 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 # An optional description of this resource. Provide this property when you
# create the resource. # create the resource.
# Corresponds to the JSON property `description` # Corresponds to the JSON property `description`
@ -2782,13 +2852,14 @@ module Google
attr_accessor :enable_cdn attr_accessor :enable_cdn
alias_method :enable_cdn?, :enable_cdn alias_method :enable_cdn?, :enable_cdn
# Applicable only to Failover for Internal TCP/UDP Load Balancing. On failover # Applicable only to Failover for Internal TCP/UDP Load Balancing and Network
# or failback, this field indicates whether connection draining will be honored. # Load Balancing. On failover or failback, this field indicates whether
# GCP has a fixed connection draining timeout of 10 minutes. A setting of true # connection draining will be honored. GCP has a fixed connection draining
# terminates existing TCP connections to the active pool during failover and # timeout of 10 minutes. A setting of true terminates existing TCP connections
# failback, immediately draining traffic. A setting of false allows existing TCP # to the active pool during failover and failback, immediately draining traffic.
# connections to persist, even on VMs no longer in the active pool, for up to # A setting of false allows existing TCP connections to persist, even on VMs no
# the duration of the connection draining timeout (10 minutes). # longer in the active pool, for up to the duration of the connection draining
# timeout (10 minutes).
# Corresponds to the JSON property `failoverPolicy` # Corresponds to the JSON property `failoverPolicy`
# @return [Google::Apis::ComputeV1::BackendServiceFailoverPolicy] # @return [Google::Apis::ComputeV1::BackendServiceFailoverPolicy]
attr_accessor :failover_policy attr_accessor :failover_policy
@ -2833,11 +2904,11 @@ module Google
# @return [String] # @return [String]
attr_accessor :kind attr_accessor :kind
# Specifies the load balancer type. Choose EXTERNAL for load balancers that # Specifies the load balancer type. Choose EXTERNAL for external HTTP(S), SSL
# receive traffic from external clients. Choose INTERNAL for Internal TCP/UDP # Proxy, TCP Proxy and Network Load Balancing. Choose INTERNAL for Internal TCP/
# Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load Balancing. # UDP Load Balancing. Choose INTERNAL_MANAGED for Internal HTTP(S) Load
# Choose INTERNAL_SELF_MANAGED for Traffic Director. A backend service created # Balancing. INTERNAL_SELF_MANAGED for Traffic Director. A backend service
# for one type of load balancing cannot be used with another. For more # created for one type of load balancer cannot be used with another. For more
# information, refer to Choosing a load balancer. # information, refer to Choosing a load balancer.
# Corresponds to the JSON property `loadBalancingScheme` # Corresponds to the JSON property `loadBalancingScheme`
# @return [String] # @return [String]
@ -2892,7 +2963,7 @@ module Google
attr_accessor :name attr_accessor :name
# The URL of the network to which this backend service belongs. This field can # 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` # Corresponds to the JSON property `network`
# @return [String] # @return [String]
attr_accessor :network attr_accessor :network
@ -2913,11 +2984,12 @@ module Google
# A named port on a backend instance group representing the port for # A named port on a backend instance group representing the port for
# communication to the backend VMs in that group. Required when the # communication to the backend VMs in that group. Required when the
# loadBalancingScheme is EXTERNAL, INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED # loadBalancingScheme is EXTERNAL (except Network Load Balancing),
# and the backends are instance groups. The named port must be defined on each # INTERNAL_MANAGED, or INTERNAL_SELF_MANAGED and the backends are instance
# backend instance group. This parameter has no meaning if the backends are NEGs. # groups. The named port must be defined on each backend instance group. This
# Must be omitted when the loadBalancingScheme is INTERNAL (Internal TCP/UDP # parameter has no meaning if the backends are NEGs.
# Load Balancing). # Backend services for Internal TCP/UDP Load Balancing and Network Load
# Balancing require you omit port_name.
# Corresponds to the JSON property `portName` # Corresponds to the JSON property `portName`
# @return [String] # @return [String]
attr_accessor :port_name attr_accessor :port_name
@ -2957,11 +3029,12 @@ module Google
# @return [String] # @return [String]
attr_accessor :self_link attr_accessor :self_link
# Type of session affinity to use. The default is NONE. Session affinity is not # Type of session affinity to use. The default is NONE.
# applicable if the --protocol is UDP. # When the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the
# When the loadBalancingScheme is EXTERNAL, possible values are NONE, CLIENT_IP, # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
# or GENERATED_COOKIE. You can use GENERATED_COOKIE if the protocol is HTTP or # * For all other load balancers that use loadBalancingScheme=EXTERNAL, the
# HTTPS. # 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, # When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP,
# CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
# When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED, # 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) @consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
@custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers) @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) @description = args[:description] if args.key?(:description)
@enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn) @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
@failover_policy = args[:failover_policy] if args.key?(:failover_policy) @failover_policy = args[:failover_policy] if args.key?(:failover_policy)
@ -3153,6 +3227,55 @@ module Google
# @return [Google::Apis::ComputeV1::CacheKeyPolicy] # @return [Google::Apis::ComputeV1::CacheKeyPolicy]
attr_accessor :cache_key_policy 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 # Maximum number of seconds the response to a signed URL request will be
# considered fresh. After this time period, the response will be revalidated # considered fresh. After this time period, the response will be revalidated
# before being served. Defaults to 1hr (3600s). When serving responses to signed # before being served. Defaults to 1hr (3600s). When serving responses to signed
@ -3176,18 +3299,23 @@ module Google
# Update properties of this object # Update properties of this object
def update!(**args) def update!(**args)
@cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy) @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_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) @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
end end
end end
# Applicable only to Failover for Internal TCP/UDP Load Balancing. On failover # Applicable only to Failover for Internal TCP/UDP Load Balancing and Network
# or failback, this field indicates whether connection draining will be honored. # Load Balancing. On failover or failback, this field indicates whether
# GCP has a fixed connection draining timeout of 10 minutes. A setting of true # connection draining will be honored. GCP has a fixed connection draining
# terminates existing TCP connections to the active pool during failover and # timeout of 10 minutes. A setting of true terminates existing TCP connections
# failback, immediately draining traffic. A setting of false allows existing TCP # to the active pool during failover and failback, immediately draining traffic.
# connections to persist, even on VMs no longer in the active pool, for up to # A setting of false allows existing TCP connections to persist, even on VMs no
# the duration of the connection draining timeout (10 minutes). # longer in the active pool, for up to the duration of the connection draining
# timeout (10 minutes).
class BackendServiceFailoverPolicy class BackendServiceFailoverPolicy
include Google::Apis::Core::Hashable include Google::Apis::Core::Hashable
@ -3198,22 +3326,21 @@ module Google
attr_accessor :disable_connection_drain_on_failover attr_accessor :disable_connection_drain_on_failover
alias_method :disable_connection_drain_on_failover?, :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 # Applicable only to Failover for Internal TCP/UDP Load Balancing and Network
# true, connections to the load balancer are dropped when all primary and all # Load Balancing, If set to true, connections to the load balancer are dropped
# backup backend VMs are unhealthy. If set to false, connections are distributed # when all primary and all backup backend VMs are unhealthy.If set to false,
# among all primary VMs when all primary and all backup backend VMs are # connections are distributed among all primary VMs when all primary and all
# unhealthy. # backup backend VMs are unhealthy. The default is false.
# The default is false.
# Corresponds to the JSON property `dropTrafficIfUnhealthy` # Corresponds to the JSON property `dropTrafficIfUnhealthy`
# @return [Boolean] # @return [Boolean]
attr_accessor :drop_traffic_if_unhealthy attr_accessor :drop_traffic_if_unhealthy
alias_method :drop_traffic_if_unhealthy?, :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 # Applicable only to Failover for Internal TCP/UDP Load Balancing and Network
# the field must be in the range [0, 1]. If the value is 0, the load balancer # Load Balancing. The value of the field must be in the range [0, 1]. If the
# performs a failover when the number of healthy primary VMs equals zero. For # value is 0, the load balancer performs a failover when the number of healthy
# all other values, the load balancer performs a failover when the total number # primary VMs equals zero. For all other values, the load balancer performs a
# of healthy primary VMs is less than this ratio. # failover when the total number of healthy primary VMs is less than this ratio.
# Corresponds to the JSON property `failoverRatio` # Corresponds to the JSON property `failoverRatio`
# @return [Float] # @return [Float]
attr_accessor :failover_ratio attr_accessor :failover_ratio
@ -6860,9 +6987,11 @@ module Google
# assigned. Methods for specifying an IP address: # assigned. Methods for specifying an IP address:
# * IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in https://www. # * 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- # googleapis.com/compute/v1/projects/project_id/regions/region/addresses/address-
# name * Partial URL or by name, as in: * projects/project_id/regions/region/ # name * Partial URL or by name, as in:
# addresses/address-name * regions/region/addresses/address-name * global/ # - projects/project_id/regions/region/addresses/address-name
# addresses/address-name * 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 # 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 # IP address that you can use. For detailed information, refer to [IP address
# specifications](/load-balancing/docs/forwarding-rule-concepts# # specifications](/load-balancing/docs/forwarding-rule-concepts#
@ -6875,16 +7004,19 @@ module Google
# @return [String] # @return [String]
attr_accessor :ip_address attr_accessor :ip_address
# The IP protocol to which this rule applies. For protocol forwarding, valid # The IP protocol to which this rule applies.
# options are TCP, UDP, ESP, AH, SCTP or ICMP. # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
# For Internal TCP/UDP Load Balancing, the load balancing scheme is INTERNAL, # The valid IP protocols are different for different load balancing products:
# and one of TCP or UDP are valid. For Traffic Director, the load balancing # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and
# scheme is INTERNAL_SELF_MANAGED, and only TCPis valid. For Internal HTTP(S) # one of TCP, UDP or ALL is valid.
# Load Balancing, the load balancing scheme is INTERNAL_MANAGED, and only TCP is # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and
# valid. For HTTP(S), SSL Proxy, and TCP Proxy Load Balancing, the load # only TCP is valid.
# balancing scheme is EXTERNAL and only TCP is valid. For Network TCP/UDP Load # - Internal HTTP(S) Load Balancing: The load balancing scheme is
# Balancing, the load balancing scheme is EXTERNAL, and one of TCP or UDP is # INTERNAL_MANAGED, and only TCP is valid.
# 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` # Corresponds to the JSON property `IPProtocol`
# @return [String] # @return [String]
attr_accessor :ip_protocol attr_accessor :ip_protocol
@ -6909,9 +7041,9 @@ module Google
attr_accessor :allow_global_access attr_accessor :allow_global_access
alias_method :allow_global_access?, :allow_global_access alias_method :allow_global_access?, :allow_global_access
# This field is only used for INTERNAL load balancing. # Identifies the backend service to which the forwarding rule sends traffic.
# For internal load balancing, this field identifies the BackendService resource # Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must
# to receive the matched traffic. # be omitted for all other load balancer types.
# Corresponds to the JSON property `backendService` # Corresponds to the JSON property `backendService`
# @return [String] # @return [String]
attr_accessor :backend_service attr_accessor :backend_service
@ -6973,13 +7105,12 @@ module Google
# - EXTERNAL is used for: # - EXTERNAL is used for:
# - Classic Cloud VPN gateways # - Classic Cloud VPN gateways
# - Protocol forwarding to VMs from an external IP address # - Protocol forwarding to VMs from an external IP address
# - The following load balancers: HTTP(S), SSL Proxy, TCP Proxy, and Network TCP/ # - HTTP(S), SSL Proxy, TCP Proxy, and Network Load Balancing
# UDP
# - INTERNAL is used for: # - INTERNAL is used for:
# - Protocol forwarding to VMs from an internal IP address # - 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_MANAGED is used for:
# - Internal HTTP(S) load balancers # - Internal HTTP(S) Load Balancing
# - INTERNAL_SELF_MANAGED is used for: # - INTERNAL_SELF_MANAGED is used for:
# - Traffic Director # - Traffic Director
# For more information about forwarding rules, refer to Forwarding rule concepts. # For more information about forwarding rules, refer to Forwarding rule concepts.
@ -7018,9 +7149,9 @@ module Google
attr_accessor :name attr_accessor :name
# This field is not used for external load balancing. # This field is not used for external load balancing.
# For internal load balancing, this field identifies the network that the load # For Internal TCP/UDP Load Balancing, this field identifies the network that
# balanced IP should belong to for this Forwarding Rule. If this field is not # the load balanced IP should belong to for this Forwarding Rule. If this field
# specified, the default network will be used. # is not specified, the default network will be used.
# For Private Service Connect forwarding rules that forward traffic to Google # For Private Service Connect forwarding rules that forward traffic to Google
# APIs, a network must be provided. # APIs, a network must be provided.
# Corresponds to the JSON property `network` # Corresponds to the JSON property `network`
@ -7037,19 +7168,17 @@ module Google
# @return [String] # @return [String]
attr_accessor :network_tier attr_accessor :network_tier
# When the load balancing scheme is EXTERNAL, INTERNAL_SELF_MANAGED and # This field can be used only if: * Load balancing scheme is one of EXTERNAL,
# INTERNAL_MANAGED, you can specify a port_range. Use with a forwarding rule # INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP,
# that points to a target proxy or a target pool. Do not use with a forwarding # or SCTP.
# rule that points to a backend service. This field is used along with the # Packets addressed to ports in the specified range will be forwarded to target
# target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, # or backend_service. You can only use one of ports, port_range, or allPorts.
# TargetTcpProxy, TargetGrpcProxy, TargetVpnGateway, TargetPool, TargetInstance. # The three are mutually exclusive. Forwarding rules with the same [IPAddress,
# Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed # IPProtocol] pair must have disjoint port ranges.
# to ports in the specified range will be forwarded to target. Forwarding rules
# with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.
# Some types of forwarding target have constraints on the acceptable ports: # Some types of forwarding target have constraints on the acceptable ports:
# - TargetHttpProxy: 80, 8080 # - TargetHttpProxy: 80, 8080
# - TargetHttpsProxy: 443 # - TargetHttpsProxy: 443
# - TargetGrpcProxy: Any ports # - TargetGrpcProxy: no constraints
# - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, # - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
# 1883, 5222 # 1883, 5222
# - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688, # - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1688,
@ -7059,16 +7188,17 @@ module Google
# @return [String] # @return [String]
attr_accessor :port_range attr_accessor :port_range
# This field is used along with the backend_service field for internal load # The ports field is only supported when the forwarding rule references a
# balancing. # backend_service directly. Supported load balancing products are Internal TCP/
# When the load balancing scheme is INTERNAL, a list of ports can be configured, # UDP Load Balancing and Network Load Balancing. Only packets addressed to the
# for example, ['80'], ['8000','9000']. Only packets addressed to these ports # specified list of ports are forwarded to backends.
# are forwarded to the backends configured with the forwarding rule. # You can only use one of ports and port_range, or allPorts. The three are
# If the forwarding rule's loadBalancingScheme is INTERNAL, you can specify # mutually exclusive.
# ports in one of the following ways: # You can specify a list of up to five ports, which can be non-contiguous.
# * A list of up to five ports, which can be non-contiguous * Keyword ALL, which # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not
# causes the forwarding rule to forward traffic on any port of the forwarding # specify ports.
# rule's protocol. # For more information, see [Port specifications](/load-balancing/docs/
# forwarding-rule-concepts#port_specifications).
# Corresponds to the JSON property `ports` # Corresponds to the JSON property `ports`
# @return [Array<String>] # @return [Array<String>]
attr_accessor :ports attr_accessor :ports
@ -8868,6 +8998,16 @@ module Google
# @return [Fixnum] # @return [Fixnum]
attr_accessor :port 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) def initialize(**args)
update!(**args) update!(**args)
end end
@ -8879,6 +9019,8 @@ module Google
@instance = args[:instance] if args.key?(:instance) @instance = args[:instance] if args.key?(:instance)
@ip_address = args[:ip_address] if args.key?(:ip_address) @ip_address = args[:ip_address] if args.key?(:ip_address)
@port = args[:port] if args.key?(:port) @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
end end
@ -14267,6 +14409,13 @@ module Google
# @return [String] # @return [String]
attr_accessor :kind 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 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 comply with RFC1035. Specifically, the
# name must be 1-63 characters long and match the regular expression `[a-z]([-a- # 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) @id = args[:id] if args.key?(:id)
@interconnect = args[:interconnect] if args.key?(:interconnect) @interconnect = args[:interconnect] if args.key?(:interconnect)
@kind = args[:kind] if args.key?(:kind) @kind = args[:kind] if args.key?(:kind)
@mtu = args[:mtu] if args.key?(:mtu)
@name = args[:name] if args.key?(:name) @name = args[:name] if args.key?(:name)
@operational_status = args[:operational_status] if args.key?(:operational_status) @operational_status = args[:operational_status] if args.key?(:operational_status)
@pairing_key = args[:pairing_key] if args.key?(:pairing_key) @pairing_key = args[:pairing_key] if args.key?(:pairing_key)
@ -15860,6 +16010,39 @@ module Google
end end
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 # Specifies what kind of log the caller must write
class LogConfig class LogConfig
include Google::Apis::Core::Hashable include Google::Apis::Core::Hashable
@ -17074,8 +17257,9 @@ module Google
# Represents a collection of network endpoints. # Represents a collection of network endpoints.
# A network endpoint group (NEG) defines how a set of endpoints should be # 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 # reached, whether they are reachable, and where they are located. For more
# information about using NEGs, see Setting up internet NEGs, Setting up zonal # information about using NEGs, see Setting up external HTTP(S) Load Balancing
# NEGs, or Setting up serverless NEGs. (== resource_for `$api_version`. # 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`. # networkEndpointGroups ==) (== resource_for `$api_version`.
# globalNetworkEndpointGroups ==) (== resource_for `$api_version`. # globalNetworkEndpointGroups ==) (== resource_for `$api_version`.
# regionNetworkEndpointGroups ==) # regionNetworkEndpointGroups ==)
@ -17943,6 +18127,11 @@ module Google
# @return [String] # @return [String]
attr_accessor :network_ip 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 # 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 # 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 # 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) @name = args[:name] if args.key?(:name)
@network = args[:network] if args.key?(:network) @network = args[:network] if args.key?(:network)
@network_ip = args[:network_ip] if args.key?(:network_ip) @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) @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
end end
end end
@ -18363,6 +18553,12 @@ module Google
# @return [String] # @return [String]
attr_accessor :maintenance_policy 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 # 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 # 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 # 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) @id = args[:id] if args.key?(:id)
@kind = args[:kind] if args.key?(:kind) @kind = args[:kind] if args.key?(:kind)
@maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy) @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) @name = args[:name] if args.key?(:name)
@node_template = args[:node_template] if args.key?(:node_template) @node_template = args[:node_template] if args.key?(:node_template)
@self_link = args[:self_link] if args.key?(:self_link) @self_link = args[:self_link] if args.key?(:self_link)
@ -18697,15 +18894,56 @@ module Google
end end
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 class NodeGroupNode
include Google::Apis::Core::Hashable 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. # CPU overcommit.
# Corresponds to the JSON property `cpuOvercommitType` # Corresponds to the JSON property `cpuOvercommitType`
# @return [String] # @return [String]
attr_accessor :cpu_overcommit_type 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. # Instances scheduled on this node.
# Corresponds to the JSON property `instances` # Corresponds to the JSON property `instances`
# @return [Array<String>] # @return [Array<String>]
@ -18742,7 +18980,9 @@ module Google
# Update properties of this object # Update properties of this object
def update!(**args) def update!(**args)
@accelerators = args[:accelerators] if args.key?(:accelerators)
@cpu_overcommit_type = args[:cpu_overcommit_type] if args.key?(:cpu_overcommit_type) @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) @instances = args[:instances] if args.key?(:instances)
@name = args[:name] if args.key?(:name) @name = args[:name] if args.key?(:name)
@node_type = args[:node_type] if args.key?(:node_type) @node_type = args[:node_type] if args.key?(:node_type)
@ -19026,6 +19266,11 @@ module Google
class NodeTemplate class NodeTemplate
include Google::Apis::Core::Hashable include Google::Apis::Core::Hashable
#
# Corresponds to the JSON property `accelerators`
# @return [Array<Google::Apis::ComputeV1::AcceleratorConfig>]
attr_accessor :accelerators
# CPU overcommit. # CPU overcommit.
# Corresponds to the JSON property `cpuOvercommitType` # Corresponds to the JSON property `cpuOvercommitType`
# @return [String] # @return [String]
@ -19042,6 +19287,11 @@ module Google
# @return [String] # @return [String]
attr_accessor :description 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 # [Output Only] The unique identifier for the resource. This identifier is
# defined by the server. # defined by the server.
# Corresponds to the JSON property `id` # Corresponds to the JSON property `id`
@ -19121,9 +19371,11 @@ module Google
# Update properties of this object # Update properties of this object
def update!(**args) def update!(**args)
@accelerators = args[:accelerators] if args.key?(:accelerators)
@cpu_overcommit_type = args[:cpu_overcommit_type] if args.key?(:cpu_overcommit_type) @cpu_overcommit_type = args[:cpu_overcommit_type] if args.key?(:cpu_overcommit_type)
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
@description = args[:description] if args.key?(:description) @description = args[:description] if args.key?(:description)
@disks = args[:disks] if args.key?(:disks)
@id = args[:id] if args.key?(:id) @id = args[:id] if args.key?(:id)
@kind = args[:kind] if args.key?(:kind) @kind = args[:kind] if args.key?(:kind)
@name = args[:name] if args.key?(:name) @name = args[:name] if args.key?(:name)
@ -24993,8 +25245,8 @@ module Google
# @return [String] # @return [String]
attr_accessor :description attr_accessor :description
# The destination range of outgoing packets that this route applies to. Only # The destination range of outgoing packets that this route applies to. Both
# IPv4 is supported. # IPv4 and IPv6 are supported.
# Corresponds to the JSON property `destRange` # Corresponds to the JSON property `destRange`
# @return [String] # @return [String]
attr_accessor :dest_range attr_accessor :dest_range
@ -26524,6 +26776,12 @@ module Google
attr_accessor :automatic_restart attr_accessor :automatic_restart
alias_method :automatic_restart?, :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 # The minimum number of virtual CPUs this instance will consume when running on
# a sole-tenant node. # a sole-tenant node.
# Corresponds to the JSON property `minNodeCpus` # Corresponds to the JSON property `minNodeCpus`
@ -26560,6 +26818,7 @@ module Google
# Update properties of this object # Update properties of this object
def update!(**args) def update!(**args)
@automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart) @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) @min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
@node_affinities = args[:node_affinities] if args.key?(:node_affinities) @node_affinities = args[:node_affinities] if args.key?(:node_affinities)
@on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance) @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 # 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 # 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 # lowest priority where 0 is the highest priority and 2147483647 is the lowest
# prority. # priority.
# Corresponds to the JSON property `priority` # Corresponds to the JSON property `priority`
# @return [Fixnum] # @return [Fixnum]
attr_accessor :priority attr_accessor :priority
@ -28688,12 +28947,14 @@ module Google
# @return [String] # @return [String]
attr_accessor :self_link attr_accessor :self_link
# [Output Only] The state of the subnetwork, which can be one of READY or # [Output Only] The state of the subnetwork, which can be one of the following
# DRAINING. A subnetwork that is READY is ready to be used. The state of # values: READY: Subnetwork is created and ready to use DRAINING: only
# DRAINING is only applicable to subnetworks that have the purpose set to # applicable to subnetworks that have the purpose set to
# INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load # INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load
# balancer are being drained. A subnetwork that is draining cannot be used or # 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` # Corresponds to the JSON property `state`
# @return [String] # @return [String]
attr_accessor :state attr_accessor :state

View File

@ -1996,6 +1996,12 @@ module Google
include Google::Apis::Core::JsonObjectSupport include Google::Apis::Core::JsonObjectSupport
end end
class LocalDisk
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class LogConfig class LogConfig
class Representation < Google::Apis::Core::JsonRepresentation; end class Representation < Google::Apis::Core::JsonRepresentation; end
@ -2398,6 +2404,12 @@ module Google
include Google::Apis::Core::JsonObjectSupport include Google::Apis::Core::JsonObjectSupport
end end
class NodeGroupMaintenanceWindow
class Representation < Google::Apis::Core::JsonRepresentation; end
include Google::Apis::Core::JsonObjectSupport
end
class NodeGroupNode class NodeGroupNode
class Representation < Google::Apis::Core::JsonRepresentation; end 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 :cdn_policy, as: 'cdnPolicy', class: Google::Apis::ComputeV1::BackendBucketCdnPolicy, decorator: Google::Apis::ComputeV1::BackendBucketCdnPolicy::Representation
property :creation_timestamp, as: 'creationTimestamp' property :creation_timestamp, as: 'creationTimestamp'
collection :custom_response_headers, as: 'customResponseHeaders'
property :description, as: 'description' property :description, as: 'description'
property :enable_cdn, as: 'enableCdn' property :enable_cdn, as: 'enableCdn'
property :id, :numeric_string => true, as: 'id' property :id, :numeric_string => true, as: 'id'
@ -5345,6 +5358,10 @@ module Google
class BackendBucketCdnPolicy class BackendBucketCdnPolicy
# @private # @private
class Representation < Google::Apis::Core::JsonRepresentation 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' property :signed_url_cache_max_age_sec, :numeric_string => true, as: 'signedUrlCacheMaxAgeSec'
collection :signed_url_key_names, as: 'signedUrlKeyNames' collection :signed_url_key_names, as: 'signedUrlKeyNames'
end end
@ -5398,6 +5415,7 @@ module Google
property :creation_timestamp, as: 'creationTimestamp' property :creation_timestamp, as: 'creationTimestamp'
collection :custom_request_headers, as: 'customRequestHeaders' collection :custom_request_headers, as: 'customRequestHeaders'
collection :custom_response_headers, as: 'customResponseHeaders'
property :description, as: 'description' property :description, as: 'description'
property :enable_cdn, as: 'enableCDN' property :enable_cdn, as: 'enableCDN'
property :failover_policy, as: 'failoverPolicy', class: Google::Apis::ComputeV1::BackendServiceFailoverPolicy, decorator: Google::Apis::ComputeV1::BackendServiceFailoverPolicy::Representation 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 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_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' property :signed_url_cache_max_age_sec, :numeric_string => true, as: 'signedUrlCacheMaxAgeSec'
collection :signed_url_key_names, as: 'signedUrlKeyNames' collection :signed_url_key_names, as: 'signedUrlKeyNames'
end end
@ -6808,6 +6830,8 @@ module Google
property :instance, as: 'instance' property :instance, as: 'instance'
property :ip_address, as: 'ipAddress' property :ip_address, as: 'ipAddress'
property :port, as: 'port' property :port, as: 'port'
property :weight, as: 'weight'
property :weight_error, as: 'weightError'
end end
end end
@ -8125,6 +8149,7 @@ module Google
property :id, :numeric_string => true, as: 'id' property :id, :numeric_string => true, as: 'id'
property :interconnect, as: 'interconnect' property :interconnect, as: 'interconnect'
property :kind, as: 'kind' property :kind, as: 'kind'
property :mtu, as: 'mtu'
property :name, as: 'name' property :name, as: 'name'
property :operational_status, as: 'operationalStatus' property :operational_status, as: 'operationalStatus'
property :pairing_key, as: 'pairingKey' property :pairing_key, as: 'pairingKey'
@ -8518,6 +8543,15 @@ module Google
end end
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 class LogConfig
# @private # @private
class Representation < Google::Apis::Core::JsonRepresentation class Representation < Google::Apis::Core::JsonRepresentation
@ -9055,6 +9089,7 @@ module Google
property :name, as: 'name' property :name, as: 'name'
property :network, as: 'network' property :network, as: 'network'
property :network_ip, as: 'networkIP' property :network_ip, as: 'networkIP'
property :nic_type, as: 'nicType'
property :subnetwork, as: 'subnetwork' property :subnetwork, as: 'subnetwork'
end end
end end
@ -9152,6 +9187,8 @@ module Google
property :id, :numeric_string => true, as: 'id' property :id, :numeric_string => true, as: 'id'
property :kind, as: 'kind' property :kind, as: 'kind'
property :maintenance_policy, as: 'maintenancePolicy' 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 :name, as: 'name'
property :node_template, as: 'nodeTemplate' property :node_template, as: 'nodeTemplate'
property :self_link, as: 'selfLink' property :self_link, as: 'selfLink'
@ -9235,10 +9272,23 @@ module Google
end end
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 class NodeGroupNode
# @private # @private
class Representation < Google::Apis::Core::JsonRepresentation 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 :cpu_overcommit_type, as: 'cpuOvercommitType'
collection :disks, as: 'disks', class: Google::Apis::ComputeV1::LocalDisk, decorator: Google::Apis::ComputeV1::LocalDisk::Representation
collection :instances, as: 'instances' collection :instances, as: 'instances'
property :name, as: 'name' property :name, as: 'name'
property :node_type, as: 'nodeType' property :node_type, as: 'nodeType'
@ -9333,9 +9383,13 @@ module Google
class NodeTemplate class NodeTemplate
# @private # @private
class Representation < Google::Apis::Core::JsonRepresentation 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 :cpu_overcommit_type, as: 'cpuOvercommitType'
property :creation_timestamp, as: 'creationTimestamp' property :creation_timestamp, as: 'creationTimestamp'
property :description, as: 'description' 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 :id, :numeric_string => true, as: 'id'
property :kind, as: 'kind' property :kind, as: 'kind'
property :name, as: 'name' property :name, as: 'name'
@ -11260,6 +11314,7 @@ module Google
# @private # @private
class Representation < Google::Apis::Core::JsonRepresentation class Representation < Google::Apis::Core::JsonRepresentation
property :automatic_restart, as: 'automaticRestart' property :automatic_restart, as: 'automaticRestart'
property :location_hint, as: 'locationHint'
property :min_node_cpus, as: 'minNodeCpus' property :min_node_cpus, as: 'minNodeCpus'
collection :node_affinities, as: 'nodeAffinities', class: Google::Apis::ComputeV1::SchedulingNodeAffinity, decorator: Google::Apis::ComputeV1::SchedulingNodeAffinity::Representation collection :node_affinities, as: 'nodeAffinities', class: Google::Apis::ComputeV1::SchedulingNodeAffinity, decorator: Google::Apis::ComputeV1::SchedulingNodeAffinity::Representation

View File

@ -19220,9 +19220,9 @@ module Google
execute_or_queue_command(command, &block) execute_or_queue_command(command, &block)
end end
# Insert or patch (for the ones that already exist) per-instance configs for the # Inserts or patches per-instance configs for the managed instance group.
# managed instance group. perInstanceConfig.instance serves as a key used to # perInstanceConfig.name serves as a key used to distinguish whether to perform
# distinguish whether to perform insert or patch. # insert or patch.
# @param [String] project # @param [String] project
# Project ID for this request. # Project ID for this request.
# @param [String] region # @param [String] region
@ -19511,9 +19511,9 @@ module Google
execute_or_queue_command(command, &block) execute_or_queue_command(command, &block)
end end
# Insert or update (for the ones that already exist) per-instance configs for # Inserts or updates per-instance configs for the managed instance group.
# the managed instance group. perInstanceConfig.instance serves as a key used to # perInstanceConfig.name serves as a key used to distinguish whether to perform
# distinguish whether to perform insert or patch. # insert or patch.
# @param [String] project # @param [String] project
# Project ID for this request. # Project ID for this request.
# @param [String] region # @param [String] region
@ -23826,7 +23826,9 @@ module Google
execute_or_queue_command(command, &block) execute_or_queue_command(command, &block)
end 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 # @param [String] project
# Project ID for this request. # Project ID for this request.
# @param [String] security_policy # @param [String] security_policy

View File

@ -4,7 +4,7 @@
"git": { "git": {
"name": ".", "name": ".",
"remote": "https://github.com/googleapis/google-api-ruby-client.git", "remote": "https://github.com/googleapis/google-api-ruby-client.git",
"sha": "a22618d2ab4cf744163c1341253f834f54618f45" "sha": "800e822b5eb5ee610179aa0f8646db4870e635f8"
} }
} }
] ]