google-apis-compute_v1 0.27.0 → 0.30.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1185,6 +1185,11 @@ module Google
1185
1185
  class AllocationSpecificSkuReservation
1186
1186
  include Google::Apis::Core::Hashable
1187
1187
 
1188
+ # [Output Only] Indicates how many instances are actually usable currently.
1189
+ # Corresponds to the JSON property `assuredCount`
1190
+ # @return [Fixnum]
1191
+ attr_accessor :assured_count
1192
+
1188
1193
  # Specifies the number of resources that are allocated.
1189
1194
  # Corresponds to the JSON property `count`
1190
1195
  # @return [Fixnum]
@@ -1206,6 +1211,7 @@ module Google
1206
1211
 
1207
1212
  # Update properties of this object
1208
1213
  def update!(**args)
1214
+ @assured_count = args[:assured_count] if args.key?(:assured_count)
1209
1215
  @count = args[:count] if args.key?(:count)
1210
1216
  @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
1211
1217
  @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
@@ -3270,12 +3276,13 @@ module Google
3270
3276
  attr_accessor :subsetting
3271
3277
 
3272
3278
  # The backend service timeout has a different meaning depending on the type of
3273
- # load balancer. For more information see, Backend service settings The default
3274
- # is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647
3275
- # seconds. This value can be overridden in the PathMatcher configuration of the
3276
- # UrlMap that references this backend service. Not supported when the backend
3277
- # service is referenced by a URL map that is bound to target gRPC proxy that has
3278
- # validateForProxyless field set to true. Instead, use maxStreamDuration.
3279
+ # load balancer. For more information see, Backend service settings. The default
3280
+ # is 30 seconds. The full range of timeout values allowed goes from 1 through 2,
3281
+ # 147,483,647 seconds. This value can be overridden in the PathMatcher
3282
+ # configuration of the UrlMap that references this backend service. Not
3283
+ # supported when the backend service is referenced by a URL map that is bound to
3284
+ # target gRPC proxy that has validateForProxyless field set to true. Instead,
3285
+ # use maxStreamDuration.
3279
3286
  # Corresponds to the JSON property `timeoutSec`
3280
3287
  # @return [Fixnum]
3281
3288
  attr_accessor :timeout_sec
@@ -9199,13 +9206,9 @@ module Google
9199
9206
  # @return [String]
9200
9207
  attr_accessor :label_fingerprint
9201
9208
 
9202
- # A list of labels to apply for this resource. Each label key & value must
9203
- # comply with RFC1035. Specifically, the name must be 1-63 characters long and
9204
- # match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
9205
- # first character must be a lowercase letter, and all following characters must
9206
- # be a dash, lowercase letter, or digit, except the last character, which cannot
9207
- # be a dash. For example, "webserver-frontend": "images". A label value can also
9208
- # be empty (e.g. "my-label": "").
9209
+ # A list of labels to apply for this resource. Each label must comply with the
9210
+ # requirements for labels. For example, "webserver-frontend": "images". A label
9211
+ # value can also be empty (e.g. "my-label": "").
9209
9212
  # Corresponds to the JSON property `labels`
9210
9213
  # @return [Hash<String,String>]
9211
9214
  attr_accessor :labels
@@ -9388,9 +9391,9 @@ module Google
9388
9391
 
9389
9392
  # The ID of a supported feature. To add multiple values, use commas to separate
9390
9393
  # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
9391
- # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - SECURE_BOOT - GVNIC -
9392
- # SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE For more information,
9393
- # see Enabling guest operating system features.
9394
+ # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
9395
+ # SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE For more information, see Enabling
9396
+ # guest operating system features.
9394
9397
  # Corresponds to the JSON property `type`
9395
9398
  # @return [String]
9396
9399
  attr_accessor :type
@@ -19218,125 +19221,45 @@ module Google
19218
19221
  end
19219
19222
  end
19220
19223
 
19221
- # The network endpoint.
19222
- class NetworkEndpoint
19223
- include Google::Apis::Core::Hashable
19224
-
19225
- # Metadata defined as annotations on the network endpoint.
19226
- # Corresponds to the JSON property `annotations`
19227
- # @return [Hash<String,String>]
19228
- attr_accessor :annotations
19229
-
19230
- # Optional fully qualified domain name of network endpoint. This can only be
19231
- # specified when NetworkEndpointGroup.network_endpoint_type is NON_GCP_FQDN_PORT.
19232
- # Corresponds to the JSON property `fqdn`
19233
- # @return [String]
19234
- attr_accessor :fqdn
19235
-
19236
- # The name for a specific VM instance that the IP address belongs to. This is
19237
- # required for network endpoints of type GCE_VM_IP_PORT. The instance must be in
19238
- # the same zone of network endpoint group. The name must be 1-63 characters long,
19239
- # and comply with RFC1035.
19240
- # Corresponds to the JSON property `instance`
19241
- # @return [String]
19242
- attr_accessor :instance
19243
-
19244
- # Optional IPv4 address of network endpoint. The IP address must belong to a VM
19245
- # in Compute Engine (either the primary IP or as part of an aliased IP range).
19246
- # If the IP address is not specified, then the primary IP address for the VM
19247
- # instance in the network that the network endpoint group belongs to will be
19248
- # used.
19249
- # Corresponds to the JSON property `ipAddress`
19250
- # @return [String]
19251
- attr_accessor :ip_address
19252
-
19253
- # Optional port number of network endpoint. If not specified, the defaultPort
19254
- # for the network endpoint group will be used.
19255
- # Corresponds to the JSON property `port`
19256
- # @return [Fixnum]
19257
- attr_accessor :port
19258
-
19259
- def initialize(**args)
19260
- update!(**args)
19261
- end
19262
-
19263
- # Update properties of this object
19264
- def update!(**args)
19265
- @annotations = args[:annotations] if args.key?(:annotations)
19266
- @fqdn = args[:fqdn] if args.key?(:fqdn)
19267
- @instance = args[:instance] if args.key?(:instance)
19268
- @ip_address = args[:ip_address] if args.key?(:ip_address)
19269
- @port = args[:port] if args.key?(:port)
19270
- end
19271
- end
19272
-
19273
- # Represents a collection of network endpoints. A network endpoint group (NEG)
19274
- # defines how a set of endpoints should be reached, whether they are reachable,
19275
- # and where they are located. For more information about using NEGs, see Setting
19276
- # up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs,
19277
- # or Setting up external HTTP(S) Load Balancing with serverless NEGs.
19278
- class NetworkEndpointGroup
19224
+ # Represents a Google Cloud Armor network edge security service resource.
19225
+ class NetworkEdgeSecurityService
19279
19226
  include Google::Apis::Core::Hashable
19280
19227
 
19281
- # Metadata defined as annotations on the network endpoint group.
19282
- # Corresponds to the JSON property `annotations`
19283
- # @return [Hash<String,String>]
19284
- attr_accessor :annotations
19285
-
19286
- # Configuration for an App Engine network endpoint group (NEG). The service is
19287
- # optional, may be provided explicitly or in the URL mask. The version is
19288
- # optional and can only be provided explicitly or in the URL mask when service
19289
- # is present. Note: App Engine service must be in the same project and located
19290
- # in the same region as the Serverless NEG.
19291
- # Corresponds to the JSON property `appEngine`
19292
- # @return [Google::Apis::ComputeV1::NetworkEndpointGroupAppEngine]
19293
- attr_accessor :app_engine
19294
-
19295
- # Configuration for a Cloud Function network endpoint group (NEG). The function
19296
- # must be provided explicitly or in the URL mask. Note: Cloud Function must be
19297
- # in the same project and located in the same region as the Serverless NEG.
19298
- # Corresponds to the JSON property `cloudFunction`
19299
- # @return [Google::Apis::ComputeV1::NetworkEndpointGroupCloudFunction]
19300
- attr_accessor :cloud_function
19301
-
19302
- # Configuration for a Cloud Run network endpoint group (NEG). The service must
19303
- # be provided explicitly or in the URL mask. The tag is optional, may be
19304
- # provided explicitly or in the URL mask. Note: Cloud Run service must be in the
19305
- # same project and located in the same region as the Serverless NEG.
19306
- # Corresponds to the JSON property `cloudRun`
19307
- # @return [Google::Apis::ComputeV1::NetworkEndpointGroupCloudRun]
19308
- attr_accessor :cloud_run
19309
-
19310
19228
  # [Output Only] Creation timestamp in RFC3339 text format.
19311
19229
  # Corresponds to the JSON property `creationTimestamp`
19312
19230
  # @return [String]
19313
19231
  attr_accessor :creation_timestamp
19314
19232
 
19315
- # The default port used if the port number is not specified in the network
19316
- # endpoint.
19317
- # Corresponds to the JSON property `defaultPort`
19318
- # @return [Fixnum]
19319
- attr_accessor :default_port
19320
-
19321
19233
  # An optional description of this resource. Provide this property when you
19322
19234
  # create the resource.
19323
19235
  # Corresponds to the JSON property `description`
19324
19236
  # @return [String]
19325
19237
  attr_accessor :description
19326
19238
 
19239
+ # Fingerprint of this resource. A hash of the contents stored in this object.
19240
+ # This field is used in optimistic locking. This field will be ignored when
19241
+ # inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be
19242
+ # provided in order to update the NetworkEdgeSecurityService, otherwise the
19243
+ # request will fail with error 412 conditionNotMet. To see the latest
19244
+ # fingerprint, make a get() request to retrieve a NetworkEdgeSecurityService.
19245
+ # Corresponds to the JSON property `fingerprint`
19246
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
19247
+ # @return [String]
19248
+ attr_accessor :fingerprint
19249
+
19327
19250
  # [Output Only] The unique identifier for the resource. This identifier is
19328
19251
  # defined by the server.
19329
19252
  # Corresponds to the JSON property `id`
19330
19253
  # @return [Fixnum]
19331
19254
  attr_accessor :id
19332
19255
 
19333
- # [Output Only] Type of the resource. Always compute#networkEndpointGroup for
19334
- # network endpoint group.
19256
+ # [Output only] Type of the resource. Always compute#networkEdgeSecurityService
19257
+ # for NetworkEdgeSecurityServices
19335
19258
  # Corresponds to the JSON property `kind`
19336
19259
  # @return [String]
19337
19260
  attr_accessor :kind
19338
19261
 
19339
- # Name of the resource; provided by the client when the resource is created. The
19262
+ # Name of the resource. Provided by the client when the resource is created. The
19340
19263
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
19341
19264
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
19342
19265
  # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
@@ -19346,51 +19269,28 @@ module Google
19346
19269
  # @return [String]
19347
19270
  attr_accessor :name
19348
19271
 
19349
- # The URL of the network to which all network endpoints in the NEG belong. Uses "
19350
- # default" project network if unspecified.
19351
- # Corresponds to the JSON property `network`
19352
- # @return [String]
19353
- attr_accessor :network
19354
-
19355
- # Type of network endpoints in this network endpoint group. Can be one of
19356
- # GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT,
19357
- # INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT.
19358
- # Corresponds to the JSON property `networkEndpointType`
19359
- # @return [String]
19360
- attr_accessor :network_endpoint_type
19361
-
19362
- # The target service url used to set up private service connection to a Google
19363
- # API. An example value is: "asia-northeast3-cloudkms.googleapis.com"
19364
- # Corresponds to the JSON property `pscTargetService`
19365
- # @return [String]
19366
- attr_accessor :psc_target_service
19367
-
19368
- # [Output Only] The URL of the region where the network endpoint group is
19369
- # located.
19272
+ # [Output Only] URL of the region where the resource resides. You must specify
19273
+ # this field as part of the HTTP request URL. It is not settable as a field in
19274
+ # the request body.
19370
19275
  # Corresponds to the JSON property `region`
19371
19276
  # @return [String]
19372
19277
  attr_accessor :region
19373
19278
 
19279
+ # The resource URL for the network edge security service associated with this
19280
+ # network edge security service.
19281
+ # Corresponds to the JSON property `securityPolicy`
19282
+ # @return [String]
19283
+ attr_accessor :security_policy
19284
+
19374
19285
  # [Output Only] Server-defined URL for the resource.
19375
19286
  # Corresponds to the JSON property `selfLink`
19376
19287
  # @return [String]
19377
19288
  attr_accessor :self_link
19378
19289
 
19379
- # [Output only] Number of network endpoints in the network endpoint group.
19380
- # Corresponds to the JSON property `size`
19381
- # @return [Fixnum]
19382
- attr_accessor :size
19383
-
19384
- # Optional URL of the subnetwork to which all network endpoints in the NEG
19385
- # belong.
19386
- # Corresponds to the JSON property `subnetwork`
19387
- # @return [String]
19388
- attr_accessor :subnetwork
19389
-
19390
- # [Output Only] The URL of the zone where the network endpoint group is located.
19391
- # Corresponds to the JSON property `zone`
19290
+ # [Output Only] Server-defined URL for this resource with the resource id.
19291
+ # Corresponds to the JSON property `selfLinkWithId`
19392
19292
  # @return [String]
19393
- attr_accessor :zone
19293
+ attr_accessor :self_link_with_id
19394
19294
 
19395
19295
  def initialize(**args)
19396
19296
  update!(**args)
@@ -19398,44 +19298,41 @@ module Google
19398
19298
 
19399
19299
  # Update properties of this object
19400
19300
  def update!(**args)
19401
- @annotations = args[:annotations] if args.key?(:annotations)
19402
- @app_engine = args[:app_engine] if args.key?(:app_engine)
19403
- @cloud_function = args[:cloud_function] if args.key?(:cloud_function)
19404
- @cloud_run = args[:cloud_run] if args.key?(:cloud_run)
19405
19301
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
19406
- @default_port = args[:default_port] if args.key?(:default_port)
19407
19302
  @description = args[:description] if args.key?(:description)
19303
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
19408
19304
  @id = args[:id] if args.key?(:id)
19409
19305
  @kind = args[:kind] if args.key?(:kind)
19410
19306
  @name = args[:name] if args.key?(:name)
19411
- @network = args[:network] if args.key?(:network)
19412
- @network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
19413
- @psc_target_service = args[:psc_target_service] if args.key?(:psc_target_service)
19414
19307
  @region = args[:region] if args.key?(:region)
19308
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
19415
19309
  @self_link = args[:self_link] if args.key?(:self_link)
19416
- @size = args[:size] if args.key?(:size)
19417
- @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
19418
- @zone = args[:zone] if args.key?(:zone)
19310
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
19419
19311
  end
19420
19312
  end
19421
19313
 
19422
19314
  #
19423
- class NetworkEndpointGroupAggregatedList
19315
+ class NetworkEdgeSecurityServiceAggregatedList
19424
19316
  include Google::Apis::Core::Hashable
19425
19317
 
19318
+ #
19319
+ # Corresponds to the JSON property `etag`
19320
+ # @return [String]
19321
+ attr_accessor :etag
19322
+
19426
19323
  # [Output Only] Unique identifier for the resource; defined by the server.
19427
19324
  # Corresponds to the JSON property `id`
19428
19325
  # @return [String]
19429
19326
  attr_accessor :id
19430
19327
 
19431
- # A list of NetworkEndpointGroupsScopedList resources.
19328
+ # A list of NetworkEdgeSecurityServicesScopedList resources.
19432
19329
  # Corresponds to the JSON property `items`
19433
- # @return [Hash<String,Google::Apis::ComputeV1::NetworkEndpointGroupsScopedList>]
19330
+ # @return [Hash<String,Google::Apis::ComputeV1::NetworkEdgeSecurityServicesScopedList>]
19434
19331
  attr_accessor :items
19435
19332
 
19436
- # [Output Only] The resource type, which is always compute#
19437
- # networkEndpointGroupAggregatedList for aggregated lists of network endpoint
19438
- # groups.
19333
+ # [Output Only] Type of resource. Always compute#
19334
+ # networkEdgeSecurityServiceAggregatedList for lists of Network Edge Security
19335
+ # Services.
19439
19336
  # Corresponds to the JSON property `kind`
19440
19337
  # @return [String]
19441
19338
  attr_accessor :kind
@@ -19461,7 +19358,7 @@ module Google
19461
19358
 
19462
19359
  # [Output Only] Informational warning message.
19463
19360
  # Corresponds to the JSON property `warning`
19464
- # @return [Google::Apis::ComputeV1::NetworkEndpointGroupAggregatedList::Warning]
19361
+ # @return [Google::Apis::ComputeV1::NetworkEdgeSecurityServiceAggregatedList::Warning]
19465
19362
  attr_accessor :warning
19466
19363
 
19467
19364
  def initialize(**args)
@@ -19470,6 +19367,7 @@ module Google
19470
19367
 
19471
19368
  # Update properties of this object
19472
19369
  def update!(**args)
19370
+ @etag = args[:etag] if args.key?(:etag)
19473
19371
  @id = args[:id] if args.key?(:id)
19474
19372
  @items = args[:items] if args.key?(:items)
19475
19373
  @kind = args[:kind] if args.key?(:kind)
@@ -19492,7 +19390,7 @@ module Google
19492
19390
  # [Output Only] Metadata about this warning in key: value format. For example: "
19493
19391
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
19494
19392
  # Corresponds to the JSON property `data`
19495
- # @return [Array<Google::Apis::ComputeV1::NetworkEndpointGroupAggregatedList::Warning::Datum>]
19393
+ # @return [Array<Google::Apis::ComputeV1::NetworkEdgeSecurityServiceAggregatedList::Warning::Datum>]
19496
19394
  attr_accessor :data
19497
19395
 
19498
19396
  # [Output Only] A human-readable description of the warning code.
@@ -19544,70 +19442,20 @@ module Google
19544
19442
  end
19545
19443
  end
19546
19444
 
19547
- # Configuration for an App Engine network endpoint group (NEG). The service is
19548
- # optional, may be provided explicitly or in the URL mask. The version is
19549
- # optional and can only be provided explicitly or in the URL mask when service
19550
- # is present. Note: App Engine service must be in the same project and located
19551
- # in the same region as the Serverless NEG.
19552
- class NetworkEndpointGroupAppEngine
19553
- include Google::Apis::Core::Hashable
19554
-
19555
- # Optional serving service. The service name is case-sensitive and must be 1-63
19556
- # characters long. Example value: "default", "my-service".
19557
- # Corresponds to the JSON property `service`
19558
- # @return [String]
19559
- attr_accessor :service
19560
-
19561
- # A template to parse service and version fields from a request URL. URL mask
19562
- # allows for routing to multiple App Engine services without having to create
19563
- # multiple Network Endpoint Groups and backend services. For example, the
19564
- # request URLs "foo1-dot-appname.appspot.com/v1" and "foo1-dot-appname.appspot.
19565
- # com/v2" can be backed by the same Serverless NEG with URL mask "-dot-appname.
19566
- # appspot.com/". The URL mask will parse them to ` service = "foo1", version = "
19567
- # v1" ` and ` service = "foo1", version = "v2" ` respectively.
19568
- # Corresponds to the JSON property `urlMask`
19569
- # @return [String]
19570
- attr_accessor :url_mask
19571
-
19572
- # Optional serving version. The version name is case-sensitive and must be 1-100
19573
- # characters long. Example value: "v1", "v2".
19574
- # Corresponds to the JSON property `version`
19575
- # @return [String]
19576
- attr_accessor :version
19577
-
19578
- def initialize(**args)
19579
- update!(**args)
19580
- end
19581
-
19582
- # Update properties of this object
19583
- def update!(**args)
19584
- @service = args[:service] if args.key?(:service)
19585
- @url_mask = args[:url_mask] if args.key?(:url_mask)
19586
- @version = args[:version] if args.key?(:version)
19587
- end
19588
- end
19589
-
19590
- # Configuration for a Cloud Function network endpoint group (NEG). The function
19591
- # must be provided explicitly or in the URL mask. Note: Cloud Function must be
19592
- # in the same project and located in the same region as the Serverless NEG.
19593
- class NetworkEndpointGroupCloudFunction
19445
+ #
19446
+ class NetworkEdgeSecurityServicesScopedList
19594
19447
  include Google::Apis::Core::Hashable
19595
19448
 
19596
- # A user-defined name of the Cloud Function. The function name is case-sensitive
19597
- # and must be 1-63 characters long. Example value: "func1".
19598
- # Corresponds to the JSON property `function`
19599
- # @return [String]
19600
- attr_accessor :function
19449
+ # A list of NetworkEdgeSecurityServices contained in this scope.
19450
+ # Corresponds to the JSON property `networkEdgeSecurityServices`
19451
+ # @return [Array<Google::Apis::ComputeV1::NetworkEdgeSecurityService>]
19452
+ attr_accessor :network_edge_security_services
19601
19453
 
19602
- # A template to parse function field from a request URL. URL mask allows for
19603
- # routing to multiple Cloud Functions without having to create multiple Network
19604
- # Endpoint Groups and backend services. For example, request URLs " mydomain.com/
19605
- # function1" and "mydomain.com/function2" can be backed by the same Serverless
19606
- # NEG with URL mask "/". The URL mask will parse them to ` function = "function1"
19607
- # ` and ` function = "function2" ` respectively.
19608
- # Corresponds to the JSON property `urlMask`
19609
- # @return [String]
19610
- attr_accessor :url_mask
19454
+ # Informational warning which replaces the list of security policies when the
19455
+ # list is empty.
19456
+ # Corresponds to the JSON property `warning`
19457
+ # @return [Google::Apis::ComputeV1::NetworkEdgeSecurityServicesScopedList::Warning]
19458
+ attr_accessor :warning
19611
19459
 
19612
19460
  def initialize(**args)
19613
19461
  update!(**args)
@@ -19615,14 +19463,481 @@ module Google
19615
19463
 
19616
19464
  # Update properties of this object
19617
19465
  def update!(**args)
19618
- @function = args[:function] if args.key?(:function)
19619
- @url_mask = args[:url_mask] if args.key?(:url_mask)
19466
+ @network_edge_security_services = args[:network_edge_security_services] if args.key?(:network_edge_security_services)
19467
+ @warning = args[:warning] if args.key?(:warning)
19620
19468
  end
19621
- end
19622
-
19623
- # Configuration for a Cloud Run network endpoint group (NEG). The service must
19624
- # be provided explicitly or in the URL mask. The tag is optional, may be
19625
- # provided explicitly or in the URL mask. Note: Cloud Run service must be in the
19469
+
19470
+ # Informational warning which replaces the list of security policies when the
19471
+ # list is empty.
19472
+ class Warning
19473
+ include Google::Apis::Core::Hashable
19474
+
19475
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
19476
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
19477
+ # Corresponds to the JSON property `code`
19478
+ # @return [String]
19479
+ attr_accessor :code
19480
+
19481
+ # [Output Only] Metadata about this warning in key: value format. For example: "
19482
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
19483
+ # Corresponds to the JSON property `data`
19484
+ # @return [Array<Google::Apis::ComputeV1::NetworkEdgeSecurityServicesScopedList::Warning::Datum>]
19485
+ attr_accessor :data
19486
+
19487
+ # [Output Only] A human-readable description of the warning code.
19488
+ # Corresponds to the JSON property `message`
19489
+ # @return [String]
19490
+ attr_accessor :message
19491
+
19492
+ def initialize(**args)
19493
+ update!(**args)
19494
+ end
19495
+
19496
+ # Update properties of this object
19497
+ def update!(**args)
19498
+ @code = args[:code] if args.key?(:code)
19499
+ @data = args[:data] if args.key?(:data)
19500
+ @message = args[:message] if args.key?(:message)
19501
+ end
19502
+
19503
+ #
19504
+ class Datum
19505
+ include Google::Apis::Core::Hashable
19506
+
19507
+ # [Output Only] A key that provides more detail on the warning being returned.
19508
+ # For example, for warnings where there are no results in a list request for a
19509
+ # particular zone, this key might be scope and the key value might be the zone
19510
+ # name. Other examples might be a key indicating a deprecated resource and a
19511
+ # suggested replacement, or a warning about invalid network settings (for
19512
+ # example, if an instance attempts to perform IP forwarding but is not enabled
19513
+ # for IP forwarding).
19514
+ # Corresponds to the JSON property `key`
19515
+ # @return [String]
19516
+ attr_accessor :key
19517
+
19518
+ # [Output Only] A warning data value corresponding to the key.
19519
+ # Corresponds to the JSON property `value`
19520
+ # @return [String]
19521
+ attr_accessor :value
19522
+
19523
+ def initialize(**args)
19524
+ update!(**args)
19525
+ end
19526
+
19527
+ # Update properties of this object
19528
+ def update!(**args)
19529
+ @key = args[:key] if args.key?(:key)
19530
+ @value = args[:value] if args.key?(:value)
19531
+ end
19532
+ end
19533
+ end
19534
+ end
19535
+
19536
+ # The network endpoint.
19537
+ class NetworkEndpoint
19538
+ include Google::Apis::Core::Hashable
19539
+
19540
+ # Metadata defined as annotations on the network endpoint.
19541
+ # Corresponds to the JSON property `annotations`
19542
+ # @return [Hash<String,String>]
19543
+ attr_accessor :annotations
19544
+
19545
+ # Optional fully qualified domain name of network endpoint. This can only be
19546
+ # specified when NetworkEndpointGroup.network_endpoint_type is NON_GCP_FQDN_PORT.
19547
+ # Corresponds to the JSON property `fqdn`
19548
+ # @return [String]
19549
+ attr_accessor :fqdn
19550
+
19551
+ # The name for a specific VM instance that the IP address belongs to. This is
19552
+ # required for network endpoints of type GCE_VM_IP_PORT. The instance must be in
19553
+ # the same zone of network endpoint group. The name must be 1-63 characters long,
19554
+ # and comply with RFC1035.
19555
+ # Corresponds to the JSON property `instance`
19556
+ # @return [String]
19557
+ attr_accessor :instance
19558
+
19559
+ # Optional IPv4 address of network endpoint. The IP address must belong to a VM
19560
+ # in Compute Engine (either the primary IP or as part of an aliased IP range).
19561
+ # If the IP address is not specified, then the primary IP address for the VM
19562
+ # instance in the network that the network endpoint group belongs to will be
19563
+ # used.
19564
+ # Corresponds to the JSON property `ipAddress`
19565
+ # @return [String]
19566
+ attr_accessor :ip_address
19567
+
19568
+ # Optional port number of network endpoint. If not specified, the defaultPort
19569
+ # for the network endpoint group will be used.
19570
+ # Corresponds to the JSON property `port`
19571
+ # @return [Fixnum]
19572
+ attr_accessor :port
19573
+
19574
+ def initialize(**args)
19575
+ update!(**args)
19576
+ end
19577
+
19578
+ # Update properties of this object
19579
+ def update!(**args)
19580
+ @annotations = args[:annotations] if args.key?(:annotations)
19581
+ @fqdn = args[:fqdn] if args.key?(:fqdn)
19582
+ @instance = args[:instance] if args.key?(:instance)
19583
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
19584
+ @port = args[:port] if args.key?(:port)
19585
+ end
19586
+ end
19587
+
19588
+ # Represents a collection of network endpoints. A network endpoint group (NEG)
19589
+ # defines how a set of endpoints should be reached, whether they are reachable,
19590
+ # and where they are located. For more information about using NEGs, see Setting
19591
+ # up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs,
19592
+ # or Setting up external HTTP(S) Load Balancing with serverless NEGs.
19593
+ class NetworkEndpointGroup
19594
+ include Google::Apis::Core::Hashable
19595
+
19596
+ # Metadata defined as annotations on the network endpoint group.
19597
+ # Corresponds to the JSON property `annotations`
19598
+ # @return [Hash<String,String>]
19599
+ attr_accessor :annotations
19600
+
19601
+ # Configuration for an App Engine network endpoint group (NEG). The service is
19602
+ # optional, may be provided explicitly or in the URL mask. The version is
19603
+ # optional and can only be provided explicitly or in the URL mask when service
19604
+ # is present. Note: App Engine service must be in the same project and located
19605
+ # in the same region as the Serverless NEG.
19606
+ # Corresponds to the JSON property `appEngine`
19607
+ # @return [Google::Apis::ComputeV1::NetworkEndpointGroupAppEngine]
19608
+ attr_accessor :app_engine
19609
+
19610
+ # Configuration for a Cloud Function network endpoint group (NEG). The function
19611
+ # must be provided explicitly or in the URL mask. Note: Cloud Function must be
19612
+ # in the same project and located in the same region as the Serverless NEG.
19613
+ # Corresponds to the JSON property `cloudFunction`
19614
+ # @return [Google::Apis::ComputeV1::NetworkEndpointGroupCloudFunction]
19615
+ attr_accessor :cloud_function
19616
+
19617
+ # Configuration for a Cloud Run network endpoint group (NEG). The service must
19618
+ # be provided explicitly or in the URL mask. The tag is optional, may be
19619
+ # provided explicitly or in the URL mask. Note: Cloud Run service must be in the
19620
+ # same project and located in the same region as the Serverless NEG.
19621
+ # Corresponds to the JSON property `cloudRun`
19622
+ # @return [Google::Apis::ComputeV1::NetworkEndpointGroupCloudRun]
19623
+ attr_accessor :cloud_run
19624
+
19625
+ # [Output Only] Creation timestamp in RFC3339 text format.
19626
+ # Corresponds to the JSON property `creationTimestamp`
19627
+ # @return [String]
19628
+ attr_accessor :creation_timestamp
19629
+
19630
+ # The default port used if the port number is not specified in the network
19631
+ # endpoint.
19632
+ # Corresponds to the JSON property `defaultPort`
19633
+ # @return [Fixnum]
19634
+ attr_accessor :default_port
19635
+
19636
+ # An optional description of this resource. Provide this property when you
19637
+ # create the resource.
19638
+ # Corresponds to the JSON property `description`
19639
+ # @return [String]
19640
+ attr_accessor :description
19641
+
19642
+ # [Output Only] The unique identifier for the resource. This identifier is
19643
+ # defined by the server.
19644
+ # Corresponds to the JSON property `id`
19645
+ # @return [Fixnum]
19646
+ attr_accessor :id
19647
+
19648
+ # [Output Only] Type of the resource. Always compute#networkEndpointGroup for
19649
+ # network endpoint group.
19650
+ # Corresponds to the JSON property `kind`
19651
+ # @return [String]
19652
+ attr_accessor :kind
19653
+
19654
+ # Name of the resource; provided by the client when the resource is created. The
19655
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
19656
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
19657
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
19658
+ # and all following characters must be a dash, lowercase letter, or digit,
19659
+ # except the last character, which cannot be a dash.
19660
+ # Corresponds to the JSON property `name`
19661
+ # @return [String]
19662
+ attr_accessor :name
19663
+
19664
+ # The URL of the network to which all network endpoints in the NEG belong. Uses "
19665
+ # default" project network if unspecified.
19666
+ # Corresponds to the JSON property `network`
19667
+ # @return [String]
19668
+ attr_accessor :network
19669
+
19670
+ # Type of network endpoints in this network endpoint group. Can be one of
19671
+ # GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT,
19672
+ # INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT.
19673
+ # Corresponds to the JSON property `networkEndpointType`
19674
+ # @return [String]
19675
+ attr_accessor :network_endpoint_type
19676
+
19677
+ # The target service url used to set up private service connection to a Google
19678
+ # API. An example value is: "asia-northeast3-cloudkms.googleapis.com"
19679
+ # Corresponds to the JSON property `pscTargetService`
19680
+ # @return [String]
19681
+ attr_accessor :psc_target_service
19682
+
19683
+ # [Output Only] The URL of the region where the network endpoint group is
19684
+ # located.
19685
+ # Corresponds to the JSON property `region`
19686
+ # @return [String]
19687
+ attr_accessor :region
19688
+
19689
+ # [Output Only] Server-defined URL for the resource.
19690
+ # Corresponds to the JSON property `selfLink`
19691
+ # @return [String]
19692
+ attr_accessor :self_link
19693
+
19694
+ # [Output only] Number of network endpoints in the network endpoint group.
19695
+ # Corresponds to the JSON property `size`
19696
+ # @return [Fixnum]
19697
+ attr_accessor :size
19698
+
19699
+ # Optional URL of the subnetwork to which all network endpoints in the NEG
19700
+ # belong.
19701
+ # Corresponds to the JSON property `subnetwork`
19702
+ # @return [String]
19703
+ attr_accessor :subnetwork
19704
+
19705
+ # [Output Only] The URL of the zone where the network endpoint group is located.
19706
+ # Corresponds to the JSON property `zone`
19707
+ # @return [String]
19708
+ attr_accessor :zone
19709
+
19710
+ def initialize(**args)
19711
+ update!(**args)
19712
+ end
19713
+
19714
+ # Update properties of this object
19715
+ def update!(**args)
19716
+ @annotations = args[:annotations] if args.key?(:annotations)
19717
+ @app_engine = args[:app_engine] if args.key?(:app_engine)
19718
+ @cloud_function = args[:cloud_function] if args.key?(:cloud_function)
19719
+ @cloud_run = args[:cloud_run] if args.key?(:cloud_run)
19720
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
19721
+ @default_port = args[:default_port] if args.key?(:default_port)
19722
+ @description = args[:description] if args.key?(:description)
19723
+ @id = args[:id] if args.key?(:id)
19724
+ @kind = args[:kind] if args.key?(:kind)
19725
+ @name = args[:name] if args.key?(:name)
19726
+ @network = args[:network] if args.key?(:network)
19727
+ @network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
19728
+ @psc_target_service = args[:psc_target_service] if args.key?(:psc_target_service)
19729
+ @region = args[:region] if args.key?(:region)
19730
+ @self_link = args[:self_link] if args.key?(:self_link)
19731
+ @size = args[:size] if args.key?(:size)
19732
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
19733
+ @zone = args[:zone] if args.key?(:zone)
19734
+ end
19735
+ end
19736
+
19737
+ #
19738
+ class NetworkEndpointGroupAggregatedList
19739
+ include Google::Apis::Core::Hashable
19740
+
19741
+ # [Output Only] Unique identifier for the resource; defined by the server.
19742
+ # Corresponds to the JSON property `id`
19743
+ # @return [String]
19744
+ attr_accessor :id
19745
+
19746
+ # A list of NetworkEndpointGroupsScopedList resources.
19747
+ # Corresponds to the JSON property `items`
19748
+ # @return [Hash<String,Google::Apis::ComputeV1::NetworkEndpointGroupsScopedList>]
19749
+ attr_accessor :items
19750
+
19751
+ # [Output Only] The resource type, which is always compute#
19752
+ # networkEndpointGroupAggregatedList for aggregated lists of network endpoint
19753
+ # groups.
19754
+ # Corresponds to the JSON property `kind`
19755
+ # @return [String]
19756
+ attr_accessor :kind
19757
+
19758
+ # [Output Only] This token allows you to get the next page of results for list
19759
+ # requests. If the number of results is larger than maxResults, use the
19760
+ # nextPageToken as a value for the query parameter pageToken in the next list
19761
+ # request. Subsequent list requests will have their own nextPageToken to
19762
+ # continue paging through the results.
19763
+ # Corresponds to the JSON property `nextPageToken`
19764
+ # @return [String]
19765
+ attr_accessor :next_page_token
19766
+
19767
+ # [Output Only] Server-defined URL for this resource.
19768
+ # Corresponds to the JSON property `selfLink`
19769
+ # @return [String]
19770
+ attr_accessor :self_link
19771
+
19772
+ # [Output Only] Unreachable resources.
19773
+ # Corresponds to the JSON property `unreachables`
19774
+ # @return [Array<String>]
19775
+ attr_accessor :unreachables
19776
+
19777
+ # [Output Only] Informational warning message.
19778
+ # Corresponds to the JSON property `warning`
19779
+ # @return [Google::Apis::ComputeV1::NetworkEndpointGroupAggregatedList::Warning]
19780
+ attr_accessor :warning
19781
+
19782
+ def initialize(**args)
19783
+ update!(**args)
19784
+ end
19785
+
19786
+ # Update properties of this object
19787
+ def update!(**args)
19788
+ @id = args[:id] if args.key?(:id)
19789
+ @items = args[:items] if args.key?(:items)
19790
+ @kind = args[:kind] if args.key?(:kind)
19791
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
19792
+ @self_link = args[:self_link] if args.key?(:self_link)
19793
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
19794
+ @warning = args[:warning] if args.key?(:warning)
19795
+ end
19796
+
19797
+ # [Output Only] Informational warning message.
19798
+ class Warning
19799
+ include Google::Apis::Core::Hashable
19800
+
19801
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
19802
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
19803
+ # Corresponds to the JSON property `code`
19804
+ # @return [String]
19805
+ attr_accessor :code
19806
+
19807
+ # [Output Only] Metadata about this warning in key: value format. For example: "
19808
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
19809
+ # Corresponds to the JSON property `data`
19810
+ # @return [Array<Google::Apis::ComputeV1::NetworkEndpointGroupAggregatedList::Warning::Datum>]
19811
+ attr_accessor :data
19812
+
19813
+ # [Output Only] A human-readable description of the warning code.
19814
+ # Corresponds to the JSON property `message`
19815
+ # @return [String]
19816
+ attr_accessor :message
19817
+
19818
+ def initialize(**args)
19819
+ update!(**args)
19820
+ end
19821
+
19822
+ # Update properties of this object
19823
+ def update!(**args)
19824
+ @code = args[:code] if args.key?(:code)
19825
+ @data = args[:data] if args.key?(:data)
19826
+ @message = args[:message] if args.key?(:message)
19827
+ end
19828
+
19829
+ #
19830
+ class Datum
19831
+ include Google::Apis::Core::Hashable
19832
+
19833
+ # [Output Only] A key that provides more detail on the warning being returned.
19834
+ # For example, for warnings where there are no results in a list request for a
19835
+ # particular zone, this key might be scope and the key value might be the zone
19836
+ # name. Other examples might be a key indicating a deprecated resource and a
19837
+ # suggested replacement, or a warning about invalid network settings (for
19838
+ # example, if an instance attempts to perform IP forwarding but is not enabled
19839
+ # for IP forwarding).
19840
+ # Corresponds to the JSON property `key`
19841
+ # @return [String]
19842
+ attr_accessor :key
19843
+
19844
+ # [Output Only] A warning data value corresponding to the key.
19845
+ # Corresponds to the JSON property `value`
19846
+ # @return [String]
19847
+ attr_accessor :value
19848
+
19849
+ def initialize(**args)
19850
+ update!(**args)
19851
+ end
19852
+
19853
+ # Update properties of this object
19854
+ def update!(**args)
19855
+ @key = args[:key] if args.key?(:key)
19856
+ @value = args[:value] if args.key?(:value)
19857
+ end
19858
+ end
19859
+ end
19860
+ end
19861
+
19862
+ # Configuration for an App Engine network endpoint group (NEG). The service is
19863
+ # optional, may be provided explicitly or in the URL mask. The version is
19864
+ # optional and can only be provided explicitly or in the URL mask when service
19865
+ # is present. Note: App Engine service must be in the same project and located
19866
+ # in the same region as the Serverless NEG.
19867
+ class NetworkEndpointGroupAppEngine
19868
+ include Google::Apis::Core::Hashable
19869
+
19870
+ # Optional serving service. The service name is case-sensitive and must be 1-63
19871
+ # characters long. Example value: "default", "my-service".
19872
+ # Corresponds to the JSON property `service`
19873
+ # @return [String]
19874
+ attr_accessor :service
19875
+
19876
+ # A template to parse service and version fields from a request URL. URL mask
19877
+ # allows for routing to multiple App Engine services without having to create
19878
+ # multiple Network Endpoint Groups and backend services. For example, the
19879
+ # request URLs "foo1-dot-appname.appspot.com/v1" and "foo1-dot-appname.appspot.
19880
+ # com/v2" can be backed by the same Serverless NEG with URL mask "-dot-appname.
19881
+ # appspot.com/". The URL mask will parse them to ` service = "foo1", version = "
19882
+ # v1" ` and ` service = "foo1", version = "v2" ` respectively.
19883
+ # Corresponds to the JSON property `urlMask`
19884
+ # @return [String]
19885
+ attr_accessor :url_mask
19886
+
19887
+ # Optional serving version. The version name is case-sensitive and must be 1-100
19888
+ # characters long. Example value: "v1", "v2".
19889
+ # Corresponds to the JSON property `version`
19890
+ # @return [String]
19891
+ attr_accessor :version
19892
+
19893
+ def initialize(**args)
19894
+ update!(**args)
19895
+ end
19896
+
19897
+ # Update properties of this object
19898
+ def update!(**args)
19899
+ @service = args[:service] if args.key?(:service)
19900
+ @url_mask = args[:url_mask] if args.key?(:url_mask)
19901
+ @version = args[:version] if args.key?(:version)
19902
+ end
19903
+ end
19904
+
19905
+ # Configuration for a Cloud Function network endpoint group (NEG). The function
19906
+ # must be provided explicitly or in the URL mask. Note: Cloud Function must be
19907
+ # in the same project and located in the same region as the Serverless NEG.
19908
+ class NetworkEndpointGroupCloudFunction
19909
+ include Google::Apis::Core::Hashable
19910
+
19911
+ # A user-defined name of the Cloud Function. The function name is case-sensitive
19912
+ # and must be 1-63 characters long. Example value: "func1".
19913
+ # Corresponds to the JSON property `function`
19914
+ # @return [String]
19915
+ attr_accessor :function
19916
+
19917
+ # A template to parse function field from a request URL. URL mask allows for
19918
+ # routing to multiple Cloud Functions without having to create multiple Network
19919
+ # Endpoint Groups and backend services. For example, request URLs " mydomain.com/
19920
+ # function1" and "mydomain.com/function2" can be backed by the same Serverless
19921
+ # NEG with URL mask "/". The URL mask will parse them to ` function = "function1"
19922
+ # ` and ` function = "function2" ` respectively.
19923
+ # Corresponds to the JSON property `urlMask`
19924
+ # @return [String]
19925
+ attr_accessor :url_mask
19926
+
19927
+ def initialize(**args)
19928
+ update!(**args)
19929
+ end
19930
+
19931
+ # Update properties of this object
19932
+ def update!(**args)
19933
+ @function = args[:function] if args.key?(:function)
19934
+ @url_mask = args[:url_mask] if args.key?(:url_mask)
19935
+ end
19936
+ end
19937
+
19938
+ # Configuration for a Cloud Run network endpoint group (NEG). The service must
19939
+ # be provided explicitly or in the URL mask. The tag is optional, may be
19940
+ # provided explicitly or in the URL mask. Note: Cloud Run service must be in the
19626
19941
  # same project and located in the same region as the Serverless NEG.
19627
19942
  class NetworkEndpointGroupCloudRun
19628
19943
  include Google::Apis::Core::Hashable
@@ -20128,7 +20443,8 @@ module Google
20128
20443
  attr_accessor :kind
20129
20444
 
20130
20445
  # [Output Only] The name of the network interface, which is generated by the
20131
- # server. For network devices, these are eth0, eth1, etc.
20446
+ # server. For a VM, the network interface uses the nicN naming format. Where N
20447
+ # is a value between 0 and 7. The default interface value is nic0.
20132
20448
  # Corresponds to the JSON property `name`
20133
20449
  # @return [String]
20134
20450
  attr_accessor :name
@@ -28504,6 +28820,11 @@ module Google
28504
28820
  # @return [Fixnum]
28505
28821
  attr_accessor :priority
28506
28822
 
28823
+ # [Output only] The status of the route.
28824
+ # Corresponds to the JSON property `routeStatus`
28825
+ # @return [String]
28826
+ attr_accessor :route_status
28827
+
28507
28828
  # [Output Only] The type of this route, which can be one of the following values:
28508
28829
  # - 'TRANSIT' for a transit route that this router learned from another Cloud
28509
28830
  # Router and will readvertise to one of its BGP peers - 'SUBNET' for a route
@@ -28551,6 +28872,7 @@ module Google
28551
28872
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
28552
28873
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
28553
28874
  @priority = args[:priority] if args.key?(:priority)
28875
+ @route_status = args[:route_status] if args.key?(:route_status)
28554
28876
  @route_type = args[:route_type] if args.key?(:route_type)
28555
28877
  @self_link = args[:self_link] if args.key?(:self_link)
28556
28878
  @tags = args[:tags] if args.key?(:tags)
@@ -30620,6 +30942,136 @@ module Google
30620
30942
  end
30621
30943
  end
30622
30944
 
30945
+ #
30946
+ class SecurityPoliciesAggregatedList
30947
+ include Google::Apis::Core::Hashable
30948
+
30949
+ #
30950
+ # Corresponds to the JSON property `etag`
30951
+ # @return [String]
30952
+ attr_accessor :etag
30953
+
30954
+ # [Output Only] Unique identifier for the resource; defined by the server.
30955
+ # Corresponds to the JSON property `id`
30956
+ # @return [String]
30957
+ attr_accessor :id
30958
+
30959
+ # A list of SecurityPoliciesScopedList resources.
30960
+ # Corresponds to the JSON property `items`
30961
+ # @return [Hash<String,Google::Apis::ComputeV1::SecurityPoliciesScopedList>]
30962
+ attr_accessor :items
30963
+
30964
+ # [Output Only] Type of resource. Always compute#securityPolicyAggregatedList
30965
+ # for lists of Security Policies.
30966
+ # Corresponds to the JSON property `kind`
30967
+ # @return [String]
30968
+ attr_accessor :kind
30969
+
30970
+ # [Output Only] This token allows you to get the next page of results for list
30971
+ # requests. If the number of results is larger than maxResults, use the
30972
+ # nextPageToken as a value for the query parameter pageToken in the next list
30973
+ # request. Subsequent list requests will have their own nextPageToken to
30974
+ # continue paging through the results.
30975
+ # Corresponds to the JSON property `nextPageToken`
30976
+ # @return [String]
30977
+ attr_accessor :next_page_token
30978
+
30979
+ # [Output Only] Server-defined URL for this resource.
30980
+ # Corresponds to the JSON property `selfLink`
30981
+ # @return [String]
30982
+ attr_accessor :self_link
30983
+
30984
+ # [Output Only] Unreachable resources.
30985
+ # Corresponds to the JSON property `unreachables`
30986
+ # @return [Array<String>]
30987
+ attr_accessor :unreachables
30988
+
30989
+ # [Output Only] Informational warning message.
30990
+ # Corresponds to the JSON property `warning`
30991
+ # @return [Google::Apis::ComputeV1::SecurityPoliciesAggregatedList::Warning]
30992
+ attr_accessor :warning
30993
+
30994
+ def initialize(**args)
30995
+ update!(**args)
30996
+ end
30997
+
30998
+ # Update properties of this object
30999
+ def update!(**args)
31000
+ @etag = args[:etag] if args.key?(:etag)
31001
+ @id = args[:id] if args.key?(:id)
31002
+ @items = args[:items] if args.key?(:items)
31003
+ @kind = args[:kind] if args.key?(:kind)
31004
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
31005
+ @self_link = args[:self_link] if args.key?(:self_link)
31006
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
31007
+ @warning = args[:warning] if args.key?(:warning)
31008
+ end
31009
+
31010
+ # [Output Only] Informational warning message.
31011
+ class Warning
31012
+ include Google::Apis::Core::Hashable
31013
+
31014
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
31015
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
31016
+ # Corresponds to the JSON property `code`
31017
+ # @return [String]
31018
+ attr_accessor :code
31019
+
31020
+ # [Output Only] Metadata about this warning in key: value format. For example: "
31021
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
31022
+ # Corresponds to the JSON property `data`
31023
+ # @return [Array<Google::Apis::ComputeV1::SecurityPoliciesAggregatedList::Warning::Datum>]
31024
+ attr_accessor :data
31025
+
31026
+ # [Output Only] A human-readable description of the warning code.
31027
+ # Corresponds to the JSON property `message`
31028
+ # @return [String]
31029
+ attr_accessor :message
31030
+
31031
+ def initialize(**args)
31032
+ update!(**args)
31033
+ end
31034
+
31035
+ # Update properties of this object
31036
+ def update!(**args)
31037
+ @code = args[:code] if args.key?(:code)
31038
+ @data = args[:data] if args.key?(:data)
31039
+ @message = args[:message] if args.key?(:message)
31040
+ end
31041
+
31042
+ #
31043
+ class Datum
31044
+ include Google::Apis::Core::Hashable
31045
+
31046
+ # [Output Only] A key that provides more detail on the warning being returned.
31047
+ # For example, for warnings where there are no results in a list request for a
31048
+ # particular zone, this key might be scope and the key value might be the zone
31049
+ # name. Other examples might be a key indicating a deprecated resource and a
31050
+ # suggested replacement, or a warning about invalid network settings (for
31051
+ # example, if an instance attempts to perform IP forwarding but is not enabled
31052
+ # for IP forwarding).
31053
+ # Corresponds to the JSON property `key`
31054
+ # @return [String]
31055
+ attr_accessor :key
31056
+
31057
+ # [Output Only] A warning data value corresponding to the key.
31058
+ # Corresponds to the JSON property `value`
31059
+ # @return [String]
31060
+ attr_accessor :value
31061
+
31062
+ def initialize(**args)
31063
+ update!(**args)
31064
+ end
31065
+
31066
+ # Update properties of this object
31067
+ def update!(**args)
31068
+ @key = args[:key] if args.key?(:key)
31069
+ @value = args[:value] if args.key?(:value)
31070
+ end
31071
+ end
31072
+ end
31073
+ end
31074
+
30623
31075
  #
30624
31076
  class SecurityPoliciesListPreconfiguredExpressionSetsResponse
30625
31077
  include Google::Apis::Core::Hashable
@@ -30639,6 +31091,97 @@ module Google
30639
31091
  end
30640
31092
  end
30641
31093
 
31094
+ #
31095
+ class SecurityPoliciesScopedList
31096
+ include Google::Apis::Core::Hashable
31097
+
31098
+ # A list of SecurityPolicies contained in this scope.
31099
+ # Corresponds to the JSON property `securityPolicies`
31100
+ # @return [Array<Google::Apis::ComputeV1::SecurityPolicy>]
31101
+ attr_accessor :security_policies
31102
+
31103
+ # Informational warning which replaces the list of security policies when the
31104
+ # list is empty.
31105
+ # Corresponds to the JSON property `warning`
31106
+ # @return [Google::Apis::ComputeV1::SecurityPoliciesScopedList::Warning]
31107
+ attr_accessor :warning
31108
+
31109
+ def initialize(**args)
31110
+ update!(**args)
31111
+ end
31112
+
31113
+ # Update properties of this object
31114
+ def update!(**args)
31115
+ @security_policies = args[:security_policies] if args.key?(:security_policies)
31116
+ @warning = args[:warning] if args.key?(:warning)
31117
+ end
31118
+
31119
+ # Informational warning which replaces the list of security policies when the
31120
+ # list is empty.
31121
+ class Warning
31122
+ include Google::Apis::Core::Hashable
31123
+
31124
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
31125
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
31126
+ # Corresponds to the JSON property `code`
31127
+ # @return [String]
31128
+ attr_accessor :code
31129
+
31130
+ # [Output Only] Metadata about this warning in key: value format. For example: "
31131
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
31132
+ # Corresponds to the JSON property `data`
31133
+ # @return [Array<Google::Apis::ComputeV1::SecurityPoliciesScopedList::Warning::Datum>]
31134
+ attr_accessor :data
31135
+
31136
+ # [Output Only] A human-readable description of the warning code.
31137
+ # Corresponds to the JSON property `message`
31138
+ # @return [String]
31139
+ attr_accessor :message
31140
+
31141
+ def initialize(**args)
31142
+ update!(**args)
31143
+ end
31144
+
31145
+ # Update properties of this object
31146
+ def update!(**args)
31147
+ @code = args[:code] if args.key?(:code)
31148
+ @data = args[:data] if args.key?(:data)
31149
+ @message = args[:message] if args.key?(:message)
31150
+ end
31151
+
31152
+ #
31153
+ class Datum
31154
+ include Google::Apis::Core::Hashable
31155
+
31156
+ # [Output Only] A key that provides more detail on the warning being returned.
31157
+ # For example, for warnings where there are no results in a list request for a
31158
+ # particular zone, this key might be scope and the key value might be the zone
31159
+ # name. Other examples might be a key indicating a deprecated resource and a
31160
+ # suggested replacement, or a warning about invalid network settings (for
31161
+ # example, if an instance attempts to perform IP forwarding but is not enabled
31162
+ # for IP forwarding).
31163
+ # Corresponds to the JSON property `key`
31164
+ # @return [String]
31165
+ attr_accessor :key
31166
+
31167
+ # [Output Only] A warning data value corresponding to the key.
31168
+ # Corresponds to the JSON property `value`
31169
+ # @return [String]
31170
+ attr_accessor :value
31171
+
31172
+ def initialize(**args)
31173
+ update!(**args)
31174
+ end
31175
+
31176
+ # Update properties of this object
31177
+ def update!(**args)
31178
+ @key = args[:key] if args.key?(:key)
31179
+ @value = args[:value] if args.key?(:value)
31180
+ end
31181
+ end
31182
+ end
31183
+ end
31184
+
30642
31185
  #
30643
31186
  class SecurityPoliciesWafConfig
30644
31187
  include Google::Apis::Core::Hashable
@@ -30679,6 +31222,11 @@ module Google
30679
31222
  # @return [String]
30680
31223
  attr_accessor :creation_timestamp
30681
31224
 
31225
+ #
31226
+ # Corresponds to the JSON property `ddosProtectionConfig`
31227
+ # @return [Google::Apis::ComputeV1::SecurityPolicyDdosProtectionConfig]
31228
+ attr_accessor :ddos_protection_config
31229
+
30682
31230
  # An optional description of this resource. Provide this property when you
30683
31231
  # create the resource.
30684
31232
  # Corresponds to the JSON property `description`
@@ -30724,6 +31272,12 @@ module Google
30724
31272
  # @return [Google::Apis::ComputeV1::SecurityPolicyRecaptchaOptionsConfig]
30725
31273
  attr_accessor :recaptcha_options_config
30726
31274
 
31275
+ # [Output Only] URL of the region where the regional security policy resides.
31276
+ # This field is not applicable to global security policies.
31277
+ # Corresponds to the JSON property `region`
31278
+ # @return [String]
31279
+ attr_accessor :region
31280
+
30727
31281
  # A list of rules that belong to this policy. There must always be a default
30728
31282
  # rule (rule with priority 2147483647 and match "*"). If no rules are provided
30729
31283
  # when creating a security policy, a default rule with action "allow" will be
@@ -30761,12 +31315,14 @@ module Google
30761
31315
  @adaptive_protection_config = args[:adaptive_protection_config] if args.key?(:adaptive_protection_config)
30762
31316
  @advanced_options_config = args[:advanced_options_config] if args.key?(:advanced_options_config)
30763
31317
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
31318
+ @ddos_protection_config = args[:ddos_protection_config] if args.key?(:ddos_protection_config)
30764
31319
  @description = args[:description] if args.key?(:description)
30765
31320
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
30766
31321
  @id = args[:id] if args.key?(:id)
30767
31322
  @kind = args[:kind] if args.key?(:kind)
30768
31323
  @name = args[:name] if args.key?(:name)
30769
31324
  @recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
31325
+ @region = args[:region] if args.key?(:region)
30770
31326
  @rules = args[:rules] if args.key?(:rules)
30771
31327
  @self_link = args[:self_link] if args.key?(:self_link)
30772
31328
  @type = args[:type] if args.key?(:type)
@@ -30844,6 +31400,25 @@ module Google
30844
31400
  end
30845
31401
  end
30846
31402
 
31403
+ #
31404
+ class SecurityPolicyDdosProtectionConfig
31405
+ include Google::Apis::Core::Hashable
31406
+
31407
+ #
31408
+ # Corresponds to the JSON property `ddosProtection`
31409
+ # @return [String]
31410
+ attr_accessor :ddos_protection
31411
+
31412
+ def initialize(**args)
31413
+ update!(**args)
31414
+ end
31415
+
31416
+ # Update properties of this object
31417
+ def update!(**args)
31418
+ @ddos_protection = args[:ddos_protection] if args.key?(:ddos_protection)
31419
+ end
31420
+ end
31421
+
30847
31422
  #
30848
31423
  class SecurityPolicyList
30849
31424
  include Google::Apis::Core::Hashable