google-apis-compute_alpha 0.3.0 → 0.8.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: 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