google-apis-compute_beta 0.54.0 → 0.55.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
@@ -9253,6 +9274,7 @@ module Google
9253
9274
  @all_ports = args[:all_ports] if args.key?(:all_ports)
9254
9275
  @allow_global_access = args[:allow_global_access] if args.key?(:allow_global_access)
9255
9276
  @backend_service = args[:backend_service] if args.key?(:backend_service)
9277
+ @base_forwarding_rule = args[:base_forwarding_rule] if args.key?(:base_forwarding_rule)
9256
9278
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
9257
9279
  @description = args[:description] if args.key?(:description)
9258
9280
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -10633,13 +10655,18 @@ module Google
10633
10655
  attr_accessor :fingerprint
10634
10656
 
10635
10657
  # A list of URLs to the HealthCheck resources. Must have at least one
10636
- # HealthCheck, and not more than 10. HealthCheck resources must have
10658
+ # HealthCheck, and not more than 10 for regional HealthCheckService, and not
10659
+ # more than 1 for global HealthCheckService. HealthCheck resources must have
10637
10660
  # portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For
10638
10661
  # regional HealthCheckService, the HealthCheck must be regional and in the same
10639
10662
  # region. For global HealthCheckService, HealthCheck must be global. Mix of
10640
10663
  # regional and global HealthChecks is not supported. Multiple regional
10641
10664
  # HealthChecks must belong to the same region. Regional HealthChecks must belong
10642
- # to the same region as zones of NEGs.
10665
+ # to the same region as zones of NetworkEndpointGroups. For global
10666
+ # HealthCheckService using global INTERNET_IP_PORT NetworkEndpointGroups, the
10667
+ # global HealthChecks must specify sourceRegions, and HealthChecks that specify
10668
+ # sourceRegions can only be used with global INTERNET_IP_PORT
10669
+ # NetworkEndpointGroups.
10643
10670
  # Corresponds to the JSON property `healthChecks`
10644
10671
  # @return [Array<String>]
10645
10672
  attr_accessor :health_checks
@@ -10649,7 +10676,8 @@ module Google
10649
10676
  # NO_AGGREGATION. An EndpointHealth message is returned for each pair in the
10650
10677
  # health check service. - AND. If any health check of an endpoint reports
10651
10678
  # UNHEALTHY, then UNHEALTHY is the HealthState of the endpoint. If all health
10652
- # checks report HEALTHY, the HealthState of the endpoint is HEALTHY. .
10679
+ # checks report HEALTHY, the HealthState of the endpoint is HEALTHY. . This is
10680
+ # only allowed with regional HealthCheckService.
10653
10681
  # Corresponds to the JSON property `healthStatusAggregationPolicy`
10654
10682
  # @return [String]
10655
10683
  attr_accessor :health_status_aggregation_policy
@@ -10689,7 +10717,8 @@ module Google
10689
10717
 
10690
10718
  # A list of URLs to the NetworkEndpointGroup resources. Must not have more than
10691
10719
  # 100. For regional HealthCheckService, NEGs must be in zones in the region of
10692
- # the HealthCheckService.
10720
+ # the HealthCheckService. For global HealthCheckServices, the
10721
+ # NetworkEndpointGroups must be global INTERNET_IP_PORT.
10693
10722
  # Corresponds to the JSON property `networkEndpointGroups`
10694
10723
  # @return [Array<String>]
10695
10724
  attr_accessor :network_endpoint_groups
@@ -13124,6 +13153,16 @@ module Google
13124
13153
  # @return [Fixnum]
13125
13154
  attr_accessor :id
13126
13155
 
13156
+ # Encrypts suspended data for an instance with a customer-managed encryption key.
13157
+ # If you are creating a new instance, this field will encrypt the local SSD and
13158
+ # in-memory contents of the instance during the suspend operation. If you do not
13159
+ # provide an encryption key when creating the instance, then the local SSD and
13160
+ # in-memory contents will be encrypted using an automatically generated key
13161
+ # during the suspend operation.
13162
+ # Corresponds to the JSON property `instanceEncryptionKey`
13163
+ # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
13164
+ attr_accessor :instance_encryption_key
13165
+
13127
13166
  # KeyRevocationActionType of the instance. Supported options are "STOP" and "
13128
13167
  # NONE". The default value is "NONE" if it is not specified.
13129
13168
  # Corresponds to the JSON property `keyRevocationActionType`
@@ -13360,6 +13399,7 @@ module Google
13360
13399
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
13361
13400
  @hostname = args[:hostname] if args.key?(:hostname)
13362
13401
  @id = args[:id] if args.key?(:id)
13402
+ @instance_encryption_key = args[:instance_encryption_key] if args.key?(:instance_encryption_key)
13363
13403
  @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
13364
13404
  @kind = args[:kind] if args.key?(:kind)
13365
13405
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
@@ -17167,8 +17207,9 @@ module Google
17167
17207
 
17168
17208
  # Email address to contact the customer NOC for operations and maintenance
17169
17209
  # 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.
17210
+ # notifications in addition to all other forms described, such as Cloud
17211
+ # Monitoring logs alerting and Cloud Notifications. This field is required for
17212
+ # users who sign up for Cloud Interconnect using workforce identity federation.
17172
17213
  # Corresponds to the JSON property `nocContactEmail`
17173
17214
  # @return [String]
17174
17215
  attr_accessor :noc_contact_email
@@ -18048,6 +18089,16 @@ module Google
18048
18089
  # @return [Array<Google::Apis::ComputeBeta::InterconnectDiagnosticsArpEntry>]
18049
18090
  attr_accessor :arp_caches
18050
18091
 
18092
+ # The aggregation type of the bundle interface.
18093
+ # Corresponds to the JSON property `bundleAggregationType`
18094
+ # @return [String]
18095
+ attr_accessor :bundle_aggregation_type
18096
+
18097
+ # The operational status of the bundle interface.
18098
+ # Corresponds to the JSON property `bundleOperationalStatus`
18099
+ # @return [String]
18100
+ attr_accessor :bundle_operational_status
18101
+
18051
18102
  # A list of InterconnectDiagnostics.LinkStatus objects, describing the status
18052
18103
  # for each link on the Interconnect.
18053
18104
  # Corresponds to the JSON property `links`
@@ -18066,6 +18117,8 @@ module Google
18066
18117
  # Update properties of this object
18067
18118
  def update!(**args)
18068
18119
  @arp_caches = args[:arp_caches] if args.key?(:arp_caches)
18120
+ @bundle_aggregation_type = args[:bundle_aggregation_type] if args.key?(:bundle_aggregation_type)
18121
+ @bundle_operational_status = args[:bundle_operational_status] if args.key?(:bundle_operational_status)
18069
18122
  @links = args[:links] if args.key?(:links)
18070
18123
  @mac_address = args[:mac_address] if args.key?(:mac_address)
18071
18124
  end
@@ -18189,6 +18242,11 @@ module Google
18189
18242
  # @return [Google::Apis::ComputeBeta::InterconnectDiagnosticsLinkLacpStatus]
18190
18243
  attr_accessor :lacp_status
18191
18244
 
18245
+ # The operational status of the link.
18246
+ # Corresponds to the JSON property `operationalStatus`
18247
+ # @return [String]
18248
+ attr_accessor :operational_status
18249
+
18192
18250
  # An InterconnectDiagnostics.LinkOpticalPower object, describing the current
18193
18251
  # value and status of the received light level.
18194
18252
  # Corresponds to the JSON property `receivingOpticalPower`
@@ -18211,6 +18269,7 @@ module Google
18211
18269
  @circuit_id = args[:circuit_id] if args.key?(:circuit_id)
18212
18270
  @google_demarc = args[:google_demarc] if args.key?(:google_demarc)
18213
18271
  @lacp_status = args[:lacp_status] if args.key?(:lacp_status)
18272
+ @operational_status = args[:operational_status] if args.key?(:operational_status)
18214
18273
  @receiving_optical_power = args[:receiving_optical_power] if args.key?(:receiving_optical_power)
18215
18274
  @transmitting_optical_power = args[:transmitting_optical_power] if args.key?(:transmitting_optical_power)
18216
18275
  end
@@ -20675,6 +20734,496 @@ module Google
20675
20734
  end
20676
20735
  end
20677
20736
 
20737
+ # NetworkAttachments A network attachment resource ...
20738
+ class NetworkAttachment
20739
+ include Google::Apis::Core::Hashable
20740
+
20741
+ # [Output Only] An array of connections for all the producers connected to this
20742
+ # network attachment.
20743
+ # Corresponds to the JSON property `connectionEndpoints`
20744
+ # @return [Array<Google::Apis::ComputeBeta::NetworkAttachmentConnectedEndpoint>]
20745
+ attr_accessor :connection_endpoints
20746
+
20747
+ #
20748
+ # Corresponds to the JSON property `connectionPreference`
20749
+ # @return [String]
20750
+ attr_accessor :connection_preference
20751
+
20752
+ # [Output Only] Creation timestamp in RFC3339 text format.
20753
+ # Corresponds to the JSON property `creationTimestamp`
20754
+ # @return [String]
20755
+ attr_accessor :creation_timestamp
20756
+
20757
+ # An optional description of this resource. Provide this property when you
20758
+ # create the resource.
20759
+ # Corresponds to the JSON property `description`
20760
+ # @return [String]
20761
+ attr_accessor :description
20762
+
20763
+ # [Output Only] Fingerprint of this resource. A hash of the contents stored in
20764
+ # this object. This field is used in optimistic locking. An up-to-date
20765
+ # fingerprint must be provided in order to patch.
20766
+ # Corresponds to the JSON property `fingerprint`
20767
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
20768
+ # @return [String]
20769
+ attr_accessor :fingerprint
20770
+
20771
+ # [Output Only] The unique identifier for the resource type. The server
20772
+ # generates this identifier.
20773
+ # Corresponds to the JSON property `id`
20774
+ # @return [Fixnum]
20775
+ attr_accessor :id
20776
+
20777
+ # [Output Only] Type of the resource.
20778
+ # Corresponds to the JSON property `kind`
20779
+ # @return [String]
20780
+ attr_accessor :kind
20781
+
20782
+ # Name of the resource. Provided by the client when the resource is created. The
20783
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
20784
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
20785
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
20786
+ # and all following characters must be a dash, lowercase letter, or digit,
20787
+ # except the last character, which cannot be a dash.
20788
+ # Corresponds to the JSON property `name`
20789
+ # @return [String]
20790
+ attr_accessor :name
20791
+
20792
+ # [Output Only] The URL of the network which the Network Attachment belongs to.
20793
+ # Corresponds to the JSON property `network`
20794
+ # @return [String]
20795
+ attr_accessor :network
20796
+
20797
+ # Projects that are allowed to connect to this network attachment. The project
20798
+ # can be specified using its id or number.
20799
+ # Corresponds to the JSON property `producerAcceptLists`
20800
+ # @return [Array<String>]
20801
+ attr_accessor :producer_accept_lists
20802
+
20803
+ # Projects that are not allowed to connect to this network attachment. The
20804
+ # project can be specified using its id or number.
20805
+ # Corresponds to the JSON property `producerRejectLists`
20806
+ # @return [Array<String>]
20807
+ attr_accessor :producer_reject_lists
20808
+
20809
+ # [Output Only] URL of the region where the network attachment resides. This
20810
+ # field applies only to the region resource. You must specify this field as part
20811
+ # of the HTTP request URL. It is not settable as a field in the request body.
20812
+ # Corresponds to the JSON property `region`
20813
+ # @return [String]
20814
+ attr_accessor :region
20815
+
20816
+ # [Output Only] Server-defined URL for the resource.
20817
+ # Corresponds to the JSON property `selfLink`
20818
+ # @return [String]
20819
+ attr_accessor :self_link
20820
+
20821
+ # [Output Only] Server-defined URL for this resource's resource id.
20822
+ # Corresponds to the JSON property `selfLinkWithId`
20823
+ # @return [String]
20824
+ attr_accessor :self_link_with_id
20825
+
20826
+ # An array of URLs where each entry is the URL of a subnet provided by the
20827
+ # service consumer to use for endpoints in the producers that connect to this
20828
+ # network attachment.
20829
+ # Corresponds to the JSON property `subnetworks`
20830
+ # @return [Array<String>]
20831
+ attr_accessor :subnetworks
20832
+
20833
+ def initialize(**args)
20834
+ update!(**args)
20835
+ end
20836
+
20837
+ # Update properties of this object
20838
+ def update!(**args)
20839
+ @connection_endpoints = args[:connection_endpoints] if args.key?(:connection_endpoints)
20840
+ @connection_preference = args[:connection_preference] if args.key?(:connection_preference)
20841
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
20842
+ @description = args[:description] if args.key?(:description)
20843
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
20844
+ @id = args[:id] if args.key?(:id)
20845
+ @kind = args[:kind] if args.key?(:kind)
20846
+ @name = args[:name] if args.key?(:name)
20847
+ @network = args[:network] if args.key?(:network)
20848
+ @producer_accept_lists = args[:producer_accept_lists] if args.key?(:producer_accept_lists)
20849
+ @producer_reject_lists = args[:producer_reject_lists] if args.key?(:producer_reject_lists)
20850
+ @region = args[:region] if args.key?(:region)
20851
+ @self_link = args[:self_link] if args.key?(:self_link)
20852
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
20853
+ @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
20854
+ end
20855
+ end
20856
+
20857
+ # Contains a list of NetworkAttachmentsScopedList.
20858
+ class NetworkAttachmentAggregatedList
20859
+ include Google::Apis::Core::Hashable
20860
+
20861
+ # [Output Only] Unique identifier for the resource; defined by the server.
20862
+ # Corresponds to the JSON property `id`
20863
+ # @return [String]
20864
+ attr_accessor :id
20865
+
20866
+ # A list of NetworkAttachmentsScopedList resources.
20867
+ # Corresponds to the JSON property `items`
20868
+ # @return [Hash<String,Google::Apis::ComputeBeta::NetworkAttachmentsScopedList>]
20869
+ attr_accessor :items
20870
+
20871
+ #
20872
+ # Corresponds to the JSON property `kind`
20873
+ # @return [String]
20874
+ attr_accessor :kind
20875
+
20876
+ # [Output Only] This token allows you to get the next page of results for list
20877
+ # requests. If the number of results is larger than maxResults, use the
20878
+ # nextPageToken as a value for the query parameter pageToken in the next list
20879
+ # request. Subsequent list requests will have their own nextPageToken to
20880
+ # continue paging through the results.
20881
+ # Corresponds to the JSON property `nextPageToken`
20882
+ # @return [String]
20883
+ attr_accessor :next_page_token
20884
+
20885
+ # [Output Only] Server-defined URL for this resource.
20886
+ # Corresponds to the JSON property `selfLink`
20887
+ # @return [String]
20888
+ attr_accessor :self_link
20889
+
20890
+ # [Output Only] Informational warning message.
20891
+ # Corresponds to the JSON property `warning`
20892
+ # @return [Google::Apis::ComputeBeta::NetworkAttachmentAggregatedList::Warning]
20893
+ attr_accessor :warning
20894
+
20895
+ def initialize(**args)
20896
+ update!(**args)
20897
+ end
20898
+
20899
+ # Update properties of this object
20900
+ def update!(**args)
20901
+ @id = args[:id] if args.key?(:id)
20902
+ @items = args[:items] if args.key?(:items)
20903
+ @kind = args[:kind] if args.key?(:kind)
20904
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
20905
+ @self_link = args[:self_link] if args.key?(:self_link)
20906
+ @warning = args[:warning] if args.key?(:warning)
20907
+ end
20908
+
20909
+ # [Output Only] Informational warning message.
20910
+ class Warning
20911
+ include Google::Apis::Core::Hashable
20912
+
20913
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
20914
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
20915
+ # Corresponds to the JSON property `code`
20916
+ # @return [String]
20917
+ attr_accessor :code
20918
+
20919
+ # [Output Only] Metadata about this warning in key: value format. For example: "
20920
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
20921
+ # Corresponds to the JSON property `data`
20922
+ # @return [Array<Google::Apis::ComputeBeta::NetworkAttachmentAggregatedList::Warning::Datum>]
20923
+ attr_accessor :data
20924
+
20925
+ # [Output Only] A human-readable description of the warning code.
20926
+ # Corresponds to the JSON property `message`
20927
+ # @return [String]
20928
+ attr_accessor :message
20929
+
20930
+ def initialize(**args)
20931
+ update!(**args)
20932
+ end
20933
+
20934
+ # Update properties of this object
20935
+ def update!(**args)
20936
+ @code = args[:code] if args.key?(:code)
20937
+ @data = args[:data] if args.key?(:data)
20938
+ @message = args[:message] if args.key?(:message)
20939
+ end
20940
+
20941
+ #
20942
+ class Datum
20943
+ include Google::Apis::Core::Hashable
20944
+
20945
+ # [Output Only] A key that provides more detail on the warning being returned.
20946
+ # For example, for warnings where there are no results in a list request for a
20947
+ # particular zone, this key might be scope and the key value might be the zone
20948
+ # name. Other examples might be a key indicating a deprecated resource and a
20949
+ # suggested replacement, or a warning about invalid network settings (for
20950
+ # example, if an instance attempts to perform IP forwarding but is not enabled
20951
+ # for IP forwarding).
20952
+ # Corresponds to the JSON property `key`
20953
+ # @return [String]
20954
+ attr_accessor :key
20955
+
20956
+ # [Output Only] A warning data value corresponding to the key.
20957
+ # Corresponds to the JSON property `value`
20958
+ # @return [String]
20959
+ attr_accessor :value
20960
+
20961
+ def initialize(**args)
20962
+ update!(**args)
20963
+ end
20964
+
20965
+ # Update properties of this object
20966
+ def update!(**args)
20967
+ @key = args[:key] if args.key?(:key)
20968
+ @value = args[:value] if args.key?(:value)
20969
+ end
20970
+ end
20971
+ end
20972
+ end
20973
+
20974
+ # [Output Only] A connection connected to this network attachment.
20975
+ class NetworkAttachmentConnectedEndpoint
20976
+ include Google::Apis::Core::Hashable
20977
+
20978
+ # The IP address assigned to the producer instance network interface. This value
20979
+ # will be a range in case of Serverless.
20980
+ # Corresponds to the JSON property `ipAddress`
20981
+ # @return [String]
20982
+ attr_accessor :ip_address
20983
+
20984
+ # The project id or number of the interface to which the IP was assigned.
20985
+ # Corresponds to the JSON property `projectIdOrNum`
20986
+ # @return [String]
20987
+ attr_accessor :project_id_or_num
20988
+
20989
+ # Alias IP ranges from the same subnetwork
20990
+ # Corresponds to the JSON property `secondaryIpCidrRanges`
20991
+ # @return [Array<String>]
20992
+ attr_accessor :secondary_ip_cidr_ranges
20993
+
20994
+ # The status of a connected endpoint to this network attachment.
20995
+ # Corresponds to the JSON property `status`
20996
+ # @return [String]
20997
+ attr_accessor :status
20998
+
20999
+ # The subnetwork used to assign the IP to the producer instance network
21000
+ # interface.
21001
+ # Corresponds to the JSON property `subnetwork`
21002
+ # @return [String]
21003
+ attr_accessor :subnetwork
21004
+
21005
+ def initialize(**args)
21006
+ update!(**args)
21007
+ end
21008
+
21009
+ # Update properties of this object
21010
+ def update!(**args)
21011
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
21012
+ @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num)
21013
+ @secondary_ip_cidr_ranges = args[:secondary_ip_cidr_ranges] if args.key?(:secondary_ip_cidr_ranges)
21014
+ @status = args[:status] if args.key?(:status)
21015
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
21016
+ end
21017
+ end
21018
+
21019
+ #
21020
+ class NetworkAttachmentList
21021
+ include Google::Apis::Core::Hashable
21022
+
21023
+ # [Output Only] Unique identifier for the resource; defined by the server.
21024
+ # Corresponds to the JSON property `id`
21025
+ # @return [String]
21026
+ attr_accessor :id
21027
+
21028
+ # A list of NetworkAttachment resources.
21029
+ # Corresponds to the JSON property `items`
21030
+ # @return [Array<Google::Apis::ComputeBeta::NetworkAttachment>]
21031
+ attr_accessor :items
21032
+
21033
+ #
21034
+ # Corresponds to the JSON property `kind`
21035
+ # @return [String]
21036
+ attr_accessor :kind
21037
+
21038
+ # [Output Only] This token allows you to get the next page of results for list
21039
+ # requests. If the number of results is larger than maxResults, use the
21040
+ # nextPageToken as a value for the query parameter pageToken in the next list
21041
+ # request. Subsequent list requests will have their own nextPageToken to
21042
+ # continue paging through the results.
21043
+ # Corresponds to the JSON property `nextPageToken`
21044
+ # @return [String]
21045
+ attr_accessor :next_page_token
21046
+
21047
+ # [Output Only] Server-defined URL for this resource.
21048
+ # Corresponds to the JSON property `selfLink`
21049
+ # @return [String]
21050
+ attr_accessor :self_link
21051
+
21052
+ # [Output Only] Informational warning message.
21053
+ # Corresponds to the JSON property `warning`
21054
+ # @return [Google::Apis::ComputeBeta::NetworkAttachmentList::Warning]
21055
+ attr_accessor :warning
21056
+
21057
+ def initialize(**args)
21058
+ update!(**args)
21059
+ end
21060
+
21061
+ # Update properties of this object
21062
+ def update!(**args)
21063
+ @id = args[:id] if args.key?(:id)
21064
+ @items = args[:items] if args.key?(:items)
21065
+ @kind = args[:kind] if args.key?(:kind)
21066
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
21067
+ @self_link = args[:self_link] if args.key?(:self_link)
21068
+ @warning = args[:warning] if args.key?(:warning)
21069
+ end
21070
+
21071
+ # [Output Only] Informational warning message.
21072
+ class Warning
21073
+ include Google::Apis::Core::Hashable
21074
+
21075
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
21076
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
21077
+ # Corresponds to the JSON property `code`
21078
+ # @return [String]
21079
+ attr_accessor :code
21080
+
21081
+ # [Output Only] Metadata about this warning in key: value format. For example: "
21082
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
21083
+ # Corresponds to the JSON property `data`
21084
+ # @return [Array<Google::Apis::ComputeBeta::NetworkAttachmentList::Warning::Datum>]
21085
+ attr_accessor :data
21086
+
21087
+ # [Output Only] A human-readable description of the warning code.
21088
+ # Corresponds to the JSON property `message`
21089
+ # @return [String]
21090
+ attr_accessor :message
21091
+
21092
+ def initialize(**args)
21093
+ update!(**args)
21094
+ end
21095
+
21096
+ # Update properties of this object
21097
+ def update!(**args)
21098
+ @code = args[:code] if args.key?(:code)
21099
+ @data = args[:data] if args.key?(:data)
21100
+ @message = args[:message] if args.key?(:message)
21101
+ end
21102
+
21103
+ #
21104
+ class Datum
21105
+ include Google::Apis::Core::Hashable
21106
+
21107
+ # [Output Only] A key that provides more detail on the warning being returned.
21108
+ # For example, for warnings where there are no results in a list request for a
21109
+ # particular zone, this key might be scope and the key value might be the zone
21110
+ # name. Other examples might be a key indicating a deprecated resource and a
21111
+ # suggested replacement, or a warning about invalid network settings (for
21112
+ # example, if an instance attempts to perform IP forwarding but is not enabled
21113
+ # for IP forwarding).
21114
+ # Corresponds to the JSON property `key`
21115
+ # @return [String]
21116
+ attr_accessor :key
21117
+
21118
+ # [Output Only] A warning data value corresponding to the key.
21119
+ # Corresponds to the JSON property `value`
21120
+ # @return [String]
21121
+ attr_accessor :value
21122
+
21123
+ def initialize(**args)
21124
+ update!(**args)
21125
+ end
21126
+
21127
+ # Update properties of this object
21128
+ def update!(**args)
21129
+ @key = args[:key] if args.key?(:key)
21130
+ @value = args[:value] if args.key?(:value)
21131
+ end
21132
+ end
21133
+ end
21134
+ end
21135
+
21136
+ #
21137
+ class NetworkAttachmentsScopedList
21138
+ include Google::Apis::Core::Hashable
21139
+
21140
+ # A list of NetworkAttachments contained in this scope.
21141
+ # Corresponds to the JSON property `networkAttachments`
21142
+ # @return [Array<Google::Apis::ComputeBeta::NetworkAttachment>]
21143
+ attr_accessor :network_attachments
21144
+
21145
+ # Informational warning which replaces the list of network attachments when the
21146
+ # list is empty.
21147
+ # Corresponds to the JSON property `warning`
21148
+ # @return [Google::Apis::ComputeBeta::NetworkAttachmentsScopedList::Warning]
21149
+ attr_accessor :warning
21150
+
21151
+ def initialize(**args)
21152
+ update!(**args)
21153
+ end
21154
+
21155
+ # Update properties of this object
21156
+ def update!(**args)
21157
+ @network_attachments = args[:network_attachments] if args.key?(:network_attachments)
21158
+ @warning = args[:warning] if args.key?(:warning)
21159
+ end
21160
+
21161
+ # Informational warning which replaces the list of network attachments when the
21162
+ # list is empty.
21163
+ class Warning
21164
+ include Google::Apis::Core::Hashable
21165
+
21166
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
21167
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
21168
+ # Corresponds to the JSON property `code`
21169
+ # @return [String]
21170
+ attr_accessor :code
21171
+
21172
+ # [Output Only] Metadata about this warning in key: value format. For example: "
21173
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
21174
+ # Corresponds to the JSON property `data`
21175
+ # @return [Array<Google::Apis::ComputeBeta::NetworkAttachmentsScopedList::Warning::Datum>]
21176
+ attr_accessor :data
21177
+
21178
+ # [Output Only] A human-readable description of the warning code.
21179
+ # Corresponds to the JSON property `message`
21180
+ # @return [String]
21181
+ attr_accessor :message
21182
+
21183
+ def initialize(**args)
21184
+ update!(**args)
21185
+ end
21186
+
21187
+ # Update properties of this object
21188
+ def update!(**args)
21189
+ @code = args[:code] if args.key?(:code)
21190
+ @data = args[:data] if args.key?(:data)
21191
+ @message = args[:message] if args.key?(:message)
21192
+ end
21193
+
21194
+ #
21195
+ class Datum
21196
+ include Google::Apis::Core::Hashable
21197
+
21198
+ # [Output Only] A key that provides more detail on the warning being returned.
21199
+ # For example, for warnings where there are no results in a list request for a
21200
+ # particular zone, this key might be scope and the key value might be the zone
21201
+ # name. Other examples might be a key indicating a deprecated resource and a
21202
+ # suggested replacement, or a warning about invalid network settings (for
21203
+ # example, if an instance attempts to perform IP forwarding but is not enabled
21204
+ # for IP forwarding).
21205
+ # Corresponds to the JSON property `key`
21206
+ # @return [String]
21207
+ attr_accessor :key
21208
+
21209
+ # [Output Only] A warning data value corresponding to the key.
21210
+ # Corresponds to the JSON property `value`
21211
+ # @return [String]
21212
+ attr_accessor :value
21213
+
21214
+ def initialize(**args)
21215
+ update!(**args)
21216
+ end
21217
+
21218
+ # Update properties of this object
21219
+ def update!(**args)
21220
+ @key = args[:key] if args.key?(:key)
21221
+ @value = args[:value] if args.key?(:value)
21222
+ end
21223
+ end
21224
+ end
21225
+ end
21226
+
20678
21227
  # Represents a Google Cloud Armor network edge security service resource.
20679
21228
  class NetworkEdgeSecurityService
20680
21229
  include Google::Apis::Core::Hashable
@@ -26610,6 +27159,11 @@ module Google
26610
27159
  # @return [Google::Apis::ComputeBeta::UsageExportLocation]
26611
27160
  attr_accessor :usage_export_location
26612
27161
 
27162
+ # [Output Only] Default internal DNS setting used by VMs running in this project.
27163
+ # Corresponds to the JSON property `vmDnsSetting`
27164
+ # @return [String]
27165
+ attr_accessor :vm_dns_setting
27166
+
26613
27167
  # [Output Only] The role this project has in a shared VPC configuration.
26614
27168
  # Currently, only projects with the host role, which is specified by the value
26615
27169
  # HOST, are differentiated.
@@ -26635,6 +27189,7 @@ module Google
26635
27189
  @quotas = args[:quotas] if args.key?(:quotas)
26636
27190
  @self_link = args[:self_link] if args.key?(:self_link)
26637
27191
  @usage_export_location = args[:usage_export_location] if args.key?(:usage_export_location)
27192
+ @vm_dns_setting = args[:vm_dns_setting] if args.key?(:vm_dns_setting)
26638
27193
  @xpn_project_status = args[:xpn_project_status] if args.key?(:xpn_project_status)
26639
27194
  end
26640
27195
  end
@@ -29808,8 +30363,8 @@ module Google
29808
30363
  # @return [Fixnum]
29809
30364
  attr_accessor :amount
29810
30365
 
29811
- # Type of resource for which this commitment applies. Possible values are VCPU
29812
- # and MEMORY
30366
+ # Type of resource for which this commitment applies. Possible values are VCPU,
30367
+ # MEMORY, LOCAL_SSD, and ACCELERATOR.
29813
30368
  # Corresponds to the JSON property `type`
29814
30369
  # @return [String]
29815
30370
  attr_accessor :type
@@ -34400,6 +34955,14 @@ module Google
34400
34955
  # @return [String]
34401
34956
  attr_accessor :enforce_on_key
34402
34957
 
34958
+ # If specified, any combination of values of enforce_on_key_type/
34959
+ # enforce_on_key_name is treated as the key on which ratelimit threshold/action
34960
+ # is enforced. You can specify up to 3 enforce_on_key_configs. If
34961
+ # enforce_on_key_configs is specified, enforce_on_key must not be specified.
34962
+ # Corresponds to the JSON property `enforceOnKeyConfigs`
34963
+ # @return [Array<Google::Apis::ComputeBeta::SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig>]
34964
+ attr_accessor :enforce_on_key_configs
34965
+
34403
34966
  # Rate limit key name applicable only for the following key types: HTTP_HEADER --
34404
34967
  # Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE --
34405
34968
  # Name of the HTTP cookie whose value is taken as the key value.
@@ -34437,6 +35000,7 @@ module Google
34437
35000
  @ban_threshold = args[:ban_threshold] if args.key?(:ban_threshold)
34438
35001
  @conform_action = args[:conform_action] if args.key?(:conform_action)
34439
35002
  @enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
35003
+ @enforce_on_key_configs = args[:enforce_on_key_configs] if args.key?(:enforce_on_key_configs)
34440
35004
  @enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name)
34441
35005
  @exceed_action = args[:exceed_action] if args.key?(:exceed_action)
34442
35006
  @exceed_redirect_options = args[:exceed_redirect_options] if args.key?(:exceed_redirect_options)
@@ -34444,6 +35008,51 @@ module Google
34444
35008
  end
34445
35009
  end
34446
35010
 
35011
+ #
35012
+ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig
35013
+ include Google::Apis::Core::Hashable
35014
+
35015
+ # Rate limit key name applicable only for the following key types: HTTP_HEADER --
35016
+ # Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE --
35017
+ # Name of the HTTP cookie whose value is taken as the key value.
35018
+ # Corresponds to the JSON property `enforceOnKeyName`
35019
+ # @return [String]
35020
+ attr_accessor :enforce_on_key_name
35021
+
35022
+ # Determines the key to enforce the rate_limit_threshold on. Possible values are:
35023
+ # - ALL: A single rate limit threshold is applied to all the requests matching
35024
+ # this rule. This is the default value if "enforceOnKeyConfigs" is not
35025
+ # configured. - IP: The source IP address of the request is the key. Each IP has
35026
+ # this limit enforced separately. - HTTP_HEADER: The value of the HTTP header
35027
+ # whose name is configured under "enforceOnKeyName". The key value is truncated
35028
+ # to the first 128 bytes of the header value. If no such header is present in
35029
+ # the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e.
35030
+ # the originating client IP address) specified in the list of IPs under X-
35031
+ # Forwarded-For HTTP header. If no such header is present or the value is not a
35032
+ # valid IP, the key defaults to the source IP address of the request i.e. key
35033
+ # type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured
35034
+ # under "enforceOnKeyName". The key value is truncated to the first 128 bytes of
35035
+ # the cookie value. If no such cookie is present in the request, the key type
35036
+ # defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value
35037
+ # is truncated to the first 128 bytes. - SNI: Server name indication in the TLS
35038
+ # session of the HTTPS request. The key value is truncated to the first 128
35039
+ # bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The
35040
+ # country/region from which the request originates.
35041
+ # Corresponds to the JSON property `enforceOnKeyType`
35042
+ # @return [String]
35043
+ attr_accessor :enforce_on_key_type
35044
+
35045
+ def initialize(**args)
35046
+ update!(**args)
35047
+ end
35048
+
35049
+ # Update properties of this object
35050
+ def update!(**args)
35051
+ @enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name)
35052
+ @enforce_on_key_type = args[:enforce_on_key_type] if args.key?(:enforce_on_key_type)
35053
+ end
35054
+ end
35055
+
34447
35056
  #
34448
35057
  class SecurityPolicyRuleRateLimitOptionsThreshold
34449
35058
  include Google::Apis::Core::Hashable
@@ -34960,6 +35569,11 @@ module Google
34960
35569
  # @return [Fixnum]
34961
35570
  attr_accessor :connection_limit
34962
35571
 
35572
+ # The network URL for the network to set the limit for.
35573
+ # Corresponds to the JSON property `networkUrl`
35574
+ # @return [String]
35575
+ attr_accessor :network_url
35576
+
34963
35577
  # The project id or number for the project to set the limit for.
34964
35578
  # Corresponds to the JSON property `projectIdOrNum`
34965
35579
  # @return [String]
@@ -34972,6 +35586,7 @@ module Google
34972
35586
  # Update properties of this object
34973
35587
  def update!(**args)
34974
35588
  @connection_limit = args[:connection_limit] if args.key?(:connection_limit)
35589
+ @network_url = args[:network_url] if args.key?(:network_url)
34975
35590
  @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num)
34976
35591
  end
34977
35592
  end