google-apis-compute_alpha 0.3.0 → 0.8.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: 97128747997c9a29ab7aeabea08c565407a5cca6333a3b039067684230e32185
4
- data.tar.gz: b0c7f2a430bf0cf2527dd2403361b765d71b1800e55da5a7e4617b3f3e9e1d77
3
+ metadata.gz: c3e4c440d19a5e8c28c00463c1e7958d3a381489f9db4382a813714546c6cc87
4
+ data.tar.gz: 974beb40c9b18c21e817027f56e339d97b1f34b786757114af8818dbc0fabba7
5
5
  SHA512:
6
- metadata.gz: 1ee0888344aa2949363a1f83e8311492e43221ffb9ec5d46a76f0149186c4842fd5d2438551f3225b0d9d888edad2957ecb7831d65b8bc3c1262fa9024dc9632
7
- data.tar.gz: 6ed2fa8dd4310f4244a10fecbc58f85cdff68e2f7a451fd020e6b884c1164e1f0558d20d9a209c671cbbbc24703108557be9180f0ed4e9cad47d8a8b5a63046c
6
+ metadata.gz: ca0d24ef7e6e0294ea7bd53a48b37fdd9d85b6d22aaed88c4f7006cdeba944fed73c2844801ff1237183cc9620e0db3ec129306bd5ea17c2833e035a763438f0
7
+ data.tar.gz: b2d189b3612b3cece655801a1583714aef34089e32ce916b7a9b2d14cd05a3ee1dbd2435f6e1b5361ef8d351c909f055e8c89093a0cf98c063c3f155cb6bf9b4
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Release history for google-apis-compute_alpha
2
2
 
3
+ ### v0.8.0 (2021-03-30)
4
+
5
+ * Regenerated from discovery document revision 20210316
6
+
7
+ ### v0.7.0 (2021-03-19)
8
+
9
+ * Regenerated from discovery document revision 20210310
10
+
11
+ ### v0.6.0 (2021-03-10)
12
+
13
+ * Regenerated from discovery document revision 20210301
14
+ * Regenerated using generator version 0.2.0
15
+
16
+ ### v0.5.0 (2021-03-04)
17
+
18
+ * Unspecified changes
19
+
20
+ ### v0.4.0 (2021-02-24)
21
+
22
+ * Regenerated from discovery document revision 20210209
23
+
3
24
  ### v0.3.0 (2021-02-16)
4
25
 
5
26
  * Regenerated from discovery document revision 20210129
@@ -29,7 +29,7 @@ module Google
29
29
  # This is NOT the gem version.
30
30
  VERSION = 'Alpha'
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
@@ -671,7 +671,7 @@ module Google
671
671
  # @return [String]
672
672
  attr_accessor :network_tier
673
673
 
674
- # The prefix length if the resource reprensents an IP range.
674
+ # The prefix length if the resource represents an IP range.
675
675
  # Corresponds to the JSON property `prefixLength`
676
676
  # @return [Fixnum]
677
677
  attr_accessor :prefix_length
@@ -684,7 +684,7 @@ module Google
684
684
  # - `NAT_AUTO` for addresses that are external IP addresses automatically
685
685
  # reserved for Cloud NAT.
686
686
  # - `IPSEC_INTERCONNECT` for addresses created from a private IP range that are
687
- # reserved for a VLAN attachment in an IPsec encrypted Interconnect
687
+ # reserved for a VLAN attachment in an IPsec-encrypted Cloud Interconnect
688
688
  # configuration. These addresses are regional resources.
689
689
  # Corresponds to the JSON property `purpose`
690
690
  # @return [String]
@@ -1111,6 +1111,14 @@ module Google
1111
1111
  # @return [Fixnum]
1112
1112
  attr_accessor :threads_per_core
1113
1113
 
1114
+ # The number of physical cores to expose to an instance. Multiply by the number
1115
+ # of threads per core to compute the total number of virtual CPUs to expose to
1116
+ # the instance. If unset, the number of cores is inferred from the instance's
1117
+ # nominal CPU count and the underlying platform's SMT width.
1118
+ # Corresponds to the JSON property `visibleCoreCount`
1119
+ # @return [Fixnum]
1120
+ attr_accessor :visible_core_count
1121
+
1114
1122
  def initialize(**args)
1115
1123
  update!(**args)
1116
1124
  end
@@ -1119,6 +1127,7 @@ module Google
1119
1127
  def update!(**args)
1120
1128
  @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1121
1129
  @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1130
+ @visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count)
1122
1131
  end
1123
1132
  end
1124
1133
 
@@ -3025,10 +3034,15 @@ module Google
3025
3034
  # @return [String]
3026
3035
  attr_accessor :cache_mode
3027
3036
 
3028
- # Specifies a separate client (e.g. browser client) TTL, separate from the TTL
3029
- # for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL
3030
- # for both Cloud CDN and the client-facing response. The maximum allowed value
3031
- # is 86400s (1 day).
3037
+ # Specifies a separate client (e.g. browser client) maximum TTL. This is used to
3038
+ # clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL,
3039
+ # the lesser of client_ttl and default_ttl is used for the response max-age
3040
+ # directive, along with a "public" directive. For cacheable content in
3041
+ # CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if
3042
+ # specified), or else sets the response max-age directive to the lesser of the
3043
+ # client_ttl and default_ttl, and also ensures a "public" cache-control
3044
+ # directive is present. If a client TTL is not specified, a default value (1
3045
+ # hour) will be used. The maximum allowed value is 86400s (1 day).
3032
3046
  # Corresponds to the JSON property `clientTtl`
3033
3047
  # @return [Fixnum]
3034
3048
  attr_accessor :client_ttl
@@ -3167,8 +3181,8 @@ module Google
3167
3181
  include Google::Apis::Core::Hashable
3168
3182
 
3169
3183
  # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
3170
- # 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you
3171
- # cannot specify a status code more than once.
3184
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
3185
+ # and you cannot specify a status code more than once.
3172
3186
  # Corresponds to the JSON property `code`
3173
3187
  # @return [Fixnum]
3174
3188
  attr_accessor :code
@@ -3592,7 +3606,7 @@ module Google
3592
3606
 
3593
3607
  # Type of session affinity to use. The default is NONE.
3594
3608
  # When the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the
3595
- # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3609
+ # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3596
3610
  # * For all other load balancers that use loadBalancingScheme=EXTERNAL, the
3597
3611
  # possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use
3598
3612
  # GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.
@@ -3823,10 +3837,15 @@ module Google
3823
3837
  # @return [String]
3824
3838
  attr_accessor :cache_mode
3825
3839
 
3826
- # Specifies a separate client (e.g. browser client) TTL, separate from the TTL
3827
- # for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL
3828
- # for both Cloud CDN and the client-facing response. The maximum allowed value
3829
- # is 86400s (1 day).
3840
+ # Specifies a separate client (e.g. browser client) maximum TTL. This is used to
3841
+ # clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL,
3842
+ # the lesser of client_ttl and default_ttl is used for the response max-age
3843
+ # directive, along with a "public" directive. For cacheable content in
3844
+ # CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if
3845
+ # specified), or else sets the response max-age directive to the lesser of the
3846
+ # client_ttl and default_ttl, and also ensures a "public" cache-control
3847
+ # directive is present. If a client TTL is not specified, a default value (1
3848
+ # hour) will be used. The maximum allowed value is 86400s (1 day).
3830
3849
  # Corresponds to the JSON property `clientTtl`
3831
3850
  # @return [Fixnum]
3832
3851
  attr_accessor :client_ttl
@@ -3966,8 +3985,8 @@ module Google
3966
3985
  include Google::Apis::Core::Hashable
3967
3986
 
3968
3987
  # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
3969
- # 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you
3970
- # cannot specify a status code more than once.
3988
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
3989
+ # and you cannot specify a status code more than once.
3971
3990
  # Corresponds to the JSON property `code`
3972
3991
  # @return [Fixnum]
3973
3992
  attr_accessor :code
@@ -6235,8 +6254,13 @@ module Google
6235
6254
  # The source disk used to create this disk. You can provide this as a partial or
6236
6255
  # full URL to the resource. For example, the following are valid values:
6237
6256
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
6257
+ #
6258
+ # - https://www.googleapis.com/compute/v1/projects/project/regions/region/disks/
6259
+ # disk
6238
6260
  # - projects/project/zones/zone/disks/disk
6261
+ # - projects/project/regions/region/disks/disk
6239
6262
  # - zones/zone/disks/disk
6263
+ # - regions/region/disks/disk
6240
6264
  # Corresponds to the JSON property `sourceDisk`
6241
6265
  # @return [String]
6242
6266
  attr_accessor :source_disk
@@ -8438,13 +8462,14 @@ module Google
8438
8462
  # @return [String]
8439
8463
  attr_accessor :description
8440
8464
 
8441
- # User-provided name of the Organization firewall plicy. The name should be
8442
- # unique in the organization in which the firewall policy is created. The name
8443
- # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
8444
- # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
8445
- # [a-z0-9])?` which means the first character must be a lowercase letter, and
8446
- # all following characters must be a dash, lowercase letter, or digit, except
8447
- # the last character, which cannot be a dash.
8465
+ # Depreacted, please use short name instead. User-provided name of the
8466
+ # Organization firewall plicy. The name should be unique in the organization in
8467
+ # which the firewall policy is created. The name must be 1-63 characters long,
8468
+ # and comply with RFC1035. Specifically, the name must be 1-63 characters long
8469
+ # and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
8470
+ # first character must be a lowercase letter, and all following characters must
8471
+ # be a dash, lowercase letter, or digit, except the last character, which cannot
8472
+ # be a dash.
8448
8473
  # Corresponds to the JSON property `displayName`
8449
8474
  # @return [String]
8450
8475
  attr_accessor :display_name
@@ -8484,6 +8509,14 @@ module Google
8484
8509
  # @return [String]
8485
8510
  attr_accessor :parent
8486
8511
 
8512
+ # [Output Only] URL of the region where the regional firewall policy resides.
8513
+ # This field is not applicable to global firewall policies. You must specify
8514
+ # this field as part of the HTTP request URL. It is not settable as a field in
8515
+ # the request body.
8516
+ # Corresponds to the JSON property `region`
8517
+ # @return [String]
8518
+ attr_accessor :region
8519
+
8487
8520
  # [Output Only] Total count of all firewall policy rule tuples. A firewall
8488
8521
  # policy can not exceed a set number of tuples.
8489
8522
  # Corresponds to the JSON property `ruleTupleCount`
@@ -8508,6 +8541,17 @@ module Google
8508
8541
  # @return [String]
8509
8542
  attr_accessor :self_link_with_id
8510
8543
 
8544
+ # User-provided name of the Organization firewall plicy. The name should be
8545
+ # unique in the organization in which the firewall policy is created. The name
8546
+ # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
8547
+ # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
8548
+ # [a-z0-9])?` which means the first character must be a lowercase letter, and
8549
+ # all following characters must be a dash, lowercase letter, or digit, except
8550
+ # the last character, which cannot be a dash.
8551
+ # Corresponds to the JSON property `shortName`
8552
+ # @return [String]
8553
+ attr_accessor :short_name
8554
+
8511
8555
  def initialize(**args)
8512
8556
  update!(**args)
8513
8557
  end
@@ -8523,10 +8567,12 @@ module Google
8523
8567
  @kind = args[:kind] if args.key?(:kind)
8524
8568
  @name = args[:name] if args.key?(:name)
8525
8569
  @parent = args[:parent] if args.key?(:parent)
8570
+ @region = args[:region] if args.key?(:region)
8526
8571
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
8527
8572
  @rules = args[:rules] if args.key?(:rules)
8528
8573
  @self_link = args[:self_link] if args.key?(:self_link)
8529
8574
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
8575
+ @short_name = args[:short_name] if args.key?(:short_name)
8530
8576
  end
8531
8577
  end
8532
8578
 
@@ -8539,7 +8585,8 @@ module Google
8539
8585
  # @return [String]
8540
8586
  attr_accessor :attachment_target
8541
8587
 
8542
- # [Output Only] The display name of the firewall policy of the association.
8588
+ # [Output Only] Deprecated, please use short name instead. The display name of
8589
+ # the firewall policy of the association.
8543
8590
  # Corresponds to the JSON property `displayName`
8544
8591
  # @return [String]
8545
8592
  attr_accessor :display_name
@@ -8554,6 +8601,11 @@ module Google
8554
8601
  # @return [String]
8555
8602
  attr_accessor :name
8556
8603
 
8604
+ # [Output Only] The short name of the firewall policy of the association.
8605
+ # Corresponds to the JSON property `shortName`
8606
+ # @return [String]
8607
+ attr_accessor :short_name
8608
+
8557
8609
  def initialize(**args)
8558
8610
  update!(**args)
8559
8611
  end
@@ -8564,6 +8616,7 @@ module Google
8564
8616
  @display_name = args[:display_name] if args.key?(:display_name)
8565
8617
  @firewall_policy_id = args[:firewall_policy_id] if args.key?(:firewall_policy_id)
8566
8618
  @name = args[:name] if args.key?(:name)
8619
+ @short_name = args[:short_name] if args.key?(:short_name)
8567
8620
  end
8568
8621
  end
8569
8622
 
@@ -8981,6 +9034,8 @@ module Google
8981
9034
  # ip_address_specifications).
8982
9035
  # Must be set to `0.0.0.0` when the target is targetGrpcProxy that has
8983
9036
  # validateForProxyless field set to true.
9037
+ # For Private Service Connect forwarding rules that forward traffic to Google
9038
+ # APIs, IP address must be provided.
8984
9039
  # Corresponds to the JSON property `IPAddress`
8985
9040
  # @return [String]
8986
9041
  attr_accessor :ip_address
@@ -9153,6 +9208,8 @@ module Google
9153
9208
  # For Internal TCP/UDP Load Balancing, this field identifies the network that
9154
9209
  # the load balanced IP should belong to for this Forwarding Rule. If this field
9155
9210
  # is not specified, the default network will be used.
9211
+ # For Private Service Connect forwarding rules that forward traffic to Google
9212
+ # APIs, a network must be provided.
9156
9213
  # Corresponds to the JSON property `network`
9157
9214
  # @return [String]
9158
9215
  attr_accessor :network
@@ -9262,12 +9319,7 @@ module Google
9262
9319
  # @return [String]
9263
9320
  attr_accessor :subnetwork
9264
9321
 
9265
- # The URL of the target resource to receive the matched traffic. For regional
9266
- # forwarding rules, this target must be in the same region as the forwarding
9267
- # rule. For global forwarding rules, this target must be a global load balancing
9268
- # resource. The forwarded traffic must be of a type appropriate to the target
9269
- # object. For more information, see the "Target" column in [Port specifications](
9270
- # /load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
9322
+ #
9271
9323
  # Corresponds to the JSON property `target`
9272
9324
  # @return [String]
9273
9325
  attr_accessor :target
@@ -10181,6 +10233,11 @@ module Google
10181
10233
  # @return [String]
10182
10234
  attr_accessor :response
10183
10235
 
10236
+ # Weight report mode. used for weighted Load Balancing.
10237
+ # Corresponds to the JSON property `weightReportMode`
10238
+ # @return [String]
10239
+ attr_accessor :weight_report_mode
10240
+
10184
10241
  def initialize(**args)
10185
10242
  update!(**args)
10186
10243
  end
@@ -10194,6 +10251,7 @@ module Google
10194
10251
  @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
10195
10252
  @request_path = args[:request_path] if args.key?(:request_path)
10196
10253
  @response = args[:response] if args.key?(:response)
10254
+ @weight_report_mode = args[:weight_report_mode] if args.key?(:weight_report_mode)
10197
10255
  end
10198
10256
  end
10199
10257
 
@@ -10251,6 +10309,11 @@ module Google
10251
10309
  # @return [String]
10252
10310
  attr_accessor :response
10253
10311
 
10312
+ # Weight report mode. used for weighted Load Balancing.
10313
+ # Corresponds to the JSON property `weightReportMode`
10314
+ # @return [String]
10315
+ attr_accessor :weight_report_mode
10316
+
10254
10317
  def initialize(**args)
10255
10318
  update!(**args)
10256
10319
  end
@@ -10264,6 +10327,7 @@ module Google
10264
10327
  @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
10265
10328
  @request_path = args[:request_path] if args.key?(:request_path)
10266
10329
  @response = args[:response] if args.key?(:response)
10330
+ @weight_report_mode = args[:weight_report_mode] if args.key?(:weight_report_mode)
10267
10331
  end
10268
10332
  end
10269
10333
 
@@ -10321,6 +10385,11 @@ module Google
10321
10385
  # @return [String]
10322
10386
  attr_accessor :response
10323
10387
 
10388
+ # Weight report mode. used for weighted Load Balancing.
10389
+ # Corresponds to the JSON property `weightReportMode`
10390
+ # @return [String]
10391
+ attr_accessor :weight_report_mode
10392
+
10324
10393
  def initialize(**args)
10325
10394
  update!(**args)
10326
10395
  end
@@ -10334,6 +10403,7 @@ module Google
10334
10403
  @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
10335
10404
  @request_path = args[:request_path] if args.key?(:request_path)
10336
10405
  @response = args[:response] if args.key?(:response)
10406
+ @weight_report_mode = args[:weight_report_mode] if args.key?(:weight_report_mode)
10337
10407
  end
10338
10408
  end
10339
10409
 
@@ -10414,11 +10484,12 @@ module Google
10414
10484
  attr_accessor :log_config
10415
10485
 
10416
10486
  # Name of the resource. Provided by the client when the resource is created. The
10417
- # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
10418
- # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
10419
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
10420
- # and all following characters must be a dash, lowercase letter, or digit,
10421
- # except the last character, which cannot be a dash.
10487
+ # name must be 1-63 characters long, and comply with RFC1035. For example, a
10488
+ # name that is 1-63 characters long, matches the regular expression `[a-z]([-a-
10489
+ # z0-9]*[a-z0-9])?`, and otherwise complies with RFC1035. This regular
10490
+ # expression describes a name where the first character is a lowercase letter,
10491
+ # and all following characters are a dash, lowercase letter, or digit, except
10492
+ # the last character, which isn't a dash.
10422
10493
  # Corresponds to the JSON property `name`
10423
10494
  # @return [String]
10424
10495
  attr_accessor :name
@@ -11387,6 +11458,16 @@ module Google
11387
11458
  # @return [Hash<String,String>]
11388
11459
  attr_accessor :annotations
11389
11460
 
11461
+ # URL of the forwarding rule associated with the health status of the instance.
11462
+ # Corresponds to the JSON property `forwardingRule`
11463
+ # @return [String]
11464
+ attr_accessor :forwarding_rule
11465
+
11466
+ # A forwarding rule IP address assigned to this instance.
11467
+ # Corresponds to the JSON property `forwardingRuleIp`
11468
+ # @return [String]
11469
+ attr_accessor :forwarding_rule_ip
11470
+
11390
11471
  # Health state of the instance.
11391
11472
  # Corresponds to the JSON property `healthState`
11392
11473
  # @return [String]
@@ -11427,6 +11508,8 @@ module Google
11427
11508
  # Update properties of this object
11428
11509
  def update!(**args)
11429
11510
  @annotations = args[:annotations] if args.key?(:annotations)
11511
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
11512
+ @forwarding_rule_ip = args[:forwarding_rule_ip] if args.key?(:forwarding_rule_ip)
11430
11513
  @health_state = args[:health_state] if args.key?(:health_state)
11431
11514
  @instance = args[:instance] if args.key?(:instance)
11432
11515
  @ip_address = args[:ip_address] if args.key?(:ip_address)
@@ -13755,7 +13838,7 @@ module Google
13755
13838
  attr_accessor :satisfies_pzs
13756
13839
  alias_method :satisfies_pzs?, :satisfies_pzs
13757
13840
 
13758
- # Sets the scheduling options for an Instance. NextID: 17
13841
+ # Sets the scheduling options for an Instance. NextID: 20
13759
13842
  # Corresponds to the JSON property `scheduling`
13760
13843
  # @return [Google::Apis::ComputeAlpha::Scheduling]
13761
13844
  attr_accessor :scheduling
@@ -13818,7 +13901,8 @@ module Google
13818
13901
  # @return [String]
13819
13902
  attr_accessor :source_machine_image
13820
13903
 
13821
- # Source GMI encryption key when creating an instance from GMI.
13904
+ # Source machine image encryption key when creating an instance from a machine
13905
+ # image.
13822
13906
  # Corresponds to the JSON property `sourceMachineImageEncryptionKey`
13823
13907
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
13824
13908
  attr_accessor :source_machine_image_encryption_key
@@ -14490,6 +14574,11 @@ module Google
14490
14574
  # @return [String]
14491
14575
  attr_accessor :instance_group
14492
14576
 
14577
+ # Instance lifecycle policy for this Instance Group Manager.
14578
+ # Corresponds to the JSON property `instanceLifecyclePolicy`
14579
+ # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerInstanceLifecyclePolicy]
14580
+ attr_accessor :instance_lifecycle_policy
14581
+
14493
14582
  # The URL of the instance template that is specified for this managed instance
14494
14583
  # group. The group uses this template to create all new instances in the managed
14495
14584
  # instance group. The templates for existing instances in the group do not
@@ -14566,6 +14655,24 @@ module Google
14566
14655
  # @return [Fixnum]
14567
14656
  attr_accessor :target_size
14568
14657
 
14658
+ # The target number of stopped instances for this managed instance group. This
14659
+ # number changes when you:
14660
+ # - Stop instance using the stopInstances method or start instances using the
14661
+ # startInstances method.
14662
+ # - Manually change the targetStoppedSize using the update method.
14663
+ # Corresponds to the JSON property `targetStoppedSize`
14664
+ # @return [Fixnum]
14665
+ attr_accessor :target_stopped_size
14666
+
14667
+ # The target number of suspended instances for this managed instance group. This
14668
+ # number changes when you:
14669
+ # - Suspend instance using the suspendInstances method or resume instances using
14670
+ # the resumeInstances method.
14671
+ # - Manually change the targetSuspendedSize using the update method.
14672
+ # Corresponds to the JSON property `targetSuspendedSize`
14673
+ # @return [Fixnum]
14674
+ attr_accessor :target_suspended_size
14675
+
14569
14676
  # The update policy for this managed instance group.
14570
14677
  # Corresponds to the JSON property `updatePolicy`
14571
14678
  # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerUpdatePolicy]
@@ -14605,6 +14712,7 @@ module Google
14605
14712
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
14606
14713
  @id = args[:id] if args.key?(:id)
14607
14714
  @instance_group = args[:instance_group] if args.key?(:instance_group)
14715
+ @instance_lifecycle_policy = args[:instance_lifecycle_policy] if args.key?(:instance_lifecycle_policy)
14608
14716
  @instance_template = args[:instance_template] if args.key?(:instance_template)
14609
14717
  @kind = args[:kind] if args.key?(:kind)
14610
14718
  @name = args[:name] if args.key?(:name)
@@ -14617,6 +14725,8 @@ module Google
14617
14725
  @status = args[:status] if args.key?(:status)
14618
14726
  @target_pools = args[:target_pools] if args.key?(:target_pools)
14619
14727
  @target_size = args[:target_size] if args.key?(:target_size)
14728
+ @target_stopped_size = args[:target_stopped_size] if args.key?(:target_stopped_size)
14729
+ @target_suspended_size = args[:target_suspended_size] if args.key?(:target_suspended_size)
14620
14730
  @update_policy = args[:update_policy] if args.key?(:update_policy)
14621
14731
  @versions = args[:versions] if args.key?(:versions)
14622
14732
  @zone = args[:zone] if args.key?(:zone)
@@ -14685,6 +14795,30 @@ module Google
14685
14795
  # @return [Fixnum]
14686
14796
  attr_accessor :restarting
14687
14797
 
14798
+ # [Output Only] The number of instances in the managed instance group that are
14799
+ # scheduled to be resumed or are currently being resumed.
14800
+ # Corresponds to the JSON property `resuming`
14801
+ # @return [Fixnum]
14802
+ attr_accessor :resuming
14803
+
14804
+ # [Output Only] The number of instances in the managed instance group that are
14805
+ # scheduled to be started or are currently being started.
14806
+ # Corresponds to the JSON property `starting`
14807
+ # @return [Fixnum]
14808
+ attr_accessor :starting
14809
+
14810
+ # [Output Only] The number of instances in the managed instance group that are
14811
+ # scheduled to be stopped or are currently being stopped.
14812
+ # Corresponds to the JSON property `stopping`
14813
+ # @return [Fixnum]
14814
+ attr_accessor :stopping
14815
+
14816
+ # [Output Only] The number of instances in the managed instance group that are
14817
+ # scheduled to be suspended or are currently being suspended.
14818
+ # Corresponds to the JSON property `suspending`
14819
+ # @return [Fixnum]
14820
+ attr_accessor :suspending
14821
+
14688
14822
  # [Output Only] The number of instances in the managed instance group that are
14689
14823
  # being verified. See the managedInstances[].currentAction property in the
14690
14824
  # listManagedInstances method documentation.
@@ -14706,6 +14840,10 @@ module Google
14706
14840
  @recreating = args[:recreating] if args.key?(:recreating)
14707
14841
  @refreshing = args[:refreshing] if args.key?(:refreshing)
14708
14842
  @restarting = args[:restarting] if args.key?(:restarting)
14843
+ @resuming = args[:resuming] if args.key?(:resuming)
14844
+ @starting = args[:starting] if args.key?(:starting)
14845
+ @stopping = args[:stopping] if args.key?(:stopping)
14846
+ @suspending = args[:suspending] if args.key?(:suspending)
14709
14847
  @verifying = args[:verifying] if args.key?(:verifying)
14710
14848
  end
14711
14849
  end
@@ -14871,6 +15009,55 @@ module Google
14871
15009
  end
14872
15010
  end
14873
15011
 
15012
+ #
15013
+ class InstanceGroupManagerInstanceLifecyclePolicy
15014
+ include Google::Apis::Core::Hashable
15015
+
15016
+ # The configuration for metadata based readiness signal sent by the instance
15017
+ # during initialization when stopping / suspending an instance. The Instance
15018
+ # Group Manager will wait for a signal that indicates successful initialization
15019
+ # before stopping / suspending an instance.
15020
+ # If a successful readiness signal is not sent before timeout, the corresponding
15021
+ # instance will not be stopped / suspended. Instead, an error will be visible in
15022
+ # the lastAttempt.errors field of the managed instance in the
15023
+ # listmanagedinstances method.
15024
+ # If metadataBasedReadinessSignal.timeoutSec is unset, the Instance Group
15025
+ # Manager will directly proceed to suspend / stop instances, skipping
15026
+ # initialization on them.
15027
+ # Corresponds to the JSON property `metadataBasedReadinessSignal`
15028
+ # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal]
15029
+ attr_accessor :metadata_based_readiness_signal
15030
+
15031
+ def initialize(**args)
15032
+ update!(**args)
15033
+ end
15034
+
15035
+ # Update properties of this object
15036
+ def update!(**args)
15037
+ @metadata_based_readiness_signal = args[:metadata_based_readiness_signal] if args.key?(:metadata_based_readiness_signal)
15038
+ end
15039
+ end
15040
+
15041
+ #
15042
+ class InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal
15043
+ include Google::Apis::Core::Hashable
15044
+
15045
+ # The number of seconds to wait for a readiness signal during initialization
15046
+ # before timing out.
15047
+ # Corresponds to the JSON property `timeoutSec`
15048
+ # @return [Fixnum]
15049
+ attr_accessor :timeout_sec
15050
+
15051
+ def initialize(**args)
15052
+ update!(**args)
15053
+ end
15054
+
15055
+ # Update properties of this object
15056
+ def update!(**args)
15057
+ @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
15058
+ end
15059
+ end
15060
+
14874
15061
  # [Output Only] A list of managed instance groups.
14875
15062
  class InstanceGroupManagerList
14876
15063
  include Google::Apis::Core::Hashable
@@ -15628,6 +15815,26 @@ module Google
15628
15815
  end
15629
15816
  end
15630
15817
 
15818
+ #
15819
+ class InstanceGroupManagersResumeInstancesRequest
15820
+ include Google::Apis::Core::Hashable
15821
+
15822
+ # The URLs of one or more instances to resume. This can be a full URL or a
15823
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
15824
+ # Corresponds to the JSON property `instances`
15825
+ # @return [Array<String>]
15826
+ attr_accessor :instances
15827
+
15828
+ def initialize(**args)
15829
+ update!(**args)
15830
+ end
15831
+
15832
+ # Update properties of this object
15833
+ def update!(**args)
15834
+ @instances = args[:instances] if args.key?(:instances)
15835
+ end
15836
+ end
15837
+
15631
15838
  #
15632
15839
  class InstanceGroupManagersScopedList
15633
15840
  include Google::Apis::Core::Hashable
@@ -15795,6 +16002,82 @@ module Google
15795
16002
  end
15796
16003
  end
15797
16004
 
16005
+ #
16006
+ class InstanceGroupManagersStartInstancesRequest
16007
+ include Google::Apis::Core::Hashable
16008
+
16009
+ # The URLs of one or more instances to start. This can be a full URL or a
16010
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
16011
+ # Corresponds to the JSON property `instances`
16012
+ # @return [Array<String>]
16013
+ attr_accessor :instances
16014
+
16015
+ def initialize(**args)
16016
+ update!(**args)
16017
+ end
16018
+
16019
+ # Update properties of this object
16020
+ def update!(**args)
16021
+ @instances = args[:instances] if args.key?(:instances)
16022
+ end
16023
+ end
16024
+
16025
+ #
16026
+ class InstanceGroupManagersStopInstancesRequest
16027
+ include Google::Apis::Core::Hashable
16028
+
16029
+ # If this flag is set to true, the Instance Group Manager will proceed to stop
16030
+ # the instances, skipping initialization on them.
16031
+ # Corresponds to the JSON property `forceStop`
16032
+ # @return [Boolean]
16033
+ attr_accessor :force_stop
16034
+ alias_method :force_stop?, :force_stop
16035
+
16036
+ # The URLs of one or more instances to stop. This can be a full URL or a partial
16037
+ # URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
16038
+ # Corresponds to the JSON property `instances`
16039
+ # @return [Array<String>]
16040
+ attr_accessor :instances
16041
+
16042
+ def initialize(**args)
16043
+ update!(**args)
16044
+ end
16045
+
16046
+ # Update properties of this object
16047
+ def update!(**args)
16048
+ @force_stop = args[:force_stop] if args.key?(:force_stop)
16049
+ @instances = args[:instances] if args.key?(:instances)
16050
+ end
16051
+ end
16052
+
16053
+ #
16054
+ class InstanceGroupManagersSuspendInstancesRequest
16055
+ include Google::Apis::Core::Hashable
16056
+
16057
+ # If this flag is set to true, the Instance Group Manager will proceed to
16058
+ # suspend the instances, skipping initialization on them.
16059
+ # Corresponds to the JSON property `forceSuspend`
16060
+ # @return [Boolean]
16061
+ attr_accessor :force_suspend
16062
+ alias_method :force_suspend?, :force_suspend
16063
+
16064
+ # The URLs of one or more instances to suspend. This can be a full URL or a
16065
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
16066
+ # Corresponds to the JSON property `instances`
16067
+ # @return [Array<String>]
16068
+ attr_accessor :instances
16069
+
16070
+ def initialize(**args)
16071
+ update!(**args)
16072
+ end
16073
+
16074
+ # Update properties of this object
16075
+ def update!(**args)
16076
+ @force_suspend = args[:force_suspend] if args.key?(:force_suspend)
16077
+ @instances = args[:instances] if args.key?(:instances)
16078
+ end
16079
+ end
16080
+
15798
16081
  # InstanceGroupManagers.updatePerInstanceConfigs
15799
16082
  class InstanceGroupManagersUpdatePerInstanceConfigsReq
15800
16083
  include Google::Apis::Core::Hashable
@@ -16589,7 +16872,7 @@ module Google
16589
16872
  # @return [Array<String>]
16590
16873
  attr_accessor :resource_policies
16591
16874
 
16592
- # Sets the scheduling options for an Instance. NextID: 17
16875
+ # Sets the scheduling options for an Instance. NextID: 20
16593
16876
  # Corresponds to the JSON property `scheduling`
16594
16877
  # @return [Google::Apis::ComputeAlpha::Scheduling]
16595
16878
  attr_accessor :scheduling
@@ -16961,7 +17244,8 @@ module Google
16961
17244
  class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy
16962
17245
  include Google::Apis::Core::Hashable
16963
17246
 
16964
- # [Output Only] The display name of the firewall policy.
17247
+ # [Output Only] Deprecated, please use short name instead. The display name of
17248
+ # the firewall policy.
16965
17249
  # Corresponds to the JSON property `displayName`
16966
17250
  # @return [String]
16967
17251
  attr_accessor :display_name
@@ -16976,6 +17260,11 @@ module Google
16976
17260
  # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRule>]
16977
17261
  attr_accessor :rules
16978
17262
 
17263
+ # [Output Only] The short name of the firewall policy.
17264
+ # Corresponds to the JSON property `shortName`
17265
+ # @return [String]
17266
+ attr_accessor :short_name
17267
+
16979
17268
  # [Output Only] The type of the firewall policy.
16980
17269
  # Corresponds to the JSON property `type`
16981
17270
  # @return [String]
@@ -16990,6 +17279,7 @@ module Google
16990
17279
  @display_name = args[:display_name] if args.key?(:display_name)
16991
17280
  @name = args[:name] if args.key?(:name)
16992
17281
  @rules = args[:rules] if args.key?(:rules)
17282
+ @short_name = args[:short_name] if args.key?(:short_name)
16993
17283
  @type = args[:type] if args.key?(:type)
16994
17284
  end
16995
17285
  end
@@ -17435,8 +17725,13 @@ module Google
17435
17725
  # created. This can be a full or valid partial URL. For example, the following
17436
17726
  # are valid values:
17437
17727
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
17728
+ #
17729
+ # - https://www.googleapis.com/compute/v1/projects/project/regions/region/disks/
17730
+ # disk
17438
17731
  # - projects/project/zones/zone/disks/disk
17732
+ # - projects/project/regions/region/disks/disk
17439
17733
  # - zones/zone/disks/disk
17734
+ # - regions/region/disks/disk
17440
17735
  # Corresponds to the JSON property `sourceDisk`
17441
17736
  # @return [String]
17442
17737
  attr_accessor :source_disk
@@ -17994,8 +18289,9 @@ module Google
17994
18289
  # type of attachment.
17995
18290
  # - IPSEC indicates that the attachment carries only traffic encrypted by an
17996
18291
  # IPsec device such as an HA VPN gateway. VMs cannot directly send traffic to,
17997
- # or receive traffic from, such an attachment. To use IPsec over Interconnect,
17998
- # create the attachment using this option.
18292
+ # or receive traffic from, such an attachment. To use IPsec-encrypted Cloud
18293
+ # Interconnect, create the attachment using this option.
18294
+ # Not currently available in all Interconnect locations.
17999
18295
  # Corresponds to the JSON property `encryption`
18000
18296
  # @return [String]
18001
18297
  attr_accessor :encryption
@@ -18031,6 +18327,7 @@ module Google
18031
18327
  # interconnect attachment that has encryption option as IPSEC, later on when
18032
18328
  # creating HA VPN gateway on this interconnect attachment, the HA VPN gateway's
18033
18329
  # IP address will be allocated from regional external IP address pool.
18330
+ # Not currently available in all Interconnect locations.
18034
18331
  # Corresponds to the JSON property `ipsecInternalAddresses`
18035
18332
  # @return [Array<String>]
18036
18333
  attr_accessor :ipsec_internal_addresses
@@ -21786,6 +22083,12 @@ module Google
21786
22083
  # @return [String]
21787
22084
  attr_accessor :network_endpoint_type
21788
22085
 
22086
+ # The target service url used to set up private service connection to a Google
22087
+ # API. An example value is: "asia-northeast3-cloudkms.googleapis.com"
22088
+ # Corresponds to the JSON property `pscTargetService`
22089
+ # @return [String]
22090
+ attr_accessor :psc_target_service
22091
+
21789
22092
  # [Output Only] The URL of the region where the network endpoint group is
21790
22093
  # located.
21791
22094
  # Corresponds to the JSON property `region`
@@ -21851,6 +22154,7 @@ module Google
21851
22154
  @name = args[:name] if args.key?(:name)
21852
22155
  @network = args[:network] if args.key?(:network)
21853
22156
  @network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
22157
+ @psc_target_service = args[:psc_target_service] if args.key?(:psc_target_service)
21854
22158
  @region = args[:region] if args.key?(:region)
21855
22159
  @self_link = args[:self_link] if args.key?(:self_link)
21856
22160
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -22675,8 +22979,9 @@ module Google
22675
22979
 
22676
22980
  # Fingerprint hash of contents stored in this network interface. This field will
22677
22981
  # be ignored when inserting an Instance or adding a NetworkInterface. An up-to-
22678
- # date fingerprint must be provided in order to update the NetworkInterface,
22679
- # otherwise the request will fail with error 412 conditionNotMet.
22982
+ # date fingerprint must be provided in order to update the NetworkInterface. The
22983
+ # request will fail with error 400 Bad Request if the fingerprint is not
22984
+ # provided, or 412 Precondition Failed if the fingerprint is out of date.
22680
22985
  # Corresponds to the JSON property `fingerprint`
22681
22986
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
22682
22987
  # @return [String]
@@ -23225,7 +23530,8 @@ module Google
23225
23530
  class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy
23226
23531
  include Google::Apis::Core::Hashable
23227
23532
 
23228
- # [Output Only] The display name of the firewall policy.
23533
+ # [Output Only] Deprecated, please use short name instead. The display name of
23534
+ # the firewall policy.
23229
23535
  # Corresponds to the JSON property `displayName`
23230
23536
  # @return [String]
23231
23537
  attr_accessor :display_name
@@ -23240,6 +23546,11 @@ module Google
23240
23546
  # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRule>]
23241
23547
  attr_accessor :rules
23242
23548
 
23549
+ # [Output Only] The short name of the firewall policy.
23550
+ # Corresponds to the JSON property `shortName`
23551
+ # @return [String]
23552
+ attr_accessor :short_name
23553
+
23243
23554
  # [Output Only] The type of the firewall policy.
23244
23555
  # Corresponds to the JSON property `type`
23245
23556
  # @return [String]
@@ -23254,6 +23565,7 @@ module Google
23254
23565
  @display_name = args[:display_name] if args.key?(:display_name)
23255
23566
  @name = args[:name] if args.key?(:name)
23256
23567
  @rules = args[:rules] if args.key?(:rules)
23568
+ @short_name = args[:short_name] if args.key?(:short_name)
23257
23569
  @type = args[:type] if args.key?(:type)
23258
23570
  end
23259
23571
  end
@@ -25623,6 +25935,12 @@ module Google
25623
25935
  # @return [String]
25624
25936
  attr_accessor :name
25625
25937
 
25938
+ # [Output Only] An ID that represents a group of operations, such as when a
25939
+ # group of operations results from a `bulkInsert` API request.
25940
+ # Corresponds to the JSON property `operationGroupId`
25941
+ # @return [String]
25942
+ attr_accessor :operation_group_id
25943
+
25626
25944
  # [Output Only] The type of operation, such as `insert`, `update`, or `delete`,
25627
25945
  # and so on.
25628
25946
  # Corresponds to the JSON property `operationType`
@@ -25720,6 +26038,7 @@ module Google
25720
26038
  @kind = args[:kind] if args.key?(:kind)
25721
26039
  @metadata = args[:metadata] if args.key?(:metadata)
25722
26040
  @name = args[:name] if args.key?(:name)
26041
+ @operation_group_id = args[:operation_group_id] if args.key?(:operation_group_id)
25723
26042
  @operation_type = args[:operation_type] if args.key?(:operation_type)
25724
26043
  @progress = args[:progress] if args.key?(:progress)
25725
26044
  @region = args[:region] if args.key?(:region)
@@ -27485,6 +27804,18 @@ module Google
27485
27804
  # @return [Hash<String,Google::Apis::ComputeAlpha::PreservedStatePreservedDisk>]
27486
27805
  attr_accessor :disks
27487
27806
 
27807
+ # Preserved external IPs defined for this instance. This map is keyed with the
27808
+ # name of the network interface.
27809
+ # Corresponds to the JSON property `externalIPs`
27810
+ # @return [Hash<String,Google::Apis::ComputeAlpha::PreservedStatePreservedNetworkIp>]
27811
+ attr_accessor :external_i_ps
27812
+
27813
+ # Preserved internal IPs defined for this instance. This map is keyed with the
27814
+ # name of the network interface.
27815
+ # Corresponds to the JSON property `internalIPs`
27816
+ # @return [Hash<String,Google::Apis::ComputeAlpha::PreservedStatePreservedNetworkIp>]
27817
+ attr_accessor :internal_i_ps
27818
+
27488
27819
  # Preserved metadata defined for this instance.
27489
27820
  # Corresponds to the JSON property `metadata`
27490
27821
  # @return [Hash<String,String>]
@@ -27497,6 +27828,8 @@ module Google
27497
27828
  # Update properties of this object
27498
27829
  def update!(**args)
27499
27830
  @disks = args[:disks] if args.key?(:disks)
27831
+ @external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
27832
+ @internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
27500
27833
  @metadata = args[:metadata] if args.key?(:metadata)
27501
27834
  end
27502
27835
  end
@@ -27538,6 +27871,60 @@ module Google
27538
27871
  end
27539
27872
  end
27540
27873
 
27874
+ #
27875
+ class PreservedStatePreservedNetworkIp
27876
+ include Google::Apis::Core::Hashable
27877
+
27878
+ # These stateful IPs will never be released during autohealing, update or VM
27879
+ # instance recreate operations. This flag is used to configure if the IP
27880
+ # reservation should be deleted after it is no longer used by the group, e.g.
27881
+ # when the given instance or the whole group is deleted.
27882
+ # Corresponds to the JSON property `autoDelete`
27883
+ # @return [String]
27884
+ attr_accessor :auto_delete
27885
+
27886
+ # Ip address representation
27887
+ # Corresponds to the JSON property `ipAddress`
27888
+ # @return [Google::Apis::ComputeAlpha::PreservedStatePreservedNetworkIpIpAddress]
27889
+ attr_accessor :ip_address
27890
+
27891
+ def initialize(**args)
27892
+ update!(**args)
27893
+ end
27894
+
27895
+ # Update properties of this object
27896
+ def update!(**args)
27897
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
27898
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
27899
+ end
27900
+ end
27901
+
27902
+ #
27903
+ class PreservedStatePreservedNetworkIpIpAddress
27904
+ include Google::Apis::Core::Hashable
27905
+
27906
+ # The URL of the reservation for this IP address.
27907
+ # Corresponds to the JSON property `address`
27908
+ # @return [String]
27909
+ attr_accessor :address
27910
+
27911
+ # An IPv4 internal network address to assign to the instance for this network
27912
+ # interface.
27913
+ # Corresponds to the JSON property `literal`
27914
+ # @return [String]
27915
+ attr_accessor :literal
27916
+
27917
+ def initialize(**args)
27918
+ update!(**args)
27919
+ end
27920
+
27921
+ # Update properties of this object
27922
+ def update!(**args)
27923
+ @address = args[:address] if args.key?(:address)
27924
+ @literal = args[:literal] if args.key?(:literal)
27925
+ end
27926
+ end
27927
+
27541
27928
  # [Deprecated] All fields defined in a principal are ANDed.
27542
27929
  class Principal
27543
27930
  include Google::Apis::Core::Hashable
@@ -29559,9 +29946,10 @@ module Google
29559
29946
  # @return [Array<String>]
29560
29947
  attr_accessor :instances
29561
29948
 
29562
- # If false and the request contains references to instances that cannot be
29563
- # deleted (that is, instances that are not in the group or are already deleted),
29564
- # the request fails. Otherwise, such instances are ignored.
29949
+ # Skip instances which cannot be deleted (instances not belonging to this
29950
+ # managed group, already being deleted or being abandoned). If `false`, fail
29951
+ # whole flow, if such instance is passed. DEPRECATED: Use
29952
+ # skip_instances_on_validation_error instead.
29565
29953
  # Corresponds to the JSON property `skipInapplicableInstances`
29566
29954
  # @return [Boolean]
29567
29955
  attr_accessor :skip_inapplicable_instances
@@ -29798,6 +30186,26 @@ module Google
29798
30186
  end
29799
30187
  end
29800
30188
 
30189
+ #
30190
+ class RegionInstanceGroupManagersResumeInstancesRequest
30191
+ include Google::Apis::Core::Hashable
30192
+
30193
+ # The URLs of one or more instances to resume. This can be a full URL or a
30194
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
30195
+ # Corresponds to the JSON property `instances`
30196
+ # @return [Array<String>]
30197
+ attr_accessor :instances
30198
+
30199
+ def initialize(**args)
30200
+ update!(**args)
30201
+ end
30202
+
30203
+ # Update properties of this object
30204
+ def update!(**args)
30205
+ @instances = args[:instances] if args.key?(:instances)
30206
+ end
30207
+ end
30208
+
29801
30209
  #
29802
30210
  class RegionInstanceGroupManagersSetAutoHealingRequest
29803
30211
  include Google::Apis::Core::Hashable
@@ -29867,6 +30275,82 @@ module Google
29867
30275
  end
29868
30276
  end
29869
30277
 
30278
+ #
30279
+ class RegionInstanceGroupManagersStartInstancesRequest
30280
+ include Google::Apis::Core::Hashable
30281
+
30282
+ # The URLs of one or more instances to start. This can be a full URL or a
30283
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
30284
+ # Corresponds to the JSON property `instances`
30285
+ # @return [Array<String>]
30286
+ attr_accessor :instances
30287
+
30288
+ def initialize(**args)
30289
+ update!(**args)
30290
+ end
30291
+
30292
+ # Update properties of this object
30293
+ def update!(**args)
30294
+ @instances = args[:instances] if args.key?(:instances)
30295
+ end
30296
+ end
30297
+
30298
+ #
30299
+ class RegionInstanceGroupManagersStopInstancesRequest
30300
+ include Google::Apis::Core::Hashable
30301
+
30302
+ # If this flag is set to true, the Instance Group Manager will proceed to stop
30303
+ # the instances, skipping initialization on them.
30304
+ # Corresponds to the JSON property `forceStop`
30305
+ # @return [Boolean]
30306
+ attr_accessor :force_stop
30307
+ alias_method :force_stop?, :force_stop
30308
+
30309
+ # The URLs of one or more instances to stop. This can be a full URL or a partial
30310
+ # URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
30311
+ # Corresponds to the JSON property `instances`
30312
+ # @return [Array<String>]
30313
+ attr_accessor :instances
30314
+
30315
+ def initialize(**args)
30316
+ update!(**args)
30317
+ end
30318
+
30319
+ # Update properties of this object
30320
+ def update!(**args)
30321
+ @force_stop = args[:force_stop] if args.key?(:force_stop)
30322
+ @instances = args[:instances] if args.key?(:instances)
30323
+ end
30324
+ end
30325
+
30326
+ #
30327
+ class RegionInstanceGroupManagersSuspendInstancesRequest
30328
+ include Google::Apis::Core::Hashable
30329
+
30330
+ # If this flag is set to true, the Instance Group Manager will proceed to
30331
+ # suspend the instances, skipping initialization on them.
30332
+ # Corresponds to the JSON property `forceSuspend`
30333
+ # @return [Boolean]
30334
+ attr_accessor :force_suspend
30335
+ alias_method :force_suspend?, :force_suspend
30336
+
30337
+ # The URLs of one or more instances to suspend. This can be a full URL or a
30338
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
30339
+ # Corresponds to the JSON property `instances`
30340
+ # @return [Array<String>]
30341
+ attr_accessor :instances
30342
+
30343
+ def initialize(**args)
30344
+ update!(**args)
30345
+ end
30346
+
30347
+ # Update properties of this object
30348
+ def update!(**args)
30349
+ @force_suspend = args[:force_suspend] if args.key?(:force_suspend)
30350
+ @instances = args[:instances] if args.key?(:instances)
30351
+ end
30352
+ end
30353
+
29870
30354
  #
29871
30355
  class RegionInstanceGroupsListInstances
29872
30356
  include Google::Apis::Core::Hashable
@@ -31951,6 +32435,14 @@ module Google
31951
32435
  class Route
31952
32436
  include Google::Apis::Core::Hashable
31953
32437
 
32438
+ # Whether this route can conflict with existing subnetworks. Setting this to
32439
+ # true allows this route to conflict with subnetworks that have already been
32440
+ # configured on the corresponding network.
32441
+ # Corresponds to the JSON property `allowConflictingSubnetworks`
32442
+ # @return [Boolean]
32443
+ attr_accessor :allow_conflicting_subnetworks
32444
+ alias_method :allow_conflicting_subnetworks?, :allow_conflicting_subnetworks
32445
+
31954
32446
  # [Output Only] Creation timestamp in RFC3339 text format.
31955
32447
  # Corresponds to the JSON property `creationTimestamp`
31956
32448
  # @return [String]
@@ -32084,6 +32576,7 @@ module Google
32084
32576
 
32085
32577
  # Update properties of this object
32086
32578
  def update!(**args)
32579
+ @allow_conflicting_subnetworks = args[:allow_conflicting_subnetworks] if args.key?(:allow_conflicting_subnetworks)
32087
32580
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
32088
32581
  @description = args[:description] if args.key?(:description)
32089
32582
  @dest_range = args[:dest_range] if args.key?(:dest_range)
@@ -32317,7 +32810,8 @@ module Google
32317
32810
  attr_accessor :description
32318
32811
 
32319
32812
  # Field to indicate if a router is dedicated to use with encrypted Interconnect
32320
- # Attachment (Encrypted Interconnect feature).
32813
+ # Attachment (IPsec-encrypted Cloud Interconnect feature).
32814
+ # Not currently available in all Interconnect locations.
32321
32815
  # Corresponds to the JSON property `encryptedInterconnectRouter`
32322
32816
  # @return [Boolean]
32323
32817
  attr_accessor :encrypted_interconnect_router
@@ -32590,7 +33084,7 @@ module Google
32590
33084
  # successive keepalive messages that BGP receives from a peer.
32591
33085
  # BGP will use the smaller of either the local hold time value or the peer's
32592
33086
  # hold time value as the hold time for the BGP connection between the two peers.
32593
- # If set, this value must be between 1 and 120. The default is 20.
33087
+ # If set, this value must be between 20 and 60. The default is 20.
32594
33088
  # Corresponds to the JSON property `keepaliveInterval`
32595
33089
  # @return [Fixnum]
32596
33090
  attr_accessor :keepalive_interval
@@ -32621,12 +33115,11 @@ module Google
32621
33115
  # User-specified list of prefix groups to advertise in custom mode, which can
32622
33116
  # take one of the following options:
32623
33117
  # - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets.
32624
- # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets.
32625
- # - ALL_PEER_VPC_SUBNETS: Advertises peer subnets of the router's VPC network.
32626
- # Note that this field can only be populated if advertise_mode is CUSTOM and
32627
- # overrides the list defined for the router (in the "bgp" message). These groups
32628
- # are advertised in addition to any specified prefixes. Leave this field blank
32629
- # to advertise no custom groups.
33118
+ # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. Note that this
33119
+ # field can only be populated if advertise_mode is CUSTOM and overrides the list
33120
+ # defined for the router (in the "bgp" message). These groups are advertised in
33121
+ # addition to any specified prefixes. Leave this field blank to advertise no
33122
+ # custom groups.
32630
33123
  # Corresponds to the JSON property `advertisedGroups`
32631
33124
  # @return [Array<String>]
32632
33125
  attr_accessor :advertised_groups
@@ -33393,6 +33886,13 @@ module Google
33393
33886
  # @return [String]
33394
33887
  attr_accessor :peer_ip_address
33395
33888
 
33889
+ # [Output only] URI of the VM instance that is used as third-party router
33890
+ # appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances.
33891
+ # The VM instance is the peer side of the BGP session.
33892
+ # Corresponds to the JSON property `routerApplianceInstance`
33893
+ # @return [String]
33894
+ attr_accessor :router_appliance_instance
33895
+
33396
33896
  # BGP state as specified in RFC1771.
33397
33897
  # Corresponds to the JSON property `state`
33398
33898
  # @return [String]
@@ -33427,6 +33927,7 @@ module Google
33427
33927
  @name = args[:name] if args.key?(:name)
33428
33928
  @num_learned_routes = args[:num_learned_routes] if args.key?(:num_learned_routes)
33429
33929
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
33930
+ @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
33430
33931
  @state = args[:state] if args.key?(:state)
33431
33932
  @status = args[:status] if args.key?(:status)
33432
33933
  @uptime = args[:uptime] if args.key?(:uptime)
@@ -33972,7 +34473,7 @@ module Google
33972
34473
  end
33973
34474
  end
33974
34475
 
33975
- # Sets the scheduling options for an Instance. NextID: 17
34476
+ # Sets the scheduling options for an Instance. NextID: 20
33976
34477
  class Scheduling
33977
34478
  include Google::Apis::Core::Hashable
33978
34479
 
@@ -34587,7 +35088,7 @@ module Google
34587
35088
  class SecurityPolicyRule
34588
35089
  include Google::Apis::Core::Hashable
34589
35090
 
34590
- # The Action to preform when the client connection triggers the rule. Can
35091
+ # The Action to perform when the client connection triggers the rule. Can
34591
35092
  # currently be either "allow" or "deny()" where valid values for status are 403,
34592
35093
  # 404, and 502.
34593
35094
  # Corresponds to the JSON property `action`
@@ -34616,6 +35117,11 @@ module Google
34616
35117
  attr_accessor :enable_logging
34617
35118
  alias_method :enable_logging?, :enable_logging
34618
35119
 
35120
+ # Optional, additional actions that are performed on headers.
35121
+ # Corresponds to the JSON property `headerAction`
35122
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleHttpHeaderAction]
35123
+ attr_accessor :header_action
35124
+
34619
35125
  # [Output only] Type of the resource. Always compute#securityPolicyRule for
34620
35126
  # security policy rules
34621
35127
  # Corresponds to the JSON property `kind`
@@ -34691,6 +35197,7 @@ module Google
34691
35197
  @description = args[:description] if args.key?(:description)
34692
35198
  @direction = args[:direction] if args.key?(:direction)
34693
35199
  @enable_logging = args[:enable_logging] if args.key?(:enable_logging)
35200
+ @header_action = args[:header_action] if args.key?(:header_action)
34694
35201
  @kind = args[:kind] if args.key?(:kind)
34695
35202
  @match = args[:match] if args.key?(:match)
34696
35203
  @preview = args[:preview] if args.key?(:preview)
@@ -34704,6 +35211,50 @@ module Google
34704
35211
  end
34705
35212
  end
34706
35213
 
35214
+ #
35215
+ class SecurityPolicyRuleHttpHeaderAction
35216
+ include Google::Apis::Core::Hashable
35217
+
35218
+ # The list of request headers to add or overwrite if they?re already present.
35219
+ # Corresponds to the JSON property `requestHeadersToAdds`
35220
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRuleHttpHeaderActionHttpHeaderOption>]
35221
+ attr_accessor :request_headers_to_adds
35222
+
35223
+ def initialize(**args)
35224
+ update!(**args)
35225
+ end
35226
+
35227
+ # Update properties of this object
35228
+ def update!(**args)
35229
+ @request_headers_to_adds = args[:request_headers_to_adds] if args.key?(:request_headers_to_adds)
35230
+ end
35231
+ end
35232
+
35233
+ #
35234
+ class SecurityPolicyRuleHttpHeaderActionHttpHeaderOption
35235
+ include Google::Apis::Core::Hashable
35236
+
35237
+ # The name of the header to set.
35238
+ # Corresponds to the JSON property `headerName`
35239
+ # @return [String]
35240
+ attr_accessor :header_name
35241
+
35242
+ # The value to set the named header to.
35243
+ # Corresponds to the JSON property `headerValue`
35244
+ # @return [String]
35245
+ attr_accessor :header_value
35246
+
35247
+ def initialize(**args)
35248
+ update!(**args)
35249
+ end
35250
+
35251
+ # Update properties of this object
35252
+ def update!(**args)
35253
+ @header_name = args[:header_name] if args.key?(:header_name)
35254
+ @header_value = args[:header_value] if args.key?(:header_value)
35255
+ end
35256
+ end
35257
+
34707
35258
  # Represents a match condition that incoming traffic is evaluated against.
34708
35259
  # Exactly one field must be specified.
34709
35260
  class SecurityPolicyRuleMatcher
@@ -34869,29 +35420,20 @@ module Google
34869
35420
  include Google::Apis::Core::Hashable
34870
35421
 
34871
35422
  # Can only be specified if the action for the rule is "rate_based_ban". If
34872
- # specified, the key will be banned for the configured 'ban_duration' when the
34873
- # number of requests that exceed the 'rate_limit_threshold' also exceed this '
34874
- # ban_threshold'.
35423
+ # specified, determines the time (in seconds) the traffic will continue to be
35424
+ # banned by the rate limit after the rate falls below the threshold.
34875
35425
  # Corresponds to the JSON property `banDurationSec`
34876
35426
  # @return [Fixnum]
34877
35427
  attr_accessor :ban_duration_sec
34878
35428
 
34879
35429
  # Can only be specified if the action for the rule is "rate_based_ban". If
34880
- # specified, the key will be banned for the configured 'ban_duration' when the
34881
- # number of requests that exceed the 'rate_limit_threshold' also exceed this '
34882
- # ban_threshold'.
35430
+ # specified, the key will be banned for the configured 'ban_duration_sec' when
35431
+ # the number of requests that exceed the 'rate_limit_threshold' also exceed this
35432
+ # 'ban_threshold'.
34883
35433
  # Corresponds to the JSON property `banThreshold`
34884
35434
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptionsThreshold]
34885
35435
  attr_accessor :ban_threshold
34886
35436
 
34887
- # Can only be specified if the action for the rule is "rate_based_ban" If
34888
- # specified, determines the time (in seconds) the traffic will continue to be
34889
- # blocked by the rate limit after the rate falls below the threshold. The
34890
- # default value is 0 seconds. [Deprecated] This field is deprecated.
34891
- # Corresponds to the JSON property `blockDuration`
34892
- # @return [Fixnum]
34893
- attr_accessor :block_duration
34894
-
34895
35437
  # Action to take when requests are under the given threshold. When requests are
34896
35438
  # throttled, this is also the action for all requests which are not dropped.
34897
35439
  # Valid options are "allow", "fairshare", and "drop_overload".
@@ -34917,12 +35459,6 @@ module Google
34917
35459
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptionsThreshold]
34918
35460
  attr_accessor :rate_limit_threshold
34919
35461
 
34920
- # Rate in requests per second at which to begin ratelimiting. [Deprecated] This
34921
- # field is deprecated.
34922
- # Corresponds to the JSON property `thresholdRps`
34923
- # @return [Fixnum]
34924
- attr_accessor :threshold_rps
34925
-
34926
35462
  def initialize(**args)
34927
35463
  update!(**args)
34928
35464
  end
@@ -34931,12 +35467,10 @@ module Google
34931
35467
  def update!(**args)
34932
35468
  @ban_duration_sec = args[:ban_duration_sec] if args.key?(:ban_duration_sec)
34933
35469
  @ban_threshold = args[:ban_threshold] if args.key?(:ban_threshold)
34934
- @block_duration = args[:block_duration] if args.key?(:block_duration)
34935
35470
  @conform_action = args[:conform_action] if args.key?(:conform_action)
34936
35471
  @enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
34937
35472
  @exceed_action = args[:exceed_action] if args.key?(:exceed_action)
34938
35473
  @rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold)
34939
- @threshold_rps = args[:threshold_rps] if args.key?(:threshold_rps)
34940
35474
  end
34941
35475
  end
34942
35476
 
@@ -35171,7 +35705,7 @@ module Google
35171
35705
  # A service attachment represents a service that a producer has exposed. It
35172
35706
  # encapsulates the load balancer which fronts the service runs and a list of NAT
35173
35707
  # IP ranges that the producers uses to represent the consumers connecting to the
35174
- # service. next tag = 16
35708
+ # service. next tag = 17
35175
35709
  class ServiceAttachment
35176
35710
  include Google::Apis::Core::Hashable
35177
35711
 
@@ -36362,7 +36896,7 @@ module Google
36362
36896
  # @return [String]
36363
36897
  attr_accessor :post_key_revocation_action_type
36364
36898
 
36365
- # Sets the scheduling options for an Instance. NextID: 17
36899
+ # Sets the scheduling options for an Instance. NextID: 20
36366
36900
  # Corresponds to the JSON property `scheduling`
36367
36901
  # @return [Google::Apis::ComputeAlpha::Scheduling]
36368
36902
  attr_accessor :scheduling
@@ -37301,6 +37835,20 @@ module Google
37301
37835
  # @return [Hash<String,Google::Apis::ComputeAlpha::StatefulPolicyPreservedStateDiskDevice>]
37302
37836
  attr_accessor :disks
37303
37837
 
37838
+ # External network IPs assigned to the instances that will be preserved on
37839
+ # instance delete, update, etc. This map is keyed with the network interface
37840
+ # name.
37841
+ # Corresponds to the JSON property `externalIPs`
37842
+ # @return [Hash<String,Google::Apis::ComputeAlpha::StatefulPolicyPreservedStateNetworkIp>]
37843
+ attr_accessor :external_i_ps
37844
+
37845
+ # Internal network IPs assigned to the instances that will be preserved on
37846
+ # instance delete, update, etc. This map is keyed with the network interface
37847
+ # name.
37848
+ # Corresponds to the JSON property `internalIPs`
37849
+ # @return [Hash<String,Google::Apis::ComputeAlpha::StatefulPolicyPreservedStateNetworkIp>]
37850
+ attr_accessor :internal_i_ps
37851
+
37304
37852
  def initialize(**args)
37305
37853
  update!(**args)
37306
37854
  end
@@ -37308,6 +37856,8 @@ module Google
37308
37856
  # Update properties of this object
37309
37857
  def update!(**args)
37310
37858
  @disks = args[:disks] if args.key?(:disks)
37859
+ @external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
37860
+ @internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
37311
37861
  end
37312
37862
  end
37313
37863
 
@@ -37334,6 +37884,28 @@ module Google
37334
37884
  end
37335
37885
  end
37336
37886
 
37887
+ #
37888
+ class StatefulPolicyPreservedStateNetworkIp
37889
+ include Google::Apis::Core::Hashable
37890
+
37891
+ # These stateful IPs will never be released during autohealing, update or VM
37892
+ # instance recreate operations. This flag is used to configure if the IP
37893
+ # reservation should be deleted after it is no longer used by the group, e.g.
37894
+ # when the given instance or the whole group is deleted.
37895
+ # Corresponds to the JSON property `autoDelete`
37896
+ # @return [String]
37897
+ attr_accessor :auto_delete
37898
+
37899
+ def initialize(**args)
37900
+ update!(**args)
37901
+ end
37902
+
37903
+ # Update properties of this object
37904
+ def update!(**args)
37905
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
37906
+ end
37907
+ end
37908
+
37337
37909
  # Represents a Subnetwork resource.
37338
37910
  # A subnetwork (also known as a subnet) is a logical partition of a Virtual
37339
37911
  # Private Cloud network with one primary IP range and zero or more secondary IP
@@ -37443,9 +38015,9 @@ module Google
37443
38015
  # The range of internal addresses that are owned by this subnetwork. Provide
37444
38016
  # this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.
37445
38017
  # 64.0.0/10. Ranges must be unique and non-overlapping within a network. Only
37446
- # IPv4 is supported. This field is set at resource creation time. This may be a
37447
- # RFC 1918 IP range, or a privately routed, non-RFC 1918 IP range, not belonging
37448
- # to Google. The range can be expanded after creation using expandIpCidrRange.
38018
+ # IPv4 is supported. This field is set at resource creation time. The range can
38019
+ # be any range listed in the Valid ranges list. The range can be expanded after
38020
+ # creation using expandIpCidrRange.
37449
38021
  # Corresponds to the JSON property `ipCidrRange`
37450
38022
  # @return [String]
37451
38023
  attr_accessor :ip_cidr_range
@@ -37478,7 +38050,7 @@ module Google
37478
38050
  # Can only be specified if VPC flow logging for this subnetwork is enabled.
37479
38051
  # Configures whether metadata fields should be added to the reported VPC flow
37480
38052
  # logs. Options are INCLUDE_ALL_METADATA, EXCLUDE_ALL_METADATA, and
37481
- # CUSTOM_METADATA. Default is INCLUDE_ALL_METADATA.
38053
+ # CUSTOM_METADATA. Default is EXCLUDE_ALL_METADATA.
37482
38054
  # Corresponds to the JSON property `metadata`
37483
38055
  # @return [String]
37484
38056
  attr_accessor :metadata
@@ -37918,7 +38490,7 @@ module Google
37918
38490
 
37919
38491
  # Can only be specified if VPC flow logs for this subnetwork is enabled.
37920
38492
  # Configures whether all, none or a subset of metadata fields should be added to
37921
- # the reported VPC flow logs. Default is INCLUDE_ALL_METADATA.
38493
+ # the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.
37922
38494
  # Corresponds to the JSON property `metadata`
37923
38495
  # @return [String]
37924
38496
  attr_accessor :metadata
@@ -37951,8 +38523,8 @@ module Google
37951
38523
  # The range of IP addresses belonging to this subnetwork secondary range.
37952
38524
  # Provide this property when you create the subnetwork. Ranges must be unique
37953
38525
  # and non-overlapping with all primary and secondary IP ranges within a network.
37954
- # Only IPv4 is supported. This may be a RFC 1918 IP range, or a privately, non-
37955
- # RFC 1918 IP range, not belonging to Google.
38526
+ # Only IPv4 is supported. The range can be any range listed in the Valid ranges
38527
+ # list.
37956
38528
  # Corresponds to the JSON property `ipCidrRange`
37957
38529
  # @return [String]
37958
38530
  attr_accessor :ip_cidr_range
@@ -43561,6 +44133,7 @@ module Google
43561
44133
  # present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect;
43562
44134
  # all Egress or Ingress traffic for this VPN Gateway interface will go through
43563
44135
  # the specified interconnect attachment resource.
44136
+ # Not currently available in all Interconnect locations.
43564
44137
  # Corresponds to the JSON property `interconnectAttachment`
43565
44138
  # @return [String]
43566
44139
  attr_accessor :interconnect_attachment
@@ -43843,8 +44416,8 @@ module Google
43843
44416
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
43844
44417
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
43845
44418
  # - NO_INCOMING_PACKETS: No incoming packets from peer.
43846
- # - REJECTED: Tunnel configuration was rejected, can be result of being
43847
- # blacklisted.
44419
+ # - REJECTED: Tunnel configuration was rejected, can be result of being denied
44420
+ # access.
43848
44421
  # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
43849
44422
  # resources.
43850
44423
  # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for