google-apis-compute_alpha 0.2.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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