google-apis-compute_v1 0.28.0 → 0.31.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.
@@ -3145,6 +3145,15 @@ module Google
3145
3145
  # @return [String]
3146
3146
  attr_accessor :load_balancing_scheme
3147
3147
 
3148
+ # A list of locality load balancing policies to be used in order of preference.
3149
+ # Either the policy or the customPolicy field should be set. Overrides any value
3150
+ # set in the localityLbPolicy field. localityLbPolicies is only supported when
3151
+ # the BackendService is referenced by a URL Map that is referenced by a target
3152
+ # gRPC proxy that has the validateForProxyless field set to true.
3153
+ # Corresponds to the JSON property `localityLbPolicies`
3154
+ # @return [Array<Google::Apis::ComputeV1::BackendServiceLocalityLoadBalancingPolicyConfig>]
3155
+ attr_accessor :locality_lb_policies
3156
+
3148
3157
  # The load balancing algorithm used within the scope of the locality. The
3149
3158
  # possible values are: - ROUND_ROBIN: This is a simple policy in which each
3150
3159
  # healthy backend is selected in round robin order. This is the default. -
@@ -3276,12 +3285,13 @@ module Google
3276
3285
  attr_accessor :subsetting
3277
3286
 
3278
3287
  # The backend service timeout has a different meaning depending on the type of
3279
- # load balancer. For more information see, Backend service settings The default
3280
- # is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647
3281
- # seconds. This value can be overridden in the PathMatcher configuration of the
3282
- # UrlMap that references this backend service. Not supported when the backend
3283
- # service is referenced by a URL map that is bound to target gRPC proxy that has
3284
- # validateForProxyless field set to true. Instead, use maxStreamDuration.
3288
+ # load balancer. For more information see, Backend service settings. The default
3289
+ # is 30 seconds. The full range of timeout values allowed goes from 1 through 2,
3290
+ # 147,483,647 seconds. This value can be overridden in the PathMatcher
3291
+ # configuration of the UrlMap that references this backend service. Not
3292
+ # supported when the backend service is referenced by a URL map that is bound to
3293
+ # target gRPC proxy that has validateForProxyless field set to true. Instead,
3294
+ # use maxStreamDuration.
3285
3295
  # Corresponds to the JSON property `timeoutSec`
3286
3296
  # @return [Fixnum]
3287
3297
  attr_accessor :timeout_sec
@@ -3312,6 +3322,7 @@ module Google
3312
3322
  @id = args[:id] if args.key?(:id)
3313
3323
  @kind = args[:kind] if args.key?(:kind)
3314
3324
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3325
+ @locality_lb_policies = args[:locality_lb_policies] if args.key?(:locality_lb_policies)
3315
3326
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
3316
3327
  @log_config = args[:log_config] if args.key?(:log_config)
3317
3328
  @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
@@ -3977,6 +3988,88 @@ module Google
3977
3988
  end
3978
3989
  end
3979
3990
 
3991
+ # Container for either a built-in LB policy supported by gRPC or Envoy or a
3992
+ # custom one implemented by the end user.
3993
+ class BackendServiceLocalityLoadBalancingPolicyConfig
3994
+ include Google::Apis::Core::Hashable
3995
+
3996
+ # The configuration for a custom policy implemented by the user and deployed
3997
+ # with the client.
3998
+ # Corresponds to the JSON property `customPolicy`
3999
+ # @return [Google::Apis::ComputeV1::BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy]
4000
+ attr_accessor :custom_policy
4001
+
4002
+ # The configuration for a built-in load balancing policy.
4003
+ # Corresponds to the JSON property `policy`
4004
+ # @return [Google::Apis::ComputeV1::BackendServiceLocalityLoadBalancingPolicyConfigPolicy]
4005
+ attr_accessor :policy
4006
+
4007
+ def initialize(**args)
4008
+ update!(**args)
4009
+ end
4010
+
4011
+ # Update properties of this object
4012
+ def update!(**args)
4013
+ @custom_policy = args[:custom_policy] if args.key?(:custom_policy)
4014
+ @policy = args[:policy] if args.key?(:policy)
4015
+ end
4016
+ end
4017
+
4018
+ # The configuration for a custom policy implemented by the user and deployed
4019
+ # with the client.
4020
+ class BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy
4021
+ include Google::Apis::Core::Hashable
4022
+
4023
+ # An optional, arbitrary JSON object with configuration data, understood by a
4024
+ # locally installed custom policy implementation.
4025
+ # Corresponds to the JSON property `data`
4026
+ # @return [String]
4027
+ attr_accessor :data
4028
+
4029
+ # Identifies the custom policy. The value should match the type the custom
4030
+ # implementation is registered with on the gRPC clients. It should follow
4031
+ # protocol buffer message naming conventions and include the full path (e.g.
4032
+ # myorg.CustomLbPolicy). The maximum length is 256 characters. Note that
4033
+ # specifying the same custom policy more than once for a backend is not a valid
4034
+ # configuration and will be rejected.
4035
+ # Corresponds to the JSON property `name`
4036
+ # @return [String]
4037
+ attr_accessor :name
4038
+
4039
+ def initialize(**args)
4040
+ update!(**args)
4041
+ end
4042
+
4043
+ # Update properties of this object
4044
+ def update!(**args)
4045
+ @data = args[:data] if args.key?(:data)
4046
+ @name = args[:name] if args.key?(:name)
4047
+ end
4048
+ end
4049
+
4050
+ # The configuration for a built-in load balancing policy.
4051
+ class BackendServiceLocalityLoadBalancingPolicyConfigPolicy
4052
+ include Google::Apis::Core::Hashable
4053
+
4054
+ # The name of a locality load balancer policy to be used. The value should be
4055
+ # one of the predefined ones as supported by localityLbPolicy, although at the
4056
+ # moment only ROUND_ROBIN is supported. This field should only be populated when
4057
+ # the customPolicy field is not used. Note that specifying the same policy more
4058
+ # than once for a backend is not a valid configuration and will be rejected.
4059
+ # Corresponds to the JSON property `name`
4060
+ # @return [String]
4061
+ attr_accessor :name
4062
+
4063
+ def initialize(**args)
4064
+ update!(**args)
4065
+ end
4066
+
4067
+ # Update properties of this object
4068
+ def update!(**args)
4069
+ @name = args[:name] if args.key?(:name)
4070
+ end
4071
+ end
4072
+
3980
4073
  # The available logging options for the load balancer traffic served by this
3981
4074
  # backend service.
3982
4075
  class BackendServiceLogConfig
@@ -8148,6 +8241,12 @@ module Google
8148
8241
  # @return [Fixnum]
8149
8242
  attr_accessor :priority
8150
8243
 
8244
+ # An optional name for the rule. This field is not a unique identifier and can
8245
+ # be updated.
8246
+ # Corresponds to the JSON property `ruleName`
8247
+ # @return [String]
8248
+ attr_accessor :rule_name
8249
+
8151
8250
  # [Output Only] Calculation of the complexity of a single firewall policy rule.
8152
8251
  # Corresponds to the JSON property `ruleTupleCount`
8153
8252
  # @return [Fixnum]
@@ -8192,6 +8291,7 @@ module Google
8192
8291
  @kind = args[:kind] if args.key?(:kind)
8193
8292
  @match = args[:match] if args.key?(:match)
8194
8293
  @priority = args[:priority] if args.key?(:priority)
8294
+ @rule_name = args[:rule_name] if args.key?(:rule_name)
8195
8295
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
8196
8296
  @target_resources = args[:target_resources] if args.key?(:target_resources)
8197
8297
  @target_secure_tags = args[:target_secure_tags] if args.key?(:target_secure_tags)
@@ -9205,13 +9305,9 @@ module Google
9205
9305
  # @return [String]
9206
9306
  attr_accessor :label_fingerprint
9207
9307
 
9208
- # A list of labels to apply for this resource. Each label key & value must
9209
- # comply with RFC1035. Specifically, the name must be 1-63 characters long and
9210
- # match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
9211
- # first character must be a lowercase letter, and all following characters must
9212
- # be a dash, lowercase letter, or digit, except the last character, which cannot
9213
- # be a dash. For example, "webserver-frontend": "images". A label value can also
9214
- # be empty (e.g. "my-label": "").
9308
+ # A list of labels to apply for this resource. Each label must comply with the
9309
+ # requirements for labels. For example, "webserver-frontend": "images". A label
9310
+ # value can also be empty (e.g. "my-label": "").
9215
9311
  # Corresponds to the JSON property `labels`
9216
9312
  # @return [Hash<String,String>]
9217
9313
  attr_accessor :labels
@@ -9394,9 +9490,9 @@ module Google
9394
9490
 
9395
9491
  # The ID of a supported feature. To add multiple values, use commas to separate
9396
9492
  # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
9397
- # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - SECURE_BOOT - GVNIC -
9398
- # SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE For more information,
9399
- # see Enabling guest operating system features.
9493
+ # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
9494
+ # SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE For more information, see Enabling
9495
+ # guest operating system features.
9400
9496
  # Corresponds to the JSON property `type`
9401
9497
  # @return [String]
9402
9498
  attr_accessor :type
@@ -19224,125 +19320,45 @@ module Google
19224
19320
  end
19225
19321
  end
19226
19322
 
19227
- # The network endpoint.
19228
- class NetworkEndpoint
19229
- include Google::Apis::Core::Hashable
19230
-
19231
- # Metadata defined as annotations on the network endpoint.
19232
- # Corresponds to the JSON property `annotations`
19233
- # @return [Hash<String,String>]
19234
- attr_accessor :annotations
19235
-
19236
- # Optional fully qualified domain name of network endpoint. This can only be
19237
- # specified when NetworkEndpointGroup.network_endpoint_type is NON_GCP_FQDN_PORT.
19238
- # Corresponds to the JSON property `fqdn`
19239
- # @return [String]
19240
- attr_accessor :fqdn
19241
-
19242
- # The name for a specific VM instance that the IP address belongs to. This is
19243
- # required for network endpoints of type GCE_VM_IP_PORT. The instance must be in
19244
- # the same zone of network endpoint group. The name must be 1-63 characters long,
19245
- # and comply with RFC1035.
19246
- # Corresponds to the JSON property `instance`
19247
- # @return [String]
19248
- attr_accessor :instance
19249
-
19250
- # Optional IPv4 address of network endpoint. The IP address must belong to a VM
19251
- # in Compute Engine (either the primary IP or as part of an aliased IP range).
19252
- # If the IP address is not specified, then the primary IP address for the VM
19253
- # instance in the network that the network endpoint group belongs to will be
19254
- # used.
19255
- # Corresponds to the JSON property `ipAddress`
19256
- # @return [String]
19257
- attr_accessor :ip_address
19258
-
19259
- # Optional port number of network endpoint. If not specified, the defaultPort
19260
- # for the network endpoint group will be used.
19261
- # Corresponds to the JSON property `port`
19262
- # @return [Fixnum]
19263
- attr_accessor :port
19264
-
19265
- def initialize(**args)
19266
- update!(**args)
19267
- end
19268
-
19269
- # Update properties of this object
19270
- def update!(**args)
19271
- @annotations = args[:annotations] if args.key?(:annotations)
19272
- @fqdn = args[:fqdn] if args.key?(:fqdn)
19273
- @instance = args[:instance] if args.key?(:instance)
19274
- @ip_address = args[:ip_address] if args.key?(:ip_address)
19275
- @port = args[:port] if args.key?(:port)
19276
- end
19277
- end
19278
-
19279
- # Represents a collection of network endpoints. A network endpoint group (NEG)
19280
- # defines how a set of endpoints should be reached, whether they are reachable,
19281
- # and where they are located. For more information about using NEGs, see Setting
19282
- # up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs,
19283
- # or Setting up external HTTP(S) Load Balancing with serverless NEGs.
19284
- class NetworkEndpointGroup
19323
+ # Represents a Google Cloud Armor network edge security service resource.
19324
+ class NetworkEdgeSecurityService
19285
19325
  include Google::Apis::Core::Hashable
19286
19326
 
19287
- # Metadata defined as annotations on the network endpoint group.
19288
- # Corresponds to the JSON property `annotations`
19289
- # @return [Hash<String,String>]
19290
- attr_accessor :annotations
19291
-
19292
- # Configuration for an App Engine network endpoint group (NEG). The service is
19293
- # optional, may be provided explicitly or in the URL mask. The version is
19294
- # optional and can only be provided explicitly or in the URL mask when service
19295
- # is present. Note: App Engine service must be in the same project and located
19296
- # in the same region as the Serverless NEG.
19297
- # Corresponds to the JSON property `appEngine`
19298
- # @return [Google::Apis::ComputeV1::NetworkEndpointGroupAppEngine]
19299
- attr_accessor :app_engine
19300
-
19301
- # Configuration for a Cloud Function network endpoint group (NEG). The function
19302
- # must be provided explicitly or in the URL mask. Note: Cloud Function must be
19303
- # in the same project and located in the same region as the Serverless NEG.
19304
- # Corresponds to the JSON property `cloudFunction`
19305
- # @return [Google::Apis::ComputeV1::NetworkEndpointGroupCloudFunction]
19306
- attr_accessor :cloud_function
19307
-
19308
- # Configuration for a Cloud Run network endpoint group (NEG). The service must
19309
- # be provided explicitly or in the URL mask. The tag is optional, may be
19310
- # provided explicitly or in the URL mask. Note: Cloud Run service must be in the
19311
- # same project and located in the same region as the Serverless NEG.
19312
- # Corresponds to the JSON property `cloudRun`
19313
- # @return [Google::Apis::ComputeV1::NetworkEndpointGroupCloudRun]
19314
- attr_accessor :cloud_run
19315
-
19316
19327
  # [Output Only] Creation timestamp in RFC3339 text format.
19317
19328
  # Corresponds to the JSON property `creationTimestamp`
19318
19329
  # @return [String]
19319
19330
  attr_accessor :creation_timestamp
19320
19331
 
19321
- # The default port used if the port number is not specified in the network
19322
- # endpoint.
19323
- # Corresponds to the JSON property `defaultPort`
19324
- # @return [Fixnum]
19325
- attr_accessor :default_port
19326
-
19327
19332
  # An optional description of this resource. Provide this property when you
19328
19333
  # create the resource.
19329
19334
  # Corresponds to the JSON property `description`
19330
19335
  # @return [String]
19331
19336
  attr_accessor :description
19332
19337
 
19338
+ # Fingerprint of this resource. A hash of the contents stored in this object.
19339
+ # This field is used in optimistic locking. This field will be ignored when
19340
+ # inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be
19341
+ # provided in order to update the NetworkEdgeSecurityService, otherwise the
19342
+ # request will fail with error 412 conditionNotMet. To see the latest
19343
+ # fingerprint, make a get() request to retrieve a NetworkEdgeSecurityService.
19344
+ # Corresponds to the JSON property `fingerprint`
19345
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
19346
+ # @return [String]
19347
+ attr_accessor :fingerprint
19348
+
19333
19349
  # [Output Only] The unique identifier for the resource. This identifier is
19334
19350
  # defined by the server.
19335
19351
  # Corresponds to the JSON property `id`
19336
19352
  # @return [Fixnum]
19337
19353
  attr_accessor :id
19338
19354
 
19339
- # [Output Only] Type of the resource. Always compute#networkEndpointGroup for
19340
- # network endpoint group.
19355
+ # [Output only] Type of the resource. Always compute#networkEdgeSecurityService
19356
+ # for NetworkEdgeSecurityServices
19341
19357
  # Corresponds to the JSON property `kind`
19342
19358
  # @return [String]
19343
19359
  attr_accessor :kind
19344
19360
 
19345
- # Name of the resource; provided by the client when the resource is created. The
19361
+ # Name of the resource. Provided by the client when the resource is created. The
19346
19362
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
19347
19363
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
19348
19364
  # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
@@ -19352,51 +19368,28 @@ module Google
19352
19368
  # @return [String]
19353
19369
  attr_accessor :name
19354
19370
 
19355
- # The URL of the network to which all network endpoints in the NEG belong. Uses "
19356
- # default" project network if unspecified.
19357
- # Corresponds to the JSON property `network`
19358
- # @return [String]
19359
- attr_accessor :network
19360
-
19361
- # Type of network endpoints in this network endpoint group. Can be one of
19362
- # GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT,
19363
- # INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT.
19364
- # Corresponds to the JSON property `networkEndpointType`
19365
- # @return [String]
19366
- attr_accessor :network_endpoint_type
19367
-
19368
- # The target service url used to set up private service connection to a Google
19369
- # API. An example value is: "asia-northeast3-cloudkms.googleapis.com"
19370
- # Corresponds to the JSON property `pscTargetService`
19371
- # @return [String]
19372
- attr_accessor :psc_target_service
19373
-
19374
- # [Output Only] The URL of the region where the network endpoint group is
19375
- # located.
19371
+ # [Output Only] URL of the region where the resource resides. You must specify
19372
+ # this field as part of the HTTP request URL. It is not settable as a field in
19373
+ # the request body.
19376
19374
  # Corresponds to the JSON property `region`
19377
19375
  # @return [String]
19378
19376
  attr_accessor :region
19379
19377
 
19378
+ # The resource URL for the network edge security service associated with this
19379
+ # network edge security service.
19380
+ # Corresponds to the JSON property `securityPolicy`
19381
+ # @return [String]
19382
+ attr_accessor :security_policy
19383
+
19380
19384
  # [Output Only] Server-defined URL for the resource.
19381
19385
  # Corresponds to the JSON property `selfLink`
19382
19386
  # @return [String]
19383
19387
  attr_accessor :self_link
19384
19388
 
19385
- # [Output only] Number of network endpoints in the network endpoint group.
19386
- # Corresponds to the JSON property `size`
19387
- # @return [Fixnum]
19388
- attr_accessor :size
19389
-
19390
- # Optional URL of the subnetwork to which all network endpoints in the NEG
19391
- # belong.
19392
- # Corresponds to the JSON property `subnetwork`
19393
- # @return [String]
19394
- attr_accessor :subnetwork
19395
-
19396
- # [Output Only] The URL of the zone where the network endpoint group is located.
19397
- # Corresponds to the JSON property `zone`
19389
+ # [Output Only] Server-defined URL for this resource with the resource id.
19390
+ # Corresponds to the JSON property `selfLinkWithId`
19398
19391
  # @return [String]
19399
- attr_accessor :zone
19392
+ attr_accessor :self_link_with_id
19400
19393
 
19401
19394
  def initialize(**args)
19402
19395
  update!(**args)
@@ -19404,44 +19397,41 @@ module Google
19404
19397
 
19405
19398
  # Update properties of this object
19406
19399
  def update!(**args)
19407
- @annotations = args[:annotations] if args.key?(:annotations)
19408
- @app_engine = args[:app_engine] if args.key?(:app_engine)
19409
- @cloud_function = args[:cloud_function] if args.key?(:cloud_function)
19410
- @cloud_run = args[:cloud_run] if args.key?(:cloud_run)
19411
19400
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
19412
- @default_port = args[:default_port] if args.key?(:default_port)
19413
19401
  @description = args[:description] if args.key?(:description)
19402
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
19414
19403
  @id = args[:id] if args.key?(:id)
19415
19404
  @kind = args[:kind] if args.key?(:kind)
19416
19405
  @name = args[:name] if args.key?(:name)
19417
- @network = args[:network] if args.key?(:network)
19418
- @network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
19419
- @psc_target_service = args[:psc_target_service] if args.key?(:psc_target_service)
19420
19406
  @region = args[:region] if args.key?(:region)
19407
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
19421
19408
  @self_link = args[:self_link] if args.key?(:self_link)
19422
- @size = args[:size] if args.key?(:size)
19423
- @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
19424
- @zone = args[:zone] if args.key?(:zone)
19409
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
19425
19410
  end
19426
19411
  end
19427
19412
 
19428
19413
  #
19429
- class NetworkEndpointGroupAggregatedList
19414
+ class NetworkEdgeSecurityServiceAggregatedList
19430
19415
  include Google::Apis::Core::Hashable
19431
19416
 
19417
+ #
19418
+ # Corresponds to the JSON property `etag`
19419
+ # @return [String]
19420
+ attr_accessor :etag
19421
+
19432
19422
  # [Output Only] Unique identifier for the resource; defined by the server.
19433
19423
  # Corresponds to the JSON property `id`
19434
19424
  # @return [String]
19435
19425
  attr_accessor :id
19436
19426
 
19437
- # A list of NetworkEndpointGroupsScopedList resources.
19427
+ # A list of NetworkEdgeSecurityServicesScopedList resources.
19438
19428
  # Corresponds to the JSON property `items`
19439
- # @return [Hash<String,Google::Apis::ComputeV1::NetworkEndpointGroupsScopedList>]
19429
+ # @return [Hash<String,Google::Apis::ComputeV1::NetworkEdgeSecurityServicesScopedList>]
19440
19430
  attr_accessor :items
19441
19431
 
19442
- # [Output Only] The resource type, which is always compute#
19443
- # networkEndpointGroupAggregatedList for aggregated lists of network endpoint
19444
- # groups.
19432
+ # [Output Only] Type of resource. Always compute#
19433
+ # networkEdgeSecurityServiceAggregatedList for lists of Network Edge Security
19434
+ # Services.
19445
19435
  # Corresponds to the JSON property `kind`
19446
19436
  # @return [String]
19447
19437
  attr_accessor :kind
@@ -19467,7 +19457,7 @@ module Google
19467
19457
 
19468
19458
  # [Output Only] Informational warning message.
19469
19459
  # Corresponds to the JSON property `warning`
19470
- # @return [Google::Apis::ComputeV1::NetworkEndpointGroupAggregatedList::Warning]
19460
+ # @return [Google::Apis::ComputeV1::NetworkEdgeSecurityServiceAggregatedList::Warning]
19471
19461
  attr_accessor :warning
19472
19462
 
19473
19463
  def initialize(**args)
@@ -19476,6 +19466,7 @@ module Google
19476
19466
 
19477
19467
  # Update properties of this object
19478
19468
  def update!(**args)
19469
+ @etag = args[:etag] if args.key?(:etag)
19479
19470
  @id = args[:id] if args.key?(:id)
19480
19471
  @items = args[:items] if args.key?(:items)
19481
19472
  @kind = args[:kind] if args.key?(:kind)
@@ -19498,7 +19489,7 @@ module Google
19498
19489
  # [Output Only] Metadata about this warning in key: value format. For example: "
19499
19490
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
19500
19491
  # Corresponds to the JSON property `data`
19501
- # @return [Array<Google::Apis::ComputeV1::NetworkEndpointGroupAggregatedList::Warning::Datum>]
19492
+ # @return [Array<Google::Apis::ComputeV1::NetworkEdgeSecurityServiceAggregatedList::Warning::Datum>]
19502
19493
  attr_accessor :data
19503
19494
 
19504
19495
  # [Output Only] A human-readable description of the warning code.
@@ -19550,30 +19541,447 @@ module Google
19550
19541
  end
19551
19542
  end
19552
19543
 
19553
- # Configuration for an App Engine network endpoint group (NEG). The service is
19554
- # optional, may be provided explicitly or in the URL mask. The version is
19555
- # optional and can only be provided explicitly or in the URL mask when service
19556
- # is present. Note: App Engine service must be in the same project and located
19557
- # in the same region as the Serverless NEG.
19558
- class NetworkEndpointGroupAppEngine
19544
+ #
19545
+ class NetworkEdgeSecurityServicesScopedList
19559
19546
  include Google::Apis::Core::Hashable
19560
19547
 
19561
- # Optional serving service. The service name is case-sensitive and must be 1-63
19562
- # characters long. Example value: "default", "my-service".
19563
- # Corresponds to the JSON property `service`
19564
- # @return [String]
19565
- attr_accessor :service
19548
+ # A list of NetworkEdgeSecurityServices contained in this scope.
19549
+ # Corresponds to the JSON property `networkEdgeSecurityServices`
19550
+ # @return [Array<Google::Apis::ComputeV1::NetworkEdgeSecurityService>]
19551
+ attr_accessor :network_edge_security_services
19566
19552
 
19567
- # A template to parse service and version fields from a request URL. URL mask
19568
- # allows for routing to multiple App Engine services without having to create
19569
- # multiple Network Endpoint Groups and backend services. For example, the
19570
- # request URLs "foo1-dot-appname.appspot.com/v1" and "foo1-dot-appname.appspot.
19571
- # com/v2" can be backed by the same Serverless NEG with URL mask "-dot-appname.
19572
- # appspot.com/". The URL mask will parse them to ` service = "foo1", version = "
19573
- # v1" ` and ` service = "foo1", version = "v2" ` respectively.
19574
- # Corresponds to the JSON property `urlMask`
19575
- # @return [String]
19576
- attr_accessor :url_mask
19553
+ # Informational warning which replaces the list of security policies when the
19554
+ # list is empty.
19555
+ # Corresponds to the JSON property `warning`
19556
+ # @return [Google::Apis::ComputeV1::NetworkEdgeSecurityServicesScopedList::Warning]
19557
+ attr_accessor :warning
19558
+
19559
+ def initialize(**args)
19560
+ update!(**args)
19561
+ end
19562
+
19563
+ # Update properties of this object
19564
+ def update!(**args)
19565
+ @network_edge_security_services = args[:network_edge_security_services] if args.key?(:network_edge_security_services)
19566
+ @warning = args[:warning] if args.key?(:warning)
19567
+ end
19568
+
19569
+ # Informational warning which replaces the list of security policies when the
19570
+ # list is empty.
19571
+ class Warning
19572
+ include Google::Apis::Core::Hashable
19573
+
19574
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
19575
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
19576
+ # Corresponds to the JSON property `code`
19577
+ # @return [String]
19578
+ attr_accessor :code
19579
+
19580
+ # [Output Only] Metadata about this warning in key: value format. For example: "
19581
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
19582
+ # Corresponds to the JSON property `data`
19583
+ # @return [Array<Google::Apis::ComputeV1::NetworkEdgeSecurityServicesScopedList::Warning::Datum>]
19584
+ attr_accessor :data
19585
+
19586
+ # [Output Only] A human-readable description of the warning code.
19587
+ # Corresponds to the JSON property `message`
19588
+ # @return [String]
19589
+ attr_accessor :message
19590
+
19591
+ def initialize(**args)
19592
+ update!(**args)
19593
+ end
19594
+
19595
+ # Update properties of this object
19596
+ def update!(**args)
19597
+ @code = args[:code] if args.key?(:code)
19598
+ @data = args[:data] if args.key?(:data)
19599
+ @message = args[:message] if args.key?(:message)
19600
+ end
19601
+
19602
+ #
19603
+ class Datum
19604
+ include Google::Apis::Core::Hashable
19605
+
19606
+ # [Output Only] A key that provides more detail on the warning being returned.
19607
+ # For example, for warnings where there are no results in a list request for a
19608
+ # particular zone, this key might be scope and the key value might be the zone
19609
+ # name. Other examples might be a key indicating a deprecated resource and a
19610
+ # suggested replacement, or a warning about invalid network settings (for
19611
+ # example, if an instance attempts to perform IP forwarding but is not enabled
19612
+ # for IP forwarding).
19613
+ # Corresponds to the JSON property `key`
19614
+ # @return [String]
19615
+ attr_accessor :key
19616
+
19617
+ # [Output Only] A warning data value corresponding to the key.
19618
+ # Corresponds to the JSON property `value`
19619
+ # @return [String]
19620
+ attr_accessor :value
19621
+
19622
+ def initialize(**args)
19623
+ update!(**args)
19624
+ end
19625
+
19626
+ # Update properties of this object
19627
+ def update!(**args)
19628
+ @key = args[:key] if args.key?(:key)
19629
+ @value = args[:value] if args.key?(:value)
19630
+ end
19631
+ end
19632
+ end
19633
+ end
19634
+
19635
+ # The network endpoint.
19636
+ class NetworkEndpoint
19637
+ include Google::Apis::Core::Hashable
19638
+
19639
+ # Metadata defined as annotations on the network endpoint.
19640
+ # Corresponds to the JSON property `annotations`
19641
+ # @return [Hash<String,String>]
19642
+ attr_accessor :annotations
19643
+
19644
+ # Optional fully qualified domain name of network endpoint. This can only be
19645
+ # specified when NetworkEndpointGroup.network_endpoint_type is NON_GCP_FQDN_PORT.
19646
+ # Corresponds to the JSON property `fqdn`
19647
+ # @return [String]
19648
+ attr_accessor :fqdn
19649
+
19650
+ # The name for a specific VM instance that the IP address belongs to. This is
19651
+ # required for network endpoints of type GCE_VM_IP_PORT. The instance must be in
19652
+ # the same zone of network endpoint group. The name must be 1-63 characters long,
19653
+ # and comply with RFC1035.
19654
+ # Corresponds to the JSON property `instance`
19655
+ # @return [String]
19656
+ attr_accessor :instance
19657
+
19658
+ # Optional IPv4 address of network endpoint. The IP address must belong to a VM
19659
+ # in Compute Engine (either the primary IP or as part of an aliased IP range).
19660
+ # If the IP address is not specified, then the primary IP address for the VM
19661
+ # instance in the network that the network endpoint group belongs to will be
19662
+ # used.
19663
+ # Corresponds to the JSON property `ipAddress`
19664
+ # @return [String]
19665
+ attr_accessor :ip_address
19666
+
19667
+ # Optional port number of network endpoint. If not specified, the defaultPort
19668
+ # for the network endpoint group will be used.
19669
+ # Corresponds to the JSON property `port`
19670
+ # @return [Fixnum]
19671
+ attr_accessor :port
19672
+
19673
+ def initialize(**args)
19674
+ update!(**args)
19675
+ end
19676
+
19677
+ # Update properties of this object
19678
+ def update!(**args)
19679
+ @annotations = args[:annotations] if args.key?(:annotations)
19680
+ @fqdn = args[:fqdn] if args.key?(:fqdn)
19681
+ @instance = args[:instance] if args.key?(:instance)
19682
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
19683
+ @port = args[:port] if args.key?(:port)
19684
+ end
19685
+ end
19686
+
19687
+ # Represents a collection of network endpoints. A network endpoint group (NEG)
19688
+ # defines how a set of endpoints should be reached, whether they are reachable,
19689
+ # and where they are located. For more information about using NEGs, see Setting
19690
+ # up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs,
19691
+ # or Setting up external HTTP(S) Load Balancing with serverless NEGs.
19692
+ class NetworkEndpointGroup
19693
+ include Google::Apis::Core::Hashable
19694
+
19695
+ # Metadata defined as annotations on the network endpoint group.
19696
+ # Corresponds to the JSON property `annotations`
19697
+ # @return [Hash<String,String>]
19698
+ attr_accessor :annotations
19699
+
19700
+ # Configuration for an App Engine network endpoint group (NEG). The service is
19701
+ # optional, may be provided explicitly or in the URL mask. The version is
19702
+ # optional and can only be provided explicitly or in the URL mask when service
19703
+ # is present. Note: App Engine service must be in the same project and located
19704
+ # in the same region as the Serverless NEG.
19705
+ # Corresponds to the JSON property `appEngine`
19706
+ # @return [Google::Apis::ComputeV1::NetworkEndpointGroupAppEngine]
19707
+ attr_accessor :app_engine
19708
+
19709
+ # Configuration for a Cloud Function network endpoint group (NEG). The function
19710
+ # must be provided explicitly or in the URL mask. Note: Cloud Function must be
19711
+ # in the same project and located in the same region as the Serverless NEG.
19712
+ # Corresponds to the JSON property `cloudFunction`
19713
+ # @return [Google::Apis::ComputeV1::NetworkEndpointGroupCloudFunction]
19714
+ attr_accessor :cloud_function
19715
+
19716
+ # Configuration for a Cloud Run network endpoint group (NEG). The service must
19717
+ # be provided explicitly or in the URL mask. The tag is optional, may be
19718
+ # provided explicitly or in the URL mask. Note: Cloud Run service must be in the
19719
+ # same project and located in the same region as the Serverless NEG.
19720
+ # Corresponds to the JSON property `cloudRun`
19721
+ # @return [Google::Apis::ComputeV1::NetworkEndpointGroupCloudRun]
19722
+ attr_accessor :cloud_run
19723
+
19724
+ # [Output Only] Creation timestamp in RFC3339 text format.
19725
+ # Corresponds to the JSON property `creationTimestamp`
19726
+ # @return [String]
19727
+ attr_accessor :creation_timestamp
19728
+
19729
+ # The default port used if the port number is not specified in the network
19730
+ # endpoint.
19731
+ # Corresponds to the JSON property `defaultPort`
19732
+ # @return [Fixnum]
19733
+ attr_accessor :default_port
19734
+
19735
+ # An optional description of this resource. Provide this property when you
19736
+ # create the resource.
19737
+ # Corresponds to the JSON property `description`
19738
+ # @return [String]
19739
+ attr_accessor :description
19740
+
19741
+ # [Output Only] The unique identifier for the resource. This identifier is
19742
+ # defined by the server.
19743
+ # Corresponds to the JSON property `id`
19744
+ # @return [Fixnum]
19745
+ attr_accessor :id
19746
+
19747
+ # [Output Only] Type of the resource. Always compute#networkEndpointGroup for
19748
+ # network endpoint group.
19749
+ # Corresponds to the JSON property `kind`
19750
+ # @return [String]
19751
+ attr_accessor :kind
19752
+
19753
+ # Name of the resource; provided by the client when the resource is created. The
19754
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
19755
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
19756
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
19757
+ # and all following characters must be a dash, lowercase letter, or digit,
19758
+ # except the last character, which cannot be a dash.
19759
+ # Corresponds to the JSON property `name`
19760
+ # @return [String]
19761
+ attr_accessor :name
19762
+
19763
+ # The URL of the network to which all network endpoints in the NEG belong. Uses "
19764
+ # default" project network if unspecified.
19765
+ # Corresponds to the JSON property `network`
19766
+ # @return [String]
19767
+ attr_accessor :network
19768
+
19769
+ # Type of network endpoints in this network endpoint group. Can be one of
19770
+ # GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT,
19771
+ # INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT.
19772
+ # Corresponds to the JSON property `networkEndpointType`
19773
+ # @return [String]
19774
+ attr_accessor :network_endpoint_type
19775
+
19776
+ # The target service url used to set up private service connection to a Google
19777
+ # API. An example value is: "asia-northeast3-cloudkms.googleapis.com"
19778
+ # Corresponds to the JSON property `pscTargetService`
19779
+ # @return [String]
19780
+ attr_accessor :psc_target_service
19781
+
19782
+ # [Output Only] The URL of the region where the network endpoint group is
19783
+ # located.
19784
+ # Corresponds to the JSON property `region`
19785
+ # @return [String]
19786
+ attr_accessor :region
19787
+
19788
+ # [Output Only] Server-defined URL for the resource.
19789
+ # Corresponds to the JSON property `selfLink`
19790
+ # @return [String]
19791
+ attr_accessor :self_link
19792
+
19793
+ # [Output only] Number of network endpoints in the network endpoint group.
19794
+ # Corresponds to the JSON property `size`
19795
+ # @return [Fixnum]
19796
+ attr_accessor :size
19797
+
19798
+ # Optional URL of the subnetwork to which all network endpoints in the NEG
19799
+ # belong.
19800
+ # Corresponds to the JSON property `subnetwork`
19801
+ # @return [String]
19802
+ attr_accessor :subnetwork
19803
+
19804
+ # [Output Only] The URL of the zone where the network endpoint group is located.
19805
+ # Corresponds to the JSON property `zone`
19806
+ # @return [String]
19807
+ attr_accessor :zone
19808
+
19809
+ def initialize(**args)
19810
+ update!(**args)
19811
+ end
19812
+
19813
+ # Update properties of this object
19814
+ def update!(**args)
19815
+ @annotations = args[:annotations] if args.key?(:annotations)
19816
+ @app_engine = args[:app_engine] if args.key?(:app_engine)
19817
+ @cloud_function = args[:cloud_function] if args.key?(:cloud_function)
19818
+ @cloud_run = args[:cloud_run] if args.key?(:cloud_run)
19819
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
19820
+ @default_port = args[:default_port] if args.key?(:default_port)
19821
+ @description = args[:description] if args.key?(:description)
19822
+ @id = args[:id] if args.key?(:id)
19823
+ @kind = args[:kind] if args.key?(:kind)
19824
+ @name = args[:name] if args.key?(:name)
19825
+ @network = args[:network] if args.key?(:network)
19826
+ @network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
19827
+ @psc_target_service = args[:psc_target_service] if args.key?(:psc_target_service)
19828
+ @region = args[:region] if args.key?(:region)
19829
+ @self_link = args[:self_link] if args.key?(:self_link)
19830
+ @size = args[:size] if args.key?(:size)
19831
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
19832
+ @zone = args[:zone] if args.key?(:zone)
19833
+ end
19834
+ end
19835
+
19836
+ #
19837
+ class NetworkEndpointGroupAggregatedList
19838
+ include Google::Apis::Core::Hashable
19839
+
19840
+ # [Output Only] Unique identifier for the resource; defined by the server.
19841
+ # Corresponds to the JSON property `id`
19842
+ # @return [String]
19843
+ attr_accessor :id
19844
+
19845
+ # A list of NetworkEndpointGroupsScopedList resources.
19846
+ # Corresponds to the JSON property `items`
19847
+ # @return [Hash<String,Google::Apis::ComputeV1::NetworkEndpointGroupsScopedList>]
19848
+ attr_accessor :items
19849
+
19850
+ # [Output Only] The resource type, which is always compute#
19851
+ # networkEndpointGroupAggregatedList for aggregated lists of network endpoint
19852
+ # groups.
19853
+ # Corresponds to the JSON property `kind`
19854
+ # @return [String]
19855
+ attr_accessor :kind
19856
+
19857
+ # [Output Only] This token allows you to get the next page of results for list
19858
+ # requests. If the number of results is larger than maxResults, use the
19859
+ # nextPageToken as a value for the query parameter pageToken in the next list
19860
+ # request. Subsequent list requests will have their own nextPageToken to
19861
+ # continue paging through the results.
19862
+ # Corresponds to the JSON property `nextPageToken`
19863
+ # @return [String]
19864
+ attr_accessor :next_page_token
19865
+
19866
+ # [Output Only] Server-defined URL for this resource.
19867
+ # Corresponds to the JSON property `selfLink`
19868
+ # @return [String]
19869
+ attr_accessor :self_link
19870
+
19871
+ # [Output Only] Unreachable resources.
19872
+ # Corresponds to the JSON property `unreachables`
19873
+ # @return [Array<String>]
19874
+ attr_accessor :unreachables
19875
+
19876
+ # [Output Only] Informational warning message.
19877
+ # Corresponds to the JSON property `warning`
19878
+ # @return [Google::Apis::ComputeV1::NetworkEndpointGroupAggregatedList::Warning]
19879
+ attr_accessor :warning
19880
+
19881
+ def initialize(**args)
19882
+ update!(**args)
19883
+ end
19884
+
19885
+ # Update properties of this object
19886
+ def update!(**args)
19887
+ @id = args[:id] if args.key?(:id)
19888
+ @items = args[:items] if args.key?(:items)
19889
+ @kind = args[:kind] if args.key?(:kind)
19890
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
19891
+ @self_link = args[:self_link] if args.key?(:self_link)
19892
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
19893
+ @warning = args[:warning] if args.key?(:warning)
19894
+ end
19895
+
19896
+ # [Output Only] Informational warning message.
19897
+ class Warning
19898
+ include Google::Apis::Core::Hashable
19899
+
19900
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
19901
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
19902
+ # Corresponds to the JSON property `code`
19903
+ # @return [String]
19904
+ attr_accessor :code
19905
+
19906
+ # [Output Only] Metadata about this warning in key: value format. For example: "
19907
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
19908
+ # Corresponds to the JSON property `data`
19909
+ # @return [Array<Google::Apis::ComputeV1::NetworkEndpointGroupAggregatedList::Warning::Datum>]
19910
+ attr_accessor :data
19911
+
19912
+ # [Output Only] A human-readable description of the warning code.
19913
+ # Corresponds to the JSON property `message`
19914
+ # @return [String]
19915
+ attr_accessor :message
19916
+
19917
+ def initialize(**args)
19918
+ update!(**args)
19919
+ end
19920
+
19921
+ # Update properties of this object
19922
+ def update!(**args)
19923
+ @code = args[:code] if args.key?(:code)
19924
+ @data = args[:data] if args.key?(:data)
19925
+ @message = args[:message] if args.key?(:message)
19926
+ end
19927
+
19928
+ #
19929
+ class Datum
19930
+ include Google::Apis::Core::Hashable
19931
+
19932
+ # [Output Only] A key that provides more detail on the warning being returned.
19933
+ # For example, for warnings where there are no results in a list request for a
19934
+ # particular zone, this key might be scope and the key value might be the zone
19935
+ # name. Other examples might be a key indicating a deprecated resource and a
19936
+ # suggested replacement, or a warning about invalid network settings (for
19937
+ # example, if an instance attempts to perform IP forwarding but is not enabled
19938
+ # for IP forwarding).
19939
+ # Corresponds to the JSON property `key`
19940
+ # @return [String]
19941
+ attr_accessor :key
19942
+
19943
+ # [Output Only] A warning data value corresponding to the key.
19944
+ # Corresponds to the JSON property `value`
19945
+ # @return [String]
19946
+ attr_accessor :value
19947
+
19948
+ def initialize(**args)
19949
+ update!(**args)
19950
+ end
19951
+
19952
+ # Update properties of this object
19953
+ def update!(**args)
19954
+ @key = args[:key] if args.key?(:key)
19955
+ @value = args[:value] if args.key?(:value)
19956
+ end
19957
+ end
19958
+ end
19959
+ end
19960
+
19961
+ # Configuration for an App Engine network endpoint group (NEG). The service is
19962
+ # optional, may be provided explicitly or in the URL mask. The version is
19963
+ # optional and can only be provided explicitly or in the URL mask when service
19964
+ # is present. Note: App Engine service must be in the same project and located
19965
+ # in the same region as the Serverless NEG.
19966
+ class NetworkEndpointGroupAppEngine
19967
+ include Google::Apis::Core::Hashable
19968
+
19969
+ # Optional serving service. The service name is case-sensitive and must be 1-63
19970
+ # characters long. Example value: "default", "my-service".
19971
+ # Corresponds to the JSON property `service`
19972
+ # @return [String]
19973
+ attr_accessor :service
19974
+
19975
+ # A template to parse service and version fields from a request URL. URL mask
19976
+ # allows for routing to multiple App Engine services without having to create
19977
+ # multiple Network Endpoint Groups and backend services. For example, the
19978
+ # request URLs "foo1-dot-appname.appspot.com/v1" and "foo1-dot-appname.appspot.
19979
+ # com/v2" can be backed by the same Serverless NEG with URL mask "-dot-appname.
19980
+ # appspot.com/". The URL mask will parse them to ` service = "foo1", version = "
19981
+ # v1" ` and ` service = "foo1", version = "v2" ` respectively.
19982
+ # Corresponds to the JSON property `urlMask`
19983
+ # @return [String]
19984
+ attr_accessor :url_mask
19577
19985
 
19578
19986
  # Optional serving version. The version name is case-sensitive and must be 1-100
19579
19987
  # characters long. Example value: "v1", "v2".
@@ -20134,7 +20542,8 @@ module Google
20134
20542
  attr_accessor :kind
20135
20543
 
20136
20544
  # [Output Only] The name of the network interface, which is generated by the
20137
- # server. For network devices, these are eth0, eth1, etc.
20545
+ # server. For a VM, the network interface uses the nicN naming format. Where N
20546
+ # is a value between 0 and 7. The default interface value is nic0.
20138
20547
  # Corresponds to the JSON property `name`
20139
20548
  # @return [String]
20140
20549
  attr_accessor :name
@@ -28510,6 +28919,11 @@ module Google
28510
28919
  # @return [Fixnum]
28511
28920
  attr_accessor :priority
28512
28921
 
28922
+ # [Output only] The status of the route.
28923
+ # Corresponds to the JSON property `routeStatus`
28924
+ # @return [String]
28925
+ attr_accessor :route_status
28926
+
28513
28927
  # [Output Only] The type of this route, which can be one of the following values:
28514
28928
  # - 'TRANSIT' for a transit route that this router learned from another Cloud
28515
28929
  # Router and will readvertise to one of its BGP peers - 'SUBNET' for a route
@@ -28557,6 +28971,7 @@ module Google
28557
28971
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
28558
28972
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
28559
28973
  @priority = args[:priority] if args.key?(:priority)
28974
+ @route_status = args[:route_status] if args.key?(:route_status)
28560
28975
  @route_type = args[:route_type] if args.key?(:route_type)
28561
28976
  @self_link = args[:self_link] if args.key?(:self_link)
28562
28977
  @tags = args[:tags] if args.key?(:tags)
@@ -30626,6 +31041,136 @@ module Google
30626
31041
  end
30627
31042
  end
30628
31043
 
31044
+ #
31045
+ class SecurityPoliciesAggregatedList
31046
+ include Google::Apis::Core::Hashable
31047
+
31048
+ #
31049
+ # Corresponds to the JSON property `etag`
31050
+ # @return [String]
31051
+ attr_accessor :etag
31052
+
31053
+ # [Output Only] Unique identifier for the resource; defined by the server.
31054
+ # Corresponds to the JSON property `id`
31055
+ # @return [String]
31056
+ attr_accessor :id
31057
+
31058
+ # A list of SecurityPoliciesScopedList resources.
31059
+ # Corresponds to the JSON property `items`
31060
+ # @return [Hash<String,Google::Apis::ComputeV1::SecurityPoliciesScopedList>]
31061
+ attr_accessor :items
31062
+
31063
+ # [Output Only] Type of resource. Always compute#securityPolicyAggregatedList
31064
+ # for lists of Security Policies.
31065
+ # Corresponds to the JSON property `kind`
31066
+ # @return [String]
31067
+ attr_accessor :kind
31068
+
31069
+ # [Output Only] This token allows you to get the next page of results for list
31070
+ # requests. If the number of results is larger than maxResults, use the
31071
+ # nextPageToken as a value for the query parameter pageToken in the next list
31072
+ # request. Subsequent list requests will have their own nextPageToken to
31073
+ # continue paging through the results.
31074
+ # Corresponds to the JSON property `nextPageToken`
31075
+ # @return [String]
31076
+ attr_accessor :next_page_token
31077
+
31078
+ # [Output Only] Server-defined URL for this resource.
31079
+ # Corresponds to the JSON property `selfLink`
31080
+ # @return [String]
31081
+ attr_accessor :self_link
31082
+
31083
+ # [Output Only] Unreachable resources.
31084
+ # Corresponds to the JSON property `unreachables`
31085
+ # @return [Array<String>]
31086
+ attr_accessor :unreachables
31087
+
31088
+ # [Output Only] Informational warning message.
31089
+ # Corresponds to the JSON property `warning`
31090
+ # @return [Google::Apis::ComputeV1::SecurityPoliciesAggregatedList::Warning]
31091
+ attr_accessor :warning
31092
+
31093
+ def initialize(**args)
31094
+ update!(**args)
31095
+ end
31096
+
31097
+ # Update properties of this object
31098
+ def update!(**args)
31099
+ @etag = args[:etag] if args.key?(:etag)
31100
+ @id = args[:id] if args.key?(:id)
31101
+ @items = args[:items] if args.key?(:items)
31102
+ @kind = args[:kind] if args.key?(:kind)
31103
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
31104
+ @self_link = args[:self_link] if args.key?(:self_link)
31105
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
31106
+ @warning = args[:warning] if args.key?(:warning)
31107
+ end
31108
+
31109
+ # [Output Only] Informational warning message.
31110
+ class Warning
31111
+ include Google::Apis::Core::Hashable
31112
+
31113
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
31114
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
31115
+ # Corresponds to the JSON property `code`
31116
+ # @return [String]
31117
+ attr_accessor :code
31118
+
31119
+ # [Output Only] Metadata about this warning in key: value format. For example: "
31120
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
31121
+ # Corresponds to the JSON property `data`
31122
+ # @return [Array<Google::Apis::ComputeV1::SecurityPoliciesAggregatedList::Warning::Datum>]
31123
+ attr_accessor :data
31124
+
31125
+ # [Output Only] A human-readable description of the warning code.
31126
+ # Corresponds to the JSON property `message`
31127
+ # @return [String]
31128
+ attr_accessor :message
31129
+
31130
+ def initialize(**args)
31131
+ update!(**args)
31132
+ end
31133
+
31134
+ # Update properties of this object
31135
+ def update!(**args)
31136
+ @code = args[:code] if args.key?(:code)
31137
+ @data = args[:data] if args.key?(:data)
31138
+ @message = args[:message] if args.key?(:message)
31139
+ end
31140
+
31141
+ #
31142
+ class Datum
31143
+ include Google::Apis::Core::Hashable
31144
+
31145
+ # [Output Only] A key that provides more detail on the warning being returned.
31146
+ # For example, for warnings where there are no results in a list request for a
31147
+ # particular zone, this key might be scope and the key value might be the zone
31148
+ # name. Other examples might be a key indicating a deprecated resource and a
31149
+ # suggested replacement, or a warning about invalid network settings (for
31150
+ # example, if an instance attempts to perform IP forwarding but is not enabled
31151
+ # for IP forwarding).
31152
+ # Corresponds to the JSON property `key`
31153
+ # @return [String]
31154
+ attr_accessor :key
31155
+
31156
+ # [Output Only] A warning data value corresponding to the key.
31157
+ # Corresponds to the JSON property `value`
31158
+ # @return [String]
31159
+ attr_accessor :value
31160
+
31161
+ def initialize(**args)
31162
+ update!(**args)
31163
+ end
31164
+
31165
+ # Update properties of this object
31166
+ def update!(**args)
31167
+ @key = args[:key] if args.key?(:key)
31168
+ @value = args[:value] if args.key?(:value)
31169
+ end
31170
+ end
31171
+ end
31172
+ end
31173
+
30629
31174
  #
30630
31175
  class SecurityPoliciesListPreconfiguredExpressionSetsResponse
30631
31176
  include Google::Apis::Core::Hashable
@@ -30645,6 +31190,97 @@ module Google
30645
31190
  end
30646
31191
  end
30647
31192
 
31193
+ #
31194
+ class SecurityPoliciesScopedList
31195
+ include Google::Apis::Core::Hashable
31196
+
31197
+ # A list of SecurityPolicies contained in this scope.
31198
+ # Corresponds to the JSON property `securityPolicies`
31199
+ # @return [Array<Google::Apis::ComputeV1::SecurityPolicy>]
31200
+ attr_accessor :security_policies
31201
+
31202
+ # Informational warning which replaces the list of security policies when the
31203
+ # list is empty.
31204
+ # Corresponds to the JSON property `warning`
31205
+ # @return [Google::Apis::ComputeV1::SecurityPoliciesScopedList::Warning]
31206
+ attr_accessor :warning
31207
+
31208
+ def initialize(**args)
31209
+ update!(**args)
31210
+ end
31211
+
31212
+ # Update properties of this object
31213
+ def update!(**args)
31214
+ @security_policies = args[:security_policies] if args.key?(:security_policies)
31215
+ @warning = args[:warning] if args.key?(:warning)
31216
+ end
31217
+
31218
+ # Informational warning which replaces the list of security policies when the
31219
+ # list is empty.
31220
+ class Warning
31221
+ include Google::Apis::Core::Hashable
31222
+
31223
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
31224
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
31225
+ # Corresponds to the JSON property `code`
31226
+ # @return [String]
31227
+ attr_accessor :code
31228
+
31229
+ # [Output Only] Metadata about this warning in key: value format. For example: "
31230
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
31231
+ # Corresponds to the JSON property `data`
31232
+ # @return [Array<Google::Apis::ComputeV1::SecurityPoliciesScopedList::Warning::Datum>]
31233
+ attr_accessor :data
31234
+
31235
+ # [Output Only] A human-readable description of the warning code.
31236
+ # Corresponds to the JSON property `message`
31237
+ # @return [String]
31238
+ attr_accessor :message
31239
+
31240
+ def initialize(**args)
31241
+ update!(**args)
31242
+ end
31243
+
31244
+ # Update properties of this object
31245
+ def update!(**args)
31246
+ @code = args[:code] if args.key?(:code)
31247
+ @data = args[:data] if args.key?(:data)
31248
+ @message = args[:message] if args.key?(:message)
31249
+ end
31250
+
31251
+ #
31252
+ class Datum
31253
+ include Google::Apis::Core::Hashable
31254
+
31255
+ # [Output Only] A key that provides more detail on the warning being returned.
31256
+ # For example, for warnings where there are no results in a list request for a
31257
+ # particular zone, this key might be scope and the key value might be the zone
31258
+ # name. Other examples might be a key indicating a deprecated resource and a
31259
+ # suggested replacement, or a warning about invalid network settings (for
31260
+ # example, if an instance attempts to perform IP forwarding but is not enabled
31261
+ # for IP forwarding).
31262
+ # Corresponds to the JSON property `key`
31263
+ # @return [String]
31264
+ attr_accessor :key
31265
+
31266
+ # [Output Only] A warning data value corresponding to the key.
31267
+ # Corresponds to the JSON property `value`
31268
+ # @return [String]
31269
+ attr_accessor :value
31270
+
31271
+ def initialize(**args)
31272
+ update!(**args)
31273
+ end
31274
+
31275
+ # Update properties of this object
31276
+ def update!(**args)
31277
+ @key = args[:key] if args.key?(:key)
31278
+ @value = args[:value] if args.key?(:value)
31279
+ end
31280
+ end
31281
+ end
31282
+ end
31283
+
30648
31284
  #
30649
31285
  class SecurityPoliciesWafConfig
30650
31286
  include Google::Apis::Core::Hashable
@@ -30685,6 +31321,11 @@ module Google
30685
31321
  # @return [String]
30686
31322
  attr_accessor :creation_timestamp
30687
31323
 
31324
+ #
31325
+ # Corresponds to the JSON property `ddosProtectionConfig`
31326
+ # @return [Google::Apis::ComputeV1::SecurityPolicyDdosProtectionConfig]
31327
+ attr_accessor :ddos_protection_config
31328
+
30688
31329
  # An optional description of this resource. Provide this property when you
30689
31330
  # create the resource.
30690
31331
  # Corresponds to the JSON property `description`
@@ -30730,6 +31371,12 @@ module Google
30730
31371
  # @return [Google::Apis::ComputeV1::SecurityPolicyRecaptchaOptionsConfig]
30731
31372
  attr_accessor :recaptcha_options_config
30732
31373
 
31374
+ # [Output Only] URL of the region where the regional security policy resides.
31375
+ # This field is not applicable to global security policies.
31376
+ # Corresponds to the JSON property `region`
31377
+ # @return [String]
31378
+ attr_accessor :region
31379
+
30733
31380
  # A list of rules that belong to this policy. There must always be a default
30734
31381
  # rule (rule with priority 2147483647 and match "*"). If no rules are provided
30735
31382
  # when creating a security policy, a default rule with action "allow" will be
@@ -30767,12 +31414,14 @@ module Google
30767
31414
  @adaptive_protection_config = args[:adaptive_protection_config] if args.key?(:adaptive_protection_config)
30768
31415
  @advanced_options_config = args[:advanced_options_config] if args.key?(:advanced_options_config)
30769
31416
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
31417
+ @ddos_protection_config = args[:ddos_protection_config] if args.key?(:ddos_protection_config)
30770
31418
  @description = args[:description] if args.key?(:description)
30771
31419
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
30772
31420
  @id = args[:id] if args.key?(:id)
30773
31421
  @kind = args[:kind] if args.key?(:kind)
30774
31422
  @name = args[:name] if args.key?(:name)
30775
31423
  @recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
31424
+ @region = args[:region] if args.key?(:region)
30776
31425
  @rules = args[:rules] if args.key?(:rules)
30777
31426
  @self_link = args[:self_link] if args.key?(:self_link)
30778
31427
  @type = args[:type] if args.key?(:type)
@@ -30850,6 +31499,25 @@ module Google
30850
31499
  end
30851
31500
  end
30852
31501
 
31502
+ #
31503
+ class SecurityPolicyDdosProtectionConfig
31504
+ include Google::Apis::Core::Hashable
31505
+
31506
+ #
31507
+ # Corresponds to the JSON property `ddosProtection`
31508
+ # @return [String]
31509
+ attr_accessor :ddos_protection
31510
+
31511
+ def initialize(**args)
31512
+ update!(**args)
31513
+ end
31514
+
31515
+ # Update properties of this object
31516
+ def update!(**args)
31517
+ @ddos_protection = args[:ddos_protection] if args.key?(:ddos_protection)
31518
+ end
31519
+ end
31520
+
30853
31521
  #
30854
31522
  class SecurityPolicyList
30855
31523
  include Google::Apis::Core::Hashable
@@ -33628,7 +34296,7 @@ module Google
33628
34296
  attr_accessor :enable_flow_logs
33629
34297
  alias_method :enable_flow_logs?, :enable_flow_logs
33630
34298
 
33631
- # [Output Only] The range of external IPv6 addresses that are owned by this
34299
+ # [Output Only] The external IPv6 address range that is assigned to this
33632
34300
  # subnetwork.
33633
34301
  # Corresponds to the JSON property `externalIpv6Prefix`
33634
34302
  # @return [String]
@@ -33657,9 +34325,8 @@ module Google
33657
34325
  # @return [Fixnum]
33658
34326
  attr_accessor :id
33659
34327
 
33660
- # [Output Only] The range of internal IPv6 addresses that are owned by this
33661
- # subnetwork. Note this is for general VM to VM communication, not to be
33662
- # confused with the ipv6_cidr_range field.
34328
+ # [Output Only] The internal IPv6 address range that is assigned to this
34329
+ # subnetwork.
33663
34330
  # Corresponds to the JSON property `internalIpv6Prefix`
33664
34331
  # @return [String]
33665
34332
  attr_accessor :internal_ipv6_prefix
@@ -33676,14 +34343,12 @@ module Google
33676
34343
 
33677
34344
  # The access type of IPv6 address this subnet holds. It's immutable and can only
33678
34345
  # be specified during creation or the first time the subnet is updated into
33679
- # IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot
33680
- # enable direct path.
34346
+ # IPV4_IPV6 dual stack.
33681
34347
  # Corresponds to the JSON property `ipv6AccessType`
33682
34348
  # @return [String]
33683
34349
  attr_accessor :ipv6_access_type
33684
34350
 
33685
- # [Output Only] The range of internal IPv6 addresses that are owned by this
33686
- # subnetwork. Note this will be for private google access only eventually.
34351
+ # [Output Only] This field is for internal use.
33687
34352
  # Corresponds to the JSON property `ipv6CidrRange`
33688
34353
  # @return [String]
33689
34354
  attr_accessor :ipv6_cidr_range
@@ -33724,10 +34389,8 @@ module Google
33724
34389
  attr_accessor :private_ip_google_access
33725
34390
  alias_method :private_ip_google_access?, :private_ip_google_access
33726
34391
 
33727
- # The private IPv6 google access type for the VMs in this subnet. This is an
33728
- # expanded field of enablePrivateV6Access. If both fields are set,
33729
- # privateIpv6GoogleAccess will take priority. This field can be both set at
33730
- # resource creation time and updated using patch.
34392
+ # This field is for internal use. This field can be both set at resource
34393
+ # creation time and updated using patch.
33731
34394
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
33732
34395
  # @return [String]
33733
34396
  attr_accessor :private_ipv6_google_access