google-apis-compute_alpha 0.2.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b5e90bce39bdac1b4abf1448028d8cd5c7e6d6032d203f6af2621cf2e4f0113b
4
- data.tar.gz: 326684927fa6fdb9f0b3e0aba6bbcc59039a63867d1586191e8f6589ac794c4d
3
+ metadata.gz: b8d78f1ca1997175b136092bf55f7e35a7914f39810860273667826f9c719f85
4
+ data.tar.gz: e39d4db6364442f5b94d3c92f5529773a8eb43bd04a1bb1e335e03e3a8a2a40f
5
5
  SHA512:
6
- metadata.gz: bb354f8d8f22b9c20bb4dcb1bc8cebd4ab7d87283c2b75882ff69556925ccad074805c353426bfa7660fb6b8937091d0e616a5964f8d42d682ccc0cd9005d161
7
- data.tar.gz: 011465f4e09bc9934dc670e436d825bf37e4d6997f1bf9d0c47ded6a7e3f366730695a9c3a82b83e2e2912f96160d1cefb97987c8c3c28e2dd49112c4a9699dd
6
+ metadata.gz: 05ade2ee9f603b41d95ac66e99c72b40a983a0e7974b1da5e686bb3cfb4b91d4a9502010f2e4746e9258ff53032bf751b9f119e863fedf1fc7821b7b6dfd0386
7
+ data.tar.gz: 81defa7c1a112064878c92aa5d5bae3ea552333f4a12bcd75f91da5c701f5d235a86a368db35c8dbf72b69309dec7bd26b171c70488a6def24ee3fcfaf817961
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Release history for google-apis-compute_alpha
2
2
 
3
+ ### v0.7.0 (2021-03-19)
4
+
5
+ * Regenerated from discovery document revision 20210310
6
+
7
+ ### v0.6.0 (2021-03-10)
8
+
9
+ * Regenerated from discovery document revision 20210301
10
+ * Regenerated using generator version 0.2.0
11
+
12
+ ### v0.5.0 (2021-03-04)
13
+
14
+ * Unspecified changes
15
+
16
+ ### v0.4.0 (2021-02-24)
17
+
18
+ * Regenerated from discovery document revision 20210209
19
+
20
+ ### v0.3.0 (2021-02-16)
21
+
22
+ * Regenerated from discovery document revision 20210129
23
+
3
24
  ### v0.2.0 (2021-01-30)
4
25
 
5
26
  * Regenerated from discovery document revision 20210111
@@ -29,7 +29,7 @@ module Google
29
29
  # This is NOT the gem version.
30
30
  VERSION = '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,15 +684,15 @@ 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]
691
691
  attr_accessor :purpose
692
692
 
693
- # [Output Only] The URL of the region where the regional address resides. This
694
- # field is not applicable to global addresses. You must specify this field as
695
- # part of the HTTP request URL.
693
+ # [Output Only] The URL of the region where a regional address resides. For
694
+ # regional addresses, you must specify the region as a path parameter in the
695
+ # HTTP request URL. This field is not applicable to global addresses.
696
696
  # Corresponds to the JSON property `region`
697
697
  # @return [String]
698
698
  attr_accessor :region
@@ -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
@@ -3532,8 +3546,8 @@ module Google
3532
3546
 
3533
3547
  # Deprecated in favor of portName. The TCP port to connect on the backend. The
3534
3548
  # default value is 80.
3535
- # This cannot be used if the loadBalancingScheme is INTERNAL (Internal TCP/UDP
3536
- # Load Balancing).
3549
+ # Backend services for Internal TCP/UDP Load Balancing and Network Load
3550
+ # Balancing require you omit port.
3537
3551
  # Corresponds to the JSON property `port`
3538
3552
  # @return [Fixnum]
3539
3553
  attr_accessor :port
@@ -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
@@ -6019,6 +6038,11 @@ module Google
6019
6038
  # @return [String]
6020
6039
  attr_accessor :state
6021
6040
 
6041
+ # A rollout policy configuration.
6042
+ # Corresponds to the JSON property `stateOverride`
6043
+ # @return [Google::Apis::ComputeAlpha::RolloutPolicy]
6044
+ attr_accessor :state_override
6045
+
6022
6046
  def initialize(**args)
6023
6047
  update!(**args)
6024
6048
  end
@@ -6030,6 +6054,7 @@ module Google
6030
6054
  @obsolete = args[:obsolete] if args.key?(:obsolete)
6031
6055
  @replacement = args[:replacement] if args.key?(:replacement)
6032
6056
  @state = args[:state] if args.key?(:state)
6057
+ @state_override = args[:state_override] if args.key?(:state_override)
6033
6058
  end
6034
6059
  end
6035
6060
 
@@ -6229,8 +6254,13 @@ module Google
6229
6254
  # The source disk used to create this disk. You can provide this as a partial or
6230
6255
  # full URL to the resource. For example, the following are valid values:
6231
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
6232
6260
  # - projects/project/zones/zone/disks/disk
6261
+ # - projects/project/regions/region/disks/disk
6233
6262
  # - zones/zone/disks/disk
6263
+ # - regions/region/disks/disk
6234
6264
  # Corresponds to the JSON property `sourceDisk`
6235
6265
  # @return [String]
6236
6266
  attr_accessor :source_disk
@@ -8432,13 +8462,14 @@ module Google
8432
8462
  # @return [String]
8433
8463
  attr_accessor :description
8434
8464
 
8435
- # User-provided name of the Organization firewall plicy. The name should be
8436
- # unique in the organization in which the firewall policy is created. The name
8437
- # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
8438
- # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
8439
- # [a-z0-9])?` which means the first character must be a lowercase letter, and
8440
- # all following characters must be a dash, lowercase letter, or digit, except
8441
- # 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.
8442
8473
  # Corresponds to the JSON property `displayName`
8443
8474
  # @return [String]
8444
8475
  attr_accessor :display_name
@@ -8478,6 +8509,14 @@ module Google
8478
8509
  # @return [String]
8479
8510
  attr_accessor :parent
8480
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
+
8481
8520
  # [Output Only] Total count of all firewall policy rule tuples. A firewall
8482
8521
  # policy can not exceed a set number of tuples.
8483
8522
  # Corresponds to the JSON property `ruleTupleCount`
@@ -8502,6 +8541,17 @@ module Google
8502
8541
  # @return [String]
8503
8542
  attr_accessor :self_link_with_id
8504
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
+
8505
8555
  def initialize(**args)
8506
8556
  update!(**args)
8507
8557
  end
@@ -8517,10 +8567,12 @@ module Google
8517
8567
  @kind = args[:kind] if args.key?(:kind)
8518
8568
  @name = args[:name] if args.key?(:name)
8519
8569
  @parent = args[:parent] if args.key?(:parent)
8570
+ @region = args[:region] if args.key?(:region)
8520
8571
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
8521
8572
  @rules = args[:rules] if args.key?(:rules)
8522
8573
  @self_link = args[:self_link] if args.key?(:self_link)
8523
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)
8524
8576
  end
8525
8577
  end
8526
8578
 
@@ -8533,7 +8585,8 @@ module Google
8533
8585
  # @return [String]
8534
8586
  attr_accessor :attachment_target
8535
8587
 
8536
- # [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.
8537
8590
  # Corresponds to the JSON property `displayName`
8538
8591
  # @return [String]
8539
8592
  attr_accessor :display_name
@@ -8548,6 +8601,11 @@ module Google
8548
8601
  # @return [String]
8549
8602
  attr_accessor :name
8550
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
+
8551
8609
  def initialize(**args)
8552
8610
  update!(**args)
8553
8611
  end
@@ -8558,6 +8616,7 @@ module Google
8558
8616
  @display_name = args[:display_name] if args.key?(:display_name)
8559
8617
  @firewall_policy_id = args[:firewall_policy_id] if args.key?(:firewall_policy_id)
8560
8618
  @name = args[:name] if args.key?(:name)
8619
+ @short_name = args[:short_name] if args.key?(:short_name)
8561
8620
  end
8562
8621
  end
8563
8622
 
@@ -8685,8 +8744,7 @@ module Google
8685
8744
  # @return [String]
8686
8745
  attr_accessor :action
8687
8746
 
8688
- # An optional description of this resource. Provide this property when you
8689
- # create the resource.
8747
+ # An optional description for this resource.
8690
8748
  # Corresponds to the JSON property `description`
8691
8749
  # @return [String]
8692
8750
  attr_accessor :description
@@ -8756,6 +8814,18 @@ module Google
8756
8814
  # @return [Array<String>]
8757
8815
  attr_accessor :target_secure_labels
8758
8816
 
8817
+ # A list of secure tags that controls which instances the firewall rule applies
8818
+ # to. If targetSecureTag are specified, then the firewall rule applies only to
8819
+ # instances in the VPC network that have one of those EFFECTIVE secure tags, if
8820
+ # all the target_secure_tag are in INEFFECTIVE state, then this rule will be
8821
+ # ignored. targetSecureTag may not be set at the same time as
8822
+ # targetServiceAccounts. If neither targetServiceAccounts nor targetSecureTag
8823
+ # are specified, the firewall rule applies to all instances on the specified
8824
+ # network. Maximum number of target label tags allowed is 256.
8825
+ # Corresponds to the JSON property `targetSecureTags`
8826
+ # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRuleSecureTag>]
8827
+ attr_accessor :target_secure_tags
8828
+
8759
8829
  # A list of service accounts indicating the sets of instances that are applied
8760
8830
  # with this rule.
8761
8831
  # Corresponds to the JSON property `targetServiceAccounts`
@@ -8779,6 +8849,7 @@ module Google
8779
8849
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
8780
8850
  @target_resources = args[:target_resources] if args.key?(:target_resources)
8781
8851
  @target_secure_labels = args[:target_secure_labels] if args.key?(:target_secure_labels)
8852
+ @target_secure_tags = args[:target_secure_tags] if args.key?(:target_secure_tags)
8782
8853
  @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
8783
8854
  end
8784
8855
  end
@@ -8810,6 +8881,14 @@ module Google
8810
8881
  # @return [Array<String>]
8811
8882
  attr_accessor :src_secure_labels
8812
8883
 
8884
+ # List of secure tag values, which should be matched at the source of the
8885
+ # traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there
8886
+ # is no srcIpRange, this rule will be ignored. Maximum number of source tag
8887
+ # values allowed is 256.
8888
+ # Corresponds to the JSON property `srcSecureTags`
8889
+ # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRuleSecureTag>]
8890
+ attr_accessor :src_secure_tags
8891
+
8813
8892
  def initialize(**args)
8814
8893
  update!(**args)
8815
8894
  end
@@ -8820,6 +8899,7 @@ module Google
8820
8899
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
8821
8900
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
8822
8901
  @src_secure_labels = args[:src_secure_labels] if args.key?(:src_secure_labels)
8902
+ @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
8823
8903
  end
8824
8904
  end
8825
8905
 
@@ -8854,6 +8934,32 @@ module Google
8854
8934
  end
8855
8935
  end
8856
8936
 
8937
+ #
8938
+ class FirewallPolicyRuleSecureTag
8939
+ include Google::Apis::Core::Hashable
8940
+
8941
+ # Name of the secure tag, created with TagManager's TagValue API.
8942
+ # Corresponds to the JSON property `name`
8943
+ # @return [String]
8944
+ attr_accessor :name
8945
+
8946
+ # [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A
8947
+ # secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
8948
+ # Corresponds to the JSON property `state`
8949
+ # @return [String]
8950
+ attr_accessor :state
8951
+
8952
+ def initialize(**args)
8953
+ update!(**args)
8954
+ end
8955
+
8956
+ # Update properties of this object
8957
+ def update!(**args)
8958
+ @name = args[:name] if args.key?(:name)
8959
+ @state = args[:state] if args.key?(:state)
8960
+ end
8961
+ end
8962
+
8857
8963
  # Encapsulates numeric value that can be either absolute or relative.
8858
8964
  class FixedOrPercent
8859
8965
  include Google::Apis::Core::Hashable
@@ -8928,6 +9034,8 @@ module Google
8928
9034
  # ip_address_specifications).
8929
9035
  # Must be set to `0.0.0.0` when the target is targetGrpcProxy that has
8930
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.
8931
9039
  # Corresponds to the JSON property `IPAddress`
8932
9040
  # @return [String]
8933
9041
  attr_accessor :ip_address
@@ -9100,6 +9208,8 @@ module Google
9100
9208
  # For Internal TCP/UDP Load Balancing, this field identifies the network that
9101
9209
  # the load balanced IP should belong to for this Forwarding Rule. If this field
9102
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.
9103
9213
  # Corresponds to the JSON property `network`
9104
9214
  # @return [String]
9105
9215
  attr_accessor :network
@@ -9149,6 +9259,11 @@ module Google
9149
9259
  # @return [Array<String>]
9150
9260
  attr_accessor :ports
9151
9261
 
9262
+ # [Output Only] The PSC connection id of the PSC Forwarding Rule.
9263
+ # Corresponds to the JSON property `pscConnectionId`
9264
+ # @return [Fixnum]
9265
+ attr_accessor :psc_connection_id
9266
+
9152
9267
  # [Output Only] URL of the region where the regional forwarding rule resides.
9153
9268
  # This field is not applicable to global forwarding rules. You must specify this
9154
9269
  # field as part of the HTTP request URL. It is not settable as a field in the
@@ -9204,12 +9319,7 @@ module Google
9204
9319
  # @return [String]
9205
9320
  attr_accessor :subnetwork
9206
9321
 
9207
- # The URL of the target resource to receive the matched traffic. For regional
9208
- # forwarding rules, this target must be in the same region as the forwarding
9209
- # rule. For global forwarding rules, this target must be a global load balancing
9210
- # resource. The forwarded traffic must be of a type appropriate to the target
9211
- # object. For more information, see the "Target" column in [Port specifications](
9212
- # /load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
9322
+ #
9213
9323
  # Corresponds to the JSON property `target`
9214
9324
  # @return [String]
9215
9325
  attr_accessor :target
@@ -9241,6 +9351,7 @@ module Google
9241
9351
  @network_tier = args[:network_tier] if args.key?(:network_tier)
9242
9352
  @port_range = args[:port_range] if args.key?(:port_range)
9243
9353
  @ports = args[:ports] if args.key?(:ports)
9354
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
9244
9355
  @region = args[:region] if args.key?(:region)
9245
9356
  @self_link = args[:self_link] if args.key?(:self_link)
9246
9357
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -9528,6 +9639,14 @@ module Google
9528
9639
  # @return [String]
9529
9640
  attr_accessor :service
9530
9641
 
9642
+ # [Optional] Service Directory region to register this global forwarding rule
9643
+ # under. Default to "us-central1". Only used for PSC for Google APIs. All PSC
9644
+ # for Google APIs Forwarding Rules on the same network should use the same
9645
+ # Service Directory region.
9646
+ # Corresponds to the JSON property `serviceDirectoryRegion`
9647
+ # @return [String]
9648
+ attr_accessor :service_directory_region
9649
+
9531
9650
  def initialize(**args)
9532
9651
  update!(**args)
9533
9652
  end
@@ -9536,6 +9655,7 @@ module Google
9536
9655
  def update!(**args)
9537
9656
  @namespace = args[:namespace] if args.key?(:namespace)
9538
9657
  @service = args[:service] if args.key?(:service)
9658
+ @service_directory_region = args[:service_directory_region] if args.key?(:service_directory_region)
9539
9659
  end
9540
9660
  end
9541
9661
 
@@ -10113,6 +10233,11 @@ module Google
10113
10233
  # @return [String]
10114
10234
  attr_accessor :response
10115
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
+
10116
10241
  def initialize(**args)
10117
10242
  update!(**args)
10118
10243
  end
@@ -10126,6 +10251,7 @@ module Google
10126
10251
  @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
10127
10252
  @request_path = args[:request_path] if args.key?(:request_path)
10128
10253
  @response = args[:response] if args.key?(:response)
10254
+ @weight_report_mode = args[:weight_report_mode] if args.key?(:weight_report_mode)
10129
10255
  end
10130
10256
  end
10131
10257
 
@@ -10183,6 +10309,11 @@ module Google
10183
10309
  # @return [String]
10184
10310
  attr_accessor :response
10185
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
+
10186
10317
  def initialize(**args)
10187
10318
  update!(**args)
10188
10319
  end
@@ -10196,6 +10327,7 @@ module Google
10196
10327
  @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
10197
10328
  @request_path = args[:request_path] if args.key?(:request_path)
10198
10329
  @response = args[:response] if args.key?(:response)
10330
+ @weight_report_mode = args[:weight_report_mode] if args.key?(:weight_report_mode)
10199
10331
  end
10200
10332
  end
10201
10333
 
@@ -10253,6 +10385,11 @@ module Google
10253
10385
  # @return [String]
10254
10386
  attr_accessor :response
10255
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
+
10256
10393
  def initialize(**args)
10257
10394
  update!(**args)
10258
10395
  end
@@ -10266,6 +10403,7 @@ module Google
10266
10403
  @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
10267
10404
  @request_path = args[:request_path] if args.key?(:request_path)
10268
10405
  @response = args[:response] if args.key?(:response)
10406
+ @weight_report_mode = args[:weight_report_mode] if args.key?(:weight_report_mode)
10269
10407
  end
10270
10408
  end
10271
10409
 
@@ -10346,11 +10484,12 @@ module Google
10346
10484
  attr_accessor :log_config
10347
10485
 
10348
10486
  # Name of the resource. Provided by the client when the resource is created. The
10349
- # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
10350
- # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
10351
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
10352
- # and all following characters must be a dash, lowercase letter, or digit,
10353
- # 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.
10354
10493
  # Corresponds to the JSON property `name`
10355
10494
  # @return [String]
10356
10495
  attr_accessor :name
@@ -11319,6 +11458,16 @@ module Google
11319
11458
  # @return [Hash<String,String>]
11320
11459
  attr_accessor :annotations
11321
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
+
11322
11471
  # Health state of the instance.
11323
11472
  # Corresponds to the JSON property `healthState`
11324
11473
  # @return [String]
@@ -11329,7 +11478,9 @@ module Google
11329
11478
  # @return [String]
11330
11479
  attr_accessor :instance
11331
11480
 
11332
- # A forwarding rule IP address assigned to this instance.
11481
+ # For target pool based Network Load Balancing, it indicates the forwarding rule'
11482
+ # s IP address assigned to this instance. For other types of load balancing, the
11483
+ # field indicates VM internal ip.
11333
11484
  # Corresponds to the JSON property `ipAddress`
11334
11485
  # @return [String]
11335
11486
  attr_accessor :ip_address
@@ -11357,6 +11508,8 @@ module Google
11357
11508
  # Update properties of this object
11358
11509
  def update!(**args)
11359
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)
11360
11513
  @health_state = args[:health_state] if args.key?(:health_state)
11361
11514
  @instance = args[:instance] if args.key?(:instance)
11362
11515
  @ip_address = args[:ip_address] if args.key?(:ip_address)
@@ -12807,6 +12960,11 @@ module Google
12807
12960
  # @return [Google::Apis::ComputeAlpha::Image::RawDisk]
12808
12961
  attr_accessor :raw_disk
12809
12962
 
12963
+ # A rollout policy configuration.
12964
+ # Corresponds to the JSON property `rolloutOverride`
12965
+ # @return [Google::Apis::ComputeAlpha::RolloutPolicy]
12966
+ attr_accessor :rollout_override
12967
+
12810
12968
  # [Output Only] Reserved for future use.
12811
12969
  # Corresponds to the JSON property `satisfiesPzs`
12812
12970
  # @return [Boolean]
@@ -12944,6 +13102,7 @@ module Google
12944
13102
  @licenses = args[:licenses] if args.key?(:licenses)
12945
13103
  @name = args[:name] if args.key?(:name)
12946
13104
  @raw_disk = args[:raw_disk] if args.key?(:raw_disk)
13105
+ @rollout_override = args[:rollout_override] if args.key?(:rollout_override)
12947
13106
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
12948
13107
  @self_link = args[:self_link] if args.key?(:self_link)
12949
13108
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -12998,6 +13157,27 @@ module Google
12998
13157
  end
12999
13158
  end
13000
13159
 
13160
+ #
13161
+ class ImageFamilyView
13162
+ include Google::Apis::Core::Hashable
13163
+
13164
+ # Represents an Image resource.
13165
+ # You can use images to create boot disks for your VM instances. For more
13166
+ # information, read Images. (== resource_for `$api_version`.images ==)
13167
+ # Corresponds to the JSON property `image`
13168
+ # @return [Google::Apis::ComputeAlpha::Image]
13169
+ attr_accessor :image
13170
+
13171
+ def initialize(**args)
13172
+ update!(**args)
13173
+ end
13174
+
13175
+ # Update properties of this object
13176
+ def update!(**args)
13177
+ @image = args[:image] if args.key?(:image)
13178
+ end
13179
+ end
13180
+
13001
13181
  # Contains a list of images.
13002
13182
  class ImageList
13003
13183
  include Google::Apis::Core::Hashable
@@ -13658,7 +13838,7 @@ module Google
13658
13838
  attr_accessor :satisfies_pzs
13659
13839
  alias_method :satisfies_pzs?, :satisfies_pzs
13660
13840
 
13661
- # Sets the scheduling options for an Instance. NextID: 13
13841
+ # Sets the scheduling options for an Instance. NextID: 20
13662
13842
  # Corresponds to the JSON property `scheduling`
13663
13843
  # @return [Google::Apis::ComputeAlpha::Scheduling]
13664
13844
  attr_accessor :scheduling
@@ -13721,7 +13901,8 @@ module Google
13721
13901
  # @return [String]
13722
13902
  attr_accessor :source_machine_image
13723
13903
 
13724
- # 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.
13725
13906
  # Corresponds to the JSON property `sourceMachineImageEncryptionKey`
13726
13907
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
13727
13908
  attr_accessor :source_machine_image_encryption_key
@@ -14393,6 +14574,11 @@ module Google
14393
14574
  # @return [String]
14394
14575
  attr_accessor :instance_group
14395
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
+
14396
14582
  # The URL of the instance template that is specified for this managed instance
14397
14583
  # group. The group uses this template to create all new instances in the managed
14398
14584
  # instance group. The templates for existing instances in the group do not
@@ -14469,6 +14655,24 @@ module Google
14469
14655
  # @return [Fixnum]
14470
14656
  attr_accessor :target_size
14471
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
+
14472
14676
  # The update policy for this managed instance group.
14473
14677
  # Corresponds to the JSON property `updatePolicy`
14474
14678
  # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerUpdatePolicy]
@@ -14508,6 +14712,7 @@ module Google
14508
14712
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
14509
14713
  @id = args[:id] if args.key?(:id)
14510
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)
14511
14716
  @instance_template = args[:instance_template] if args.key?(:instance_template)
14512
14717
  @kind = args[:kind] if args.key?(:kind)
14513
14718
  @name = args[:name] if args.key?(:name)
@@ -14520,6 +14725,8 @@ module Google
14520
14725
  @status = args[:status] if args.key?(:status)
14521
14726
  @target_pools = args[:target_pools] if args.key?(:target_pools)
14522
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)
14523
14730
  @update_policy = args[:update_policy] if args.key?(:update_policy)
14524
14731
  @versions = args[:versions] if args.key?(:versions)
14525
14732
  @zone = args[:zone] if args.key?(:zone)
@@ -14588,6 +14795,30 @@ module Google
14588
14795
  # @return [Fixnum]
14589
14796
  attr_accessor :restarting
14590
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
+
14591
14822
  # [Output Only] The number of instances in the managed instance group that are
14592
14823
  # being verified. See the managedInstances[].currentAction property in the
14593
14824
  # listManagedInstances method documentation.
@@ -14609,6 +14840,10 @@ module Google
14609
14840
  @recreating = args[:recreating] if args.key?(:recreating)
14610
14841
  @refreshing = args[:refreshing] if args.key?(:refreshing)
14611
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)
14612
14847
  @verifying = args[:verifying] if args.key?(:verifying)
14613
14848
  end
14614
14849
  end
@@ -14774,6 +15009,55 @@ module Google
14774
15009
  end
14775
15010
  end
14776
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
+
14777
15061
  # [Output Only] A list of managed instance groups.
14778
15062
  class InstanceGroupManagerList
14779
15063
  include Google::Apis::Core::Hashable
@@ -15531,6 +15815,26 @@ module Google
15531
15815
  end
15532
15816
  end
15533
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
+
15534
15838
  #
15535
15839
  class InstanceGroupManagersScopedList
15536
15840
  include Google::Apis::Core::Hashable
@@ -15698,6 +16002,82 @@ module Google
15698
16002
  end
15699
16003
  end
15700
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
+
15701
16081
  # InstanceGroupManagers.updatePerInstanceConfigs
15702
16082
  class InstanceGroupManagersUpdatePerInstanceConfigsReq
15703
16083
  include Google::Apis::Core::Hashable
@@ -16492,7 +16872,7 @@ module Google
16492
16872
  # @return [Array<String>]
16493
16873
  attr_accessor :resource_policies
16494
16874
 
16495
- # Sets the scheduling options for an Instance. NextID: 13
16875
+ # Sets the scheduling options for an Instance. NextID: 20
16496
16876
  # Corresponds to the JSON property `scheduling`
16497
16877
  # @return [Google::Apis::ComputeAlpha::Scheduling]
16498
16878
  attr_accessor :scheduling
@@ -16864,7 +17244,8 @@ module Google
16864
17244
  class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy
16865
17245
  include Google::Apis::Core::Hashable
16866
17246
 
16867
- # [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.
16868
17249
  # Corresponds to the JSON property `displayName`
16869
17250
  # @return [String]
16870
17251
  attr_accessor :display_name
@@ -16879,6 +17260,11 @@ module Google
16879
17260
  # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRule>]
16880
17261
  attr_accessor :rules
16881
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
+
16882
17268
  # [Output Only] The type of the firewall policy.
16883
17269
  # Corresponds to the JSON property `type`
16884
17270
  # @return [String]
@@ -16893,6 +17279,7 @@ module Google
16893
17279
  @display_name = args[:display_name] if args.key?(:display_name)
16894
17280
  @name = args[:name] if args.key?(:name)
16895
17281
  @rules = args[:rules] if args.key?(:rules)
17282
+ @short_name = args[:short_name] if args.key?(:short_name)
16896
17283
  @type = args[:type] if args.key?(:type)
16897
17284
  end
16898
17285
  end
@@ -17338,8 +17725,13 @@ module Google
17338
17725
  # created. This can be a full or valid partial URL. For example, the following
17339
17726
  # are valid values:
17340
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
17341
17731
  # - projects/project/zones/zone/disks/disk
17732
+ # - projects/project/regions/region/disks/disk
17342
17733
  # - zones/zone/disks/disk
17734
+ # - regions/region/disks/disk
17343
17735
  # Corresponds to the JSON property `sourceDisk`
17344
17736
  # @return [String]
17345
17737
  attr_accessor :source_disk
@@ -17897,8 +18289,8 @@ module Google
17897
18289
  # type of attachment.
17898
18290
  # - IPSEC indicates that the attachment carries only traffic encrypted by an
17899
18291
  # IPsec device such as an HA VPN gateway. VMs cannot directly send traffic to,
17900
- # or receive traffic from, such an attachment. To use IPsec over Interconnect,
17901
- # 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.
17902
18294
  # Corresponds to the JSON property `encryption`
17903
18295
  # @return [String]
17904
18296
  attr_accessor :encryption
@@ -21689,6 +22081,12 @@ module Google
21689
22081
  # @return [String]
21690
22082
  attr_accessor :network_endpoint_type
21691
22083
 
22084
+ # The target service url used to set up private service connection to a Google
22085
+ # API. An example value is: "asia-northeast3-cloudkms.googleapis.com"
22086
+ # Corresponds to the JSON property `pscTargetService`
22087
+ # @return [String]
22088
+ attr_accessor :psc_target_service
22089
+
21692
22090
  # [Output Only] The URL of the region where the network endpoint group is
21693
22091
  # located.
21694
22092
  # Corresponds to the JSON property `region`
@@ -21754,6 +22152,7 @@ module Google
21754
22152
  @name = args[:name] if args.key?(:name)
21755
22153
  @network = args[:network] if args.key?(:network)
21756
22154
  @network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
22155
+ @psc_target_service = args[:psc_target_service] if args.key?(:psc_target_service)
21757
22156
  @region = args[:region] if args.key?(:region)
21758
22157
  @self_link = args[:self_link] if args.key?(:self_link)
21759
22158
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -22578,8 +22977,9 @@ module Google
22578
22977
 
22579
22978
  # Fingerprint hash of contents stored in this network interface. This field will
22580
22979
  # be ignored when inserting an Instance or adding a NetworkInterface. An up-to-
22581
- # date fingerprint must be provided in order to update the NetworkInterface,
22582
- # otherwise the request will fail with error 412 conditionNotMet.
22980
+ # date fingerprint must be provided in order to update the NetworkInterface. The
22981
+ # request will fail with error 400 Bad Request if the fingerprint is not
22982
+ # provided, or 412 Precondition Failed if the fingerprint is out of date.
22583
22983
  # Corresponds to the JSON property `fingerprint`
22584
22984
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
22585
22985
  # @return [String]
@@ -23128,7 +23528,8 @@ module Google
23128
23528
  class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy
23129
23529
  include Google::Apis::Core::Hashable
23130
23530
 
23131
- # [Output Only] The display name of the firewall policy.
23531
+ # [Output Only] Deprecated, please use short name instead. The display name of
23532
+ # the firewall policy.
23132
23533
  # Corresponds to the JSON property `displayName`
23133
23534
  # @return [String]
23134
23535
  attr_accessor :display_name
@@ -23143,6 +23544,11 @@ module Google
23143
23544
  # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRule>]
23144
23545
  attr_accessor :rules
23145
23546
 
23547
+ # [Output Only] The short name of the firewall policy.
23548
+ # Corresponds to the JSON property `shortName`
23549
+ # @return [String]
23550
+ attr_accessor :short_name
23551
+
23146
23552
  # [Output Only] The type of the firewall policy.
23147
23553
  # Corresponds to the JSON property `type`
23148
23554
  # @return [String]
@@ -23157,6 +23563,7 @@ module Google
23157
23563
  @display_name = args[:display_name] if args.key?(:display_name)
23158
23564
  @name = args[:name] if args.key?(:name)
23159
23565
  @rules = args[:rules] if args.key?(:rules)
23566
+ @short_name = args[:short_name] if args.key?(:short_name)
23160
23567
  @type = args[:type] if args.key?(:type)
23161
23568
  end
23162
23569
  end
@@ -25526,6 +25933,12 @@ module Google
25526
25933
  # @return [String]
25527
25934
  attr_accessor :name
25528
25935
 
25936
+ # [Output Only] An ID that represents a group of operations, such as when a
25937
+ # group of operations results from a `bulkInsert` API request.
25938
+ # Corresponds to the JSON property `operationGroupId`
25939
+ # @return [String]
25940
+ attr_accessor :operation_group_id
25941
+
25529
25942
  # [Output Only] The type of operation, such as `insert`, `update`, or `delete`,
25530
25943
  # and so on.
25531
25944
  # Corresponds to the JSON property `operationType`
@@ -25623,6 +26036,7 @@ module Google
25623
26036
  @kind = args[:kind] if args.key?(:kind)
25624
26037
  @metadata = args[:metadata] if args.key?(:metadata)
25625
26038
  @name = args[:name] if args.key?(:name)
26039
+ @operation_group_id = args[:operation_group_id] if args.key?(:operation_group_id)
25626
26040
  @operation_type = args[:operation_type] if args.key?(:operation_type)
25627
26041
  @progress = args[:progress] if args.key?(:progress)
25628
26042
  @region = args[:region] if args.key?(:region)
@@ -27388,6 +27802,18 @@ module Google
27388
27802
  # @return [Hash<String,Google::Apis::ComputeAlpha::PreservedStatePreservedDisk>]
27389
27803
  attr_accessor :disks
27390
27804
 
27805
+ # Preserved external IPs defined for this instance. This map is keyed with the
27806
+ # name of the network interface.
27807
+ # Corresponds to the JSON property `externalIPs`
27808
+ # @return [Hash<String,Google::Apis::ComputeAlpha::PreservedStatePreservedNetworkIp>]
27809
+ attr_accessor :external_i_ps
27810
+
27811
+ # Preserved internal IPs defined for this instance. This map is keyed with the
27812
+ # name of the network interface.
27813
+ # Corresponds to the JSON property `internalIPs`
27814
+ # @return [Hash<String,Google::Apis::ComputeAlpha::PreservedStatePreservedNetworkIp>]
27815
+ attr_accessor :internal_i_ps
27816
+
27391
27817
  # Preserved metadata defined for this instance.
27392
27818
  # Corresponds to the JSON property `metadata`
27393
27819
  # @return [Hash<String,String>]
@@ -27400,6 +27826,8 @@ module Google
27400
27826
  # Update properties of this object
27401
27827
  def update!(**args)
27402
27828
  @disks = args[:disks] if args.key?(:disks)
27829
+ @external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
27830
+ @internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
27403
27831
  @metadata = args[:metadata] if args.key?(:metadata)
27404
27832
  end
27405
27833
  end
@@ -27441,6 +27869,60 @@ module Google
27441
27869
  end
27442
27870
  end
27443
27871
 
27872
+ #
27873
+ class PreservedStatePreservedNetworkIp
27874
+ include Google::Apis::Core::Hashable
27875
+
27876
+ # These stateful IPs will never be released during autohealing, update or VM
27877
+ # instance recreate operations. This flag is used to configure if the IP
27878
+ # reservation should be deleted after it is no longer used by the group, e.g.
27879
+ # when the given instance or the whole group is deleted.
27880
+ # Corresponds to the JSON property `autoDelete`
27881
+ # @return [String]
27882
+ attr_accessor :auto_delete
27883
+
27884
+ # Ip address representation
27885
+ # Corresponds to the JSON property `ipAddress`
27886
+ # @return [Google::Apis::ComputeAlpha::PreservedStatePreservedNetworkIpIpAddress]
27887
+ attr_accessor :ip_address
27888
+
27889
+ def initialize(**args)
27890
+ update!(**args)
27891
+ end
27892
+
27893
+ # Update properties of this object
27894
+ def update!(**args)
27895
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
27896
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
27897
+ end
27898
+ end
27899
+
27900
+ #
27901
+ class PreservedStatePreservedNetworkIpIpAddress
27902
+ include Google::Apis::Core::Hashable
27903
+
27904
+ # The URL of the reservation for this IP address.
27905
+ # Corresponds to the JSON property `address`
27906
+ # @return [String]
27907
+ attr_accessor :address
27908
+
27909
+ # An IPv4 internal network address to assign to the instance for this network
27910
+ # interface.
27911
+ # Corresponds to the JSON property `literal`
27912
+ # @return [String]
27913
+ attr_accessor :literal
27914
+
27915
+ def initialize(**args)
27916
+ update!(**args)
27917
+ end
27918
+
27919
+ # Update properties of this object
27920
+ def update!(**args)
27921
+ @address = args[:address] if args.key?(:address)
27922
+ @literal = args[:literal] if args.key?(:literal)
27923
+ end
27924
+ end
27925
+
27444
27926
  # [Deprecated] All fields defined in a principal are ANDed.
27445
27927
  class Principal
27446
27928
  include Google::Apis::Core::Hashable
@@ -29462,9 +29944,9 @@ module Google
29462
29944
  # @return [Array<String>]
29463
29945
  attr_accessor :instances
29464
29946
 
29465
- # If false and the request contains references to instances that cannot be
29466
- # deleted (that is, instances that are not in the group or are already deleted),
29467
- # the request fails. Otherwise, such instances are ignored.
29947
+ # Skip instances which cannot be deleted (instances not belonging to this
29948
+ # managed group, already being deleted or being abandoned). If `false`, fail
29949
+ # whole flow, if such instance is passed.
29468
29950
  # Corresponds to the JSON property `skipInapplicableInstances`
29469
29951
  # @return [Boolean]
29470
29952
  attr_accessor :skip_inapplicable_instances
@@ -29701,6 +30183,26 @@ module Google
29701
30183
  end
29702
30184
  end
29703
30185
 
30186
+ #
30187
+ class RegionInstanceGroupManagersResumeInstancesRequest
30188
+ include Google::Apis::Core::Hashable
30189
+
30190
+ # The URLs of one or more instances to resume. This can be a full URL or a
30191
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
30192
+ # Corresponds to the JSON property `instances`
30193
+ # @return [Array<String>]
30194
+ attr_accessor :instances
30195
+
30196
+ def initialize(**args)
30197
+ update!(**args)
30198
+ end
30199
+
30200
+ # Update properties of this object
30201
+ def update!(**args)
30202
+ @instances = args[:instances] if args.key?(:instances)
30203
+ end
30204
+ end
30205
+
29704
30206
  #
29705
30207
  class RegionInstanceGroupManagersSetAutoHealingRequest
29706
30208
  include Google::Apis::Core::Hashable
@@ -29770,6 +30272,82 @@ module Google
29770
30272
  end
29771
30273
  end
29772
30274
 
30275
+ #
30276
+ class RegionInstanceGroupManagersStartInstancesRequest
30277
+ include Google::Apis::Core::Hashable
30278
+
30279
+ # The URLs of one or more instances to start. This can be a full URL or a
30280
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
30281
+ # Corresponds to the JSON property `instances`
30282
+ # @return [Array<String>]
30283
+ attr_accessor :instances
30284
+
30285
+ def initialize(**args)
30286
+ update!(**args)
30287
+ end
30288
+
30289
+ # Update properties of this object
30290
+ def update!(**args)
30291
+ @instances = args[:instances] if args.key?(:instances)
30292
+ end
30293
+ end
30294
+
30295
+ #
30296
+ class RegionInstanceGroupManagersStopInstancesRequest
30297
+ include Google::Apis::Core::Hashable
30298
+
30299
+ # If this flag is set to true, the Instance Group Manager will proceed to stop
30300
+ # the instances, skipping initialization on them.
30301
+ # Corresponds to the JSON property `forceStop`
30302
+ # @return [Boolean]
30303
+ attr_accessor :force_stop
30304
+ alias_method :force_stop?, :force_stop
30305
+
30306
+ # The URLs of one or more instances to stop. This can be a full URL or a partial
30307
+ # URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
30308
+ # Corresponds to the JSON property `instances`
30309
+ # @return [Array<String>]
30310
+ attr_accessor :instances
30311
+
30312
+ def initialize(**args)
30313
+ update!(**args)
30314
+ end
30315
+
30316
+ # Update properties of this object
30317
+ def update!(**args)
30318
+ @force_stop = args[:force_stop] if args.key?(:force_stop)
30319
+ @instances = args[:instances] if args.key?(:instances)
30320
+ end
30321
+ end
30322
+
30323
+ #
30324
+ class RegionInstanceGroupManagersSuspendInstancesRequest
30325
+ include Google::Apis::Core::Hashable
30326
+
30327
+ # If this flag is set to true, the Instance Group Manager will proceed to
30328
+ # suspend the instances, skipping initialization on them.
30329
+ # Corresponds to the JSON property `forceSuspend`
30330
+ # @return [Boolean]
30331
+ attr_accessor :force_suspend
30332
+ alias_method :force_suspend?, :force_suspend
30333
+
30334
+ # The URLs of one or more instances to suspend. This can be a full URL or a
30335
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
30336
+ # Corresponds to the JSON property `instances`
30337
+ # @return [Array<String>]
30338
+ attr_accessor :instances
30339
+
30340
+ def initialize(**args)
30341
+ update!(**args)
30342
+ end
30343
+
30344
+ # Update properties of this object
30345
+ def update!(**args)
30346
+ @force_suspend = args[:force_suspend] if args.key?(:force_suspend)
30347
+ @instances = args[:instances] if args.key?(:instances)
30348
+ end
30349
+ end
30350
+
29773
30351
  #
29774
30352
  class RegionInstanceGroupsListInstances
29775
30353
  include Google::Apis::Core::Hashable
@@ -30300,6 +30878,12 @@ module Google
30300
30878
  # @return [String]
30301
30879
  attr_accessor :name
30302
30880
 
30881
+ # [Output Only] Reserved for future use.
30882
+ # Corresponds to the JSON property `satisfiesPzs`
30883
+ # @return [Boolean]
30884
+ attr_accessor :satisfies_pzs
30885
+ alias_method :satisfies_pzs?, :satisfies_pzs
30886
+
30303
30887
  # [Output Only] Server-defined fully-qualified URL for this resource.
30304
30888
  # Corresponds to the JSON property `selfLink`
30305
30889
  # @return [String]
@@ -30351,6 +30935,7 @@ module Google
30351
30935
  @id = args[:id] if args.key?(:id)
30352
30936
  @kind = args[:kind] if args.key?(:kind)
30353
30937
  @name = args[:name] if args.key?(:name)
30938
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
30354
30939
  @self_link = args[:self_link] if args.key?(:self_link)
30355
30940
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
30356
30941
  @share_settings = args[:share_settings] if args.key?(:share_settings)
@@ -30954,6 +31539,13 @@ module Google
30954
31539
  # @return [String]
30955
31540
  attr_accessor :region
30956
31541
 
31542
+ # Contains output only fields. Use this sub-message for all output fields set on
31543
+ # ResourcePolicy. The internal structure of this "status" field should mimic the
31544
+ # structure of ResourcePolicy proto specification.
31545
+ # Corresponds to the JSON property `resourceStatus`
31546
+ # @return [Google::Apis::ComputeAlpha::ResourcePolicyResourceStatus]
31547
+ attr_accessor :resource_status
31548
+
30957
31549
  # [Output Only] Server-defined fully-qualified URL for this resource.
30958
31550
  # Corresponds to the JSON property `selfLink`
30959
31551
  # @return [String]
@@ -30995,6 +31587,7 @@ module Google
30995
31587
  @kind = args[:kind] if args.key?(:kind)
30996
31588
  @name = args[:name] if args.key?(:name)
30997
31589
  @region = args[:region] if args.key?(:region)
31590
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
30998
31591
  @self_link = args[:self_link] if args.key?(:self_link)
30999
31592
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
31000
31593
  @snapshot_schedule_policy = args[:snapshot_schedule_policy] if args.key?(:snapshot_schedule_policy)
@@ -31258,6 +31851,16 @@ module Google
31258
31851
  class ResourcePolicyInstanceSchedulePolicy
31259
31852
  include Google::Apis::Core::Hashable
31260
31853
 
31854
+ # The expiration time of the schedule. The timestamp is an RFC3339 string.
31855
+ # Corresponds to the JSON property `expirationTime`
31856
+ # @return [String]
31857
+ attr_accessor :expiration_time
31858
+
31859
+ # The start time of the schedule. The timestamp is an RFC3339 string.
31860
+ # Corresponds to the JSON property `startTime`
31861
+ # @return [String]
31862
+ attr_accessor :start_time
31863
+
31261
31864
  # Specifies the time zone to be used in interpreting Schedule.schedule. The
31262
31865
  # value of this field must be a time zone name from the tz database: http://en.
31263
31866
  # wikipedia.org/wiki/Tz_database.
@@ -31281,6 +31884,8 @@ module Google
31281
31884
 
31282
31885
  # Update properties of this object
31283
31886
  def update!(**args)
31887
+ @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
31888
+ @start_time = args[:start_time] if args.key?(:start_time)
31284
31889
  @time_zone = args[:time_zone] if args.key?(:time_zone)
31285
31890
  @vm_start_schedule = args[:vm_start_schedule] if args.key?(:vm_start_schedule)
31286
31891
  @vm_stop_schedule = args[:vm_stop_schedule] if args.key?(:vm_stop_schedule)
@@ -31431,6 +32036,56 @@ module Google
31431
32036
  end
31432
32037
  end
31433
32038
 
32039
+ # Contains output only fields. Use this sub-message for all output fields set on
32040
+ # ResourcePolicy. The internal structure of this "status" field should mimic the
32041
+ # structure of ResourcePolicy proto specification.
32042
+ class ResourcePolicyResourceStatus
32043
+ include Google::Apis::Core::Hashable
32044
+
32045
+ # [Output Only] Specifies a set of output values reffering to the
32046
+ # instance_schedule_policy system status. This field should have the same name
32047
+ # as corresponding policy field.
32048
+ # Corresponds to the JSON property `instanceSchedulePolicy`
32049
+ # @return [Google::Apis::ComputeAlpha::ResourcePolicyResourceStatusInstanceSchedulePolicyStatus]
32050
+ attr_accessor :instance_schedule_policy
32051
+
32052
+ def initialize(**args)
32053
+ update!(**args)
32054
+ end
32055
+
32056
+ # Update properties of this object
32057
+ def update!(**args)
32058
+ @instance_schedule_policy = args[:instance_schedule_policy] if args.key?(:instance_schedule_policy)
32059
+ end
32060
+ end
32061
+
32062
+ #
32063
+ class ResourcePolicyResourceStatusInstanceSchedulePolicyStatus
32064
+ include Google::Apis::Core::Hashable
32065
+
32066
+ # [Output Only] The last time the schedule successfully ran. The timestamp is an
32067
+ # RFC3339 string.
32068
+ # Corresponds to the JSON property `lastRunStartTime`
32069
+ # @return [String]
32070
+ attr_accessor :last_run_start_time
32071
+
32072
+ # [Output Only] The next time the schedule is planned to run. The actual time
32073
+ # might be slightly different. The timestamp is an RFC3339 string.
32074
+ # Corresponds to the JSON property `nextRunStartTime`
32075
+ # @return [String]
32076
+ attr_accessor :next_run_start_time
32077
+
32078
+ def initialize(**args)
32079
+ update!(**args)
32080
+ end
32081
+
32082
+ # Update properties of this object
32083
+ def update!(**args)
32084
+ @last_run_start_time = args[:last_run_start_time] if args.key?(:last_run_start_time)
32085
+ @next_run_start_time = args[:next_run_start_time] if args.key?(:next_run_start_time)
32086
+ end
32087
+ end
32088
+
31434
32089
  # A snapshot schedule policy specifies when and how frequently snapshots are to
31435
32090
  # be created for the target disk. Also specifies how many and how long these
31436
32091
  # scheduled snapshots should be retained.
@@ -31739,6 +32394,36 @@ module Google
31739
32394
  end
31740
32395
  end
31741
32396
 
32397
+ # A rollout policy configuration.
32398
+ class RolloutPolicy
32399
+ include Google::Apis::Core::Hashable
32400
+
32401
+ # An optional RFC3339 timestamp on or after which the update is considered
32402
+ # rolled out to any zone that is not explicitly stated.
32403
+ # Corresponds to the JSON property `defaultRolloutTime`
32404
+ # @return [String]
32405
+ attr_accessor :default_rollout_time
32406
+
32407
+ # Location based rollout policies to apply to the resource.
32408
+ # Currently only zone names are supported and must be represented as valid URLs,
32409
+ # like: zones/us-central1-a.
32410
+ # The value expects an RFC3339 timestamp on or after which the update is
32411
+ # considered rolled out to the specified location.
32412
+ # Corresponds to the JSON property `locationRolloutPolicies`
32413
+ # @return [Hash<String,String>]
32414
+ attr_accessor :location_rollout_policies
32415
+
32416
+ def initialize(**args)
32417
+ update!(**args)
32418
+ end
32419
+
32420
+ # Update properties of this object
32421
+ def update!(**args)
32422
+ @default_rollout_time = args[:default_rollout_time] if args.key?(:default_rollout_time)
32423
+ @location_rollout_policies = args[:location_rollout_policies] if args.key?(:location_rollout_policies)
32424
+ end
32425
+ end
32426
+
31742
32427
  # Represents a Route resource.
31743
32428
  # A route defines a path from VM instances in the VPC network to a specific
31744
32429
  # destination. This destination can be inside or outside the VPC network. For
@@ -31747,6 +32432,14 @@ module Google
31747
32432
  class Route
31748
32433
  include Google::Apis::Core::Hashable
31749
32434
 
32435
+ # Whether this route can conflict with existing subnetworks. Setting this to
32436
+ # true allows this route to conflict with subnetworks that have already been
32437
+ # configured on the corresponding network.
32438
+ # Corresponds to the JSON property `allowConflictingSubnetworks`
32439
+ # @return [Boolean]
32440
+ attr_accessor :allow_conflicting_subnetworks
32441
+ alias_method :allow_conflicting_subnetworks?, :allow_conflicting_subnetworks
32442
+
31750
32443
  # [Output Only] Creation timestamp in RFC3339 text format.
31751
32444
  # Corresponds to the JSON property `creationTimestamp`
31752
32445
  # @return [String]
@@ -31880,6 +32573,7 @@ module Google
31880
32573
 
31881
32574
  # Update properties of this object
31882
32575
  def update!(**args)
32576
+ @allow_conflicting_subnetworks = args[:allow_conflicting_subnetworks] if args.key?(:allow_conflicting_subnetworks)
31883
32577
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
31884
32578
  @description = args[:description] if args.key?(:description)
31885
32579
  @dest_range = args[:dest_range] if args.key?(:dest_range)
@@ -32113,7 +32807,7 @@ module Google
32113
32807
  attr_accessor :description
32114
32808
 
32115
32809
  # Field to indicate if a router is dedicated to use with encrypted Interconnect
32116
- # Attachment (Encrypted Interconnect feature).
32810
+ # Attachment (IPsec-encrypted Cloud Interconnect feature).
32117
32811
  # Corresponds to the JSON property `encryptedInterconnectRouter`
32118
32812
  # @return [Boolean]
32119
32813
  attr_accessor :encrypted_interconnect_router
@@ -32386,7 +33080,7 @@ module Google
32386
33080
  # successive keepalive messages that BGP receives from a peer.
32387
33081
  # BGP will use the smaller of either the local hold time value or the peer's
32388
33082
  # hold time value as the hold time for the BGP connection between the two peers.
32389
- # If set, this value must be between 1 and 120. The default is 20.
33083
+ # If set, this value must be between 20 and 60. The default is 20.
32390
33084
  # Corresponds to the JSON property `keepaliveInterval`
32391
33085
  # @return [Fixnum]
32392
33086
  attr_accessor :keepalive_interval
@@ -32417,12 +33111,11 @@ module Google
32417
33111
  # User-specified list of prefix groups to advertise in custom mode, which can
32418
33112
  # take one of the following options:
32419
33113
  # - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets.
32420
- # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets.
32421
- # - ALL_PEER_VPC_SUBNETS: Advertises peer subnets of the router's VPC network.
32422
- # Note that this field can only be populated if advertise_mode is CUSTOM and
32423
- # overrides the list defined for the router (in the "bgp" message). These groups
32424
- # are advertised in addition to any specified prefixes. Leave this field blank
32425
- # to advertise no custom groups.
33114
+ # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. Note that this
33115
+ # field can only be populated if advertise_mode is CUSTOM and overrides the list
33116
+ # defined for the router (in the "bgp" message). These groups are advertised in
33117
+ # addition to any specified prefixes. Leave this field blank to advertise no
33118
+ # custom groups.
32426
33119
  # Corresponds to the JSON property `advertisedGroups`
32427
33120
  # @return [Array<String>]
32428
33121
  attr_accessor :advertised_groups
@@ -33189,6 +33882,13 @@ module Google
33189
33882
  # @return [String]
33190
33883
  attr_accessor :peer_ip_address
33191
33884
 
33885
+ # [Output only] URI of the VM instance that is used as third-party router
33886
+ # appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances.
33887
+ # The VM instance is the peer side of the BGP session.
33888
+ # Corresponds to the JSON property `routerApplianceInstance`
33889
+ # @return [String]
33890
+ attr_accessor :router_appliance_instance
33891
+
33192
33892
  # BGP state as specified in RFC1771.
33193
33893
  # Corresponds to the JSON property `state`
33194
33894
  # @return [String]
@@ -33223,6 +33923,7 @@ module Google
33223
33923
  @name = args[:name] if args.key?(:name)
33224
33924
  @num_learned_routes = args[:num_learned_routes] if args.key?(:num_learned_routes)
33225
33925
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
33926
+ @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
33226
33927
  @state = args[:state] if args.key?(:state)
33227
33928
  @status = args[:status] if args.key?(:status)
33228
33929
  @uptime = args[:uptime] if args.key?(:uptime)
@@ -33768,7 +34469,7 @@ module Google
33768
34469
  end
33769
34470
  end
33770
34471
 
33771
- # Sets the scheduling options for an Instance. NextID: 13
34472
+ # Sets the scheduling options for an Instance. NextID: 20
33772
34473
  class Scheduling
33773
34474
  include Google::Apis::Core::Hashable
33774
34475
 
@@ -34412,6 +35113,11 @@ module Google
34412
35113
  attr_accessor :enable_logging
34413
35114
  alias_method :enable_logging?, :enable_logging
34414
35115
 
35116
+ # Optional, additional actions that are performed on headers.
35117
+ # Corresponds to the JSON property `headerAction`
35118
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleHttpHeaderAction]
35119
+ attr_accessor :header_action
35120
+
34415
35121
  # [Output only] Type of the resource. Always compute#securityPolicyRule for
34416
35122
  # security policy rules
34417
35123
  # Corresponds to the JSON property `kind`
@@ -34487,6 +35193,7 @@ module Google
34487
35193
  @description = args[:description] if args.key?(:description)
34488
35194
  @direction = args[:direction] if args.key?(:direction)
34489
35195
  @enable_logging = args[:enable_logging] if args.key?(:enable_logging)
35196
+ @header_action = args[:header_action] if args.key?(:header_action)
34490
35197
  @kind = args[:kind] if args.key?(:kind)
34491
35198
  @match = args[:match] if args.key?(:match)
34492
35199
  @preview = args[:preview] if args.key?(:preview)
@@ -34500,6 +35207,50 @@ module Google
34500
35207
  end
34501
35208
  end
34502
35209
 
35210
+ #
35211
+ class SecurityPolicyRuleHttpHeaderAction
35212
+ include Google::Apis::Core::Hashable
35213
+
35214
+ # The list of request headers to add or overwrite if they?re already present.
35215
+ # Corresponds to the JSON property `requestHeadersToAdds`
35216
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRuleHttpHeaderActionHttpHeaderOption>]
35217
+ attr_accessor :request_headers_to_adds
35218
+
35219
+ def initialize(**args)
35220
+ update!(**args)
35221
+ end
35222
+
35223
+ # Update properties of this object
35224
+ def update!(**args)
35225
+ @request_headers_to_adds = args[:request_headers_to_adds] if args.key?(:request_headers_to_adds)
35226
+ end
35227
+ end
35228
+
35229
+ #
35230
+ class SecurityPolicyRuleHttpHeaderActionHttpHeaderOption
35231
+ include Google::Apis::Core::Hashable
35232
+
35233
+ # The name of the header to set.
35234
+ # Corresponds to the JSON property `headerName`
35235
+ # @return [String]
35236
+ attr_accessor :header_name
35237
+
35238
+ # The value to set the named header to.
35239
+ # Corresponds to the JSON property `headerValue`
35240
+ # @return [String]
35241
+ attr_accessor :header_value
35242
+
35243
+ def initialize(**args)
35244
+ update!(**args)
35245
+ end
35246
+
35247
+ # Update properties of this object
35248
+ def update!(**args)
35249
+ @header_name = args[:header_name] if args.key?(:header_name)
35250
+ @header_value = args[:header_value] if args.key?(:header_value)
35251
+ end
35252
+ end
35253
+
34503
35254
  # Represents a match condition that incoming traffic is evaluated against.
34504
35255
  # Exactly one field must be specified.
34505
35256
  class SecurityPolicyRuleMatcher
@@ -34665,29 +35416,20 @@ module Google
34665
35416
  include Google::Apis::Core::Hashable
34666
35417
 
34667
35418
  # Can only be specified if the action for the rule is "rate_based_ban". If
34668
- # specified, the key will be banned for the configured 'ban_duration' when the
34669
- # number of requests that exceed the 'rate_limit_threshold' also exceed this '
34670
- # ban_threshold'.
35419
+ # specified, determines the time (in seconds) the traffic will continue to be
35420
+ # banned by the rate limit after the rate falls below the threshold.
34671
35421
  # Corresponds to the JSON property `banDurationSec`
34672
35422
  # @return [Fixnum]
34673
35423
  attr_accessor :ban_duration_sec
34674
35424
 
34675
35425
  # Can only be specified if the action for the rule is "rate_based_ban". If
34676
- # specified, the key will be banned for the configured 'ban_duration' when the
34677
- # number of requests that exceed the 'rate_limit_threshold' also exceed this '
34678
- # ban_threshold'.
35426
+ # specified, the key will be banned for the configured 'ban_duration_sec' when
35427
+ # the number of requests that exceed the 'rate_limit_threshold' also exceed this
35428
+ # 'ban_threshold'.
34679
35429
  # Corresponds to the JSON property `banThreshold`
34680
35430
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptionsThreshold]
34681
35431
  attr_accessor :ban_threshold
34682
35432
 
34683
- # Can only be specified if the action for the rule is "rate_based_ban" If
34684
- # specified, determines the time (in seconds) the traffic will continue to be
34685
- # blocked by the rate limit after the rate falls below the threshold. The
34686
- # default value is 0 seconds. [Deprecated] This field is deprecated.
34687
- # Corresponds to the JSON property `blockDuration`
34688
- # @return [Fixnum]
34689
- attr_accessor :block_duration
34690
-
34691
35433
  # Action to take when requests are under the given threshold. When requests are
34692
35434
  # throttled, this is also the action for all requests which are not dropped.
34693
35435
  # Valid options are "allow", "fairshare", and "drop_overload".
@@ -34713,12 +35455,6 @@ module Google
34713
35455
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptionsThreshold]
34714
35456
  attr_accessor :rate_limit_threshold
34715
35457
 
34716
- # Rate in requests per second at which to begin ratelimiting. [Deprecated] This
34717
- # field is deprecated.
34718
- # Corresponds to the JSON property `thresholdRps`
34719
- # @return [Fixnum]
34720
- attr_accessor :threshold_rps
34721
-
34722
35458
  def initialize(**args)
34723
35459
  update!(**args)
34724
35460
  end
@@ -34727,12 +35463,10 @@ module Google
34727
35463
  def update!(**args)
34728
35464
  @ban_duration_sec = args[:ban_duration_sec] if args.key?(:ban_duration_sec)
34729
35465
  @ban_threshold = args[:ban_threshold] if args.key?(:ban_threshold)
34730
- @block_duration = args[:block_duration] if args.key?(:block_duration)
34731
35466
  @conform_action = args[:conform_action] if args.key?(:conform_action)
34732
35467
  @enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
34733
35468
  @exceed_action = args[:exceed_action] if args.key?(:exceed_action)
34734
35469
  @rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold)
34735
- @threshold_rps = args[:threshold_rps] if args.key?(:threshold_rps)
34736
35470
  end
34737
35471
  end
34738
35472
 
@@ -34967,7 +35701,7 @@ module Google
34967
35701
  # A service attachment represents a service that a producer has exposed. It
34968
35702
  # encapsulates the load balancer which fronts the service runs and a list of NAT
34969
35703
  # IP ranges that the producers uses to represent the consumers connecting to the
34970
- # service.
35704
+ # service. next tag = 17
34971
35705
  class ServiceAttachment
34972
35706
  include Google::Apis::Core::Hashable
34973
35707
 
@@ -35070,6 +35804,129 @@ module Google
35070
35804
  end
35071
35805
  end
35072
35806
 
35807
+ # Contains a list of ServiceAttachmentsScopedList.
35808
+ class ServiceAttachmentAggregatedList
35809
+ include Google::Apis::Core::Hashable
35810
+
35811
+ # [Output Only] Unique identifier for the resource; defined by the server.
35812
+ # Corresponds to the JSON property `id`
35813
+ # @return [String]
35814
+ attr_accessor :id
35815
+
35816
+ # A list of ServiceAttachmentsScopedList resources.
35817
+ # Corresponds to the JSON property `items`
35818
+ # @return [Hash<String,Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList>]
35819
+ attr_accessor :items
35820
+
35821
+ # Type of resource.
35822
+ # Corresponds to the JSON property `kind`
35823
+ # @return [String]
35824
+ attr_accessor :kind
35825
+
35826
+ # [Output Only] This token allows you to get the next page of results for list
35827
+ # requests. If the number of results is larger than maxResults, use the
35828
+ # nextPageToken as a value for the query parameter pageToken in the next list
35829
+ # request. Subsequent list requests will have their own nextPageToken to
35830
+ # continue paging through the results.
35831
+ # Corresponds to the JSON property `nextPageToken`
35832
+ # @return [String]
35833
+ attr_accessor :next_page_token
35834
+
35835
+ # [Output Only] Server-defined URL for this resource.
35836
+ # Corresponds to the JSON property `selfLink`
35837
+ # @return [String]
35838
+ attr_accessor :self_link
35839
+
35840
+ # [Output Only] Unreachable resources.
35841
+ # Corresponds to the JSON property `unreachables`
35842
+ # @return [Array<String>]
35843
+ attr_accessor :unreachables
35844
+
35845
+ # [Output Only] Informational warning message.
35846
+ # Corresponds to the JSON property `warning`
35847
+ # @return [Google::Apis::ComputeAlpha::ServiceAttachmentAggregatedList::Warning]
35848
+ attr_accessor :warning
35849
+
35850
+ def initialize(**args)
35851
+ update!(**args)
35852
+ end
35853
+
35854
+ # Update properties of this object
35855
+ def update!(**args)
35856
+ @id = args[:id] if args.key?(:id)
35857
+ @items = args[:items] if args.key?(:items)
35858
+ @kind = args[:kind] if args.key?(:kind)
35859
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
35860
+ @self_link = args[:self_link] if args.key?(:self_link)
35861
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
35862
+ @warning = args[:warning] if args.key?(:warning)
35863
+ end
35864
+
35865
+ # [Output Only] Informational warning message.
35866
+ class Warning
35867
+ include Google::Apis::Core::Hashable
35868
+
35869
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
35870
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
35871
+ # Corresponds to the JSON property `code`
35872
+ # @return [String]
35873
+ attr_accessor :code
35874
+
35875
+ # [Output Only] Metadata about this warning in key: value format. For example:
35876
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
35877
+ # Corresponds to the JSON property `data`
35878
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentAggregatedList::Warning::Datum>]
35879
+ attr_accessor :data
35880
+
35881
+ # [Output Only] A human-readable description of the warning code.
35882
+ # Corresponds to the JSON property `message`
35883
+ # @return [String]
35884
+ attr_accessor :message
35885
+
35886
+ def initialize(**args)
35887
+ update!(**args)
35888
+ end
35889
+
35890
+ # Update properties of this object
35891
+ def update!(**args)
35892
+ @code = args[:code] if args.key?(:code)
35893
+ @data = args[:data] if args.key?(:data)
35894
+ @message = args[:message] if args.key?(:message)
35895
+ end
35896
+
35897
+ #
35898
+ class Datum
35899
+ include Google::Apis::Core::Hashable
35900
+
35901
+ # [Output Only] A key that provides more detail on the warning being returned.
35902
+ # For example, for warnings where there are no results in a list request for a
35903
+ # particular zone, this key might be scope and the key value might be the zone
35904
+ # name. Other examples might be a key indicating a deprecated resource and a
35905
+ # suggested replacement, or a warning about invalid network settings (for
35906
+ # example, if an instance attempts to perform IP forwarding but is not enabled
35907
+ # for IP forwarding).
35908
+ # Corresponds to the JSON property `key`
35909
+ # @return [String]
35910
+ attr_accessor :key
35911
+
35912
+ # [Output Only] A warning data value corresponding to the key.
35913
+ # Corresponds to the JSON property `value`
35914
+ # @return [String]
35915
+ attr_accessor :value
35916
+
35917
+ def initialize(**args)
35918
+ update!(**args)
35919
+ end
35920
+
35921
+ # Update properties of this object
35922
+ def update!(**args)
35923
+ @key = args[:key] if args.key?(:key)
35924
+ @value = args[:value] if args.key?(:value)
35925
+ end
35926
+ end
35927
+ end
35928
+ end
35929
+
35073
35930
  # [Output Only] A consumer forwarding rule connected to this service attachment.
35074
35931
  class ServiceAttachmentConsumerForwardingRule
35075
35932
  include Google::Apis::Core::Hashable
@@ -35213,6 +36070,97 @@ module Google
35213
36070
  end
35214
36071
  end
35215
36072
 
36073
+ #
36074
+ class ServiceAttachmentsScopedList
36075
+ include Google::Apis::Core::Hashable
36076
+
36077
+ # A list of ServiceAttachments contained in this scope.
36078
+ # Corresponds to the JSON property `resources`
36079
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachment>]
36080
+ attr_accessor :resources
36081
+
36082
+ # Informational warning which replaces the list of service attachments when the
36083
+ # list is empty.
36084
+ # Corresponds to the JSON property `warning`
36085
+ # @return [Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList::Warning]
36086
+ attr_accessor :warning
36087
+
36088
+ def initialize(**args)
36089
+ update!(**args)
36090
+ end
36091
+
36092
+ # Update properties of this object
36093
+ def update!(**args)
36094
+ @resources = args[:resources] if args.key?(:resources)
36095
+ @warning = args[:warning] if args.key?(:warning)
36096
+ end
36097
+
36098
+ # Informational warning which replaces the list of service attachments when the
36099
+ # list is empty.
36100
+ class Warning
36101
+ include Google::Apis::Core::Hashable
36102
+
36103
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
36104
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
36105
+ # Corresponds to the JSON property `code`
36106
+ # @return [String]
36107
+ attr_accessor :code
36108
+
36109
+ # [Output Only] Metadata about this warning in key: value format. For example:
36110
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
36111
+ # Corresponds to the JSON property `data`
36112
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList::Warning::Datum>]
36113
+ attr_accessor :data
36114
+
36115
+ # [Output Only] A human-readable description of the warning code.
36116
+ # Corresponds to the JSON property `message`
36117
+ # @return [String]
36118
+ attr_accessor :message
36119
+
36120
+ def initialize(**args)
36121
+ update!(**args)
36122
+ end
36123
+
36124
+ # Update properties of this object
36125
+ def update!(**args)
36126
+ @code = args[:code] if args.key?(:code)
36127
+ @data = args[:data] if args.key?(:data)
36128
+ @message = args[:message] if args.key?(:message)
36129
+ end
36130
+
36131
+ #
36132
+ class Datum
36133
+ include Google::Apis::Core::Hashable
36134
+
36135
+ # [Output Only] A key that provides more detail on the warning being returned.
36136
+ # For example, for warnings where there are no results in a list request for a
36137
+ # particular zone, this key might be scope and the key value might be the zone
36138
+ # name. Other examples might be a key indicating a deprecated resource and a
36139
+ # suggested replacement, or a warning about invalid network settings (for
36140
+ # example, if an instance attempts to perform IP forwarding but is not enabled
36141
+ # for IP forwarding).
36142
+ # Corresponds to the JSON property `key`
36143
+ # @return [String]
36144
+ attr_accessor :key
36145
+
36146
+ # [Output Only] A warning data value corresponding to the key.
36147
+ # Corresponds to the JSON property `value`
36148
+ # @return [String]
36149
+ attr_accessor :value
36150
+
36151
+ def initialize(**args)
36152
+ update!(**args)
36153
+ end
36154
+
36155
+ # Update properties of this object
36156
+ def update!(**args)
36157
+ @key = args[:key] if args.key?(:key)
36158
+ @value = args[:value] if args.key?(:value)
36159
+ end
36160
+ end
36161
+ end
36162
+ end
36163
+
35216
36164
  # A set of Shielded Instance options.
35217
36165
  class ShieldedInstanceConfig
35218
36166
  include Google::Apis::Core::Hashable
@@ -35944,7 +36892,7 @@ module Google
35944
36892
  # @return [String]
35945
36893
  attr_accessor :post_key_revocation_action_type
35946
36894
 
35947
- # Sets the scheduling options for an Instance. NextID: 13
36895
+ # Sets the scheduling options for an Instance. NextID: 20
35948
36896
  # Corresponds to the JSON property `scheduling`
35949
36897
  # @return [Google::Apis::ComputeAlpha::Scheduling]
35950
36898
  attr_accessor :scheduling
@@ -36883,6 +37831,20 @@ module Google
36883
37831
  # @return [Hash<String,Google::Apis::ComputeAlpha::StatefulPolicyPreservedStateDiskDevice>]
36884
37832
  attr_accessor :disks
36885
37833
 
37834
+ # External network IPs assigned to the instances that will be preserved on
37835
+ # instance delete, update, etc. This map is keyed with the network interface
37836
+ # name.
37837
+ # Corresponds to the JSON property `externalIPs`
37838
+ # @return [Hash<String,Google::Apis::ComputeAlpha::StatefulPolicyPreservedStateNetworkIp>]
37839
+ attr_accessor :external_i_ps
37840
+
37841
+ # Internal network IPs assigned to the instances that will be preserved on
37842
+ # instance delete, update, etc. This map is keyed with the network interface
37843
+ # name.
37844
+ # Corresponds to the JSON property `internalIPs`
37845
+ # @return [Hash<String,Google::Apis::ComputeAlpha::StatefulPolicyPreservedStateNetworkIp>]
37846
+ attr_accessor :internal_i_ps
37847
+
36886
37848
  def initialize(**args)
36887
37849
  update!(**args)
36888
37850
  end
@@ -36890,6 +37852,8 @@ module Google
36890
37852
  # Update properties of this object
36891
37853
  def update!(**args)
36892
37854
  @disks = args[:disks] if args.key?(:disks)
37855
+ @external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
37856
+ @internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
36893
37857
  end
36894
37858
  end
36895
37859
 
@@ -36916,6 +37880,28 @@ module Google
36916
37880
  end
36917
37881
  end
36918
37882
 
37883
+ #
37884
+ class StatefulPolicyPreservedStateNetworkIp
37885
+ include Google::Apis::Core::Hashable
37886
+
37887
+ # These stateful IPs will never be released during autohealing, update or VM
37888
+ # instance recreate operations. This flag is used to configure if the IP
37889
+ # reservation should be deleted after it is no longer used by the group, e.g.
37890
+ # when the given instance or the whole group is deleted.
37891
+ # Corresponds to the JSON property `autoDelete`
37892
+ # @return [String]
37893
+ attr_accessor :auto_delete
37894
+
37895
+ def initialize(**args)
37896
+ update!(**args)
37897
+ end
37898
+
37899
+ # Update properties of this object
37900
+ def update!(**args)
37901
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
37902
+ end
37903
+ end
37904
+
36919
37905
  # Represents a Subnetwork resource.
36920
37906
  # A subnetwork (also known as a subnet) is a logical partition of a Virtual
36921
37907
  # Private Cloud network with one primary IP range and zero or more secondary IP
@@ -37025,9 +38011,9 @@ module Google
37025
38011
  # The range of internal addresses that are owned by this subnetwork. Provide
37026
38012
  # this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.
37027
38013
  # 64.0.0/10. Ranges must be unique and non-overlapping within a network. Only
37028
- # IPv4 is supported. This field is set at resource creation time. This may be a
37029
- # RFC 1918 IP range, or a privately routed, non-RFC 1918 IP range, not belonging
37030
- # to Google. The range can be expanded after creation using expandIpCidrRange.
38014
+ # IPv4 is supported. This field is set at resource creation time. The range can
38015
+ # be any range listed in the Valid ranges list. The range can be expanded after
38016
+ # creation using expandIpCidrRange.
37031
38017
  # Corresponds to the JSON property `ipCidrRange`
37032
38018
  # @return [String]
37033
38019
  attr_accessor :ip_cidr_range
@@ -37533,8 +38519,8 @@ module Google
37533
38519
  # The range of IP addresses belonging to this subnetwork secondary range.
37534
38520
  # Provide this property when you create the subnetwork. Ranges must be unique
37535
38521
  # and non-overlapping with all primary and secondary IP ranges within a network.
37536
- # Only IPv4 is supported. This may be a RFC 1918 IP range, or a privately, non-
37537
- # RFC 1918 IP range, not belonging to Google.
38522
+ # Only IPv4 is supported. The range can be any range listed in the Valid ranges
38523
+ # list.
37538
38524
  # Corresponds to the JSON property `ipCidrRange`
37539
38525
  # @return [String]
37540
38526
  attr_accessor :ip_cidr_range