google-apis-compute_beta 0.2.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
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