google-apis-compute_beta 0.2.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a7e4714b9cd71c746a6f8fb446f4e28255649db139ae9852195da4a70f7c1179
4
- data.tar.gz: 8dec9100fd79eee926c11c2219353e3f0e109a6fa4bac4b5f5e74f840d5d0e51
3
+ metadata.gz: 8f1f6d35efad211a2c3b995234c787d51b604337ff1cf96f8fcbbb95208f8385
4
+ data.tar.gz: 9e7cdb0f61869f34ca6056f60b83bd1b7b37378cb9bd9ea08021414a2f2c449e
5
5
  SHA512:
6
- metadata.gz: e80f98366202511d99468c13c53f8c5d468ea29a9e05a2bcffd1be97983cc7473ba334494e4b8409161f437291e82d9ee39ee5b7652c0ab190c99d39d0b89e12
7
- data.tar.gz: 10c7ebe2a2cbb9dfc79fde09750e9123b1a1227d0e5ba9ed9e40d5fea8c7a2d7c1a2dfb95c7158784bfb16765da35aad12e946dd03aacfc4ee4ec2a35fb6c211
6
+ metadata.gz: e11e6452aa1da80215ebf3a55fe5f28b299061c04f121a8d336bcf37f0659f83053f3aa6a85f93758935a25f65eccb4a7cc551ab862eb88f8a7d2a549ed939bc
7
+ data.tar.gz: 325ddae718b8b3895ba8655375b0ea4055bb67377cc514e542a76371335b901664a0e76ddd35e67f9b20a09757cffca7ff1e1fd8100bb986b8cbceaeae78ba10
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Release history for google-apis-compute_beta
2
2
 
3
+ ### v0.7.0 (2021-03-19)
4
+
5
+ * Regenerated from discovery document revision 20210310
6
+
7
+ ### v0.6.0 (2021-03-10)
8
+
9
+ * Regenerated from discovery document revision 20210301
10
+ * Regenerated using generator version 0.2.0
11
+
12
+ ### v0.5.0 (2021-03-04)
13
+
14
+ * Unspecified changes
15
+
16
+ ### v0.4.0 (2021-02-24)
17
+
18
+ * Regenerated from discovery document revision 20210209
19
+
20
+ ### v0.3.0 (2021-02-16)
21
+
22
+ * Regenerated from discovery document revision 20210129
23
+
3
24
  ### v0.2.0 (2021-01-29)
4
25
 
5
26
  * Regenerated from discovery document revision 20210111
@@ -29,7 +29,7 @@ module Google
29
29
  # This is NOT the gem version.
30
30
  VERSION = 'Beta'
31
31
 
32
- # View and manage your data across Google Cloud Platform services
32
+ # See, edit, configure, and delete your Google Cloud Platform data
33
33
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
34
34
 
35
35
  # View and manage your Google Compute Engine resources
@@ -636,7 +636,7 @@ module Google
636
636
  # @return [String]
637
637
  attr_accessor :network_tier
638
638
 
639
- # The prefix length if the resource reprensents an IP range.
639
+ # The prefix length if the resource represents an IP range.
640
640
  # Corresponds to the JSON property `prefixLength`
641
641
  # @return [Fixnum]
642
642
  attr_accessor :prefix_length
@@ -649,15 +649,15 @@ module Google
649
649
  # - `NAT_AUTO` for addresses that are external IP addresses automatically
650
650
  # reserved for Cloud NAT.
651
651
  # - `IPSEC_INTERCONNECT` for addresses created from a private IP range that are
652
- # reserved for a VLAN attachment in an IPsec encrypted Interconnect
652
+ # reserved for a VLAN attachment in an IPsec-encrypted Cloud Interconnect
653
653
  # configuration. These addresses are regional resources.
654
654
  # Corresponds to the JSON property `purpose`
655
655
  # @return [String]
656
656
  attr_accessor :purpose
657
657
 
658
- # [Output Only] The URL of the region where the regional address resides. This
659
- # field is not applicable to global addresses. You must specify this field as
660
- # part of the HTTP request URL.
658
+ # [Output Only] The URL of the region where a regional address resides. For
659
+ # regional addresses, you must specify the region as a path parameter in the
660
+ # HTTP request URL. This field is not applicable to global addresses.
661
661
  # Corresponds to the JSON property `region`
662
662
  # @return [String]
663
663
  attr_accessor :region
@@ -1145,6 +1145,12 @@ module Google
1145
1145
  # @return [Array<Google::Apis::ComputeBeta::AllocationSpecificSkuAllocationAllocatedInstancePropertiesReservedDisk>]
1146
1146
  attr_accessor :local_ssds
1147
1147
 
1148
+ # An opaque location hint used to place the allocation close to other resources.
1149
+ # This field is for use by internal tools that use the public API.
1150
+ # Corresponds to the JSON property `locationHint`
1151
+ # @return [String]
1152
+ attr_accessor :location_hint
1153
+
1148
1154
  # Specifies type of machine (name only) which has fixed number of vCPUs and
1149
1155
  # fixed amount of memory. This also includes specifying custom machine type
1150
1156
  # following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.
@@ -1165,6 +1171,7 @@ module Google
1165
1171
  def update!(**args)
1166
1172
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
1167
1173
  @local_ssds = args[:local_ssds] if args.key?(:local_ssds)
1174
+ @location_hint = args[:location_hint] if args.key?(:location_hint)
1168
1175
  @machine_type = args[:machine_type] if args.key?(:machine_type)
1169
1176
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
1170
1177
  end
@@ -2729,10 +2736,15 @@ module Google
2729
2736
  # @return [String]
2730
2737
  attr_accessor :cache_mode
2731
2738
 
2732
- # Specifies a separate client (e.g. browser client) TTL, separate from the TTL
2733
- # for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL
2734
- # for both Cloud CDN and the client-facing response. The maximum allowed value
2735
- # is 86400s (1 day).
2739
+ # Specifies a separate client (e.g. browser client) maximum TTL. This is used to
2740
+ # clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL,
2741
+ # the lesser of client_ttl and default_ttl is used for the response max-age
2742
+ # directive, along with a "public" directive. For cacheable content in
2743
+ # CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if
2744
+ # specified), or else sets the response max-age directive to the lesser of the
2745
+ # client_ttl and default_ttl, and also ensures a "public" cache-control
2746
+ # directive is present. If a client TTL is not specified, a default value (1
2747
+ # hour) will be used. The maximum allowed value is 86400s (1 day).
2736
2748
  # Corresponds to the JSON property `clientTtl`
2737
2749
  # @return [Fixnum]
2738
2750
  attr_accessor :client_ttl
@@ -2871,8 +2883,8 @@ module Google
2871
2883
  include Google::Apis::Core::Hashable
2872
2884
 
2873
2885
  # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
2874
- # 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you
2875
- # cannot specify a status code more than once.
2886
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
2887
+ # and you cannot specify a status code more than once.
2876
2888
  # Corresponds to the JSON property `code`
2877
2889
  # @return [Fixnum]
2878
2890
  attr_accessor :code
@@ -3198,6 +3210,14 @@ module Google
3198
3210
  # @return [Google::Apis::ComputeBeta::BackendServiceLogConfig]
3199
3211
  attr_accessor :log_config
3200
3212
 
3213
+ # A Duration represents a fixed-length span of time represented as a count of
3214
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
3215
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
3216
+ # 000 years.
3217
+ # Corresponds to the JSON property `maxStreamDuration`
3218
+ # @return [Google::Apis::ComputeBeta::Duration]
3219
+ attr_accessor :max_stream_duration
3220
+
3201
3221
  # Name of the resource. Provided by the client when the resource is created. The
3202
3222
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
3203
3223
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3222,8 +3242,8 @@ module Google
3222
3242
 
3223
3243
  # Deprecated in favor of portName. The TCP port to connect on the backend. The
3224
3244
  # default value is 80.
3225
- # This cannot be used if the loadBalancingScheme is INTERNAL (Internal TCP/UDP
3226
- # Load Balancing).
3245
+ # Backend services for Internal TCP/UDP Load Balancing and Network Load
3246
+ # Balancing require you omit port.
3227
3247
  # Corresponds to the JSON property `port`
3228
3248
  # @return [Fixnum]
3229
3249
  attr_accessor :port
@@ -3292,6 +3312,11 @@ module Google
3292
3312
  # @return [String]
3293
3313
  attr_accessor :session_affinity
3294
3314
 
3315
+ # Subsetting options to make L4 ILB support any number of backend instances
3316
+ # Corresponds to the JSON property `subsetting`
3317
+ # @return [Google::Apis::ComputeBeta::Subsetting]
3318
+ attr_accessor :subsetting
3319
+
3295
3320
  # The backend service timeout has a different meaning depending on the type of
3296
3321
  # load balancer. For more information see, Backend service settings The default
3297
3322
  # is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647
@@ -3327,6 +3352,7 @@ module Google
3327
3352
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3328
3353
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
3329
3354
  @log_config = args[:log_config] if args.key?(:log_config)
3355
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
3330
3356
  @name = args[:name] if args.key?(:name)
3331
3357
  @network = args[:network] if args.key?(:network)
3332
3358
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
@@ -3338,6 +3364,7 @@ module Google
3338
3364
  @security_settings = args[:security_settings] if args.key?(:security_settings)
3339
3365
  @self_link = args[:self_link] if args.key?(:self_link)
3340
3366
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
3367
+ @subsetting = args[:subsetting] if args.key?(:subsetting)
3341
3368
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
3342
3369
  end
3343
3370
  end
@@ -3499,10 +3526,15 @@ module Google
3499
3526
  # @return [String]
3500
3527
  attr_accessor :cache_mode
3501
3528
 
3502
- # Specifies a separate client (e.g. browser client) TTL, separate from the TTL
3503
- # for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL
3504
- # for both Cloud CDN and the client-facing response. The maximum allowed value
3505
- # is 86400s (1 day).
3529
+ # Specifies a separate client (e.g. browser client) maximum TTL. This is used to
3530
+ # clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL,
3531
+ # the lesser of client_ttl and default_ttl is used for the response max-age
3532
+ # directive, along with a "public" directive. For cacheable content in
3533
+ # CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if
3534
+ # specified), or else sets the response max-age directive to the lesser of the
3535
+ # client_ttl and default_ttl, and also ensures a "public" cache-control
3536
+ # directive is present. If a client TTL is not specified, a default value (1
3537
+ # hour) will be used. The maximum allowed value is 86400s (1 day).
3506
3538
  # Corresponds to the JSON property `clientTtl`
3507
3539
  # @return [Fixnum]
3508
3540
  attr_accessor :client_ttl
@@ -3642,8 +3674,8 @@ module Google
3642
3674
  include Google::Apis::Core::Hashable
3643
3675
 
3644
3676
  # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
3645
- # 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you
3646
- # cannot specify a status code more than once.
3677
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
3678
+ # and you cannot specify a status code more than once.
3647
3679
  # Corresponds to the JSON property `code`
3648
3680
  # @return [Fixnum]
3649
3681
  attr_accessor :code
@@ -4438,6 +4470,105 @@ module Google
4438
4470
  end
4439
4471
  end
4440
4472
 
4473
+ #
4474
+ class BulkInsertInstanceResource
4475
+ include Google::Apis::Core::Hashable
4476
+
4477
+ # The maximum number of instances to create.
4478
+ # Corresponds to the JSON property `count`
4479
+ # @return [Fixnum]
4480
+ attr_accessor :count
4481
+
4482
+ #
4483
+ # Corresponds to the JSON property `instanceProperties`
4484
+ # @return [Google::Apis::ComputeBeta::InstanceProperties]
4485
+ attr_accessor :instance_properties
4486
+
4487
+ # Configuration for location policy among multiple possible locations (e.g.
4488
+ # preferences for zone selection among zones in a single region).
4489
+ # Corresponds to the JSON property `locationPolicy`
4490
+ # @return [Google::Apis::ComputeBeta::LocationPolicy]
4491
+ attr_accessor :location_policy
4492
+
4493
+ # The minimum number of instances to create. If no min_count is specified then
4494
+ # count is used as the default value. If min_count instances cannot be created,
4495
+ # then no instances will be created.
4496
+ # Corresponds to the JSON property `minCount`
4497
+ # @return [Fixnum]
4498
+ attr_accessor :min_count
4499
+
4500
+ # The string pattern used for the names of the VMs. Either name_pattern or
4501
+ # predefined_names must be set. The pattern should contain one consecutive
4502
+ # sequence of placeholder hash characters (#) with each character corresponding
4503
+ # to one digit of the generated instance name. Example: name_pattern of inst-####
4504
+ # will generate instance names like inst-0001, inst-0002, ... . If there
4505
+ # already exist instance(s) whose names match the name pattern in the same
4506
+ # project and zone, then the generated instance numbers will start after the
4507
+ # biggest existing number. For example, if there exists an instance with name
4508
+ # inst-0050, then instance names generated using the pattern inst-#### will be
4509
+ # inst-0051, inst-0052, etc. The name pattern placeholder #...# can contain up
4510
+ # to 18 characters.
4511
+ # Corresponds to the JSON property `namePattern`
4512
+ # @return [String]
4513
+ attr_accessor :name_pattern
4514
+
4515
+ # Per-instance properties to be set on individual instances. Keys of this map
4516
+ # specify requested instance names. Can be empty if name_pattern is used.
4517
+ # Corresponds to the JSON property `perInstanceProperties`
4518
+ # @return [Hash<String,Google::Apis::ComputeBeta::BulkInsertInstanceResourcePerInstanceProperties>]
4519
+ attr_accessor :per_instance_properties
4520
+
4521
+ # Specifies the instance template from which to create instances. You may
4522
+ # combine sourceInstanceTemplate with instanceProperties to override specific
4523
+ # values from an existing instance template. Bulk API follows the semantics of
4524
+ # JSON Merge Patch described by RFC 7396.
4525
+ # It can be a full or partial URL. For example, the following are all valid URLs
4526
+ # to an instance template:
4527
+ # - https://www.googleapis.com/compute/v1/projects/project/global/
4528
+ # instanceTemplates/instanceTemplate
4529
+ # - projects/project/global/instanceTemplates/instanceTemplate
4530
+ # - global/instanceTemplates/instanceTemplate
4531
+ # This field is optional.
4532
+ # Corresponds to the JSON property `sourceInstanceTemplate`
4533
+ # @return [String]
4534
+ attr_accessor :source_instance_template
4535
+
4536
+ def initialize(**args)
4537
+ update!(**args)
4538
+ end
4539
+
4540
+ # Update properties of this object
4541
+ def update!(**args)
4542
+ @count = args[:count] if args.key?(:count)
4543
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
4544
+ @location_policy = args[:location_policy] if args.key?(:location_policy)
4545
+ @min_count = args[:min_count] if args.key?(:min_count)
4546
+ @name_pattern = args[:name_pattern] if args.key?(:name_pattern)
4547
+ @per_instance_properties = args[:per_instance_properties] if args.key?(:per_instance_properties)
4548
+ @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
4549
+ end
4550
+ end
4551
+
4552
+ # Per-instance properties to be set on individual instances. To be extended in
4553
+ # the future.
4554
+ class BulkInsertInstanceResourcePerInstanceProperties
4555
+ include Google::Apis::Core::Hashable
4556
+
4557
+ # This field is only temporary. It will be removed. Do not use it.
4558
+ # Corresponds to the JSON property `name`
4559
+ # @return [String]
4560
+ attr_accessor :name
4561
+
4562
+ def initialize(**args)
4563
+ update!(**args)
4564
+ end
4565
+
4566
+ # Update properties of this object
4567
+ def update!(**args)
4568
+ @name = args[:name] if args.key?(:name)
4569
+ end
4570
+ end
4571
+
4441
4572
  #
4442
4573
  class CacheInvalidationRule
4443
4574
  include Google::Apis::Core::Hashable
@@ -5607,8 +5738,13 @@ module Google
5607
5738
  # The source disk used to create this disk. You can provide this as a partial or
5608
5739
  # full URL to the resource. For example, the following are valid values:
5609
5740
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
5741
+ #
5742
+ # - https://www.googleapis.com/compute/v1/projects/project/regions/region/disks/
5743
+ # disk
5610
5744
  # - projects/project/zones/zone/disks/disk
5745
+ # - projects/project/regions/region/disks/disk
5611
5746
  # - zones/zone/disks/disk
5747
+ # - regions/region/disks/disk
5612
5748
  # Corresponds to the JSON property `sourceDisk`
5613
5749
  # @return [String]
5614
5750
  attr_accessor :source_disk
@@ -7741,13 +7877,14 @@ module Google
7741
7877
  # @return [String]
7742
7878
  attr_accessor :description
7743
7879
 
7744
- # User-provided name of the Organization firewall plicy. The name should be
7745
- # unique in the organization in which the firewall policy is created. The name
7746
- # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
7747
- # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
7748
- # [a-z0-9])?` which means the first character must be a lowercase letter, and
7749
- # all following characters must be a dash, lowercase letter, or digit, except
7750
- # the last character, which cannot be a dash.
7880
+ # Depreacted, please use short name instead. User-provided name of the
7881
+ # Organization firewall plicy. The name should be unique in the organization in
7882
+ # which the firewall policy is created. The name must be 1-63 characters long,
7883
+ # and comply with RFC1035. Specifically, the name must be 1-63 characters long
7884
+ # and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
7885
+ # first character must be a lowercase letter, and all following characters must
7886
+ # be a dash, lowercase letter, or digit, except the last character, which cannot
7887
+ # be a dash.
7751
7888
  # Corresponds to the JSON property `displayName`
7752
7889
  # @return [String]
7753
7890
  attr_accessor :display_name
@@ -7811,6 +7948,17 @@ module Google
7811
7948
  # @return [String]
7812
7949
  attr_accessor :self_link_with_id
7813
7950
 
7951
+ # User-provided name of the Organization firewall plicy. The name should be
7952
+ # unique in the organization in which the firewall policy is created. The name
7953
+ # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
7954
+ # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
7955
+ # [a-z0-9])?` which means the first character must be a lowercase letter, and
7956
+ # all following characters must be a dash, lowercase letter, or digit, except
7957
+ # the last character, which cannot be a dash.
7958
+ # Corresponds to the JSON property `shortName`
7959
+ # @return [String]
7960
+ attr_accessor :short_name
7961
+
7814
7962
  def initialize(**args)
7815
7963
  update!(**args)
7816
7964
  end
@@ -7830,6 +7978,7 @@ module Google
7830
7978
  @rules = args[:rules] if args.key?(:rules)
7831
7979
  @self_link = args[:self_link] if args.key?(:self_link)
7832
7980
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
7981
+ @short_name = args[:short_name] if args.key?(:short_name)
7833
7982
  end
7834
7983
  end
7835
7984
 
@@ -7842,7 +7991,8 @@ module Google
7842
7991
  # @return [String]
7843
7992
  attr_accessor :attachment_target
7844
7993
 
7845
- # [Output Only] The display name of the firewall policy of the association.
7994
+ # [Output Only] Deprecated, please use short name instead. The display name of
7995
+ # the firewall policy of the association.
7846
7996
  # Corresponds to the JSON property `displayName`
7847
7997
  # @return [String]
7848
7998
  attr_accessor :display_name
@@ -7857,6 +8007,11 @@ module Google
7857
8007
  # @return [String]
7858
8008
  attr_accessor :name
7859
8009
 
8010
+ # [Output Only] The short name of the firewall policy of the association.
8011
+ # Corresponds to the JSON property `shortName`
8012
+ # @return [String]
8013
+ attr_accessor :short_name
8014
+
7860
8015
  def initialize(**args)
7861
8016
  update!(**args)
7862
8017
  end
@@ -7867,6 +8022,7 @@ module Google
7867
8022
  @display_name = args[:display_name] if args.key?(:display_name)
7868
8023
  @firewall_policy_id = args[:firewall_policy_id] if args.key?(:firewall_policy_id)
7869
8024
  @name = args[:name] if args.key?(:name)
8025
+ @short_name = args[:short_name] if args.key?(:short_name)
7870
8026
  end
7871
8027
  end
7872
8028
 
@@ -7994,8 +8150,7 @@ module Google
7994
8150
  # @return [String]
7995
8151
  attr_accessor :action
7996
8152
 
7997
- # An optional description of this resource. Provide this property when you
7998
- # create the resource.
8153
+ # An optional description for this resource.
7999
8154
  # Corresponds to the JSON property `description`
8000
8155
  # @return [String]
8001
8156
  attr_accessor :description
@@ -8237,6 +8392,8 @@ module Google
8237
8392
  # ip_address_specifications).
8238
8393
  # Must be set to `0.0.0.0` when the target is targetGrpcProxy that has
8239
8394
  # validateForProxyless field set to true.
8395
+ # For Private Service Connect forwarding rules that forward traffic to Google
8396
+ # APIs, IP address must be provided.
8240
8397
  # Corresponds to the JSON property `IPAddress`
8241
8398
  # @return [String]
8242
8399
  attr_accessor :ip_address
@@ -8409,6 +8566,8 @@ module Google
8409
8566
  # For Internal TCP/UDP Load Balancing, this field identifies the network that
8410
8567
  # the load balanced IP should belong to for this Forwarding Rule. If this field
8411
8568
  # is not specified, the default network will be used.
8569
+ # For Private Service Connect forwarding rules that forward traffic to Google
8570
+ # APIs, a network must be provided.
8412
8571
  # Corresponds to the JSON property `network`
8413
8572
  # @return [String]
8414
8573
  attr_accessor :network
@@ -8458,6 +8617,11 @@ module Google
8458
8617
  # @return [Array<String>]
8459
8618
  attr_accessor :ports
8460
8619
 
8620
+ # [Output Only] The PSC connection id of the PSC Forwarding Rule.
8621
+ # Corresponds to the JSON property `pscConnectionId`
8622
+ # @return [Fixnum]
8623
+ attr_accessor :psc_connection_id
8624
+
8461
8625
  # [Output Only] URL of the region where the regional forwarding rule resides.
8462
8626
  # This field is not applicable to global forwarding rules. You must specify this
8463
8627
  # field as part of the HTTP request URL. It is not settable as a field in the
@@ -8508,12 +8672,7 @@ module Google
8508
8672
  # @return [String]
8509
8673
  attr_accessor :subnetwork
8510
8674
 
8511
- # The URL of the target resource to receive the matched traffic. For regional
8512
- # forwarding rules, this target must be in the same region as the forwarding
8513
- # rule. For global forwarding rules, this target must be a global load balancing
8514
- # resource. The forwarded traffic must be of a type appropriate to the target
8515
- # object. For more information, see the "Target" column in [Port specifications](
8516
- # /load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
8675
+ #
8517
8676
  # Corresponds to the JSON property `target`
8518
8677
  # @return [String]
8519
8678
  attr_accessor :target
@@ -8545,6 +8704,7 @@ module Google
8545
8704
  @network_tier = args[:network_tier] if args.key?(:network_tier)
8546
8705
  @port_range = args[:port_range] if args.key?(:port_range)
8547
8706
  @ports = args[:ports] if args.key?(:ports)
8707
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
8548
8708
  @region = args[:region] if args.key?(:region)
8549
8709
  @self_link = args[:self_link] if args.key?(:self_link)
8550
8710
  @service_directory_registrations = args[:service_directory_registrations] if args.key?(:service_directory_registrations)
@@ -8831,6 +8991,14 @@ module Google
8831
8991
  # @return [String]
8832
8992
  attr_accessor :service
8833
8993
 
8994
+ # [Optional] Service Directory region to register this global forwarding rule
8995
+ # under. Default to "us-central1". Only used for PSC for Google APIs. All PSC
8996
+ # for Google APIs Forwarding Rules on the same network should use the same
8997
+ # Service Directory region.
8998
+ # Corresponds to the JSON property `serviceDirectoryRegion`
8999
+ # @return [String]
9000
+ attr_accessor :service_directory_region
9001
+
8834
9002
  def initialize(**args)
8835
9003
  update!(**args)
8836
9004
  end
@@ -8839,6 +9007,7 @@ module Google
8839
9007
  def update!(**args)
8840
9008
  @namespace = args[:namespace] if args.key?(:namespace)
8841
9009
  @service = args[:service] if args.key?(:service)
9010
+ @service_directory_region = args[:service_directory_region] if args.key?(:service_directory_region)
8842
9011
  end
8843
9012
  end
8844
9013
 
@@ -9596,11 +9765,12 @@ module Google
9596
9765
  attr_accessor :log_config
9597
9766
 
9598
9767
  # Name of the resource. Provided by the client when the resource is created. The
9599
- # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
9600
- # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
9601
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
9602
- # and all following characters must be a dash, lowercase letter, or digit,
9603
- # except the last character, which cannot be a dash.
9768
+ # name must be 1-63 characters long, and comply with RFC1035. For example, a
9769
+ # name that is 1-63 characters long, matches the regular expression `[a-z]([-a-
9770
+ # z0-9]*[a-z0-9])?`, and otherwise complies with RFC1035. This regular
9771
+ # expression describes a name where the first character is a lowercase letter,
9772
+ # and all following characters are a dash, lowercase letter, or digit, except
9773
+ # the last character, which isn't a dash.
9604
9774
  # Corresponds to the JSON property `name`
9605
9775
  # @return [String]
9606
9776
  attr_accessor :name
@@ -10347,7 +10517,9 @@ module Google
10347
10517
  # @return [String]
10348
10518
  attr_accessor :instance
10349
10519
 
10350
- # A forwarding rule IP address assigned to this instance.
10520
+ # For target pool based Network Load Balancing, it indicates the forwarding rule'
10521
+ # s IP address assigned to this instance. For other types of load balancing, the
10522
+ # field indicates VM internal ip.
10351
10523
  # Corresponds to the JSON property `ipAddress`
10352
10524
  # @return [String]
10353
10525
  attr_accessor :ip_address
@@ -11209,6 +11381,14 @@ module Google
11209
11381
  # @return [Google::Apis::ComputeBeta::HttpFaultInjection]
11210
11382
  attr_accessor :fault_injection_policy
11211
11383
 
11384
+ # A Duration represents a fixed-length span of time represented as a count of
11385
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
11386
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
11387
+ # 000 years.
11388
+ # Corresponds to the JSON property `maxStreamDuration`
11389
+ # @return [Google::Apis::ComputeBeta::Duration]
11390
+ attr_accessor :max_stream_duration
11391
+
11212
11392
  # A policy that specifies how requests intended for the route's backends are
11213
11393
  # shadowed to a separate mirrored backend service. Loadbalancer does not wait
11214
11394
  # for responses from the shadow service. Prior to sending traffic to the shadow
@@ -11257,6 +11437,7 @@ module Google
11257
11437
  def update!(**args)
11258
11438
  @cors_policy = args[:cors_policy] if args.key?(:cors_policy)
11259
11439
  @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
11440
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
11260
11441
  @request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy)
11261
11442
  @retry_policy = args[:retry_policy] if args.key?(:retry_policy)
11262
11443
  @timeout = args[:timeout] if args.key?(:timeout)
@@ -11804,6 +11985,12 @@ module Google
11804
11985
  # @return [Google::Apis::ComputeBeta::Image::RawDisk]
11805
11986
  attr_accessor :raw_disk
11806
11987
 
11988
+ # [Output Only] Reserved for future use.
11989
+ # Corresponds to the JSON property `satisfiesPzs`
11990
+ # @return [Boolean]
11991
+ attr_accessor :satisfies_pzs
11992
+ alias_method :satisfies_pzs?, :satisfies_pzs
11993
+
11807
11994
  # [Output Only] Server-defined URL for the resource.
11808
11995
  # Corresponds to the JSON property `selfLink`
11809
11996
  # @return [String]
@@ -11930,6 +12117,7 @@ module Google
11930
12117
  @licenses = args[:licenses] if args.key?(:licenses)
11931
12118
  @name = args[:name] if args.key?(:name)
11932
12119
  @raw_disk = args[:raw_disk] if args.key?(:raw_disk)
12120
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
11933
12121
  @self_link = args[:self_link] if args.key?(:self_link)
11934
12122
  @shielded_instance_initial_state = args[:shielded_instance_initial_state] if args.key?(:shielded_instance_initial_state)
11935
12123
  @source_disk = args[:source_disk] if args.key?(:source_disk)
@@ -12320,6 +12508,16 @@ module Google
12320
12508
  # @return [Array<Google::Apis::ComputeBeta::NetworkInterface>]
12321
12509
  attr_accessor :network_interfaces
12322
12510
 
12511
+ #
12512
+ # Corresponds to the JSON property `networkPerformanceConfig`
12513
+ # @return [Google::Apis::ComputeBeta::NetworkPerformanceConfig]
12514
+ attr_accessor :network_performance_config
12515
+
12516
+ # PostKeyRevocationActionType of the instance.
12517
+ # Corresponds to the JSON property `postKeyRevocationActionType`
12518
+ # @return [String]
12519
+ attr_accessor :post_key_revocation_action_type
12520
+
12323
12521
  # The private IPv6 google access type for the VM. If not specified, use
12324
12522
  # INHERIT_FROM_SUBNETWORK as default.
12325
12523
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
@@ -12342,7 +12540,7 @@ module Google
12342
12540
  attr_accessor :satisfies_pzs
12343
12541
  alias_method :satisfies_pzs?, :satisfies_pzs
12344
12542
 
12345
- # Sets the scheduling options for an Instance. NextID: 13
12543
+ # Sets the scheduling options for an Instance. NextID: 20
12346
12544
  # Corresponds to the JSON property `scheduling`
12347
12545
  # @return [Google::Apis::ComputeBeta::Scheduling]
12348
12546
  attr_accessor :scheduling
@@ -12388,7 +12586,8 @@ module Google
12388
12586
  # @return [String]
12389
12587
  attr_accessor :source_machine_image
12390
12588
 
12391
- # Source GMI encryption key when creating an instance from GMI.
12589
+ # Source machine image encryption key when creating an instance from a machine
12590
+ # image.
12392
12591
  # Corresponds to the JSON property `sourceMachineImageEncryptionKey`
12393
12592
  # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
12394
12593
  attr_accessor :source_machine_image_encryption_key
@@ -12456,6 +12655,8 @@ module Google
12456
12655
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
12457
12656
  @name = args[:name] if args.key?(:name)
12458
12657
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
12658
+ @network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
12659
+ @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
12459
12660
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
12460
12661
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
12461
12662
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -15074,6 +15275,11 @@ module Google
15074
15275
  # @return [Array<Google::Apis::ComputeBeta::NetworkInterface>]
15075
15276
  attr_accessor :network_interfaces
15076
15277
 
15278
+ #
15279
+ # Corresponds to the JSON property `networkPerformanceConfig`
15280
+ # @return [Google::Apis::ComputeBeta::NetworkPerformanceConfig]
15281
+ attr_accessor :network_performance_config
15282
+
15077
15283
  # PostKeyRevocationActionType of the instance.
15078
15284
  # Corresponds to the JSON property `postKeyRevocationActionType`
15079
15285
  # @return [String]
@@ -15096,7 +15302,7 @@ module Google
15096
15302
  # @return [Array<String>]
15097
15303
  attr_accessor :resource_policies
15098
15304
 
15099
- # Sets the scheduling options for an Instance. NextID: 13
15305
+ # Sets the scheduling options for an Instance. NextID: 20
15100
15306
  # Corresponds to the JSON property `scheduling`
15101
15307
  # @return [Google::Apis::ComputeBeta::Scheduling]
15102
15308
  attr_accessor :scheduling
@@ -15142,6 +15348,7 @@ module Google
15142
15348
  @metadata = args[:metadata] if args.key?(:metadata)
15143
15349
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
15144
15350
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
15351
+ @network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
15145
15352
  @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
15146
15353
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
15147
15354
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
@@ -15461,7 +15668,8 @@ module Google
15461
15668
  class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy
15462
15669
  include Google::Apis::Core::Hashable
15463
15670
 
15464
- # [Output Only] The display name of the firewall policy.
15671
+ # [Output Only] Deprecated, please use short name instead. The display name of
15672
+ # the firewall policy.
15465
15673
  # Corresponds to the JSON property `displayName`
15466
15674
  # @return [String]
15467
15675
  attr_accessor :display_name
@@ -15476,6 +15684,11 @@ module Google
15476
15684
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
15477
15685
  attr_accessor :rules
15478
15686
 
15687
+ # [Output Only] The short name of the firewall policy.
15688
+ # Corresponds to the JSON property `shortName`
15689
+ # @return [String]
15690
+ attr_accessor :short_name
15691
+
15479
15692
  # [Output Only] The type of the firewall policy.
15480
15693
  # Corresponds to the JSON property `type`
15481
15694
  # @return [String]
@@ -15490,6 +15703,7 @@ module Google
15490
15703
  @display_name = args[:display_name] if args.key?(:display_name)
15491
15704
  @name = args[:name] if args.key?(:name)
15492
15705
  @rules = args[:rules] if args.key?(:rules)
15706
+ @short_name = args[:short_name] if args.key?(:short_name)
15493
15707
  @type = args[:type] if args.key?(:type)
15494
15708
  end
15495
15709
  end
@@ -16155,6 +16369,18 @@ module Google
16155
16369
  # @return [String]
16156
16370
  attr_accessor :edge_availability_domain
16157
16371
 
16372
+ # Indicates the user-supplied encryption option of this interconnect attachment:
16373
+ # - NONE is the default value, which means that the attachment carries
16374
+ # unencrypted traffic. VMs can send traffic to, or receive traffic from, this
16375
+ # type of attachment.
16376
+ # - IPSEC indicates that the attachment carries only traffic encrypted by an
16377
+ # IPsec device such as an HA VPN gateway. VMs cannot directly send traffic to,
16378
+ # or receive traffic from, such an attachment. To use IPsec-encrypted Cloud
16379
+ # Interconnect, create the attachment using this option.
16380
+ # Corresponds to the JSON property `encryption`
16381
+ # @return [String]
16382
+ attr_accessor :encryption
16383
+
16158
16384
  # [Output Only] Google reference ID, to be used when raising support tickets
16159
16385
  # with Google or otherwise to debug backend connectivity issues. [Deprecated]
16160
16386
  # This field is not used.
@@ -16174,6 +16400,22 @@ module Google
16174
16400
  # @return [String]
16175
16401
  attr_accessor :interconnect
16176
16402
 
16403
+ # URL of addresses that have been reserved for the interconnect attachment, Used
16404
+ # only for interconnect attachment that has the encryption option as IPSEC. The
16405
+ # addresses must be RFC 1918 IP address ranges. When creating HA VPN gateway
16406
+ # over the interconnect attachment, if the attachment is configured to use an
16407
+ # RFC 1918 IP address, then the VPN gateway?s IP address will be allocated from
16408
+ # the IP address range specified here. For example, if the HA VPN gateway?s
16409
+ # interface 0 is paired to this interconnect attachment, then an RFC 1918 IP
16410
+ # address for the VPN gateway interface 0 will be allocated from the IP address
16411
+ # specified for this interconnect attachment. If this field is not specified for
16412
+ # interconnect attachment that has encryption option as IPSEC, later on when
16413
+ # creating HA VPN gateway on this interconnect attachment, the HA VPN gateway's
16414
+ # IP address will be allocated from regional external IP address pool.
16415
+ # Corresponds to the JSON property `ipsecInternalAddresses`
16416
+ # @return [Array<String>]
16417
+ attr_accessor :ipsec_internal_addresses
16418
+
16177
16419
  # [Output Only] Type of the resource. Always compute#interconnectAttachment for
16178
16420
  # interconnect attachments.
16179
16421
  # Corresponds to the JSON property `kind`
@@ -16328,9 +16570,11 @@ module Google
16328
16570
  @dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
16329
16571
  @description = args[:description] if args.key?(:description)
16330
16572
  @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
16573
+ @encryption = args[:encryption] if args.key?(:encryption)
16331
16574
  @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id)
16332
16575
  @id = args[:id] if args.key?(:id)
16333
16576
  @interconnect = args[:interconnect] if args.key?(:interconnect)
16577
+ @ipsec_internal_addresses = args[:ipsec_internal_addresses] if args.key?(:ipsec_internal_addresses)
16334
16578
  @kind = args[:kind] if args.key?(:kind)
16335
16579
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
16336
16580
  @labels = args[:labels] if args.key?(:labels)
@@ -17836,6 +18080,47 @@ module Google
17836
18080
  end
17837
18081
  end
17838
18082
 
18083
+ # Configuration for location policy among multiple possible locations (e.g.
18084
+ # preferences for zone selection among zones in a single region).
18085
+ class LocationPolicy
18086
+ include Google::Apis::Core::Hashable
18087
+
18088
+ # Location configurations mapped by location name. Currently only zone names are
18089
+ # supported and must be represented as valid internal URLs, like: zones/us-
18090
+ # central1-a.
18091
+ # Corresponds to the JSON property `locations`
18092
+ # @return [Hash<String,Google::Apis::ComputeBeta::LocationPolicyLocation>]
18093
+ attr_accessor :locations
18094
+
18095
+ def initialize(**args)
18096
+ update!(**args)
18097
+ end
18098
+
18099
+ # Update properties of this object
18100
+ def update!(**args)
18101
+ @locations = args[:locations] if args.key?(:locations)
18102
+ end
18103
+ end
18104
+
18105
+ #
18106
+ class LocationPolicyLocation
18107
+ include Google::Apis::Core::Hashable
18108
+
18109
+ #
18110
+ # Corresponds to the JSON property `preference`
18111
+ # @return [String]
18112
+ attr_accessor :preference
18113
+
18114
+ def initialize(**args)
18115
+ update!(**args)
18116
+ end
18117
+
18118
+ # Update properties of this object
18119
+ def update!(**args)
18120
+ @preference = args[:preference] if args.key?(:preference)
18121
+ end
18122
+ end
18123
+
17839
18124
  # Specifies what kind of log the caller must write
17840
18125
  class LogConfig
17841
18126
  include Google::Apis::Core::Hashable
@@ -18060,6 +18345,12 @@ module Google
18060
18345
  # @return [String]
18061
18346
  attr_accessor :name
18062
18347
 
18348
+ # [Output Only] Reserved for future use.
18349
+ # Corresponds to the JSON property `satisfiesPzs`
18350
+ # @return [Boolean]
18351
+ attr_accessor :satisfies_pzs
18352
+ alias_method :satisfies_pzs?, :satisfies_pzs
18353
+
18063
18354
  # [Output Only] The URL for this machine image. The server defines this URL.
18064
18355
  # Corresponds to the JSON property `selfLink`
18065
18356
  # @return [String]
@@ -18117,6 +18408,7 @@ module Google
18117
18408
  @kind = args[:kind] if args.key?(:kind)
18118
18409
  @machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
18119
18410
  @name = args[:name] if args.key?(:name)
18411
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
18120
18412
  @self_link = args[:self_link] if args.key?(:self_link)
18121
18413
  @source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys)
18122
18414
  @source_instance = args[:source_instance] if args.key?(:source_instance)
@@ -20165,8 +20457,9 @@ module Google
20165
20457
 
20166
20458
  # Fingerprint hash of contents stored in this network interface. This field will
20167
20459
  # be ignored when inserting an Instance or adding a NetworkInterface. An up-to-
20168
- # date fingerprint must be provided in order to update the NetworkInterface,
20169
- # otherwise the request will fail with error 412 conditionNotMet.
20460
+ # date fingerprint must be provided in order to update the NetworkInterface. The
20461
+ # request will fail with error 400 Bad Request if the fingerprint is not
20462
+ # provided, or 412 Precondition Failed if the fingerprint is out of date.
20170
20463
  # Corresponds to the JSON property `fingerprint`
20171
20464
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
20172
20465
  # @return [String]
@@ -20474,6 +20767,25 @@ module Google
20474
20767
  end
20475
20768
  end
20476
20769
 
20770
+ #
20771
+ class NetworkPerformanceConfig
20772
+ include Google::Apis::Core::Hashable
20773
+
20774
+ #
20775
+ # Corresponds to the JSON property `totalEgressBandwidthTier`
20776
+ # @return [String]
20777
+ attr_accessor :total_egress_bandwidth_tier
20778
+
20779
+ def initialize(**args)
20780
+ update!(**args)
20781
+ end
20782
+
20783
+ # Update properties of this object
20784
+ def update!(**args)
20785
+ @total_egress_bandwidth_tier = args[:total_egress_bandwidth_tier] if args.key?(:total_egress_bandwidth_tier)
20786
+ end
20787
+ end
20788
+
20477
20789
  # A routing configuration attached to a network resource. The message includes
20478
20790
  # the list of routers associated with the network, and a flag indicating the
20479
20791
  # type of routing behavior to enforce network-wide.
@@ -20580,7 +20892,8 @@ module Google
20580
20892
  class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy
20581
20893
  include Google::Apis::Core::Hashable
20582
20894
 
20583
- # [Output Only] The display name of the firewall policy.
20895
+ # [Output Only] Deprecated, please use short name instead. The display name of
20896
+ # the firewall policy.
20584
20897
  # Corresponds to the JSON property `displayName`
20585
20898
  # @return [String]
20586
20899
  attr_accessor :display_name
@@ -20595,6 +20908,11 @@ module Google
20595
20908
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
20596
20909
  attr_accessor :rules
20597
20910
 
20911
+ # [Output Only] The short name of the firewall policy.
20912
+ # Corresponds to the JSON property `shortName`
20913
+ # @return [String]
20914
+ attr_accessor :short_name
20915
+
20598
20916
  # [Output Only] The type of the firewall policy.
20599
20917
  # Corresponds to the JSON property `type`
20600
20918
  # @return [String]
@@ -20609,6 +20927,7 @@ module Google
20609
20927
  @display_name = args[:display_name] if args.key?(:display_name)
20610
20928
  @name = args[:name] if args.key?(:name)
20611
20929
  @rules = args[:rules] if args.key?(:rules)
20930
+ @short_name = args[:short_name] if args.key?(:short_name)
20612
20931
  @type = args[:type] if args.key?(:type)
20613
20932
  end
20614
20933
  end
@@ -20722,6 +21041,13 @@ module Google
20722
21041
  # @return [String]
20723
21042
  attr_accessor :kind
20724
21043
 
21044
+ # An opaque location hint used to place the Node close to other resources. This
21045
+ # field is for use by internal tools that use the public API. The location hint
21046
+ # here on the NodeGroup overrides any location_hint present in the NodeTemplate.
21047
+ # Corresponds to the JSON property `locationHint`
21048
+ # @return [String]
21049
+ attr_accessor :location_hint
21050
+
20725
21051
  # Specifies how to handle instances when a node in the group undergoes
20726
21052
  # maintenance. Set to one of: DEFAULT, RESTART_IN_PLACE, or
20727
21053
  # MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT. For more information,
@@ -20785,6 +21111,7 @@ module Google
20785
21111
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
20786
21112
  @id = args[:id] if args.key?(:id)
20787
21113
  @kind = args[:kind] if args.key?(:kind)
21114
+ @location_hint = args[:location_hint] if args.key?(:location_hint)
20788
21115
  @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
20789
21116
  @maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
20790
21117
  @name = args[:name] if args.key?(:name)
@@ -21136,6 +21463,12 @@ module Google
21136
21463
  # @return [String]
21137
21464
  attr_accessor :node_type
21138
21465
 
21466
+ # [Output Only] Reserved for future use.
21467
+ # Corresponds to the JSON property `satisfiesPzs`
21468
+ # @return [Boolean]
21469
+ attr_accessor :satisfies_pzs
21470
+ alias_method :satisfies_pzs?, :satisfies_pzs
21471
+
21139
21472
  # Binding properties for the physical server.
21140
21473
  # Corresponds to the JSON property `serverBinding`
21141
21474
  # @return [Google::Apis::ComputeBeta::ServerBinding]
@@ -21163,6 +21496,7 @@ module Google
21163
21496
  @instances = args[:instances] if args.key?(:instances)
21164
21497
  @name = args[:name] if args.key?(:name)
21165
21498
  @node_type = args[:node_type] if args.key?(:node_type)
21499
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
21166
21500
  @server_binding = args[:server_binding] if args.key?(:server_binding)
21167
21501
  @server_id = args[:server_id] if args.key?(:server_id)
21168
21502
  @status = args[:status] if args.key?(:status)
@@ -22689,6 +23023,12 @@ module Google
22689
23023
  # @return [String]
22690
23024
  attr_accessor :name
22691
23025
 
23026
+ # [Output Only] An ID that represents a group of operations, such as when a
23027
+ # group of operations results from a `bulkInsert` API request.
23028
+ # Corresponds to the JSON property `operationGroupId`
23029
+ # @return [String]
23030
+ attr_accessor :operation_group_id
23031
+
22692
23032
  # [Output Only] The type of operation, such as `insert`, `update`, or `delete`,
22693
23033
  # and so on.
22694
23034
  # Corresponds to the JSON property `operationType`
@@ -22780,6 +23120,7 @@ module Google
22780
23120
  @insert_time = args[:insert_time] if args.key?(:insert_time)
22781
23121
  @kind = args[:kind] if args.key?(:kind)
22782
23122
  @name = args[:name] if args.key?(:name)
23123
+ @operation_group_id = args[:operation_group_id] if args.key?(:operation_group_id)
22783
23124
  @operation_type = args[:operation_type] if args.key?(:operation_type)
22784
23125
  @progress = args[:progress] if args.key?(:progress)
22785
23126
  @region = args[:region] if args.key?(:region)
@@ -27090,6 +27431,12 @@ module Google
27090
27431
  # @return [String]
27091
27432
  attr_accessor :name
27092
27433
 
27434
+ # [Output Only] Reserved for future use.
27435
+ # Corresponds to the JSON property `satisfiesPzs`
27436
+ # @return [Boolean]
27437
+ attr_accessor :satisfies_pzs
27438
+ alias_method :satisfies_pzs?, :satisfies_pzs
27439
+
27093
27440
  # [Output Only] Server-defined fully-qualified URL for this resource.
27094
27441
  # Corresponds to the JSON property `selfLink`
27095
27442
  # @return [String]
@@ -27131,6 +27478,7 @@ module Google
27131
27478
  @id = args[:id] if args.key?(:id)
27132
27479
  @kind = args[:kind] if args.key?(:kind)
27133
27480
  @name = args[:name] if args.key?(:name)
27481
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
27134
27482
  @self_link = args[:self_link] if args.key?(:self_link)
27135
27483
  @specific_reservation = args[:specific_reservation] if args.key?(:specific_reservation)
27136
27484
  @specific_reservation_required = args[:specific_reservation_required] if args.key?(:specific_reservation_required)
@@ -27704,6 +28052,12 @@ module Google
27704
28052
  # @return [Fixnum]
27705
28053
  attr_accessor :id
27706
28054
 
28055
+ # An InstanceSchedulePolicy specifies when and how frequent certain operations
28056
+ # are performed on the instance.
28057
+ # Corresponds to the JSON property `instanceSchedulePolicy`
28058
+ # @return [Google::Apis::ComputeBeta::ResourcePolicyInstanceSchedulePolicy]
28059
+ attr_accessor :instance_schedule_policy
28060
+
27707
28061
  # [Output Only] Type of the resource. Always compute#resource_policies for
27708
28062
  # resource policies.
27709
28063
  # Corresponds to the JSON property `kind`
@@ -27726,6 +28080,13 @@ module Google
27726
28080
  # @return [String]
27727
28081
  attr_accessor :region
27728
28082
 
28083
+ # Contains output only fields. Use this sub-message for all output fields set on
28084
+ # ResourcePolicy. The internal structure of this "status" field should mimic the
28085
+ # structure of ResourcePolicy proto specification.
28086
+ # Corresponds to the JSON property `resourceStatus`
28087
+ # @return [Google::Apis::ComputeBeta::ResourcePolicyResourceStatus]
28088
+ attr_accessor :resource_status
28089
+
27729
28090
  # [Output Only] Server-defined fully-qualified URL for this resource.
27730
28091
  # Corresponds to the JSON property `selfLink`
27731
28092
  # @return [String]
@@ -27753,9 +28114,11 @@ module Google
27753
28114
  @description = args[:description] if args.key?(:description)
27754
28115
  @group_placement_policy = args[:group_placement_policy] if args.key?(:group_placement_policy)
27755
28116
  @id = args[:id] if args.key?(:id)
28117
+ @instance_schedule_policy = args[:instance_schedule_policy] if args.key?(:instance_schedule_policy)
27756
28118
  @kind = args[:kind] if args.key?(:kind)
27757
28119
  @name = args[:name] if args.key?(:name)
27758
28120
  @region = args[:region] if args.key?(:region)
28121
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
27759
28122
  @self_link = args[:self_link] if args.key?(:self_link)
27760
28123
  @snapshot_schedule_policy = args[:snapshot_schedule_policy] if args.key?(:snapshot_schedule_policy)
27761
28124
  @status = args[:status] if args.key?(:status)
@@ -27994,6 +28357,71 @@ module Google
27994
28357
  end
27995
28358
  end
27996
28359
 
28360
+ # An InstanceSchedulePolicy specifies when and how frequent certain operations
28361
+ # are performed on the instance.
28362
+ class ResourcePolicyInstanceSchedulePolicy
28363
+ include Google::Apis::Core::Hashable
28364
+
28365
+ # The expiration time of the schedule. The timestamp is an RFC3339 string.
28366
+ # Corresponds to the JSON property `expirationTime`
28367
+ # @return [String]
28368
+ attr_accessor :expiration_time
28369
+
28370
+ # The start time of the schedule. The timestamp is an RFC3339 string.
28371
+ # Corresponds to the JSON property `startTime`
28372
+ # @return [String]
28373
+ attr_accessor :start_time
28374
+
28375
+ # Specifies the time zone to be used in interpreting Schedule.schedule. The
28376
+ # value of this field must be a time zone name from the tz database: http://en.
28377
+ # wikipedia.org/wiki/Tz_database.
28378
+ # Corresponds to the JSON property `timeZone`
28379
+ # @return [String]
28380
+ attr_accessor :time_zone
28381
+
28382
+ # Schedule for an instance operation.
28383
+ # Corresponds to the JSON property `vmStartSchedule`
28384
+ # @return [Google::Apis::ComputeBeta::ResourcePolicyInstanceSchedulePolicySchedule]
28385
+ attr_accessor :vm_start_schedule
28386
+
28387
+ # Schedule for an instance operation.
28388
+ # Corresponds to the JSON property `vmStopSchedule`
28389
+ # @return [Google::Apis::ComputeBeta::ResourcePolicyInstanceSchedulePolicySchedule]
28390
+ attr_accessor :vm_stop_schedule
28391
+
28392
+ def initialize(**args)
28393
+ update!(**args)
28394
+ end
28395
+
28396
+ # Update properties of this object
28397
+ def update!(**args)
28398
+ @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
28399
+ @start_time = args[:start_time] if args.key?(:start_time)
28400
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
28401
+ @vm_start_schedule = args[:vm_start_schedule] if args.key?(:vm_start_schedule)
28402
+ @vm_stop_schedule = args[:vm_stop_schedule] if args.key?(:vm_stop_schedule)
28403
+ end
28404
+ end
28405
+
28406
+ # Schedule for an instance operation.
28407
+ class ResourcePolicyInstanceSchedulePolicySchedule
28408
+ include Google::Apis::Core::Hashable
28409
+
28410
+ # Specifies the frequency for the operation, using the unix-cron format.
28411
+ # Corresponds to the JSON property `schedule`
28412
+ # @return [String]
28413
+ attr_accessor :schedule
28414
+
28415
+ def initialize(**args)
28416
+ update!(**args)
28417
+ end
28418
+
28419
+ # Update properties of this object
28420
+ def update!(**args)
28421
+ @schedule = args[:schedule] if args.key?(:schedule)
28422
+ end
28423
+ end
28424
+
27997
28425
  #
27998
28426
  class ResourcePolicyList
27999
28427
  include Google::Apis::Core::Hashable
@@ -28119,6 +28547,56 @@ module Google
28119
28547
  end
28120
28548
  end
28121
28549
 
28550
+ # Contains output only fields. Use this sub-message for all output fields set on
28551
+ # ResourcePolicy. The internal structure of this "status" field should mimic the
28552
+ # structure of ResourcePolicy proto specification.
28553
+ class ResourcePolicyResourceStatus
28554
+ include Google::Apis::Core::Hashable
28555
+
28556
+ # [Output Only] Specifies a set of output values reffering to the
28557
+ # instance_schedule_policy system status. This field should have the same name
28558
+ # as corresponding policy field.
28559
+ # Corresponds to the JSON property `instanceSchedulePolicy`
28560
+ # @return [Google::Apis::ComputeBeta::ResourcePolicyResourceStatusInstanceSchedulePolicyStatus]
28561
+ attr_accessor :instance_schedule_policy
28562
+
28563
+ def initialize(**args)
28564
+ update!(**args)
28565
+ end
28566
+
28567
+ # Update properties of this object
28568
+ def update!(**args)
28569
+ @instance_schedule_policy = args[:instance_schedule_policy] if args.key?(:instance_schedule_policy)
28570
+ end
28571
+ end
28572
+
28573
+ #
28574
+ class ResourcePolicyResourceStatusInstanceSchedulePolicyStatus
28575
+ include Google::Apis::Core::Hashable
28576
+
28577
+ # [Output Only] The last time the schedule successfully ran. The timestamp is an
28578
+ # RFC3339 string.
28579
+ # Corresponds to the JSON property `lastRunStartTime`
28580
+ # @return [String]
28581
+ attr_accessor :last_run_start_time
28582
+
28583
+ # [Output Only] The next time the schedule is planned to run. The actual time
28584
+ # might be slightly different. The timestamp is an RFC3339 string.
28585
+ # Corresponds to the JSON property `nextRunStartTime`
28586
+ # @return [String]
28587
+ attr_accessor :next_run_start_time
28588
+
28589
+ def initialize(**args)
28590
+ update!(**args)
28591
+ end
28592
+
28593
+ # Update properties of this object
28594
+ def update!(**args)
28595
+ @last_run_start_time = args[:last_run_start_time] if args.key?(:last_run_start_time)
28596
+ @next_run_start_time = args[:next_run_start_time] if args.key?(:next_run_start_time)
28597
+ end
28598
+ end
28599
+
28122
28600
  # A snapshot schedule policy specifies when and how frequently snapshots are to
28123
28601
  # be created for the target disk. Also specifies how many and how long these
28124
28602
  # scheduled snapshots should be retained.
@@ -28670,6 +29148,13 @@ module Google
28670
29148
  # @return [String]
28671
29149
  attr_accessor :description
28672
29150
 
29151
+ # Field to indicate if a router is dedicated to use with encrypted Interconnect
29152
+ # Attachment (IPsec-encrypted Cloud Interconnect feature).
29153
+ # Corresponds to the JSON property `encryptedInterconnectRouter`
29154
+ # @return [Boolean]
29155
+ attr_accessor :encrypted_interconnect_router
29156
+ alias_method :encrypted_interconnect_router?, :encrypted_interconnect_router
29157
+
28673
29158
  # [Output Only] The unique identifier for the resource. This identifier is
28674
29159
  # defined by the server.
28675
29160
  # Corresponds to the JSON property `id`
@@ -28730,6 +29215,7 @@ module Google
28730
29215
  @bgp_peers = args[:bgp_peers] if args.key?(:bgp_peers)
28731
29216
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
28732
29217
  @description = args[:description] if args.key?(:description)
29218
+ @encrypted_interconnect_router = args[:encrypted_interconnect_router] if args.key?(:encrypted_interconnect_router)
28733
29219
  @id = args[:id] if args.key?(:id)
28734
29220
  @interfaces = args[:interfaces] if args.key?(:interfaces)
28735
29221
  @kind = args[:kind] if args.key?(:kind)
@@ -28930,7 +29416,7 @@ module Google
28930
29416
  # successive keepalive messages that BGP receives from a peer.
28931
29417
  # BGP will use the smaller of either the local hold time value or the peer's
28932
29418
  # hold time value as the hold time for the BGP connection between the two peers.
28933
- # If set, this value must be between 1 and 120. The default is 20.
29419
+ # If set, this value must be between 20 and 60. The default is 20.
28934
29420
  # Corresponds to the JSON property `keepaliveInterval`
28935
29421
  # @return [Fixnum]
28936
29422
  attr_accessor :keepalive_interval
@@ -28961,12 +29447,11 @@ module Google
28961
29447
  # User-specified list of prefix groups to advertise in custom mode, which can
28962
29448
  # take one of the following options:
28963
29449
  # - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets.
28964
- # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets.
28965
- # - ALL_PEER_VPC_SUBNETS: Advertises peer subnets of the router's VPC network.
28966
- # Note that this field can only be populated if advertise_mode is CUSTOM and
28967
- # overrides the list defined for the router (in the "bgp" message). These groups
28968
- # are advertised in addition to any specified prefixes. Leave this field blank
28969
- # to advertise no custom groups.
29450
+ # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. Note that this
29451
+ # field can only be populated if advertise_mode is CUSTOM and overrides the list
29452
+ # defined for the router (in the "bgp" message). These groups are advertised in
29453
+ # addition to any specified prefixes. Leave this field blank to advertise no
29454
+ # custom groups.
28970
29455
  # Corresponds to the JSON property `advertisedGroups`
28971
29456
  # @return [Array<String>]
28972
29457
  attr_accessor :advertised_groups
@@ -29046,6 +29531,14 @@ module Google
29046
29531
  # @return [String]
29047
29532
  attr_accessor :peer_ip_address
29048
29533
 
29534
+ # URI of the VM instance that is used as third-party router appliances such as
29535
+ # Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
29536
+ # must be located in zones contained in the same region as this Cloud Router.
29537
+ # The VM instance is the peer side of the BGP session.
29538
+ # Corresponds to the JSON property `routerApplianceInstance`
29539
+ # @return [String]
29540
+ attr_accessor :router_appliance_instance
29541
+
29049
29542
  def initialize(**args)
29050
29543
  update!(**args)
29051
29544
  end
@@ -29064,6 +29557,7 @@ module Google
29064
29557
  @name = args[:name] if args.key?(:name)
29065
29558
  @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
29066
29559
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
29560
+ @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
29067
29561
  end
29068
29562
  end
29069
29563
 
@@ -29171,6 +29665,35 @@ module Google
29171
29665
  # @return [String]
29172
29666
  attr_accessor :name
29173
29667
 
29668
+ # The regional private internal IP address that is used to establish BGP
29669
+ # sessions to a VM instance acting as a third-party Router Appliance, such as a
29670
+ # Next Gen Firewall, a Virtual Router, or an SD-WAN VM.
29671
+ # Corresponds to the JSON property `privateIpAddress`
29672
+ # @return [String]
29673
+ attr_accessor :private_ip_address
29674
+
29675
+ # Name of the interface that will be redundant with the current interface you
29676
+ # are creating. The redundantInterface must belong to the same Cloud Router as
29677
+ # the interface here. To establish the BGP session to a Router Appliance VM, you
29678
+ # must create two BGP peers. The two BGP peers must be attached to two separate
29679
+ # interfaces that are redundant with each other. The redundant_interface must be
29680
+ # 1-63 characters long, and comply with RFC1035. Specifically, the
29681
+ # redundant_interface must be 1-63 characters long and match the regular
29682
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must
29683
+ # be a lowercase letter, and all following characters must be a dash, lowercase
29684
+ # letter, or digit, except the last character, which cannot be a dash.
29685
+ # Corresponds to the JSON property `redundantInterface`
29686
+ # @return [String]
29687
+ attr_accessor :redundant_interface
29688
+
29689
+ # The URL of the subnetwork resource that this interface belongs to, which must
29690
+ # be in the same region as the Cloud Router. When you establish a BGP session to
29691
+ # a VM instance using this interface, the VM instance must belong to the same
29692
+ # subnetwork as the subnetwork specified here.
29693
+ # Corresponds to the JSON property `subnetwork`
29694
+ # @return [String]
29695
+ attr_accessor :subnetwork
29696
+
29174
29697
  def initialize(**args)
29175
29698
  update!(**args)
29176
29699
  end
@@ -29182,6 +29705,9 @@ module Google
29182
29705
  @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
29183
29706
  @management_type = args[:management_type] if args.key?(:management_type)
29184
29707
  @name = args[:name] if args.key?(:name)
29708
+ @private_ip_address = args[:private_ip_address] if args.key?(:private_ip_address)
29709
+ @redundant_interface = args[:redundant_interface] if args.key?(:redundant_interface)
29710
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
29185
29711
  end
29186
29712
  end
29187
29713
 
@@ -29572,6 +30098,13 @@ module Google
29572
30098
  # @return [String]
29573
30099
  attr_accessor :peer_ip_address
29574
30100
 
30101
+ # [Output only] URI of the VM instance that is used as third-party router
30102
+ # appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances.
30103
+ # The VM instance is the peer side of the BGP session.
30104
+ # Corresponds to the JSON property `routerApplianceInstance`
30105
+ # @return [String]
30106
+ attr_accessor :router_appliance_instance
30107
+
29575
30108
  # BGP state as specified in RFC1771.
29576
30109
  # Corresponds to the JSON property `state`
29577
30110
  # @return [String]
@@ -29606,6 +30139,7 @@ module Google
29606
30139
  @name = args[:name] if args.key?(:name)
29607
30140
  @num_learned_routes = args[:num_learned_routes] if args.key?(:num_learned_routes)
29608
30141
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
30142
+ @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
29609
30143
  @state = args[:state] if args.key?(:state)
29610
30144
  @status = args[:status] if args.key?(:status)
29611
30145
  @uptime = args[:uptime] if args.key?(:uptime)
@@ -30099,7 +30633,7 @@ module Google
30099
30633
  end
30100
30634
  end
30101
30635
 
30102
- # Sets the scheduling options for an Instance. NextID: 13
30636
+ # Sets the scheduling options for an Instance. NextID: 20
30103
30637
  class Scheduling
30104
30638
  include Google::Apis::Core::Hashable
30105
30639
 
@@ -31004,7 +31538,7 @@ module Google
31004
31538
  # A service attachment represents a service that a producer has exposed. It
31005
31539
  # encapsulates the load balancer which fronts the service runs and a list of NAT
31006
31540
  # IP ranges that the producers uses to represent the consumers connecting to the
31007
- # service.
31541
+ # service. next tag = 17
31008
31542
  class ServiceAttachment
31009
31543
  include Google::Apis::Core::Hashable
31010
31544
 
@@ -31107,6 +31641,129 @@ module Google
31107
31641
  end
31108
31642
  end
31109
31643
 
31644
+ # Contains a list of ServiceAttachmentsScopedList.
31645
+ class ServiceAttachmentAggregatedList
31646
+ include Google::Apis::Core::Hashable
31647
+
31648
+ # [Output Only] Unique identifier for the resource; defined by the server.
31649
+ # Corresponds to the JSON property `id`
31650
+ # @return [String]
31651
+ attr_accessor :id
31652
+
31653
+ # A list of ServiceAttachmentsScopedList resources.
31654
+ # Corresponds to the JSON property `items`
31655
+ # @return [Hash<String,Google::Apis::ComputeBeta::ServiceAttachmentsScopedList>]
31656
+ attr_accessor :items
31657
+
31658
+ # Type of resource.
31659
+ # Corresponds to the JSON property `kind`
31660
+ # @return [String]
31661
+ attr_accessor :kind
31662
+
31663
+ # [Output Only] This token allows you to get the next page of results for list
31664
+ # requests. If the number of results is larger than maxResults, use the
31665
+ # nextPageToken as a value for the query parameter pageToken in the next list
31666
+ # request. Subsequent list requests will have their own nextPageToken to
31667
+ # continue paging through the results.
31668
+ # Corresponds to the JSON property `nextPageToken`
31669
+ # @return [String]
31670
+ attr_accessor :next_page_token
31671
+
31672
+ # [Output Only] Server-defined URL for this resource.
31673
+ # Corresponds to the JSON property `selfLink`
31674
+ # @return [String]
31675
+ attr_accessor :self_link
31676
+
31677
+ # [Output Only] Unreachable resources.
31678
+ # Corresponds to the JSON property `unreachables`
31679
+ # @return [Array<String>]
31680
+ attr_accessor :unreachables
31681
+
31682
+ # [Output Only] Informational warning message.
31683
+ # Corresponds to the JSON property `warning`
31684
+ # @return [Google::Apis::ComputeBeta::ServiceAttachmentAggregatedList::Warning]
31685
+ attr_accessor :warning
31686
+
31687
+ def initialize(**args)
31688
+ update!(**args)
31689
+ end
31690
+
31691
+ # Update properties of this object
31692
+ def update!(**args)
31693
+ @id = args[:id] if args.key?(:id)
31694
+ @items = args[:items] if args.key?(:items)
31695
+ @kind = args[:kind] if args.key?(:kind)
31696
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
31697
+ @self_link = args[:self_link] if args.key?(:self_link)
31698
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
31699
+ @warning = args[:warning] if args.key?(:warning)
31700
+ end
31701
+
31702
+ # [Output Only] Informational warning message.
31703
+ class Warning
31704
+ include Google::Apis::Core::Hashable
31705
+
31706
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
31707
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
31708
+ # Corresponds to the JSON property `code`
31709
+ # @return [String]
31710
+ attr_accessor :code
31711
+
31712
+ # [Output Only] Metadata about this warning in key: value format. For example:
31713
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
31714
+ # Corresponds to the JSON property `data`
31715
+ # @return [Array<Google::Apis::ComputeBeta::ServiceAttachmentAggregatedList::Warning::Datum>]
31716
+ attr_accessor :data
31717
+
31718
+ # [Output Only] A human-readable description of the warning code.
31719
+ # Corresponds to the JSON property `message`
31720
+ # @return [String]
31721
+ attr_accessor :message
31722
+
31723
+ def initialize(**args)
31724
+ update!(**args)
31725
+ end
31726
+
31727
+ # Update properties of this object
31728
+ def update!(**args)
31729
+ @code = args[:code] if args.key?(:code)
31730
+ @data = args[:data] if args.key?(:data)
31731
+ @message = args[:message] if args.key?(:message)
31732
+ end
31733
+
31734
+ #
31735
+ class Datum
31736
+ include Google::Apis::Core::Hashable
31737
+
31738
+ # [Output Only] A key that provides more detail on the warning being returned.
31739
+ # For example, for warnings where there are no results in a list request for a
31740
+ # particular zone, this key might be scope and the key value might be the zone
31741
+ # name. Other examples might be a key indicating a deprecated resource and a
31742
+ # suggested replacement, or a warning about invalid network settings (for
31743
+ # example, if an instance attempts to perform IP forwarding but is not enabled
31744
+ # for IP forwarding).
31745
+ # Corresponds to the JSON property `key`
31746
+ # @return [String]
31747
+ attr_accessor :key
31748
+
31749
+ # [Output Only] A warning data value corresponding to the key.
31750
+ # Corresponds to the JSON property `value`
31751
+ # @return [String]
31752
+ attr_accessor :value
31753
+
31754
+ def initialize(**args)
31755
+ update!(**args)
31756
+ end
31757
+
31758
+ # Update properties of this object
31759
+ def update!(**args)
31760
+ @key = args[:key] if args.key?(:key)
31761
+ @value = args[:value] if args.key?(:value)
31762
+ end
31763
+ end
31764
+ end
31765
+ end
31766
+
31110
31767
  # [Output Only] A consumer forwarding rule connected to this service attachment.
31111
31768
  class ServiceAttachmentConsumerForwardingRule
31112
31769
  include Google::Apis::Core::Hashable
@@ -31250,6 +31907,97 @@ module Google
31250
31907
  end
31251
31908
  end
31252
31909
 
31910
+ #
31911
+ class ServiceAttachmentsScopedList
31912
+ include Google::Apis::Core::Hashable
31913
+
31914
+ # A list of ServiceAttachments contained in this scope.
31915
+ # Corresponds to the JSON property `resources`
31916
+ # @return [Array<Google::Apis::ComputeBeta::ServiceAttachment>]
31917
+ attr_accessor :resources
31918
+
31919
+ # Informational warning which replaces the list of service attachments when the
31920
+ # list is empty.
31921
+ # Corresponds to the JSON property `warning`
31922
+ # @return [Google::Apis::ComputeBeta::ServiceAttachmentsScopedList::Warning]
31923
+ attr_accessor :warning
31924
+
31925
+ def initialize(**args)
31926
+ update!(**args)
31927
+ end
31928
+
31929
+ # Update properties of this object
31930
+ def update!(**args)
31931
+ @resources = args[:resources] if args.key?(:resources)
31932
+ @warning = args[:warning] if args.key?(:warning)
31933
+ end
31934
+
31935
+ # Informational warning which replaces the list of service attachments when the
31936
+ # list is empty.
31937
+ class Warning
31938
+ include Google::Apis::Core::Hashable
31939
+
31940
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
31941
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
31942
+ # Corresponds to the JSON property `code`
31943
+ # @return [String]
31944
+ attr_accessor :code
31945
+
31946
+ # [Output Only] Metadata about this warning in key: value format. For example:
31947
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
31948
+ # Corresponds to the JSON property `data`
31949
+ # @return [Array<Google::Apis::ComputeBeta::ServiceAttachmentsScopedList::Warning::Datum>]
31950
+ attr_accessor :data
31951
+
31952
+ # [Output Only] A human-readable description of the warning code.
31953
+ # Corresponds to the JSON property `message`
31954
+ # @return [String]
31955
+ attr_accessor :message
31956
+
31957
+ def initialize(**args)
31958
+ update!(**args)
31959
+ end
31960
+
31961
+ # Update properties of this object
31962
+ def update!(**args)
31963
+ @code = args[:code] if args.key?(:code)
31964
+ @data = args[:data] if args.key?(:data)
31965
+ @message = args[:message] if args.key?(:message)
31966
+ end
31967
+
31968
+ #
31969
+ class Datum
31970
+ include Google::Apis::Core::Hashable
31971
+
31972
+ # [Output Only] A key that provides more detail on the warning being returned.
31973
+ # For example, for warnings where there are no results in a list request for a
31974
+ # particular zone, this key might be scope and the key value might be the zone
31975
+ # name. Other examples might be a key indicating a deprecated resource and a
31976
+ # suggested replacement, or a warning about invalid network settings (for
31977
+ # example, if an instance attempts to perform IP forwarding but is not enabled
31978
+ # for IP forwarding).
31979
+ # Corresponds to the JSON property `key`
31980
+ # @return [String]
31981
+ attr_accessor :key
31982
+
31983
+ # [Output Only] A warning data value corresponding to the key.
31984
+ # Corresponds to the JSON property `value`
31985
+ # @return [String]
31986
+ attr_accessor :value
31987
+
31988
+ def initialize(**args)
31989
+ update!(**args)
31990
+ end
31991
+
31992
+ # Update properties of this object
31993
+ def update!(**args)
31994
+ @key = args[:key] if args.key?(:key)
31995
+ @value = args[:value] if args.key?(:value)
31996
+ end
31997
+ end
31998
+ end
31999
+ end
32000
+
31253
32001
  # A set of Shielded Instance options.
31254
32002
  class ShieldedInstanceConfig
31255
32003
  include Google::Apis::Core::Hashable
@@ -31967,7 +32715,7 @@ module Google
31967
32715
  # @return [String]
31968
32716
  attr_accessor :post_key_revocation_action_type
31969
32717
 
31970
- # Sets the scheduling options for an Instance. NextID: 13
32718
+ # Sets the scheduling options for an Instance. NextID: 20
31971
32719
  # Corresponds to the JSON property `scheduling`
31972
32720
  # @return [Google::Apis::ComputeBeta::Scheduling]
31973
32721
  attr_accessor :scheduling
@@ -32991,9 +33739,9 @@ module Google
32991
33739
  # The range of internal addresses that are owned by this subnetwork. Provide
32992
33740
  # this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.
32993
33741
  # 64.0.0/10. Ranges must be unique and non-overlapping within a network. Only
32994
- # IPv4 is supported. This field is set at resource creation time. This may be a
32995
- # RFC 1918 IP range, or a privately routed, non-RFC 1918 IP range, not belonging
32996
- # to Google. The range can be expanded after creation using expandIpCidrRange.
33742
+ # IPv4 is supported. This field is set at resource creation time. The range can
33743
+ # be any range listed in the Valid ranges list. The range can be expanded after
33744
+ # creation using expandIpCidrRange.
32997
33745
  # Corresponds to the JSON property `ipCidrRange`
32998
33746
  # @return [String]
32999
33747
  attr_accessor :ip_cidr_range
@@ -33442,8 +34190,8 @@ module Google
33442
34190
  # The range of IP addresses belonging to this subnetwork secondary range.
33443
34191
  # Provide this property when you create the subnetwork. Ranges must be unique
33444
34192
  # and non-overlapping with all primary and secondary IP ranges within a network.
33445
- # Only IPv4 is supported. This may be a RFC 1918 IP range, or a privately, non-
33446
- # RFC 1918 IP range, not belonging to Google.
34193
+ # Only IPv4 is supported. The range can be any range listed in the Valid ranges
34194
+ # list.
33447
34195
  # Corresponds to the JSON property `ipCidrRange`
33448
34196
  # @return [String]
33449
34197
  attr_accessor :ip_cidr_range
@@ -33597,6 +34345,25 @@ module Google
33597
34345
  end
33598
34346
  end
33599
34347
 
34348
+ # Subsetting options to make L4 ILB support any number of backend instances
34349
+ class Subsetting
34350
+ include Google::Apis::Core::Hashable
34351
+
34352
+ #
34353
+ # Corresponds to the JSON property `policy`
34354
+ # @return [String]
34355
+ attr_accessor :policy
34356
+
34357
+ def initialize(**args)
34358
+ update!(**args)
34359
+ end
34360
+
34361
+ # Update properties of this object
34362
+ def update!(**args)
34363
+ @policy = args[:policy] if args.key?(:policy)
34364
+ end
34365
+ end
34366
+
33600
34367
  #
33601
34368
  class TcpHealthCheck
33602
34369
  include Google::Apis::Core::Hashable
@@ -34546,6 +35313,17 @@ module Google
34546
35313
  # @return [String]
34547
35314
  attr_accessor :description
34548
35315
 
35316
+ # Fingerprint of this resource. A hash of the contents stored in this object.
35317
+ # This field is used in optimistic locking. This field will be ignored when
35318
+ # inserting a TargetHttpsProxy. An up-to-date fingerprint must be provided in
35319
+ # order to patch the TargetHttpsProxy; otherwise, the request will fail with
35320
+ # error 412 conditionNotMet. To see the latest fingerprint, make a get() request
35321
+ # to retrieve the TargetHttpsProxy.
35322
+ # Corresponds to the JSON property `fingerprint`
35323
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
35324
+ # @return [String]
35325
+ attr_accessor :fingerprint
35326
+
34549
35327
  # URLs to networkservices.HttpFilter resources enabled for xDS clients using
34550
35328
  # this configuration. For example, https://networkservices.googleapis.com/beta/
34551
35329
  # projects/project/locations/locationhttpFilters/httpFilter Only filters that
@@ -34665,6 +35443,7 @@ module Google
34665
35443
  @authorization_policy = args[:authorization_policy] if args.key?(:authorization_policy)
34666
35444
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
34667
35445
  @description = args[:description] if args.key?(:description)
35446
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
34668
35447
  @http_filters = args[:http_filters] if args.key?(:http_filters)
34669
35448
  @id = args[:id] if args.key?(:id)
34670
35449
  @kind = args[:kind] if args.key?(:kind)
@@ -38638,6 +39417,14 @@ module Google
38638
39417
  # @return [Fixnum]
38639
39418
  attr_accessor :id
38640
39419
 
39420
+ # URL of the interconnect attachment resource. When the value of this field is
39421
+ # present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect;
39422
+ # all Egress or Ingress traffic for this VPN Gateway interface will go through
39423
+ # the specified interconnect attachment resource.
39424
+ # Corresponds to the JSON property `interconnectAttachment`
39425
+ # @return [String]
39426
+ attr_accessor :interconnect_attachment
39427
+
38641
39428
  # [Output Only] The external IP address for this VPN gateway interface.
38642
39429
  # Corresponds to the JSON property `ipAddress`
38643
39430
  # @return [String]
@@ -38650,6 +39437,7 @@ module Google
38650
39437
  # Update properties of this object
38651
39438
  def update!(**args)
38652
39439
  @id = args[:id] if args.key?(:id)
39440
+ @interconnect_attachment = args[:interconnect_attachment] if args.key?(:interconnect_attachment)
38653
39441
  @ip_address = args[:ip_address] if args.key?(:ip_address)
38654
39442
  end
38655
39443
  end