google-apis-compute_beta 0.54.0 → 0.56.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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