google-apis-compute_beta 0.53.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.
@@ -22,6 +22,52 @@ module Google
22
22
  module Apis
23
23
  module ComputeBeta
24
24
 
25
+ # Contains the configurations necessary to generate a signature for access to
26
+ # private storage buckets that support Signature Version 4 for authentication.
27
+ # The service name for generating the authentication header will always default
28
+ # to 's3'.
29
+ class Awsv4Signature
30
+ include Google::Apis::Core::Hashable
31
+
32
+ # The access key used for s3 bucket authentication. Required for updating or
33
+ # creating a backend that uses AWS v4 signature authentication, but will not be
34
+ # returned as part of the configuration when queried with a REST API GET request.
35
+ # @InputOnly
36
+ # Corresponds to the JSON property `accessKey`
37
+ # @return [String]
38
+ attr_accessor :access_key
39
+
40
+ # The identifier of an access key used for s3 bucket authentication.
41
+ # Corresponds to the JSON property `accessKeyId`
42
+ # @return [String]
43
+ attr_accessor :access_key_id
44
+
45
+ # The optional version identifier for the access key. You can use this to keep
46
+ # track of different iterations of your access key.
47
+ # Corresponds to the JSON property `accessKeyVersion`
48
+ # @return [String]
49
+ attr_accessor :access_key_version
50
+
51
+ # The name of the cloud region of your origin. This is a free-form field with
52
+ # the name of the region your cloud uses to host your origin. For example, "us-
53
+ # east-1" for AWS or "us-ashburn-1" for OCI.
54
+ # Corresponds to the JSON property `originRegion`
55
+ # @return [String]
56
+ attr_accessor :origin_region
57
+
58
+ def initialize(**args)
59
+ update!(**args)
60
+ end
61
+
62
+ # Update properties of this object
63
+ def update!(**args)
64
+ @access_key = args[:access_key] if args.key?(:access_key)
65
+ @access_key_id = args[:access_key_id] if args.key?(:access_key_id)
66
+ @access_key_version = args[:access_key_version] if args.key?(:access_key_version)
67
+ @origin_region = args[:origin_region] if args.key?(:origin_region)
68
+ end
69
+ end
70
+
25
71
  # A specification of the type and number of accelerator cards attached to the
26
72
  # instance.
27
73
  class AcceleratorConfig
@@ -2614,7 +2660,9 @@ module Google
2614
2660
  # group is completely drained, offering 0% of its available capacity. The valid
2615
2661
  # ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and
2616
2662
  # smaller than 0.1. You cannot configure a setting of 0 when there is only one
2617
- # 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.
2618
2666
  # Corresponds to the JSON property `capacityScaler`
2619
2667
  # @return [Float]
2620
2668
  attr_accessor :capacity_scaler
@@ -7328,7 +7376,8 @@ module Google
7328
7376
 
7329
7377
  # The reason of the error. This is a constant value that identifies the
7330
7378
  # proximate cause of the error. Error reasons are unique within a particular
7331
- # 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.
7332
7381
  # Corresponds to the JSON property `reason`
7333
7382
  # @return [String]
7334
7383
  attr_accessor :reason
@@ -8335,8 +8384,8 @@ module Google
8335
8384
  attr_accessor :kind
8336
8385
 
8337
8386
  # Name of the resource. For Organization Firewall Policies it's a [Output Only]
8338
- # numeric ID allocated by GCP which uniquely identifies the Organization
8339
- # Firewall Policy.
8387
+ # numeric ID allocated by Google Cloud which uniquely identifies the
8388
+ # Organization Firewall Policy.
8340
8389
  # Corresponds to the JSON property `name`
8341
8390
  # @return [String]
8342
8391
  attr_accessor :name
@@ -8930,12 +8979,13 @@ module Google
8930
8979
  # @return [String]
8931
8980
  attr_accessor :ip_protocol
8932
8981
 
8933
- # This field is used along with the backend_service field for Internal TCP/UDP
8934
- # Load Balancing or Network Load Balancing, or with the target field for
8935
- # internal and external TargetInstance. You can only use one of ports and
8936
- # port_range, or allPorts. The three are mutually exclusive. For TCP, UDP and
8937
- # SCTP traffic, packets addressed to any ports will be forwarded to the target
8938
- # 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.
8939
8989
  # Corresponds to the JSON property `allPorts`
8940
8990
  # @return [Boolean]
8941
8991
  attr_accessor :all_ports
@@ -8957,6 +9007,15 @@ module Google
8957
9007
  # @return [String]
8958
9008
  attr_accessor :backend_service
8959
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
+
8960
9019
  # [Output Only] Creation timestamp in RFC3339 text format.
8961
9020
  # Corresponds to the JSON property `creationTimestamp`
8962
9021
  # @return [String]
@@ -9091,27 +9150,35 @@ module Google
9091
9150
  attr_accessor :no_automate_dns_zone
9092
9151
  alias_method :no_automate_dns_zone?, :no_automate_dns_zone
9093
9152
 
9094
- # This field can be used only if: - Load balancing scheme is one of EXTERNAL,
9095
- # INTERNAL_SELF_MANAGED or INTERNAL_MANAGED - IPProtocol is one of TCP, UDP, or
9096
- # SCTP. Packets addressed to ports in the specified range will be forwarded to
9097
- # target or backend_service. You can only use one of ports, port_range, or
9098
- # allPorts. The three are mutually exclusive. Forwarding rules with the same [
9099
- # IPAddress, IPProtocol] pair must have disjoint ports. Some types of forwarding
9100
- # target have constraints on the acceptable ports. For more information, see [
9101
- # Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-
9102
- # 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+)?
9103
9166
  # Corresponds to the JSON property `portRange`
9104
9167
  # @return [String]
9105
9168
  attr_accessor :port_range
9106
9169
 
9107
- # The ports field is only supported when the forwarding rule references a
9108
- # backend_service directly. Only packets addressed to the [specified list of
9109
- # ports]((https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#
9110
- # port_specifications)) are forwarded to backends. You can only use one of ports
9111
- # and port_range, or allPorts. The three are mutually exclusive. You can specify
9112
- # a list of up to five ports, which can be non-contiguous. Forwarding rules with
9113
- # the same [IPAddress, IPProtocol] pair must have disjoint ports. @pattern: \\d+(
9114
- # ?:-\\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+)?
9115
9182
  # Corresponds to the JSON property `ports`
9116
9183
  # @return [Array<String>]
9117
9184
  attr_accessor :ports
@@ -9207,6 +9274,7 @@ module Google
9207
9274
  @all_ports = args[:all_ports] if args.key?(:all_ports)
9208
9275
  @allow_global_access = args[:allow_global_access] if args.key?(:allow_global_access)
9209
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)
9210
9278
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
9211
9279
  @description = args[:description] if args.key?(:description)
9212
9280
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -10587,13 +10655,18 @@ module Google
10587
10655
  attr_accessor :fingerprint
10588
10656
 
10589
10657
  # A list of URLs to the HealthCheck resources. Must have at least one
10590
- # 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
10591
10660
  # portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For
10592
10661
  # regional HealthCheckService, the HealthCheck must be regional and in the same
10593
10662
  # region. For global HealthCheckService, HealthCheck must be global. Mix of
10594
10663
  # regional and global HealthChecks is not supported. Multiple regional
10595
10664
  # HealthChecks must belong to the same region. Regional HealthChecks must belong
10596
- # 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.
10597
10670
  # Corresponds to the JSON property `healthChecks`
10598
10671
  # @return [Array<String>]
10599
10672
  attr_accessor :health_checks
@@ -10603,7 +10676,8 @@ module Google
10603
10676
  # NO_AGGREGATION. An EndpointHealth message is returned for each pair in the
10604
10677
  # health check service. - AND. If any health check of an endpoint reports
10605
10678
  # UNHEALTHY, then UNHEALTHY is the HealthState of the endpoint. If all health
10606
- # 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.
10607
10681
  # Corresponds to the JSON property `healthStatusAggregationPolicy`
10608
10682
  # @return [String]
10609
10683
  attr_accessor :health_status_aggregation_policy
@@ -10643,7 +10717,8 @@ module Google
10643
10717
 
10644
10718
  # A list of URLs to the NetworkEndpointGroup resources. Must not have more than
10645
10719
  # 100. For regional HealthCheckService, NEGs must be in zones in the region of
10646
- # the HealthCheckService.
10720
+ # the HealthCheckService. For global HealthCheckServices, the
10721
+ # NetworkEndpointGroups must be global INTERNET_IP_PORT.
10647
10722
  # Corresponds to the JSON property `networkEndpointGroups`
10648
10723
  # @return [Array<String>]
10649
10724
  attr_accessor :network_endpoint_groups
@@ -12189,6 +12264,16 @@ module Google
12189
12264
  # @return [Array<Google::Apis::ComputeBeta::MetadataFilter>]
12190
12265
  attr_accessor :metadata_filters
12191
12266
 
12267
+ # If specified, the route is a pattern match expression that must match the :
12268
+ # path header once the query string is removed. A pattern match allows you to
12269
+ # match - The value must be between 1 and 1024 characters - The pattern must
12270
+ # start with a leading slash ("/") - There may be no more than 5 operators in
12271
+ # pattern Precisely one of prefix_match, full_path_match, regex_match or
12272
+ # path_template_match must be set.
12273
+ # Corresponds to the JSON property `pathTemplateMatch`
12274
+ # @return [String]
12275
+ attr_accessor :path_template_match
12276
+
12192
12277
  # For satisfying the matchRule condition, the request's path must begin with the
12193
12278
  # specified prefixMatch. prefixMatch must begin with a /. The value must be from
12194
12279
  # 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
@@ -12224,6 +12309,7 @@ module Google
12224
12309
  @header_matches = args[:header_matches] if args.key?(:header_matches)
12225
12310
  @ignore_case = args[:ignore_case] if args.key?(:ignore_case)
12226
12311
  @metadata_filters = args[:metadata_filters] if args.key?(:metadata_filters)
12312
+ @path_template_match = args[:path_template_match] if args.key?(:path_template_match)
12227
12313
  @prefix_match = args[:prefix_match] if args.key?(:prefix_match)
12228
12314
  @query_parameter_matches = args[:query_parameter_matches] if args.key?(:query_parameter_matches)
12229
12315
  @regex_match = args[:regex_match] if args.key?(:regex_match)
@@ -13067,6 +13153,16 @@ module Google
13067
13153
  # @return [Fixnum]
13068
13154
  attr_accessor :id
13069
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
+
13070
13166
  # KeyRevocationActionType of the instance. Supported options are "STOP" and "
13071
13167
  # NONE". The default value is "NONE" if it is not specified.
13072
13168
  # Corresponds to the JSON property `keyRevocationActionType`
@@ -13303,6 +13399,7 @@ module Google
13303
13399
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
13304
13400
  @hostname = args[:hostname] if args.key?(:hostname)
13305
13401
  @id = args[:id] if args.key?(:id)
13402
+ @instance_encryption_key = args[:instance_encryption_key] if args.key?(:instance_encryption_key)
13306
13403
  @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
13307
13404
  @kind = args[:kind] if args.key?(:kind)
13308
13405
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
@@ -17110,8 +17207,9 @@ module Google
17110
17207
 
17111
17208
  # Email address to contact the customer NOC for operations and maintenance
17112
17209
  # notifications regarding this Interconnect. If specified, this will be used for
17113
- # notifications in addition to all other forms described, such as Stackdriver
17114
- # 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.
17115
17213
  # Corresponds to the JSON property `nocContactEmail`
17116
17214
  # @return [String]
17117
17215
  attr_accessor :noc_contact_email
@@ -17991,6 +18089,16 @@ module Google
17991
18089
  # @return [Array<Google::Apis::ComputeBeta::InterconnectDiagnosticsArpEntry>]
17992
18090
  attr_accessor :arp_caches
17993
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
+
17994
18102
  # A list of InterconnectDiagnostics.LinkStatus objects, describing the status
17995
18103
  # for each link on the Interconnect.
17996
18104
  # Corresponds to the JSON property `links`
@@ -18009,6 +18117,8 @@ module Google
18009
18117
  # Update properties of this object
18010
18118
  def update!(**args)
18011
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)
18012
18122
  @links = args[:links] if args.key?(:links)
18013
18123
  @mac_address = args[:mac_address] if args.key?(:mac_address)
18014
18124
  end
@@ -18132,6 +18242,11 @@ module Google
18132
18242
  # @return [Google::Apis::ComputeBeta::InterconnectDiagnosticsLinkLacpStatus]
18133
18243
  attr_accessor :lacp_status
18134
18244
 
18245
+ # The operational status of the link.
18246
+ # Corresponds to the JSON property `operationalStatus`
18247
+ # @return [String]
18248
+ attr_accessor :operational_status
18249
+
18135
18250
  # An InterconnectDiagnostics.LinkOpticalPower object, describing the current
18136
18251
  # value and status of the received light level.
18137
18252
  # Corresponds to the JSON property `receivingOpticalPower`
@@ -18154,6 +18269,7 @@ module Google
18154
18269
  @circuit_id = args[:circuit_id] if args.key?(:circuit_id)
18155
18270
  @google_demarc = args[:google_demarc] if args.key?(:google_demarc)
18156
18271
  @lacp_status = args[:lacp_status] if args.key?(:lacp_status)
18272
+ @operational_status = args[:operational_status] if args.key?(:operational_status)
18157
18273
  @receiving_optical_power = args[:receiving_optical_power] if args.key?(:receiving_optical_power)
18158
18274
  @transmitting_optical_power = args[:transmitting_optical_power] if args.key?(:transmitting_optical_power)
18159
18275
  end
@@ -20618,10 +20734,21 @@ module Google
20618
20734
  end
20619
20735
  end
20620
20736
 
20621
- # Represents a Google Cloud Armor network edge security service resource.
20622
- class NetworkEdgeSecurityService
20737
+ # NetworkAttachments A network attachment resource ...
20738
+ class NetworkAttachment
20623
20739
  include Google::Apis::Core::Hashable
20624
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
+
20625
20752
  # [Output Only] Creation timestamp in RFC3339 text format.
20626
20753
  # Corresponds to the JSON property `creationTimestamp`
20627
20754
  # @return [String]
@@ -20633,25 +20760,21 @@ module Google
20633
20760
  # @return [String]
20634
20761
  attr_accessor :description
20635
20762
 
20636
- # Fingerprint of this resource. A hash of the contents stored in this object.
20637
- # This field is used in optimistic locking. This field will be ignored when
20638
- # inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be
20639
- # provided in order to update the NetworkEdgeSecurityService, otherwise the
20640
- # request will fail with error 412 conditionNotMet. To see the latest
20641
- # fingerprint, make a get() request to retrieve a NetworkEdgeSecurityService.
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.
20642
20766
  # Corresponds to the JSON property `fingerprint`
20643
20767
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
20644
20768
  # @return [String]
20645
20769
  attr_accessor :fingerprint
20646
20770
 
20647
- # [Output Only] The unique identifier for the resource. This identifier is
20648
- # defined by the server.
20771
+ # [Output Only] The unique identifier for the resource type. The server
20772
+ # generates this identifier.
20649
20773
  # Corresponds to the JSON property `id`
20650
20774
  # @return [Fixnum]
20651
20775
  attr_accessor :id
20652
20776
 
20653
- # [Output only] Type of the resource. Always compute#networkEdgeSecurityService
20654
- # for NetworkEdgeSecurityServices
20777
+ # [Output Only] Type of the resource.
20655
20778
  # Corresponds to the JSON property `kind`
20656
20779
  # @return [String]
20657
20780
  attr_accessor :kind
@@ -20666,70 +20789,248 @@ module Google
20666
20789
  # @return [String]
20667
20790
  attr_accessor :name
20668
20791
 
20669
- # [Output Only] URL of the region where the resource resides. You must specify
20670
- # this field as part of the HTTP request URL. It is not settable as a field in
20671
- # the request body.
20672
- # Corresponds to the JSON property `region`
20792
+ # [Output Only] The URL of the network which the Network Attachment belongs to.
20793
+ # Corresponds to the JSON property `network`
20673
20794
  # @return [String]
20674
- attr_accessor :region
20795
+ attr_accessor :network
20675
20796
 
20676
- # The resource URL for the network edge security service associated with this
20677
- # network edge security service.
20678
- # Corresponds to the JSON property `securityPolicy`
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`
20679
20813
  # @return [String]
20680
- attr_accessor :security_policy
20814
+ attr_accessor :region
20681
20815
 
20682
20816
  # [Output Only] Server-defined URL for the resource.
20683
20817
  # Corresponds to the JSON property `selfLink`
20684
20818
  # @return [String]
20685
20819
  attr_accessor :self_link
20686
20820
 
20687
- # [Output Only] Server-defined URL for this resource with the resource id.
20821
+ # [Output Only] Server-defined URL for this resource's resource id.
20688
20822
  # Corresponds to the JSON property `selfLinkWithId`
20689
20823
  # @return [String]
20690
20824
  attr_accessor :self_link_with_id
20691
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
+
20692
20833
  def initialize(**args)
20693
20834
  update!(**args)
20694
20835
  end
20695
20836
 
20696
20837
  # Update properties of this object
20697
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)
20698
20841
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
20699
20842
  @description = args[:description] if args.key?(:description)
20700
20843
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
20701
20844
  @id = args[:id] if args.key?(:id)
20702
20845
  @kind = args[:kind] if args.key?(:kind)
20703
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)
20704
20850
  @region = args[:region] if args.key?(:region)
20705
- @security_policy = args[:security_policy] if args.key?(:security_policy)
20706
20851
  @self_link = args[:self_link] if args.key?(:self_link)
20707
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)
20708
20854
  end
20709
20855
  end
20710
20856
 
20711
- #
20712
- class NetworkEdgeSecurityServiceAggregatedList
20857
+ # Contains a list of NetworkAttachmentsScopedList.
20858
+ class NetworkAttachmentAggregatedList
20713
20859
  include Google::Apis::Core::Hashable
20714
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
+
20715
20871
  #
20716
- # Corresponds to the JSON property `etag`
20872
+ # Corresponds to the JSON property `kind`
20717
20873
  # @return [String]
20718
- attr_accessor :etag
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
20719
21022
 
20720
21023
  # [Output Only] Unique identifier for the resource; defined by the server.
20721
21024
  # Corresponds to the JSON property `id`
20722
21025
  # @return [String]
20723
21026
  attr_accessor :id
20724
21027
 
20725
- # A list of NetworkEdgeSecurityServicesScopedList resources.
21028
+ # A list of NetworkAttachment resources.
20726
21029
  # Corresponds to the JSON property `items`
20727
- # @return [Hash<String,Google::Apis::ComputeBeta::NetworkEdgeSecurityServicesScopedList>]
21030
+ # @return [Array<Google::Apis::ComputeBeta::NetworkAttachment>]
20728
21031
  attr_accessor :items
20729
21032
 
20730
- # [Output Only] Type of resource. Always compute#
20731
- # networkEdgeSecurityServiceAggregatedList for lists of Network Edge Security
20732
- # Services.
21033
+ #
20733
21034
  # Corresponds to the JSON property `kind`
20734
21035
  # @return [String]
20735
21036
  attr_accessor :kind
@@ -20748,14 +21049,9 @@ module Google
20748
21049
  # @return [String]
20749
21050
  attr_accessor :self_link
20750
21051
 
20751
- # [Output Only] Unreachable resources.
20752
- # Corresponds to the JSON property `unreachables`
20753
- # @return [Array<String>]
20754
- attr_accessor :unreachables
20755
-
20756
21052
  # [Output Only] Informational warning message.
20757
21053
  # Corresponds to the JSON property `warning`
20758
- # @return [Google::Apis::ComputeBeta::NetworkEdgeSecurityServiceAggregatedList::Warning]
21054
+ # @return [Google::Apis::ComputeBeta::NetworkAttachmentList::Warning]
20759
21055
  attr_accessor :warning
20760
21056
 
20761
21057
  def initialize(**args)
@@ -20764,13 +21060,11 @@ module Google
20764
21060
 
20765
21061
  # Update properties of this object
20766
21062
  def update!(**args)
20767
- @etag = args[:etag] if args.key?(:etag)
20768
21063
  @id = args[:id] if args.key?(:id)
20769
21064
  @items = args[:items] if args.key?(:items)
20770
21065
  @kind = args[:kind] if args.key?(:kind)
20771
21066
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
20772
21067
  @self_link = args[:self_link] if args.key?(:self_link)
20773
- @unreachables = args[:unreachables] if args.key?(:unreachables)
20774
21068
  @warning = args[:warning] if args.key?(:warning)
20775
21069
  end
20776
21070
 
@@ -20787,7 +21081,7 @@ module Google
20787
21081
  # [Output Only] Metadata about this warning in key: value format. For example: "
20788
21082
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
20789
21083
  # Corresponds to the JSON property `data`
20790
- # @return [Array<Google::Apis::ComputeBeta::NetworkEdgeSecurityServiceAggregatedList::Warning::Datum>]
21084
+ # @return [Array<Google::Apis::ComputeBeta::NetworkAttachmentList::Warning::Datum>]
20791
21085
  attr_accessor :data
20792
21086
 
20793
21087
  # [Output Only] A human-readable description of the warning code.
@@ -20840,18 +21134,18 @@ module Google
20840
21134
  end
20841
21135
 
20842
21136
  #
20843
- class NetworkEdgeSecurityServicesScopedList
21137
+ class NetworkAttachmentsScopedList
20844
21138
  include Google::Apis::Core::Hashable
20845
21139
 
20846
- # A list of NetworkEdgeSecurityServices contained in this scope.
20847
- # Corresponds to the JSON property `networkEdgeSecurityServices`
20848
- # @return [Array<Google::Apis::ComputeBeta::NetworkEdgeSecurityService>]
20849
- attr_accessor :network_edge_security_services
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
20850
21144
 
20851
- # Informational warning which replaces the list of security policies when the
21145
+ # Informational warning which replaces the list of network attachments when the
20852
21146
  # list is empty.
20853
21147
  # Corresponds to the JSON property `warning`
20854
- # @return [Google::Apis::ComputeBeta::NetworkEdgeSecurityServicesScopedList::Warning]
21148
+ # @return [Google::Apis::ComputeBeta::NetworkAttachmentsScopedList::Warning]
20855
21149
  attr_accessor :warning
20856
21150
 
20857
21151
  def initialize(**args)
@@ -20860,11 +21154,11 @@ module Google
20860
21154
 
20861
21155
  # Update properties of this object
20862
21156
  def update!(**args)
20863
- @network_edge_security_services = args[:network_edge_security_services] if args.key?(:network_edge_security_services)
21157
+ @network_attachments = args[:network_attachments] if args.key?(:network_attachments)
20864
21158
  @warning = args[:warning] if args.key?(:warning)
20865
21159
  end
20866
21160
 
20867
- # Informational warning which replaces the list of security policies when the
21161
+ # Informational warning which replaces the list of network attachments when the
20868
21162
  # list is empty.
20869
21163
  class Warning
20870
21164
  include Google::Apis::Core::Hashable
@@ -20878,7 +21172,319 @@ module Google
20878
21172
  # [Output Only] Metadata about this warning in key: value format. For example: "
20879
21173
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
20880
21174
  # Corresponds to the JSON property `data`
20881
- # @return [Array<Google::Apis::ComputeBeta::NetworkEdgeSecurityServicesScopedList::Warning::Datum>]
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
+
21227
+ # Represents a Google Cloud Armor network edge security service resource.
21228
+ class NetworkEdgeSecurityService
21229
+ include Google::Apis::Core::Hashable
21230
+
21231
+ # [Output Only] Creation timestamp in RFC3339 text format.
21232
+ # Corresponds to the JSON property `creationTimestamp`
21233
+ # @return [String]
21234
+ attr_accessor :creation_timestamp
21235
+
21236
+ # An optional description of this resource. Provide this property when you
21237
+ # create the resource.
21238
+ # Corresponds to the JSON property `description`
21239
+ # @return [String]
21240
+ attr_accessor :description
21241
+
21242
+ # Fingerprint of this resource. A hash of the contents stored in this object.
21243
+ # This field is used in optimistic locking. This field will be ignored when
21244
+ # inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be
21245
+ # provided in order to update the NetworkEdgeSecurityService, otherwise the
21246
+ # request will fail with error 412 conditionNotMet. To see the latest
21247
+ # fingerprint, make a get() request to retrieve a NetworkEdgeSecurityService.
21248
+ # Corresponds to the JSON property `fingerprint`
21249
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
21250
+ # @return [String]
21251
+ attr_accessor :fingerprint
21252
+
21253
+ # [Output Only] The unique identifier for the resource. This identifier is
21254
+ # defined by the server.
21255
+ # Corresponds to the JSON property `id`
21256
+ # @return [Fixnum]
21257
+ attr_accessor :id
21258
+
21259
+ # [Output only] Type of the resource. Always compute#networkEdgeSecurityService
21260
+ # for NetworkEdgeSecurityServices
21261
+ # Corresponds to the JSON property `kind`
21262
+ # @return [String]
21263
+ attr_accessor :kind
21264
+
21265
+ # Name of the resource. Provided by the client when the resource is created. The
21266
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
21267
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
21268
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
21269
+ # and all following characters must be a dash, lowercase letter, or digit,
21270
+ # except the last character, which cannot be a dash.
21271
+ # Corresponds to the JSON property `name`
21272
+ # @return [String]
21273
+ attr_accessor :name
21274
+
21275
+ # [Output Only] URL of the region where the resource resides. You must specify
21276
+ # this field as part of the HTTP request URL. It is not settable as a field in
21277
+ # the request body.
21278
+ # Corresponds to the JSON property `region`
21279
+ # @return [String]
21280
+ attr_accessor :region
21281
+
21282
+ # The resource URL for the network edge security service associated with this
21283
+ # network edge security service.
21284
+ # Corresponds to the JSON property `securityPolicy`
21285
+ # @return [String]
21286
+ attr_accessor :security_policy
21287
+
21288
+ # [Output Only] Server-defined URL for the resource.
21289
+ # Corresponds to the JSON property `selfLink`
21290
+ # @return [String]
21291
+ attr_accessor :self_link
21292
+
21293
+ # [Output Only] Server-defined URL for this resource with the resource id.
21294
+ # Corresponds to the JSON property `selfLinkWithId`
21295
+ # @return [String]
21296
+ attr_accessor :self_link_with_id
21297
+
21298
+ def initialize(**args)
21299
+ update!(**args)
21300
+ end
21301
+
21302
+ # Update properties of this object
21303
+ def update!(**args)
21304
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
21305
+ @description = args[:description] if args.key?(:description)
21306
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
21307
+ @id = args[:id] if args.key?(:id)
21308
+ @kind = args[:kind] if args.key?(:kind)
21309
+ @name = args[:name] if args.key?(:name)
21310
+ @region = args[:region] if args.key?(:region)
21311
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
21312
+ @self_link = args[:self_link] if args.key?(:self_link)
21313
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
21314
+ end
21315
+ end
21316
+
21317
+ #
21318
+ class NetworkEdgeSecurityServiceAggregatedList
21319
+ include Google::Apis::Core::Hashable
21320
+
21321
+ #
21322
+ # Corresponds to the JSON property `etag`
21323
+ # @return [String]
21324
+ attr_accessor :etag
21325
+
21326
+ # [Output Only] Unique identifier for the resource; defined by the server.
21327
+ # Corresponds to the JSON property `id`
21328
+ # @return [String]
21329
+ attr_accessor :id
21330
+
21331
+ # A list of NetworkEdgeSecurityServicesScopedList resources.
21332
+ # Corresponds to the JSON property `items`
21333
+ # @return [Hash<String,Google::Apis::ComputeBeta::NetworkEdgeSecurityServicesScopedList>]
21334
+ attr_accessor :items
21335
+
21336
+ # [Output Only] Type of resource. Always compute#
21337
+ # networkEdgeSecurityServiceAggregatedList for lists of Network Edge Security
21338
+ # Services.
21339
+ # Corresponds to the JSON property `kind`
21340
+ # @return [String]
21341
+ attr_accessor :kind
21342
+
21343
+ # [Output Only] This token allows you to get the next page of results for list
21344
+ # requests. If the number of results is larger than maxResults, use the
21345
+ # nextPageToken as a value for the query parameter pageToken in the next list
21346
+ # request. Subsequent list requests will have their own nextPageToken to
21347
+ # continue paging through the results.
21348
+ # Corresponds to the JSON property `nextPageToken`
21349
+ # @return [String]
21350
+ attr_accessor :next_page_token
21351
+
21352
+ # [Output Only] Server-defined URL for this resource.
21353
+ # Corresponds to the JSON property `selfLink`
21354
+ # @return [String]
21355
+ attr_accessor :self_link
21356
+
21357
+ # [Output Only] Unreachable resources.
21358
+ # Corresponds to the JSON property `unreachables`
21359
+ # @return [Array<String>]
21360
+ attr_accessor :unreachables
21361
+
21362
+ # [Output Only] Informational warning message.
21363
+ # Corresponds to the JSON property `warning`
21364
+ # @return [Google::Apis::ComputeBeta::NetworkEdgeSecurityServiceAggregatedList::Warning]
21365
+ attr_accessor :warning
21366
+
21367
+ def initialize(**args)
21368
+ update!(**args)
21369
+ end
21370
+
21371
+ # Update properties of this object
21372
+ def update!(**args)
21373
+ @etag = args[:etag] if args.key?(:etag)
21374
+ @id = args[:id] if args.key?(:id)
21375
+ @items = args[:items] if args.key?(:items)
21376
+ @kind = args[:kind] if args.key?(:kind)
21377
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
21378
+ @self_link = args[:self_link] if args.key?(:self_link)
21379
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
21380
+ @warning = args[:warning] if args.key?(:warning)
21381
+ end
21382
+
21383
+ # [Output Only] Informational warning message.
21384
+ class Warning
21385
+ include Google::Apis::Core::Hashable
21386
+
21387
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
21388
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
21389
+ # Corresponds to the JSON property `code`
21390
+ # @return [String]
21391
+ attr_accessor :code
21392
+
21393
+ # [Output Only] Metadata about this warning in key: value format. For example: "
21394
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
21395
+ # Corresponds to the JSON property `data`
21396
+ # @return [Array<Google::Apis::ComputeBeta::NetworkEdgeSecurityServiceAggregatedList::Warning::Datum>]
21397
+ attr_accessor :data
21398
+
21399
+ # [Output Only] A human-readable description of the warning code.
21400
+ # Corresponds to the JSON property `message`
21401
+ # @return [String]
21402
+ attr_accessor :message
21403
+
21404
+ def initialize(**args)
21405
+ update!(**args)
21406
+ end
21407
+
21408
+ # Update properties of this object
21409
+ def update!(**args)
21410
+ @code = args[:code] if args.key?(:code)
21411
+ @data = args[:data] if args.key?(:data)
21412
+ @message = args[:message] if args.key?(:message)
21413
+ end
21414
+
21415
+ #
21416
+ class Datum
21417
+ include Google::Apis::Core::Hashable
21418
+
21419
+ # [Output Only] A key that provides more detail on the warning being returned.
21420
+ # For example, for warnings where there are no results in a list request for a
21421
+ # particular zone, this key might be scope and the key value might be the zone
21422
+ # name. Other examples might be a key indicating a deprecated resource and a
21423
+ # suggested replacement, or a warning about invalid network settings (for
21424
+ # example, if an instance attempts to perform IP forwarding but is not enabled
21425
+ # for IP forwarding).
21426
+ # Corresponds to the JSON property `key`
21427
+ # @return [String]
21428
+ attr_accessor :key
21429
+
21430
+ # [Output Only] A warning data value corresponding to the key.
21431
+ # Corresponds to the JSON property `value`
21432
+ # @return [String]
21433
+ attr_accessor :value
21434
+
21435
+ def initialize(**args)
21436
+ update!(**args)
21437
+ end
21438
+
21439
+ # Update properties of this object
21440
+ def update!(**args)
21441
+ @key = args[:key] if args.key?(:key)
21442
+ @value = args[:value] if args.key?(:value)
21443
+ end
21444
+ end
21445
+ end
21446
+ end
21447
+
21448
+ #
21449
+ class NetworkEdgeSecurityServicesScopedList
21450
+ include Google::Apis::Core::Hashable
21451
+
21452
+ # A list of NetworkEdgeSecurityServices contained in this scope.
21453
+ # Corresponds to the JSON property `networkEdgeSecurityServices`
21454
+ # @return [Array<Google::Apis::ComputeBeta::NetworkEdgeSecurityService>]
21455
+ attr_accessor :network_edge_security_services
21456
+
21457
+ # Informational warning which replaces the list of security policies when the
21458
+ # list is empty.
21459
+ # Corresponds to the JSON property `warning`
21460
+ # @return [Google::Apis::ComputeBeta::NetworkEdgeSecurityServicesScopedList::Warning]
21461
+ attr_accessor :warning
21462
+
21463
+ def initialize(**args)
21464
+ update!(**args)
21465
+ end
21466
+
21467
+ # Update properties of this object
21468
+ def update!(**args)
21469
+ @network_edge_security_services = args[:network_edge_security_services] if args.key?(:network_edge_security_services)
21470
+ @warning = args[:warning] if args.key?(:warning)
21471
+ end
21472
+
21473
+ # Informational warning which replaces the list of security policies when the
21474
+ # list is empty.
21475
+ class Warning
21476
+ include Google::Apis::Core::Hashable
21477
+
21478
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
21479
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
21480
+ # Corresponds to the JSON property `code`
21481
+ # @return [String]
21482
+ attr_accessor :code
21483
+
21484
+ # [Output Only] Metadata about this warning in key: value format. For example: "
21485
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
21486
+ # Corresponds to the JSON property `data`
21487
+ # @return [Array<Google::Apis::ComputeBeta::NetworkEdgeSecurityServicesScopedList::Warning::Datum>]
20882
21488
  attr_accessor :data
20883
21489
 
20884
21490
  # [Output Only] A human-readable description of the warning code.
@@ -26553,6 +27159,11 @@ module Google
26553
27159
  # @return [Google::Apis::ComputeBeta::UsageExportLocation]
26554
27160
  attr_accessor :usage_export_location
26555
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
+
26556
27167
  # [Output Only] The role this project has in a shared VPC configuration.
26557
27168
  # Currently, only projects with the host role, which is specified by the value
26558
27169
  # HOST, are differentiated.
@@ -26578,6 +27189,7 @@ module Google
26578
27189
  @quotas = args[:quotas] if args.key?(:quotas)
26579
27190
  @self_link = args[:self_link] if args.key?(:self_link)
26580
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)
26581
27193
  @xpn_project_status = args[:xpn_project_status] if args.key?(:xpn_project_status)
26582
27194
  end
26583
27195
  end
@@ -29751,8 +30363,8 @@ module Google
29751
30363
  # @return [Fixnum]
29752
30364
  attr_accessor :amount
29753
30365
 
29754
- # Type of resource for which this commitment applies. Possible values are VCPU
29755
- # and MEMORY
30366
+ # Type of resource for which this commitment applies. Possible values are VCPU,
30367
+ # MEMORY, LOCAL_SSD, and ACCELERATOR.
29756
30368
  # Corresponds to the JSON property `type`
29757
30369
  # @return [String]
29758
30370
  attr_accessor :type
@@ -30650,6 +31262,11 @@ module Google
30650
31262
  # @return [String]
30651
31263
  attr_accessor :physical_host
30652
31264
 
31265
+ #
31266
+ # Corresponds to the JSON property `scheduling`
31267
+ # @return [Google::Apis::ComputeBeta::ResourceStatusScheduling]
31268
+ attr_accessor :scheduling
31269
+
30653
31270
  def initialize(**args)
30654
31271
  update!(**args)
30655
31272
  end
@@ -30657,6 +31274,26 @@ module Google
30657
31274
  # Update properties of this object
30658
31275
  def update!(**args)
30659
31276
  @physical_host = args[:physical_host] if args.key?(:physical_host)
31277
+ @scheduling = args[:scheduling] if args.key?(:scheduling)
31278
+ end
31279
+ end
31280
+
31281
+ #
31282
+ class ResourceStatusScheduling
31283
+ include Google::Apis::Core::Hashable
31284
+
31285
+ # Time in future when the instance will be terminated in RFC3339 text format.
31286
+ # Corresponds to the JSON property `terminationTimestamp`
31287
+ # @return [String]
31288
+ attr_accessor :termination_timestamp
31289
+
31290
+ def initialize(**args)
31291
+ update!(**args)
31292
+ end
31293
+
31294
+ # Update properties of this object
31295
+ def update!(**args)
31296
+ @termination_timestamp = args[:termination_timestamp] if args.key?(:termination_timestamp)
30660
31297
  end
30661
31298
  end
30662
31299
 
@@ -34318,6 +34955,14 @@ module Google
34318
34955
  # @return [String]
34319
34956
  attr_accessor :enforce_on_key
34320
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
+
34321
34966
  # Rate limit key name applicable only for the following key types: HTTP_HEADER --
34322
34967
  # Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE --
34323
34968
  # Name of the HTTP cookie whose value is taken as the key value.
@@ -34355,6 +35000,7 @@ module Google
34355
35000
  @ban_threshold = args[:ban_threshold] if args.key?(:ban_threshold)
34356
35001
  @conform_action = args[:conform_action] if args.key?(:conform_action)
34357
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)
34358
35004
  @enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name)
34359
35005
  @exceed_action = args[:exceed_action] if args.key?(:exceed_action)
34360
35006
  @exceed_redirect_options = args[:exceed_redirect_options] if args.key?(:exceed_redirect_options)
@@ -34362,6 +35008,51 @@ module Google
34362
35008
  end
34363
35009
  end
34364
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
+
34365
35056
  #
34366
35057
  class SecurityPolicyRuleRateLimitOptionsThreshold
34367
35058
  include Google::Apis::Core::Hashable
@@ -34422,6 +35113,14 @@ module Google
34422
35113
  # @return [String]
34423
35114
  attr_accessor :authentication
34424
35115
 
35116
+ # Contains the configurations necessary to generate a signature for access to
35117
+ # private storage buckets that support Signature Version 4 for authentication.
35118
+ # The service name for generating the authentication header will always default
35119
+ # to 's3'.
35120
+ # Corresponds to the JSON property `awsV4Authentication`
35121
+ # @return [Google::Apis::ComputeBeta::Awsv4Signature]
35122
+ attr_accessor :aws_v4_authentication
35123
+
34425
35124
  # Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that
34426
35125
  # describes how clients should authenticate with this service's backends.
34427
35126
  # clientTlsPolicy only applies to a global BackendService with the
@@ -34454,6 +35153,7 @@ module Google
34454
35153
  # Update properties of this object
34455
35154
  def update!(**args)
34456
35155
  @authentication = args[:authentication] if args.key?(:authentication)
35156
+ @aws_v4_authentication = args[:aws_v4_authentication] if args.key?(:aws_v4_authentication)
34457
35157
  @client_tls_policy = args[:client_tls_policy] if args.key?(:client_tls_policy)
34458
35158
  @subject_alt_names = args[:subject_alt_names] if args.key?(:subject_alt_names)
34459
35159
  end
@@ -34869,6 +35569,11 @@ module Google
34869
35569
  # @return [Fixnum]
34870
35570
  attr_accessor :connection_limit
34871
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
+
34872
35577
  # The project id or number for the project to set the limit for.
34873
35578
  # Corresponds to the JSON property `projectIdOrNum`
34874
35579
  # @return [String]
@@ -34881,6 +35586,7 @@ module Google
34881
35586
  # Update properties of this object
34882
35587
  def update!(**args)
34883
35588
  @connection_limit = args[:connection_limit] if args.key?(:connection_limit)
35589
+ @network_url = args[:network_url] if args.key?(:network_url)
34884
35590
  @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num)
34885
35591
  end
34886
35592
  end
@@ -42321,6 +43027,22 @@ module Google
42321
43027
  # @return [String]
42322
43028
  attr_accessor :path_prefix_rewrite
42323
43029
 
43030
+ # If specified, the pattern rewrites the URL path (based on the :path header)
43031
+ # using the HTTP template syntax. A corresponding path_template_match must be
43032
+ # specified. Any template variables must exist in the path_template_match field.
43033
+ # - -At least one variable must be specified in the path_template_match field -
43034
+ # You can omit variables from the rewritten URL - The * and ** operators cannot
43035
+ # be matched unless they have a corresponding variable name - e.g. `format=*` or
43036
+ # `var=**`. For example, a path_template_match of /static/`format=**` could be
43037
+ # rewritten as /static/content/`format` to prefix /content to the URL. Variables
43038
+ # can also be re-ordered in a rewrite, so that /`country`/`format`/`suffix=**`
43039
+ # can be rewritten as /content/`format`/`country`/`suffix`. At least one non-
43040
+ # empty routeRules[].matchRules[].path_template_match is required. Only one of
43041
+ # path_prefix_rewrite or path_template_rewrite may be specified.
43042
+ # Corresponds to the JSON property `pathTemplateRewrite`
43043
+ # @return [String]
43044
+ attr_accessor :path_template_rewrite
43045
+
42324
43046
  def initialize(**args)
42325
43047
  update!(**args)
42326
43048
  end
@@ -42329,6 +43051,7 @@ module Google
42329
43051
  def update!(**args)
42330
43052
  @host_rewrite = args[:host_rewrite] if args.key?(:host_rewrite)
42331
43053
  @path_prefix_rewrite = args[:path_prefix_rewrite] if args.key?(:path_prefix_rewrite)
43054
+ @path_template_rewrite = args[:path_template_rewrite] if args.key?(:path_template_rewrite)
42332
43055
  end
42333
43056
  end
42334
43057