google-apis-compute_beta 0.54.0 → 0.56.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.
@@ -2660,7 +2660,9 @@ module Google
2660
2660
  # group is completely drained, offering 0% of its available capacity. The valid
2661
2661
  # ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and
2662
2662
  # smaller than 0.1. You cannot configure a setting of 0 when there is only one
2663
- # backend attached to the backend service.
2663
+ # backend attached to the backend service. Not available with backends that don'
2664
+ # t support using a balancingMode. This includes backends such as global
2665
+ # internet NEGs, regional serverless NEGs, and PSC NEGs.
2664
2666
  # Corresponds to the JSON property `capacityScaler`
2665
2667
  # @return [Float]
2666
2668
  attr_accessor :capacity_scaler
@@ -7374,7 +7376,8 @@ module Google
7374
7376
 
7375
7377
  # The reason of the error. This is a constant value that identifies the
7376
7378
  # proximate cause of the error. Error reasons are unique within a particular
7377
- # domain of errors. This should be at most 63 characters and match /[A-Z0-9_]+/.
7379
+ # domain of errors. This should be at most 63 characters and match a regular
7380
+ # expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.
7378
7381
  # Corresponds to the JSON property `reason`
7379
7382
  # @return [String]
7380
7383
  attr_accessor :reason
@@ -8381,8 +8384,8 @@ module Google
8381
8384
  attr_accessor :kind
8382
8385
 
8383
8386
  # Name of the resource. For Organization Firewall Policies it's a [Output Only]
8384
- # numeric ID allocated by GCP which uniquely identifies the Organization
8385
- # Firewall Policy.
8387
+ # numeric ID allocated by Google Cloud which uniquely identifies the
8388
+ # Organization Firewall Policy.
8386
8389
  # Corresponds to the JSON property `name`
8387
8390
  # @return [String]
8388
8391
  attr_accessor :name
@@ -8976,12 +8979,13 @@ module Google
8976
8979
  # @return [String]
8977
8980
  attr_accessor :ip_protocol
8978
8981
 
8979
- # This field is used along with the backend_service field for Internal TCP/UDP
8980
- # Load Balancing or Network Load Balancing, or with the target field for
8981
- # internal and external TargetInstance. You can only use one of ports and
8982
- # port_range, or allPorts. The three are mutually exclusive. For TCP, UDP and
8983
- # SCTP traffic, packets addressed to any ports will be forwarded to the target
8984
- # or backendService.
8982
+ # This field can only be used: - If IPProtocol is one of TCP, UDP, or SCTP. - By
8983
+ # internal TCP/UDP load balancers, backend service-based network load balancers,
8984
+ # and internal and external protocol forwarding. Set this field to true to allow
8985
+ # packets addressed to any port or packets lacking destination port information (
8986
+ # for example, UDP fragments after the first fragment) to be forwarded to the
8987
+ # backends configured with this forwarding rule. The ports, port_range, and
8988
+ # allPorts fields are mutually exclusive.
8985
8989
  # Corresponds to the JSON property `allPorts`
8986
8990
  # @return [Boolean]
8987
8991
  attr_accessor :all_ports
@@ -9003,6 +9007,15 @@ module Google
9003
9007
  # @return [String]
9004
9008
  attr_accessor :backend_service
9005
9009
 
9010
+ # [Output Only] The URL for the corresponding base Forwarding Rule. By base
9011
+ # Forwarding Rule, we mean the Forwarding Rule that has the same IP address,
9012
+ # protocol, and port settings with the current Forwarding Rule, but without
9013
+ # sourceIPRanges specified. Always empty if the current Forwarding Rule does not
9014
+ # have sourceIPRanges specified.
9015
+ # Corresponds to the JSON property `baseForwardingRule`
9016
+ # @return [String]
9017
+ attr_accessor :base_forwarding_rule
9018
+
9006
9019
  # [Output Only] Creation timestamp in RFC3339 text format.
9007
9020
  # Corresponds to the JSON property `creationTimestamp`
9008
9021
  # @return [String]
@@ -9137,27 +9150,35 @@ module Google
9137
9150
  attr_accessor :no_automate_dns_zone
9138
9151
  alias_method :no_automate_dns_zone?, :no_automate_dns_zone
9139
9152
 
9140
- # This field can be used only if: - Load balancing scheme is one of EXTERNAL,
9141
- # INTERNAL_SELF_MANAGED or INTERNAL_MANAGED - IPProtocol is one of TCP, UDP, or
9142
- # SCTP. Packets addressed to ports in the specified range will be forwarded to
9143
- # target or backend_service. You can only use one of ports, port_range, or
9144
- # allPorts. The three are mutually exclusive. Forwarding rules with the same [
9145
- # IPAddress, IPProtocol] pair must have disjoint ports. Some types of forwarding
9146
- # target have constraints on the acceptable ports. For more information, see [
9147
- # Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-
9148
- # rule-concepts#port_specifications). @pattern: \\d+(?:-\\d+)?
9153
+ # This field can only be used: - If IPProtocol is one of TCP, UDP, or SCTP. - By
9154
+ # backend service-based network load balancers, target pool-based network load
9155
+ # balancers, internal proxy load balancers, external proxy load balancers,
9156
+ # Traffic Director, external protocol forwarding, and Classic VPN. Some products
9157
+ # have restrictions on what ports can be used. See port specifications for
9158
+ # details. Only packets addressed to ports in the specified range will be
9159
+ # forwarded to the backends configured with this forwarding rule. The ports,
9160
+ # port_range, and allPorts fields are mutually exclusive. For external
9161
+ # forwarding rules, two or more forwarding rules cannot use the same [IPAddress,
9162
+ # IPProtocol] pair, and cannot have overlapping portRanges. For internal
9163
+ # forwarding rules within the same VPC network, two or more forwarding rules
9164
+ # cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping
9165
+ # portRanges. @pattern: \\d+(?:-\\d+)?
9149
9166
  # Corresponds to the JSON property `portRange`
9150
9167
  # @return [String]
9151
9168
  attr_accessor :port_range
9152
9169
 
9153
- # The ports field is only supported when the forwarding rule references a
9154
- # backend_service directly. Only packets addressed to the [specified list of
9155
- # ports]((https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#
9156
- # port_specifications)) are forwarded to backends. You can only use one of ports
9157
- # and port_range, or allPorts. The three are mutually exclusive. You can specify
9158
- # a list of up to five ports, which can be non-contiguous. Forwarding rules with
9159
- # the same [IPAddress, IPProtocol] pair must have disjoint ports. @pattern: \\d+(
9160
- # ?:-\\d+)?
9170
+ # This field can only be used: - If IPProtocol is one of TCP, UDP, or SCTP. - By
9171
+ # internal TCP/UDP load balancers, backend service-based network load balancers,
9172
+ # and internal protocol forwarding. You can specify a list of up to five ports
9173
+ # by number, separated by commas. The ports can be contiguous or discontiguous.
9174
+ # Only packets addressed to these ports will be forwarded to the backends
9175
+ # configured with this forwarding rule. For external forwarding rules, two or
9176
+ # more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and
9177
+ # cannot share any values defined in ports. For internal forwarding rules within
9178
+ # the same VPC network, two or more forwarding rules cannot use the same [
9179
+ # IPAddress, IPProtocol] pair, and cannot share any values defined in ports. The
9180
+ # ports, port_range, and allPorts fields are mutually exclusive. @pattern: \\d+(?
9181
+ # :-\\d+)?
9161
9182
  # Corresponds to the JSON property `ports`
9162
9183
  # @return [Array<String>]
9163
9184
  attr_accessor :ports
@@ -9232,12 +9253,13 @@ module Google
9232
9253
  # forwarding rules, this target must be in the same region as the forwarding
9233
9254
  # rule. For global forwarding rules, this target must be a global load balancing
9234
9255
  # resource. The forwarded traffic must be of a type appropriate to the target
9235
- # object. For more information, see the "Target" column in [Port specifications](
9256
+ # object. - For load balancers, see the "Target" column in [Port specifications](
9236
9257
  # https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#
9237
- # ip_address_specifications). For Private Service Connect forwarding rules that
9238
- # forward traffic to Google APIs, provide the name of a supported Google API
9239
- # bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis - All
9240
- # supported Google APIs.
9258
+ # ip_address_specifications). - For Private Service Connect forwarding rules
9259
+ # that forward traffic to Google APIs, provide the name of a supported Google
9260
+ # API bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis -
9261
+ # All supported Google APIs. - For Private Service Connect forwarding rules that
9262
+ # forward traffic to managed services, the target must be a service attachment.
9241
9263
  # Corresponds to the JSON property `target`
9242
9264
  # @return [String]
9243
9265
  attr_accessor :target
@@ -9253,6 +9275,7 @@ module Google
9253
9275
  @all_ports = args[:all_ports] if args.key?(:all_ports)
9254
9276
  @allow_global_access = args[:allow_global_access] if args.key?(:allow_global_access)
9255
9277
  @backend_service = args[:backend_service] if args.key?(:backend_service)
9278
+ @base_forwarding_rule = args[:base_forwarding_rule] if args.key?(:base_forwarding_rule)
9256
9279
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
9257
9280
  @description = args[:description] if args.key?(:description)
9258
9281
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -10633,13 +10656,18 @@ module Google
10633
10656
  attr_accessor :fingerprint
10634
10657
 
10635
10658
  # A list of URLs to the HealthCheck resources. Must have at least one
10636
- # HealthCheck, and not more than 10. HealthCheck resources must have
10659
+ # HealthCheck, and not more than 10 for regional HealthCheckService, and not
10660
+ # more than 1 for global HealthCheckService. HealthCheck resources must have
10637
10661
  # portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For
10638
10662
  # regional HealthCheckService, the HealthCheck must be regional and in the same
10639
10663
  # region. For global HealthCheckService, HealthCheck must be global. Mix of
10640
10664
  # regional and global HealthChecks is not supported. Multiple regional
10641
10665
  # HealthChecks must belong to the same region. Regional HealthChecks must belong
10642
- # to the same region as zones of NEGs.
10666
+ # to the same region as zones of NetworkEndpointGroups. For global
10667
+ # HealthCheckService using global INTERNET_IP_PORT NetworkEndpointGroups, the
10668
+ # global HealthChecks must specify sourceRegions, and HealthChecks that specify
10669
+ # sourceRegions can only be used with global INTERNET_IP_PORT
10670
+ # NetworkEndpointGroups.
10643
10671
  # Corresponds to the JSON property `healthChecks`
10644
10672
  # @return [Array<String>]
10645
10673
  attr_accessor :health_checks
@@ -10649,7 +10677,8 @@ module Google
10649
10677
  # NO_AGGREGATION. An EndpointHealth message is returned for each pair in the
10650
10678
  # health check service. - AND. If any health check of an endpoint reports
10651
10679
  # UNHEALTHY, then UNHEALTHY is the HealthState of the endpoint. If all health
10652
- # checks report HEALTHY, the HealthState of the endpoint is HEALTHY. .
10680
+ # checks report HEALTHY, the HealthState of the endpoint is HEALTHY. . This is
10681
+ # only allowed with regional HealthCheckService.
10653
10682
  # Corresponds to the JSON property `healthStatusAggregationPolicy`
10654
10683
  # @return [String]
10655
10684
  attr_accessor :health_status_aggregation_policy
@@ -10689,7 +10718,8 @@ module Google
10689
10718
 
10690
10719
  # A list of URLs to the NetworkEndpointGroup resources. Must not have more than
10691
10720
  # 100. For regional HealthCheckService, NEGs must be in zones in the region of
10692
- # the HealthCheckService.
10721
+ # the HealthCheckService. For global HealthCheckServices, the
10722
+ # NetworkEndpointGroups must be global INTERNET_IP_PORT.
10693
10723
  # Corresponds to the JSON property `networkEndpointGroups`
10694
10724
  # @return [Array<String>]
10695
10725
  attr_accessor :network_endpoint_groups
@@ -13124,6 +13154,16 @@ module Google
13124
13154
  # @return [Fixnum]
13125
13155
  attr_accessor :id
13126
13156
 
13157
+ # Encrypts suspended data for an instance with a customer-managed encryption key.
13158
+ # If you are creating a new instance, this field will encrypt the local SSD and
13159
+ # in-memory contents of the instance during the suspend operation. If you do not
13160
+ # provide an encryption key when creating the instance, then the local SSD and
13161
+ # in-memory contents will be encrypted using an automatically generated key
13162
+ # during the suspend operation.
13163
+ # Corresponds to the JSON property `instanceEncryptionKey`
13164
+ # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
13165
+ attr_accessor :instance_encryption_key
13166
+
13127
13167
  # KeyRevocationActionType of the instance. Supported options are "STOP" and "
13128
13168
  # NONE". The default value is "NONE" if it is not specified.
13129
13169
  # Corresponds to the JSON property `keyRevocationActionType`
@@ -13360,6 +13400,7 @@ module Google
13360
13400
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
13361
13401
  @hostname = args[:hostname] if args.key?(:hostname)
13362
13402
  @id = args[:id] if args.key?(:id)
13403
+ @instance_encryption_key = args[:instance_encryption_key] if args.key?(:instance_encryption_key)
13363
13404
  @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
13364
13405
  @kind = args[:kind] if args.key?(:kind)
13365
13406
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
@@ -17167,8 +17208,9 @@ module Google
17167
17208
 
17168
17209
  # Email address to contact the customer NOC for operations and maintenance
17169
17210
  # notifications regarding this Interconnect. If specified, this will be used for
17170
- # notifications in addition to all other forms described, such as Stackdriver
17171
- # logs alerting and Cloud Notifications.
17211
+ # notifications in addition to all other forms described, such as Cloud
17212
+ # Monitoring logs alerting and Cloud Notifications. This field is required for
17213
+ # users who sign up for Cloud Interconnect using workforce identity federation.
17172
17214
  # Corresponds to the JSON property `nocContactEmail`
17173
17215
  # @return [String]
17174
17216
  attr_accessor :noc_contact_email
@@ -18048,6 +18090,16 @@ module Google
18048
18090
  # @return [Array<Google::Apis::ComputeBeta::InterconnectDiagnosticsArpEntry>]
18049
18091
  attr_accessor :arp_caches
18050
18092
 
18093
+ # The aggregation type of the bundle interface.
18094
+ # Corresponds to the JSON property `bundleAggregationType`
18095
+ # @return [String]
18096
+ attr_accessor :bundle_aggregation_type
18097
+
18098
+ # The operational status of the bundle interface.
18099
+ # Corresponds to the JSON property `bundleOperationalStatus`
18100
+ # @return [String]
18101
+ attr_accessor :bundle_operational_status
18102
+
18051
18103
  # A list of InterconnectDiagnostics.LinkStatus objects, describing the status
18052
18104
  # for each link on the Interconnect.
18053
18105
  # Corresponds to the JSON property `links`
@@ -18066,6 +18118,8 @@ module Google
18066
18118
  # Update properties of this object
18067
18119
  def update!(**args)
18068
18120
  @arp_caches = args[:arp_caches] if args.key?(:arp_caches)
18121
+ @bundle_aggregation_type = args[:bundle_aggregation_type] if args.key?(:bundle_aggregation_type)
18122
+ @bundle_operational_status = args[:bundle_operational_status] if args.key?(:bundle_operational_status)
18069
18123
  @links = args[:links] if args.key?(:links)
18070
18124
  @mac_address = args[:mac_address] if args.key?(:mac_address)
18071
18125
  end
@@ -18189,6 +18243,11 @@ module Google
18189
18243
  # @return [Google::Apis::ComputeBeta::InterconnectDiagnosticsLinkLacpStatus]
18190
18244
  attr_accessor :lacp_status
18191
18245
 
18246
+ # The operational status of the link.
18247
+ # Corresponds to the JSON property `operationalStatus`
18248
+ # @return [String]
18249
+ attr_accessor :operational_status
18250
+
18192
18251
  # An InterconnectDiagnostics.LinkOpticalPower object, describing the current
18193
18252
  # value and status of the received light level.
18194
18253
  # Corresponds to the JSON property `receivingOpticalPower`
@@ -18211,6 +18270,7 @@ module Google
18211
18270
  @circuit_id = args[:circuit_id] if args.key?(:circuit_id)
18212
18271
  @google_demarc = args[:google_demarc] if args.key?(:google_demarc)
18213
18272
  @lacp_status = args[:lacp_status] if args.key?(:lacp_status)
18273
+ @operational_status = args[:operational_status] if args.key?(:operational_status)
18214
18274
  @receiving_optical_power = args[:receiving_optical_power] if args.key?(:receiving_optical_power)
18215
18275
  @transmitting_optical_power = args[:transmitting_optical_power] if args.key?(:transmitting_optical_power)
18216
18276
  end
@@ -20675,6 +20735,496 @@ module Google
20675
20735
  end
20676
20736
  end
20677
20737
 
20738
+ # NetworkAttachments A network attachment resource ...
20739
+ class NetworkAttachment
20740
+ include Google::Apis::Core::Hashable
20741
+
20742
+ # [Output Only] An array of connections for all the producers connected to this
20743
+ # network attachment.
20744
+ # Corresponds to the JSON property `connectionEndpoints`
20745
+ # @return [Array<Google::Apis::ComputeBeta::NetworkAttachmentConnectedEndpoint>]
20746
+ attr_accessor :connection_endpoints
20747
+
20748
+ #
20749
+ # Corresponds to the JSON property `connectionPreference`
20750
+ # @return [String]
20751
+ attr_accessor :connection_preference
20752
+
20753
+ # [Output Only] Creation timestamp in RFC3339 text format.
20754
+ # Corresponds to the JSON property `creationTimestamp`
20755
+ # @return [String]
20756
+ attr_accessor :creation_timestamp
20757
+
20758
+ # An optional description of this resource. Provide this property when you
20759
+ # create the resource.
20760
+ # Corresponds to the JSON property `description`
20761
+ # @return [String]
20762
+ attr_accessor :description
20763
+
20764
+ # [Output Only] Fingerprint of this resource. A hash of the contents stored in
20765
+ # this object. This field is used in optimistic locking. An up-to-date
20766
+ # fingerprint must be provided in order to patch.
20767
+ # Corresponds to the JSON property `fingerprint`
20768
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
20769
+ # @return [String]
20770
+ attr_accessor :fingerprint
20771
+
20772
+ # [Output Only] The unique identifier for the resource type. The server
20773
+ # generates this identifier.
20774
+ # Corresponds to the JSON property `id`
20775
+ # @return [Fixnum]
20776
+ attr_accessor :id
20777
+
20778
+ # [Output Only] Type of the resource.
20779
+ # Corresponds to the JSON property `kind`
20780
+ # @return [String]
20781
+ attr_accessor :kind
20782
+
20783
+ # Name of the resource. Provided by the client when the resource is created. The
20784
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
20785
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
20786
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
20787
+ # and all following characters must be a dash, lowercase letter, or digit,
20788
+ # except the last character, which cannot be a dash.
20789
+ # Corresponds to the JSON property `name`
20790
+ # @return [String]
20791
+ attr_accessor :name
20792
+
20793
+ # [Output Only] The URL of the network which the Network Attachment belongs to.
20794
+ # Corresponds to the JSON property `network`
20795
+ # @return [String]
20796
+ attr_accessor :network
20797
+
20798
+ # Projects that are allowed to connect to this network attachment. The project
20799
+ # can be specified using its id or number.
20800
+ # Corresponds to the JSON property `producerAcceptLists`
20801
+ # @return [Array<String>]
20802
+ attr_accessor :producer_accept_lists
20803
+
20804
+ # Projects that are not allowed to connect to this network attachment. The
20805
+ # project can be specified using its id or number.
20806
+ # Corresponds to the JSON property `producerRejectLists`
20807
+ # @return [Array<String>]
20808
+ attr_accessor :producer_reject_lists
20809
+
20810
+ # [Output Only] URL of the region where the network attachment resides. This
20811
+ # field applies only to the region resource. You must specify this field as part
20812
+ # of the HTTP request URL. It is not settable as a field in the request body.
20813
+ # Corresponds to the JSON property `region`
20814
+ # @return [String]
20815
+ attr_accessor :region
20816
+
20817
+ # [Output Only] Server-defined URL for the resource.
20818
+ # Corresponds to the JSON property `selfLink`
20819
+ # @return [String]
20820
+ attr_accessor :self_link
20821
+
20822
+ # [Output Only] Server-defined URL for this resource's resource id.
20823
+ # Corresponds to the JSON property `selfLinkWithId`
20824
+ # @return [String]
20825
+ attr_accessor :self_link_with_id
20826
+
20827
+ # An array of URLs where each entry is the URL of a subnet provided by the
20828
+ # service consumer to use for endpoints in the producers that connect to this
20829
+ # network attachment.
20830
+ # Corresponds to the JSON property `subnetworks`
20831
+ # @return [Array<String>]
20832
+ attr_accessor :subnetworks
20833
+
20834
+ def initialize(**args)
20835
+ update!(**args)
20836
+ end
20837
+
20838
+ # Update properties of this object
20839
+ def update!(**args)
20840
+ @connection_endpoints = args[:connection_endpoints] if args.key?(:connection_endpoints)
20841
+ @connection_preference = args[:connection_preference] if args.key?(:connection_preference)
20842
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
20843
+ @description = args[:description] if args.key?(:description)
20844
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
20845
+ @id = args[:id] if args.key?(:id)
20846
+ @kind = args[:kind] if args.key?(:kind)
20847
+ @name = args[:name] if args.key?(:name)
20848
+ @network = args[:network] if args.key?(:network)
20849
+ @producer_accept_lists = args[:producer_accept_lists] if args.key?(:producer_accept_lists)
20850
+ @producer_reject_lists = args[:producer_reject_lists] if args.key?(:producer_reject_lists)
20851
+ @region = args[:region] if args.key?(:region)
20852
+ @self_link = args[:self_link] if args.key?(:self_link)
20853
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
20854
+ @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
20855
+ end
20856
+ end
20857
+
20858
+ # Contains a list of NetworkAttachmentsScopedList.
20859
+ class NetworkAttachmentAggregatedList
20860
+ include Google::Apis::Core::Hashable
20861
+
20862
+ # [Output Only] Unique identifier for the resource; defined by the server.
20863
+ # Corresponds to the JSON property `id`
20864
+ # @return [String]
20865
+ attr_accessor :id
20866
+
20867
+ # A list of NetworkAttachmentsScopedList resources.
20868
+ # Corresponds to the JSON property `items`
20869
+ # @return [Hash<String,Google::Apis::ComputeBeta::NetworkAttachmentsScopedList>]
20870
+ attr_accessor :items
20871
+
20872
+ #
20873
+ # Corresponds to the JSON property `kind`
20874
+ # @return [String]
20875
+ attr_accessor :kind
20876
+
20877
+ # [Output Only] This token allows you to get the next page of results for list
20878
+ # requests. If the number of results is larger than maxResults, use the
20879
+ # nextPageToken as a value for the query parameter pageToken in the next list
20880
+ # request. Subsequent list requests will have their own nextPageToken to
20881
+ # continue paging through the results.
20882
+ # Corresponds to the JSON property `nextPageToken`
20883
+ # @return [String]
20884
+ attr_accessor :next_page_token
20885
+
20886
+ # [Output Only] Server-defined URL for this resource.
20887
+ # Corresponds to the JSON property `selfLink`
20888
+ # @return [String]
20889
+ attr_accessor :self_link
20890
+
20891
+ # [Output Only] Informational warning message.
20892
+ # Corresponds to the JSON property `warning`
20893
+ # @return [Google::Apis::ComputeBeta::NetworkAttachmentAggregatedList::Warning]
20894
+ attr_accessor :warning
20895
+
20896
+ def initialize(**args)
20897
+ update!(**args)
20898
+ end
20899
+
20900
+ # Update properties of this object
20901
+ def update!(**args)
20902
+ @id = args[:id] if args.key?(:id)
20903
+ @items = args[:items] if args.key?(:items)
20904
+ @kind = args[:kind] if args.key?(:kind)
20905
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
20906
+ @self_link = args[:self_link] if args.key?(:self_link)
20907
+ @warning = args[:warning] if args.key?(:warning)
20908
+ end
20909
+
20910
+ # [Output Only] Informational warning message.
20911
+ class Warning
20912
+ include Google::Apis::Core::Hashable
20913
+
20914
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
20915
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
20916
+ # Corresponds to the JSON property `code`
20917
+ # @return [String]
20918
+ attr_accessor :code
20919
+
20920
+ # [Output Only] Metadata about this warning in key: value format. For example: "
20921
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
20922
+ # Corresponds to the JSON property `data`
20923
+ # @return [Array<Google::Apis::ComputeBeta::NetworkAttachmentAggregatedList::Warning::Datum>]
20924
+ attr_accessor :data
20925
+
20926
+ # [Output Only] A human-readable description of the warning code.
20927
+ # Corresponds to the JSON property `message`
20928
+ # @return [String]
20929
+ attr_accessor :message
20930
+
20931
+ def initialize(**args)
20932
+ update!(**args)
20933
+ end
20934
+
20935
+ # Update properties of this object
20936
+ def update!(**args)
20937
+ @code = args[:code] if args.key?(:code)
20938
+ @data = args[:data] if args.key?(:data)
20939
+ @message = args[:message] if args.key?(:message)
20940
+ end
20941
+
20942
+ #
20943
+ class Datum
20944
+ include Google::Apis::Core::Hashable
20945
+
20946
+ # [Output Only] A key that provides more detail on the warning being returned.
20947
+ # For example, for warnings where there are no results in a list request for a
20948
+ # particular zone, this key might be scope and the key value might be the zone
20949
+ # name. Other examples might be a key indicating a deprecated resource and a
20950
+ # suggested replacement, or a warning about invalid network settings (for
20951
+ # example, if an instance attempts to perform IP forwarding but is not enabled
20952
+ # for IP forwarding).
20953
+ # Corresponds to the JSON property `key`
20954
+ # @return [String]
20955
+ attr_accessor :key
20956
+
20957
+ # [Output Only] A warning data value corresponding to the key.
20958
+ # Corresponds to the JSON property `value`
20959
+ # @return [String]
20960
+ attr_accessor :value
20961
+
20962
+ def initialize(**args)
20963
+ update!(**args)
20964
+ end
20965
+
20966
+ # Update properties of this object
20967
+ def update!(**args)
20968
+ @key = args[:key] if args.key?(:key)
20969
+ @value = args[:value] if args.key?(:value)
20970
+ end
20971
+ end
20972
+ end
20973
+ end
20974
+
20975
+ # [Output Only] A connection connected to this network attachment.
20976
+ class NetworkAttachmentConnectedEndpoint
20977
+ include Google::Apis::Core::Hashable
20978
+
20979
+ # The IP address assigned to the producer instance network interface. This value
20980
+ # will be a range in case of Serverless.
20981
+ # Corresponds to the JSON property `ipAddress`
20982
+ # @return [String]
20983
+ attr_accessor :ip_address
20984
+
20985
+ # The project id or number of the interface to which the IP was assigned.
20986
+ # Corresponds to the JSON property `projectIdOrNum`
20987
+ # @return [String]
20988
+ attr_accessor :project_id_or_num
20989
+
20990
+ # Alias IP ranges from the same subnetwork
20991
+ # Corresponds to the JSON property `secondaryIpCidrRanges`
20992
+ # @return [Array<String>]
20993
+ attr_accessor :secondary_ip_cidr_ranges
20994
+
20995
+ # The status of a connected endpoint to this network attachment.
20996
+ # Corresponds to the JSON property `status`
20997
+ # @return [String]
20998
+ attr_accessor :status
20999
+
21000
+ # The subnetwork used to assign the IP to the producer instance network
21001
+ # interface.
21002
+ # Corresponds to the JSON property `subnetwork`
21003
+ # @return [String]
21004
+ attr_accessor :subnetwork
21005
+
21006
+ def initialize(**args)
21007
+ update!(**args)
21008
+ end
21009
+
21010
+ # Update properties of this object
21011
+ def update!(**args)
21012
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
21013
+ @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num)
21014
+ @secondary_ip_cidr_ranges = args[:secondary_ip_cidr_ranges] if args.key?(:secondary_ip_cidr_ranges)
21015
+ @status = args[:status] if args.key?(:status)
21016
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
21017
+ end
21018
+ end
21019
+
21020
+ #
21021
+ class NetworkAttachmentList
21022
+ include Google::Apis::Core::Hashable
21023
+
21024
+ # [Output Only] Unique identifier for the resource; defined by the server.
21025
+ # Corresponds to the JSON property `id`
21026
+ # @return [String]
21027
+ attr_accessor :id
21028
+
21029
+ # A list of NetworkAttachment resources.
21030
+ # Corresponds to the JSON property `items`
21031
+ # @return [Array<Google::Apis::ComputeBeta::NetworkAttachment>]
21032
+ attr_accessor :items
21033
+
21034
+ #
21035
+ # Corresponds to the JSON property `kind`
21036
+ # @return [String]
21037
+ attr_accessor :kind
21038
+
21039
+ # [Output Only] This token allows you to get the next page of results for list
21040
+ # requests. If the number of results is larger than maxResults, use the
21041
+ # nextPageToken as a value for the query parameter pageToken in the next list
21042
+ # request. Subsequent list requests will have their own nextPageToken to
21043
+ # continue paging through the results.
21044
+ # Corresponds to the JSON property `nextPageToken`
21045
+ # @return [String]
21046
+ attr_accessor :next_page_token
21047
+
21048
+ # [Output Only] Server-defined URL for this resource.
21049
+ # Corresponds to the JSON property `selfLink`
21050
+ # @return [String]
21051
+ attr_accessor :self_link
21052
+
21053
+ # [Output Only] Informational warning message.
21054
+ # Corresponds to the JSON property `warning`
21055
+ # @return [Google::Apis::ComputeBeta::NetworkAttachmentList::Warning]
21056
+ attr_accessor :warning
21057
+
21058
+ def initialize(**args)
21059
+ update!(**args)
21060
+ end
21061
+
21062
+ # Update properties of this object
21063
+ def update!(**args)
21064
+ @id = args[:id] if args.key?(:id)
21065
+ @items = args[:items] if args.key?(:items)
21066
+ @kind = args[:kind] if args.key?(:kind)
21067
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
21068
+ @self_link = args[:self_link] if args.key?(:self_link)
21069
+ @warning = args[:warning] if args.key?(:warning)
21070
+ end
21071
+
21072
+ # [Output Only] Informational warning message.
21073
+ class Warning
21074
+ include Google::Apis::Core::Hashable
21075
+
21076
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
21077
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
21078
+ # Corresponds to the JSON property `code`
21079
+ # @return [String]
21080
+ attr_accessor :code
21081
+
21082
+ # [Output Only] Metadata about this warning in key: value format. For example: "
21083
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
21084
+ # Corresponds to the JSON property `data`
21085
+ # @return [Array<Google::Apis::ComputeBeta::NetworkAttachmentList::Warning::Datum>]
21086
+ attr_accessor :data
21087
+
21088
+ # [Output Only] A human-readable description of the warning code.
21089
+ # Corresponds to the JSON property `message`
21090
+ # @return [String]
21091
+ attr_accessor :message
21092
+
21093
+ def initialize(**args)
21094
+ update!(**args)
21095
+ end
21096
+
21097
+ # Update properties of this object
21098
+ def update!(**args)
21099
+ @code = args[:code] if args.key?(:code)
21100
+ @data = args[:data] if args.key?(:data)
21101
+ @message = args[:message] if args.key?(:message)
21102
+ end
21103
+
21104
+ #
21105
+ class Datum
21106
+ include Google::Apis::Core::Hashable
21107
+
21108
+ # [Output Only] A key that provides more detail on the warning being returned.
21109
+ # For example, for warnings where there are no results in a list request for a
21110
+ # particular zone, this key might be scope and the key value might be the zone
21111
+ # name. Other examples might be a key indicating a deprecated resource and a
21112
+ # suggested replacement, or a warning about invalid network settings (for
21113
+ # example, if an instance attempts to perform IP forwarding but is not enabled
21114
+ # for IP forwarding).
21115
+ # Corresponds to the JSON property `key`
21116
+ # @return [String]
21117
+ attr_accessor :key
21118
+
21119
+ # [Output Only] A warning data value corresponding to the key.
21120
+ # Corresponds to the JSON property `value`
21121
+ # @return [String]
21122
+ attr_accessor :value
21123
+
21124
+ def initialize(**args)
21125
+ update!(**args)
21126
+ end
21127
+
21128
+ # Update properties of this object
21129
+ def update!(**args)
21130
+ @key = args[:key] if args.key?(:key)
21131
+ @value = args[:value] if args.key?(:value)
21132
+ end
21133
+ end
21134
+ end
21135
+ end
21136
+
21137
+ #
21138
+ class NetworkAttachmentsScopedList
21139
+ include Google::Apis::Core::Hashable
21140
+
21141
+ # A list of NetworkAttachments contained in this scope.
21142
+ # Corresponds to the JSON property `networkAttachments`
21143
+ # @return [Array<Google::Apis::ComputeBeta::NetworkAttachment>]
21144
+ attr_accessor :network_attachments
21145
+
21146
+ # Informational warning which replaces the list of network attachments when the
21147
+ # list is empty.
21148
+ # Corresponds to the JSON property `warning`
21149
+ # @return [Google::Apis::ComputeBeta::NetworkAttachmentsScopedList::Warning]
21150
+ attr_accessor :warning
21151
+
21152
+ def initialize(**args)
21153
+ update!(**args)
21154
+ end
21155
+
21156
+ # Update properties of this object
21157
+ def update!(**args)
21158
+ @network_attachments = args[:network_attachments] if args.key?(:network_attachments)
21159
+ @warning = args[:warning] if args.key?(:warning)
21160
+ end
21161
+
21162
+ # Informational warning which replaces the list of network attachments when the
21163
+ # list is empty.
21164
+ class Warning
21165
+ include Google::Apis::Core::Hashable
21166
+
21167
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
21168
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
21169
+ # Corresponds to the JSON property `code`
21170
+ # @return [String]
21171
+ attr_accessor :code
21172
+
21173
+ # [Output Only] Metadata about this warning in key: value format. For example: "
21174
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
21175
+ # Corresponds to the JSON property `data`
21176
+ # @return [Array<Google::Apis::ComputeBeta::NetworkAttachmentsScopedList::Warning::Datum>]
21177
+ attr_accessor :data
21178
+
21179
+ # [Output Only] A human-readable description of the warning code.
21180
+ # Corresponds to the JSON property `message`
21181
+ # @return [String]
21182
+ attr_accessor :message
21183
+
21184
+ def initialize(**args)
21185
+ update!(**args)
21186
+ end
21187
+
21188
+ # Update properties of this object
21189
+ def update!(**args)
21190
+ @code = args[:code] if args.key?(:code)
21191
+ @data = args[:data] if args.key?(:data)
21192
+ @message = args[:message] if args.key?(:message)
21193
+ end
21194
+
21195
+ #
21196
+ class Datum
21197
+ include Google::Apis::Core::Hashable
21198
+
21199
+ # [Output Only] A key that provides more detail on the warning being returned.
21200
+ # For example, for warnings where there are no results in a list request for a
21201
+ # particular zone, this key might be scope and the key value might be the zone
21202
+ # name. Other examples might be a key indicating a deprecated resource and a
21203
+ # suggested replacement, or a warning about invalid network settings (for
21204
+ # example, if an instance attempts to perform IP forwarding but is not enabled
21205
+ # for IP forwarding).
21206
+ # Corresponds to the JSON property `key`
21207
+ # @return [String]
21208
+ attr_accessor :key
21209
+
21210
+ # [Output Only] A warning data value corresponding to the key.
21211
+ # Corresponds to the JSON property `value`
21212
+ # @return [String]
21213
+ attr_accessor :value
21214
+
21215
+ def initialize(**args)
21216
+ update!(**args)
21217
+ end
21218
+
21219
+ # Update properties of this object
21220
+ def update!(**args)
21221
+ @key = args[:key] if args.key?(:key)
21222
+ @value = args[:value] if args.key?(:value)
21223
+ end
21224
+ end
21225
+ end
21226
+ end
21227
+
20678
21228
  # Represents a Google Cloud Armor network edge security service resource.
20679
21229
  class NetworkEdgeSecurityService
20680
21230
  include Google::Apis::Core::Hashable
@@ -23412,6 +23962,25 @@ module Google
23412
23962
  end
23413
23963
  end
23414
23964
 
23965
+ #
23966
+ class NodeGroupsSimulateMaintenanceEventRequest
23967
+ include Google::Apis::Core::Hashable
23968
+
23969
+ # Names of the nodes to go under maintenance simulation.
23970
+ # Corresponds to the JSON property `nodes`
23971
+ # @return [Array<String>]
23972
+ attr_accessor :nodes
23973
+
23974
+ def initialize(**args)
23975
+ update!(**args)
23976
+ end
23977
+
23978
+ # Update properties of this object
23979
+ def update!(**args)
23980
+ @nodes = args[:nodes] if args.key?(:nodes)
23981
+ end
23982
+ end
23983
+
23415
23984
  # Represent a sole-tenant Node Template resource. You can use a template to
23416
23985
  # define properties for nodes in a node group. For more information, read
23417
23986
  # Creating node groups and instances.
@@ -26610,6 +27179,11 @@ module Google
26610
27179
  # @return [Google::Apis::ComputeBeta::UsageExportLocation]
26611
27180
  attr_accessor :usage_export_location
26612
27181
 
27182
+ # [Output Only] Default internal DNS setting used by VMs running in this project.
27183
+ # Corresponds to the JSON property `vmDnsSetting`
27184
+ # @return [String]
27185
+ attr_accessor :vm_dns_setting
27186
+
26613
27187
  # [Output Only] The role this project has in a shared VPC configuration.
26614
27188
  # Currently, only projects with the host role, which is specified by the value
26615
27189
  # HOST, are differentiated.
@@ -26635,6 +27209,7 @@ module Google
26635
27209
  @quotas = args[:quotas] if args.key?(:quotas)
26636
27210
  @self_link = args[:self_link] if args.key?(:self_link)
26637
27211
  @usage_export_location = args[:usage_export_location] if args.key?(:usage_export_location)
27212
+ @vm_dns_setting = args[:vm_dns_setting] if args.key?(:vm_dns_setting)
26638
27213
  @xpn_project_status = args[:xpn_project_status] if args.key?(:xpn_project_status)
26639
27214
  end
26640
27215
  end
@@ -29808,8 +30383,8 @@ module Google
29808
30383
  # @return [Fixnum]
29809
30384
  attr_accessor :amount
29810
30385
 
29811
- # Type of resource for which this commitment applies. Possible values are VCPU
29812
- # and MEMORY
30386
+ # Type of resource for which this commitment applies. Possible values are VCPU,
30387
+ # MEMORY, LOCAL_SSD, and ACCELERATOR.
29813
30388
  # Corresponds to the JSON property `type`
29814
30389
  # @return [String]
29815
30390
  attr_accessor :type
@@ -34400,6 +34975,14 @@ module Google
34400
34975
  # @return [String]
34401
34976
  attr_accessor :enforce_on_key
34402
34977
 
34978
+ # If specified, any combination of values of enforce_on_key_type/
34979
+ # enforce_on_key_name is treated as the key on which ratelimit threshold/action
34980
+ # is enforced. You can specify up to 3 enforce_on_key_configs. If
34981
+ # enforce_on_key_configs is specified, enforce_on_key must not be specified.
34982
+ # Corresponds to the JSON property `enforceOnKeyConfigs`
34983
+ # @return [Array<Google::Apis::ComputeBeta::SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig>]
34984
+ attr_accessor :enforce_on_key_configs
34985
+
34403
34986
  # Rate limit key name applicable only for the following key types: HTTP_HEADER --
34404
34987
  # Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE --
34405
34988
  # Name of the HTTP cookie whose value is taken as the key value.
@@ -34437,6 +35020,7 @@ module Google
34437
35020
  @ban_threshold = args[:ban_threshold] if args.key?(:ban_threshold)
34438
35021
  @conform_action = args[:conform_action] if args.key?(:conform_action)
34439
35022
  @enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
35023
+ @enforce_on_key_configs = args[:enforce_on_key_configs] if args.key?(:enforce_on_key_configs)
34440
35024
  @enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name)
34441
35025
  @exceed_action = args[:exceed_action] if args.key?(:exceed_action)
34442
35026
  @exceed_redirect_options = args[:exceed_redirect_options] if args.key?(:exceed_redirect_options)
@@ -34444,6 +35028,51 @@ module Google
34444
35028
  end
34445
35029
  end
34446
35030
 
35031
+ #
35032
+ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig
35033
+ include Google::Apis::Core::Hashable
35034
+
35035
+ # Rate limit key name applicable only for the following key types: HTTP_HEADER --
35036
+ # Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE --
35037
+ # Name of the HTTP cookie whose value is taken as the key value.
35038
+ # Corresponds to the JSON property `enforceOnKeyName`
35039
+ # @return [String]
35040
+ attr_accessor :enforce_on_key_name
35041
+
35042
+ # Determines the key to enforce the rate_limit_threshold on. Possible values are:
35043
+ # - ALL: A single rate limit threshold is applied to all the requests matching
35044
+ # this rule. This is the default value if "enforceOnKeyConfigs" is not
35045
+ # configured. - IP: The source IP address of the request is the key. Each IP has
35046
+ # this limit enforced separately. - HTTP_HEADER: The value of the HTTP header
35047
+ # whose name is configured under "enforceOnKeyName". The key value is truncated
35048
+ # to the first 128 bytes of the header value. If no such header is present in
35049
+ # the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e.
35050
+ # the originating client IP address) specified in the list of IPs under X-
35051
+ # Forwarded-For HTTP header. If no such header is present or the value is not a
35052
+ # valid IP, the key defaults to the source IP address of the request i.e. key
35053
+ # type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured
35054
+ # under "enforceOnKeyName". The key value is truncated to the first 128 bytes of
35055
+ # the cookie value. If no such cookie is present in the request, the key type
35056
+ # defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value
35057
+ # is truncated to the first 128 bytes. - SNI: Server name indication in the TLS
35058
+ # session of the HTTPS request. The key value is truncated to the first 128
35059
+ # bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The
35060
+ # country/region from which the request originates.
35061
+ # Corresponds to the JSON property `enforceOnKeyType`
35062
+ # @return [String]
35063
+ attr_accessor :enforce_on_key_type
35064
+
35065
+ def initialize(**args)
35066
+ update!(**args)
35067
+ end
35068
+
35069
+ # Update properties of this object
35070
+ def update!(**args)
35071
+ @enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name)
35072
+ @enforce_on_key_type = args[:enforce_on_key_type] if args.key?(:enforce_on_key_type)
35073
+ end
35074
+ end
35075
+
34447
35076
  #
34448
35077
  class SecurityPolicyRuleRateLimitOptionsThreshold
34449
35078
  include Google::Apis::Core::Hashable
@@ -34960,6 +35589,11 @@ module Google
34960
35589
  # @return [Fixnum]
34961
35590
  attr_accessor :connection_limit
34962
35591
 
35592
+ # The network URL for the network to set the limit for.
35593
+ # Corresponds to the JSON property `networkUrl`
35594
+ # @return [String]
35595
+ attr_accessor :network_url
35596
+
34963
35597
  # The project id or number for the project to set the limit for.
34964
35598
  # Corresponds to the JSON property `projectIdOrNum`
34965
35599
  # @return [String]
@@ -34972,6 +35606,7 @@ module Google
34972
35606
  # Update properties of this object
34973
35607
  def update!(**args)
34974
35608
  @connection_limit = args[:connection_limit] if args.key?(:connection_limit)
35609
+ @network_url = args[:network_url] if args.key?(:network_url)
34975
35610
  @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num)
34976
35611
  end
34977
35612
  end