google-apis-compute_beta 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.
@@ -1085,6 +1085,14 @@ module Google
1085
1085
  # @return [Fixnum]
1086
1086
  attr_accessor :threads_per_core
1087
1087
 
1088
+ # The number of physical cores to expose to an instance. Multiply by the number
1089
+ # of threads per core to compute the total number of virtual CPUs to expose to
1090
+ # the instance. If unset, the number of cores is inferred from the instance's
1091
+ # nominal CPU count and the underlying platform's SMT width.
1092
+ # Corresponds to the JSON property `visibleCoreCount`
1093
+ # @return [Fixnum]
1094
+ attr_accessor :visible_core_count
1095
+
1088
1096
  def initialize(**args)
1089
1097
  update!(**args)
1090
1098
  end
@@ -1094,6 +1102,7 @@ module Google
1094
1102
  @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1095
1103
  @enable_uefi_networking = args[:enable_uefi_networking] if args.key?(:enable_uefi_networking)
1096
1104
  @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1105
+ @visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count)
1097
1106
  end
1098
1107
  end
1099
1108
 
@@ -3266,6 +3275,15 @@ module Google
3266
3275
  # @return [String]
3267
3276
  attr_accessor :load_balancing_scheme
3268
3277
 
3278
+ # A list of locality load balancing policies to be used in order of preference.
3279
+ # Either the policy or the customPolicy field should be set. Overrides any value
3280
+ # set in the localityLbPolicy field. localityLbPolicies is only supported when
3281
+ # the BackendService is referenced by a URL Map that is referenced by a target
3282
+ # gRPC proxy that has the validateForProxyless field set to true.
3283
+ # Corresponds to the JSON property `localityLbPolicies`
3284
+ # @return [Array<Google::Apis::ComputeBeta::BackendServiceLocalityLoadBalancingPolicyConfig>]
3285
+ attr_accessor :locality_lb_policies
3286
+
3269
3287
  # The load balancing algorithm used within the scope of the locality. The
3270
3288
  # possible values are: - ROUND_ROBIN: This is a simple policy in which each
3271
3289
  # healthy backend is selected in round robin order. This is the default. -
@@ -3404,12 +3422,13 @@ module Google
3404
3422
  attr_accessor :subsetting
3405
3423
 
3406
3424
  # The backend service timeout has a different meaning depending on the type of
3407
- # load balancer. For more information see, Backend service settings The default
3408
- # is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647
3409
- # seconds. This value can be overridden in the PathMatcher configuration of the
3410
- # UrlMap that references this backend service. Not supported when the backend
3411
- # service is referenced by a URL map that is bound to target gRPC proxy that has
3412
- # validateForProxyless field set to true. Instead, use maxStreamDuration.
3425
+ # load balancer. For more information see, Backend service settings. The default
3426
+ # is 30 seconds. The full range of timeout values allowed goes from 1 through 2,
3427
+ # 147,483,647 seconds. This value can be overridden in the PathMatcher
3428
+ # configuration of the UrlMap that references this backend service. Not
3429
+ # supported when the backend service is referenced by a URL map that is bound to
3430
+ # target gRPC proxy that has validateForProxyless field set to true. Instead,
3431
+ # use maxStreamDuration.
3413
3432
  # Corresponds to the JSON property `timeoutSec`
3414
3433
  # @return [Fixnum]
3415
3434
  attr_accessor :timeout_sec
@@ -3441,6 +3460,7 @@ module Google
3441
3460
  @id = args[:id] if args.key?(:id)
3442
3461
  @kind = args[:kind] if args.key?(:kind)
3443
3462
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3463
+ @locality_lb_policies = args[:locality_lb_policies] if args.key?(:locality_lb_policies)
3444
3464
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
3445
3465
  @log_config = args[:log_config] if args.key?(:log_config)
3446
3466
  @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
@@ -4107,6 +4127,88 @@ module Google
4107
4127
  end
4108
4128
  end
4109
4129
 
4130
+ # Container for either a built-in LB policy supported by gRPC or Envoy or a
4131
+ # custom one implemented by the end user.
4132
+ class BackendServiceLocalityLoadBalancingPolicyConfig
4133
+ include Google::Apis::Core::Hashable
4134
+
4135
+ # The configuration for a custom policy implemented by the user and deployed
4136
+ # with the client.
4137
+ # Corresponds to the JSON property `customPolicy`
4138
+ # @return [Google::Apis::ComputeBeta::BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy]
4139
+ attr_accessor :custom_policy
4140
+
4141
+ # The configuration for a built-in load balancing policy.
4142
+ # Corresponds to the JSON property `policy`
4143
+ # @return [Google::Apis::ComputeBeta::BackendServiceLocalityLoadBalancingPolicyConfigPolicy]
4144
+ attr_accessor :policy
4145
+
4146
+ def initialize(**args)
4147
+ update!(**args)
4148
+ end
4149
+
4150
+ # Update properties of this object
4151
+ def update!(**args)
4152
+ @custom_policy = args[:custom_policy] if args.key?(:custom_policy)
4153
+ @policy = args[:policy] if args.key?(:policy)
4154
+ end
4155
+ end
4156
+
4157
+ # The configuration for a custom policy implemented by the user and deployed
4158
+ # with the client.
4159
+ class BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy
4160
+ include Google::Apis::Core::Hashable
4161
+
4162
+ # An optional, arbitrary JSON object with configuration data, understood by a
4163
+ # locally installed custom policy implementation.
4164
+ # Corresponds to the JSON property `data`
4165
+ # @return [String]
4166
+ attr_accessor :data
4167
+
4168
+ # Identifies the custom policy. The value should match the type the custom
4169
+ # implementation is registered with on the gRPC clients. It should follow
4170
+ # protocol buffer message naming conventions and include the full path (e.g.
4171
+ # myorg.CustomLbPolicy). The maximum length is 256 characters. Note that
4172
+ # specifying the same custom policy more than once for a backend is not a valid
4173
+ # configuration and will be rejected.
4174
+ # Corresponds to the JSON property `name`
4175
+ # @return [String]
4176
+ attr_accessor :name
4177
+
4178
+ def initialize(**args)
4179
+ update!(**args)
4180
+ end
4181
+
4182
+ # Update properties of this object
4183
+ def update!(**args)
4184
+ @data = args[:data] if args.key?(:data)
4185
+ @name = args[:name] if args.key?(:name)
4186
+ end
4187
+ end
4188
+
4189
+ # The configuration for a built-in load balancing policy.
4190
+ class BackendServiceLocalityLoadBalancingPolicyConfigPolicy
4191
+ include Google::Apis::Core::Hashable
4192
+
4193
+ # The name of a locality load balancer policy to be used. The value should be
4194
+ # one of the predefined ones as supported by localityLbPolicy, although at the
4195
+ # moment only ROUND_ROBIN is supported. This field should only be populated when
4196
+ # the customPolicy field is not used. Note that specifying the same policy more
4197
+ # than once for a backend is not a valid configuration and will be rejected.
4198
+ # Corresponds to the JSON property `name`
4199
+ # @return [String]
4200
+ attr_accessor :name
4201
+
4202
+ def initialize(**args)
4203
+ update!(**args)
4204
+ end
4205
+
4206
+ # Update properties of this object
4207
+ def update!(**args)
4208
+ @name = args[:name] if args.key?(:name)
4209
+ end
4210
+ end
4211
+
4110
4212
  # The available logging options for the load balancer traffic served by this
4111
4213
  # backend service.
4112
4214
  class BackendServiceLogConfig
@@ -8358,6 +8460,12 @@ module Google
8358
8460
  # @return [Fixnum]
8359
8461
  attr_accessor :priority
8360
8462
 
8463
+ # An optional name for the rule. This field is not a unique identifier and can
8464
+ # be updated.
8465
+ # Corresponds to the JSON property `ruleName`
8466
+ # @return [String]
8467
+ attr_accessor :rule_name
8468
+
8361
8469
  # [Output Only] Calculation of the complexity of a single firewall policy rule.
8362
8470
  # Corresponds to the JSON property `ruleTupleCount`
8363
8471
  # @return [Fixnum]
@@ -8402,6 +8510,7 @@ module Google
8402
8510
  @kind = args[:kind] if args.key?(:kind)
8403
8511
  @match = args[:match] if args.key?(:match)
8404
8512
  @priority = args[:priority] if args.key?(:priority)
8513
+ @rule_name = args[:rule_name] if args.key?(:rule_name)
8405
8514
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
8406
8515
  @target_resources = args[:target_resources] if args.key?(:target_resources)
8407
8516
  @target_secure_tags = args[:target_secure_tags] if args.key?(:target_secure_tags)
@@ -8420,6 +8529,20 @@ module Google
8420
8529
  # @return [Array<String>]
8421
8530
  attr_accessor :dest_ip_ranges
8422
8531
 
8532
+ # Region codes whose IP addresses will be used to match for destination of
8533
+ # traffic. Should be specified as 2 letter country code defined as per ISO 3166
8534
+ # alpha-2 country codes. ex."US" Maximum number of dest region codes allowed is
8535
+ # 5000.
8536
+ # Corresponds to the JSON property `destRegionCodes`
8537
+ # @return [Array<String>]
8538
+ attr_accessor :dest_region_codes
8539
+
8540
+ # Names of Network Threat Intelligence lists. The IPs in these lists will be
8541
+ # matched against traffic destination.
8542
+ # Corresponds to the JSON property `destThreatIntelligences`
8543
+ # @return [Array<String>]
8544
+ attr_accessor :dest_threat_intelligences
8545
+
8423
8546
  # Pairs of IP protocols and ports that the rule should match.
8424
8547
  # Corresponds to the JSON property `layer4Configs`
8425
8548
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRuleMatcherLayer4Config>]
@@ -8430,6 +8553,13 @@ module Google
8430
8553
  # @return [Array<String>]
8431
8554
  attr_accessor :src_ip_ranges
8432
8555
 
8556
+ # Region codes whose IP addresses will be used to match for source of traffic.
8557
+ # Should be specified as 2 letter country code defined as per ISO 3166 alpha-2
8558
+ # country codes. ex."US" Maximum number of source region codes allowed is 5000.
8559
+ # Corresponds to the JSON property `srcRegionCodes`
8560
+ # @return [Array<String>]
8561
+ attr_accessor :src_region_codes
8562
+
8433
8563
  # List of secure tag values, which should be matched at the source of the
8434
8564
  # traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there
8435
8565
  # is no srcIpRange, this rule will be ignored. Maximum number of source tag
@@ -8438,6 +8568,12 @@ module Google
8438
8568
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRuleSecureTag>]
8439
8569
  attr_accessor :src_secure_tags
8440
8570
 
8571
+ # Names of Network Threat Intelligence lists. The IPs in these lists will be
8572
+ # matched against traffic source.
8573
+ # Corresponds to the JSON property `srcThreatIntelligences`
8574
+ # @return [Array<String>]
8575
+ attr_accessor :src_threat_intelligences
8576
+
8441
8577
  def initialize(**args)
8442
8578
  update!(**args)
8443
8579
  end
@@ -8445,9 +8581,13 @@ module Google
8445
8581
  # Update properties of this object
8446
8582
  def update!(**args)
8447
8583
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
8584
+ @dest_region_codes = args[:dest_region_codes] if args.key?(:dest_region_codes)
8585
+ @dest_threat_intelligences = args[:dest_threat_intelligences] if args.key?(:dest_threat_intelligences)
8448
8586
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
8449
8587
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
8588
+ @src_region_codes = args[:src_region_codes] if args.key?(:src_region_codes)
8450
8589
  @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
8590
+ @src_threat_intelligences = args[:src_threat_intelligences] if args.key?(:src_threat_intelligences)
8451
8591
  end
8452
8592
  end
8453
8593
 
@@ -9426,13 +9566,9 @@ module Google
9426
9566
  # @return [String]
9427
9567
  attr_accessor :label_fingerprint
9428
9568
 
9429
- # A list of labels to apply for this resource. Each label key & value must
9430
- # comply with RFC1035. Specifically, the name must be 1-63 characters long and
9431
- # match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
9432
- # first character must be a lowercase letter, and all following characters must
9433
- # be a dash, lowercase letter, or digit, except the last character, which cannot
9434
- # be a dash. For example, "webserver-frontend": "images". A label value can also
9435
- # be empty (e.g. "my-label": "").
9569
+ # A list of labels to apply for this resource. Each label must comply with the
9570
+ # requirements for labels. For example, "webserver-frontend": "images". A label
9571
+ # value can also be empty (e.g. "my-label": "").
9436
9572
  # Corresponds to the JSON property `labels`
9437
9573
  # @return [Hash<String,String>]
9438
9574
  attr_accessor :labels
@@ -9615,9 +9751,9 @@ module Google
9615
9751
 
9616
9752
  # The ID of a supported feature. To add multiple values, use commas to separate
9617
9753
  # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
9618
- # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - SECURE_BOOT - GVNIC -
9619
- # SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE For more information,
9620
- # see Enabling guest operating system features.
9754
+ # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
9755
+ # SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE For more information, see Enabling
9756
+ # guest operating system features.
9621
9757
  # Corresponds to the JSON property `type`
9622
9758
  # @return [String]
9623
9759
  attr_accessor :type
@@ -19857,130 +19993,45 @@ module Google
19857
19993
  end
19858
19994
  end
19859
19995
 
19860
- # The network endpoint.
19861
- class NetworkEndpoint
19862
- include Google::Apis::Core::Hashable
19863
-
19864
- # Metadata defined as annotations on the network endpoint.
19865
- # Corresponds to the JSON property `annotations`
19866
- # @return [Hash<String,String>]
19867
- attr_accessor :annotations
19868
-
19869
- # Optional fully qualified domain name of network endpoint. This can only be
19870
- # specified when NetworkEndpointGroup.network_endpoint_type is NON_GCP_FQDN_PORT.
19871
- # Corresponds to the JSON property `fqdn`
19872
- # @return [String]
19873
- attr_accessor :fqdn
19874
-
19875
- # The name for a specific VM instance that the IP address belongs to. This is
19876
- # required for network endpoints of type GCE_VM_IP_PORT. The instance must be in
19877
- # the same zone of network endpoint group. The name must be 1-63 characters long,
19878
- # and comply with RFC1035.
19879
- # Corresponds to the JSON property `instance`
19880
- # @return [String]
19881
- attr_accessor :instance
19882
-
19883
- # Optional IPv4 address of network endpoint. The IP address must belong to a VM
19884
- # in Compute Engine (either the primary IP or as part of an aliased IP range).
19885
- # If the IP address is not specified, then the primary IP address for the VM
19886
- # instance in the network that the network endpoint group belongs to will be
19887
- # used.
19888
- # Corresponds to the JSON property `ipAddress`
19889
- # @return [String]
19890
- attr_accessor :ip_address
19891
-
19892
- # Optional port number of network endpoint. If not specified, the defaultPort
19893
- # for the network endpoint group will be used.
19894
- # Corresponds to the JSON property `port`
19895
- # @return [Fixnum]
19896
- attr_accessor :port
19897
-
19898
- def initialize(**args)
19899
- update!(**args)
19900
- end
19901
-
19902
- # Update properties of this object
19903
- def update!(**args)
19904
- @annotations = args[:annotations] if args.key?(:annotations)
19905
- @fqdn = args[:fqdn] if args.key?(:fqdn)
19906
- @instance = args[:instance] if args.key?(:instance)
19907
- @ip_address = args[:ip_address] if args.key?(:ip_address)
19908
- @port = args[:port] if args.key?(:port)
19909
- end
19910
- end
19911
-
19912
- # Represents a collection of network endpoints. A network endpoint group (NEG)
19913
- # defines how a set of endpoints should be reached, whether they are reachable,
19914
- # and where they are located. For more information about using NEGs, see Setting
19915
- # up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs,
19916
- # or Setting up external HTTP(S) Load Balancing with serverless NEGs.
19917
- class NetworkEndpointGroup
19996
+ # Represents a Google Cloud Armor network edge security service resource.
19997
+ class NetworkEdgeSecurityService
19918
19998
  include Google::Apis::Core::Hashable
19919
19999
 
19920
- # Metadata defined as annotations on the network endpoint group.
19921
- # Corresponds to the JSON property `annotations`
19922
- # @return [Hash<String,String>]
19923
- attr_accessor :annotations
19924
-
19925
- # Configuration for an App Engine network endpoint group (NEG). The service is
19926
- # optional, may be provided explicitly or in the URL mask. The version is
19927
- # optional and can only be provided explicitly or in the URL mask when service
19928
- # is present. Note: App Engine service must be in the same project and located
19929
- # in the same region as the Serverless NEG.
19930
- # Corresponds to the JSON property `appEngine`
19931
- # @return [Google::Apis::ComputeBeta::NetworkEndpointGroupAppEngine]
19932
- attr_accessor :app_engine
19933
-
19934
- # Configuration for a Cloud Function network endpoint group (NEG). The function
19935
- # must be provided explicitly or in the URL mask. Note: Cloud Function must be
19936
- # in the same project and located in the same region as the Serverless NEG.
19937
- # Corresponds to the JSON property `cloudFunction`
19938
- # @return [Google::Apis::ComputeBeta::NetworkEndpointGroupCloudFunction]
19939
- attr_accessor :cloud_function
19940
-
19941
- # Configuration for a Cloud Run network endpoint group (NEG). The service must
19942
- # be provided explicitly or in the URL mask. The tag is optional, may be
19943
- # provided explicitly or in the URL mask. Note: Cloud Run service must be in the
19944
- # same project and located in the same region as the Serverless NEG.
19945
- # Corresponds to the JSON property `cloudRun`
19946
- # @return [Google::Apis::ComputeBeta::NetworkEndpointGroupCloudRun]
19947
- attr_accessor :cloud_run
19948
-
19949
20000
  # [Output Only] Creation timestamp in RFC3339 text format.
19950
20001
  # Corresponds to the JSON property `creationTimestamp`
19951
20002
  # @return [String]
19952
20003
  attr_accessor :creation_timestamp
19953
20004
 
19954
- # The default port used if the port number is not specified in the network
19955
- # endpoint.
19956
- # Corresponds to the JSON property `defaultPort`
19957
- # @return [Fixnum]
19958
- attr_accessor :default_port
19959
-
19960
20005
  # An optional description of this resource. Provide this property when you
19961
20006
  # create the resource.
19962
20007
  # Corresponds to the JSON property `description`
19963
20008
  # @return [String]
19964
20009
  attr_accessor :description
19965
20010
 
20011
+ # Fingerprint of this resource. A hash of the contents stored in this object.
20012
+ # This field is used in optimistic locking. This field will be ignored when
20013
+ # inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be
20014
+ # provided in order to update the NetworkEdgeSecurityService, otherwise the
20015
+ # request will fail with error 412 conditionNotMet. To see the latest
20016
+ # fingerprint, make a get() request to retrieve a NetworkEdgeSecurityService.
20017
+ # Corresponds to the JSON property `fingerprint`
20018
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
20019
+ # @return [String]
20020
+ attr_accessor :fingerprint
20021
+
19966
20022
  # [Output Only] The unique identifier for the resource. This identifier is
19967
20023
  # defined by the server.
19968
20024
  # Corresponds to the JSON property `id`
19969
20025
  # @return [Fixnum]
19970
20026
  attr_accessor :id
19971
20027
 
19972
- # [Output Only] Type of the resource. Always compute#networkEndpointGroup for
19973
- # network endpoint group.
20028
+ # [Output only] Type of the resource. Always compute#networkEdgeSecurityService
20029
+ # for NetworkEdgeSecurityServices
19974
20030
  # Corresponds to the JSON property `kind`
19975
20031
  # @return [String]
19976
20032
  attr_accessor :kind
19977
20033
 
19978
- # Load balancing specific fields for network endpoint group.
19979
- # Corresponds to the JSON property `loadBalancer`
19980
- # @return [Google::Apis::ComputeBeta::NetworkEndpointGroupLbNetworkEndpointGroup]
19981
- attr_accessor :load_balancer
19982
-
19983
- # Name of the resource; provided by the client when the resource is created. The
20034
+ # Name of the resource. Provided by the client when the resource is created. The
19984
20035
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
19985
20036
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
19986
20037
  # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
@@ -19990,58 +20041,28 @@ module Google
19990
20041
  # @return [String]
19991
20042
  attr_accessor :name
19992
20043
 
19993
- # The URL of the network to which all network endpoints in the NEG belong. Uses "
19994
- # default" project network if unspecified.
19995
- # Corresponds to the JSON property `network`
19996
- # @return [String]
19997
- attr_accessor :network
19998
-
19999
- # Type of network endpoints in this network endpoint group. Can be one of
20000
- # GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT,
20001
- # INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT.
20002
- # Corresponds to the JSON property `networkEndpointType`
20003
- # @return [String]
20004
- attr_accessor :network_endpoint_type
20005
-
20006
- # The target service url used to set up private service connection to a Google
20007
- # API. An example value is: "asia-northeast3-cloudkms.googleapis.com"
20008
- # Corresponds to the JSON property `pscTargetService`
20009
- # @return [String]
20010
- attr_accessor :psc_target_service
20011
-
20012
- # [Output Only] The URL of the region where the network endpoint group is
20013
- # located.
20044
+ # [Output Only] URL of the region where the resource resides. You must specify
20045
+ # this field as part of the HTTP request URL. It is not settable as a field in
20046
+ # the request body.
20014
20047
  # Corresponds to the JSON property `region`
20015
20048
  # @return [String]
20016
20049
  attr_accessor :region
20017
20050
 
20051
+ # The resource URL for the network edge security service associated with this
20052
+ # network edge security service.
20053
+ # Corresponds to the JSON property `securityPolicy`
20054
+ # @return [String]
20055
+ attr_accessor :security_policy
20056
+
20018
20057
  # [Output Only] Server-defined URL for the resource.
20019
20058
  # Corresponds to the JSON property `selfLink`
20020
20059
  # @return [String]
20021
20060
  attr_accessor :self_link
20022
20061
 
20023
- # Configuration for a serverless network endpoint group (NEG). The platform must
20024
- # be provided. Note: The target backend service must be in the same project and
20025
- # located in the same region as the Serverless NEG.
20026
- # Corresponds to the JSON property `serverlessDeployment`
20027
- # @return [Google::Apis::ComputeBeta::NetworkEndpointGroupServerlessDeployment]
20028
- attr_accessor :serverless_deployment
20029
-
20030
- # [Output only] Number of network endpoints in the network endpoint group.
20031
- # Corresponds to the JSON property `size`
20032
- # @return [Fixnum]
20033
- attr_accessor :size
20034
-
20035
- # Optional URL of the subnetwork to which all network endpoints in the NEG
20036
- # belong.
20037
- # Corresponds to the JSON property `subnetwork`
20038
- # @return [String]
20039
- attr_accessor :subnetwork
20040
-
20041
- # [Output Only] The URL of the zone where the network endpoint group is located.
20042
- # Corresponds to the JSON property `zone`
20062
+ # [Output Only] Server-defined URL for this resource with the resource id.
20063
+ # Corresponds to the JSON property `selfLinkWithId`
20043
20064
  # @return [String]
20044
- attr_accessor :zone
20065
+ attr_accessor :self_link_with_id
20045
20066
 
20046
20067
  def initialize(**args)
20047
20068
  update!(**args)
@@ -20049,46 +20070,41 @@ module Google
20049
20070
 
20050
20071
  # Update properties of this object
20051
20072
  def update!(**args)
20052
- @annotations = args[:annotations] if args.key?(:annotations)
20053
- @app_engine = args[:app_engine] if args.key?(:app_engine)
20054
- @cloud_function = args[:cloud_function] if args.key?(:cloud_function)
20055
- @cloud_run = args[:cloud_run] if args.key?(:cloud_run)
20056
20073
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
20057
- @default_port = args[:default_port] if args.key?(:default_port)
20058
20074
  @description = args[:description] if args.key?(:description)
20075
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
20059
20076
  @id = args[:id] if args.key?(:id)
20060
20077
  @kind = args[:kind] if args.key?(:kind)
20061
- @load_balancer = args[:load_balancer] if args.key?(:load_balancer)
20062
20078
  @name = args[:name] if args.key?(:name)
20063
- @network = args[:network] if args.key?(:network)
20064
- @network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
20065
- @psc_target_service = args[:psc_target_service] if args.key?(:psc_target_service)
20066
20079
  @region = args[:region] if args.key?(:region)
20080
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
20067
20081
  @self_link = args[:self_link] if args.key?(:self_link)
20068
- @serverless_deployment = args[:serverless_deployment] if args.key?(:serverless_deployment)
20069
- @size = args[:size] if args.key?(:size)
20070
- @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
20071
- @zone = args[:zone] if args.key?(:zone)
20082
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
20072
20083
  end
20073
20084
  end
20074
20085
 
20075
20086
  #
20076
- class NetworkEndpointGroupAggregatedList
20087
+ class NetworkEdgeSecurityServiceAggregatedList
20077
20088
  include Google::Apis::Core::Hashable
20078
20089
 
20090
+ #
20091
+ # Corresponds to the JSON property `etag`
20092
+ # @return [String]
20093
+ attr_accessor :etag
20094
+
20079
20095
  # [Output Only] Unique identifier for the resource; defined by the server.
20080
20096
  # Corresponds to the JSON property `id`
20081
20097
  # @return [String]
20082
20098
  attr_accessor :id
20083
20099
 
20084
- # A list of NetworkEndpointGroupsScopedList resources.
20100
+ # A list of NetworkEdgeSecurityServicesScopedList resources.
20085
20101
  # Corresponds to the JSON property `items`
20086
- # @return [Hash<String,Google::Apis::ComputeBeta::NetworkEndpointGroupsScopedList>]
20102
+ # @return [Hash<String,Google::Apis::ComputeBeta::NetworkEdgeSecurityServicesScopedList>]
20087
20103
  attr_accessor :items
20088
20104
 
20089
- # [Output Only] The resource type, which is always compute#
20090
- # networkEndpointGroupAggregatedList for aggregated lists of network endpoint
20091
- # groups.
20105
+ # [Output Only] Type of resource. Always compute#
20106
+ # networkEdgeSecurityServiceAggregatedList for lists of Network Edge Security
20107
+ # Services.
20092
20108
  # Corresponds to the JSON property `kind`
20093
20109
  # @return [String]
20094
20110
  attr_accessor :kind
@@ -20114,7 +20130,439 @@ module Google
20114
20130
 
20115
20131
  # [Output Only] Informational warning message.
20116
20132
  # Corresponds to the JSON property `warning`
20117
- # @return [Google::Apis::ComputeBeta::NetworkEndpointGroupAggregatedList::Warning]
20133
+ # @return [Google::Apis::ComputeBeta::NetworkEdgeSecurityServiceAggregatedList::Warning]
20134
+ attr_accessor :warning
20135
+
20136
+ def initialize(**args)
20137
+ update!(**args)
20138
+ end
20139
+
20140
+ # Update properties of this object
20141
+ def update!(**args)
20142
+ @etag = args[:etag] if args.key?(:etag)
20143
+ @id = args[:id] if args.key?(:id)
20144
+ @items = args[:items] if args.key?(:items)
20145
+ @kind = args[:kind] if args.key?(:kind)
20146
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
20147
+ @self_link = args[:self_link] if args.key?(:self_link)
20148
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
20149
+ @warning = args[:warning] if args.key?(:warning)
20150
+ end
20151
+
20152
+ # [Output Only] Informational warning message.
20153
+ class Warning
20154
+ include Google::Apis::Core::Hashable
20155
+
20156
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
20157
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
20158
+ # Corresponds to the JSON property `code`
20159
+ # @return [String]
20160
+ attr_accessor :code
20161
+
20162
+ # [Output Only] Metadata about this warning in key: value format. For example: "
20163
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
20164
+ # Corresponds to the JSON property `data`
20165
+ # @return [Array<Google::Apis::ComputeBeta::NetworkEdgeSecurityServiceAggregatedList::Warning::Datum>]
20166
+ attr_accessor :data
20167
+
20168
+ # [Output Only] A human-readable description of the warning code.
20169
+ # Corresponds to the JSON property `message`
20170
+ # @return [String]
20171
+ attr_accessor :message
20172
+
20173
+ def initialize(**args)
20174
+ update!(**args)
20175
+ end
20176
+
20177
+ # Update properties of this object
20178
+ def update!(**args)
20179
+ @code = args[:code] if args.key?(:code)
20180
+ @data = args[:data] if args.key?(:data)
20181
+ @message = args[:message] if args.key?(:message)
20182
+ end
20183
+
20184
+ #
20185
+ class Datum
20186
+ include Google::Apis::Core::Hashable
20187
+
20188
+ # [Output Only] A key that provides more detail on the warning being returned.
20189
+ # For example, for warnings where there are no results in a list request for a
20190
+ # particular zone, this key might be scope and the key value might be the zone
20191
+ # name. Other examples might be a key indicating a deprecated resource and a
20192
+ # suggested replacement, or a warning about invalid network settings (for
20193
+ # example, if an instance attempts to perform IP forwarding but is not enabled
20194
+ # for IP forwarding).
20195
+ # Corresponds to the JSON property `key`
20196
+ # @return [String]
20197
+ attr_accessor :key
20198
+
20199
+ # [Output Only] A warning data value corresponding to the key.
20200
+ # Corresponds to the JSON property `value`
20201
+ # @return [String]
20202
+ attr_accessor :value
20203
+
20204
+ def initialize(**args)
20205
+ update!(**args)
20206
+ end
20207
+
20208
+ # Update properties of this object
20209
+ def update!(**args)
20210
+ @key = args[:key] if args.key?(:key)
20211
+ @value = args[:value] if args.key?(:value)
20212
+ end
20213
+ end
20214
+ end
20215
+ end
20216
+
20217
+ #
20218
+ class NetworkEdgeSecurityServicesScopedList
20219
+ include Google::Apis::Core::Hashable
20220
+
20221
+ # A list of NetworkEdgeSecurityServices contained in this scope.
20222
+ # Corresponds to the JSON property `networkEdgeSecurityServices`
20223
+ # @return [Array<Google::Apis::ComputeBeta::NetworkEdgeSecurityService>]
20224
+ attr_accessor :network_edge_security_services
20225
+
20226
+ # Informational warning which replaces the list of security policies when the
20227
+ # list is empty.
20228
+ # Corresponds to the JSON property `warning`
20229
+ # @return [Google::Apis::ComputeBeta::NetworkEdgeSecurityServicesScopedList::Warning]
20230
+ attr_accessor :warning
20231
+
20232
+ def initialize(**args)
20233
+ update!(**args)
20234
+ end
20235
+
20236
+ # Update properties of this object
20237
+ def update!(**args)
20238
+ @network_edge_security_services = args[:network_edge_security_services] if args.key?(:network_edge_security_services)
20239
+ @warning = args[:warning] if args.key?(:warning)
20240
+ end
20241
+
20242
+ # Informational warning which replaces the list of security policies when the
20243
+ # list is empty.
20244
+ class Warning
20245
+ include Google::Apis::Core::Hashable
20246
+
20247
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
20248
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
20249
+ # Corresponds to the JSON property `code`
20250
+ # @return [String]
20251
+ attr_accessor :code
20252
+
20253
+ # [Output Only] Metadata about this warning in key: value format. For example: "
20254
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
20255
+ # Corresponds to the JSON property `data`
20256
+ # @return [Array<Google::Apis::ComputeBeta::NetworkEdgeSecurityServicesScopedList::Warning::Datum>]
20257
+ attr_accessor :data
20258
+
20259
+ # [Output Only] A human-readable description of the warning code.
20260
+ # Corresponds to the JSON property `message`
20261
+ # @return [String]
20262
+ attr_accessor :message
20263
+
20264
+ def initialize(**args)
20265
+ update!(**args)
20266
+ end
20267
+
20268
+ # Update properties of this object
20269
+ def update!(**args)
20270
+ @code = args[:code] if args.key?(:code)
20271
+ @data = args[:data] if args.key?(:data)
20272
+ @message = args[:message] if args.key?(:message)
20273
+ end
20274
+
20275
+ #
20276
+ class Datum
20277
+ include Google::Apis::Core::Hashable
20278
+
20279
+ # [Output Only] A key that provides more detail on the warning being returned.
20280
+ # For example, for warnings where there are no results in a list request for a
20281
+ # particular zone, this key might be scope and the key value might be the zone
20282
+ # name. Other examples might be a key indicating a deprecated resource and a
20283
+ # suggested replacement, or a warning about invalid network settings (for
20284
+ # example, if an instance attempts to perform IP forwarding but is not enabled
20285
+ # for IP forwarding).
20286
+ # Corresponds to the JSON property `key`
20287
+ # @return [String]
20288
+ attr_accessor :key
20289
+
20290
+ # [Output Only] A warning data value corresponding to the key.
20291
+ # Corresponds to the JSON property `value`
20292
+ # @return [String]
20293
+ attr_accessor :value
20294
+
20295
+ def initialize(**args)
20296
+ update!(**args)
20297
+ end
20298
+
20299
+ # Update properties of this object
20300
+ def update!(**args)
20301
+ @key = args[:key] if args.key?(:key)
20302
+ @value = args[:value] if args.key?(:value)
20303
+ end
20304
+ end
20305
+ end
20306
+ end
20307
+
20308
+ # The network endpoint.
20309
+ class NetworkEndpoint
20310
+ include Google::Apis::Core::Hashable
20311
+
20312
+ # Metadata defined as annotations on the network endpoint.
20313
+ # Corresponds to the JSON property `annotations`
20314
+ # @return [Hash<String,String>]
20315
+ attr_accessor :annotations
20316
+
20317
+ # Optional fully qualified domain name of network endpoint. This can only be
20318
+ # specified when NetworkEndpointGroup.network_endpoint_type is NON_GCP_FQDN_PORT.
20319
+ # Corresponds to the JSON property `fqdn`
20320
+ # @return [String]
20321
+ attr_accessor :fqdn
20322
+
20323
+ # The name for a specific VM instance that the IP address belongs to. This is
20324
+ # required for network endpoints of type GCE_VM_IP_PORT. The instance must be in
20325
+ # the same zone of network endpoint group. The name must be 1-63 characters long,
20326
+ # and comply with RFC1035.
20327
+ # Corresponds to the JSON property `instance`
20328
+ # @return [String]
20329
+ attr_accessor :instance
20330
+
20331
+ # Optional IPv4 address of network endpoint. The IP address must belong to a VM
20332
+ # in Compute Engine (either the primary IP or as part of an aliased IP range).
20333
+ # If the IP address is not specified, then the primary IP address for the VM
20334
+ # instance in the network that the network endpoint group belongs to will be
20335
+ # used.
20336
+ # Corresponds to the JSON property `ipAddress`
20337
+ # @return [String]
20338
+ attr_accessor :ip_address
20339
+
20340
+ # Optional port number of network endpoint. If not specified, the defaultPort
20341
+ # for the network endpoint group will be used.
20342
+ # Corresponds to the JSON property `port`
20343
+ # @return [Fixnum]
20344
+ attr_accessor :port
20345
+
20346
+ def initialize(**args)
20347
+ update!(**args)
20348
+ end
20349
+
20350
+ # Update properties of this object
20351
+ def update!(**args)
20352
+ @annotations = args[:annotations] if args.key?(:annotations)
20353
+ @fqdn = args[:fqdn] if args.key?(:fqdn)
20354
+ @instance = args[:instance] if args.key?(:instance)
20355
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
20356
+ @port = args[:port] if args.key?(:port)
20357
+ end
20358
+ end
20359
+
20360
+ # Represents a collection of network endpoints. A network endpoint group (NEG)
20361
+ # defines how a set of endpoints should be reached, whether they are reachable,
20362
+ # and where they are located. For more information about using NEGs, see Setting
20363
+ # up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs,
20364
+ # or Setting up external HTTP(S) Load Balancing with serverless NEGs.
20365
+ class NetworkEndpointGroup
20366
+ include Google::Apis::Core::Hashable
20367
+
20368
+ # Metadata defined as annotations on the network endpoint group.
20369
+ # Corresponds to the JSON property `annotations`
20370
+ # @return [Hash<String,String>]
20371
+ attr_accessor :annotations
20372
+
20373
+ # Configuration for an App Engine network endpoint group (NEG). The service is
20374
+ # optional, may be provided explicitly or in the URL mask. The version is
20375
+ # optional and can only be provided explicitly or in the URL mask when service
20376
+ # is present. Note: App Engine service must be in the same project and located
20377
+ # in the same region as the Serverless NEG.
20378
+ # Corresponds to the JSON property `appEngine`
20379
+ # @return [Google::Apis::ComputeBeta::NetworkEndpointGroupAppEngine]
20380
+ attr_accessor :app_engine
20381
+
20382
+ # Configuration for a Cloud Function network endpoint group (NEG). The function
20383
+ # must be provided explicitly or in the URL mask. Note: Cloud Function must be
20384
+ # in the same project and located in the same region as the Serverless NEG.
20385
+ # Corresponds to the JSON property `cloudFunction`
20386
+ # @return [Google::Apis::ComputeBeta::NetworkEndpointGroupCloudFunction]
20387
+ attr_accessor :cloud_function
20388
+
20389
+ # Configuration for a Cloud Run network endpoint group (NEG). The service must
20390
+ # be provided explicitly or in the URL mask. The tag is optional, may be
20391
+ # provided explicitly or in the URL mask. Note: Cloud Run service must be in the
20392
+ # same project and located in the same region as the Serverless NEG.
20393
+ # Corresponds to the JSON property `cloudRun`
20394
+ # @return [Google::Apis::ComputeBeta::NetworkEndpointGroupCloudRun]
20395
+ attr_accessor :cloud_run
20396
+
20397
+ # [Output Only] Creation timestamp in RFC3339 text format.
20398
+ # Corresponds to the JSON property `creationTimestamp`
20399
+ # @return [String]
20400
+ attr_accessor :creation_timestamp
20401
+
20402
+ # The default port used if the port number is not specified in the network
20403
+ # endpoint.
20404
+ # Corresponds to the JSON property `defaultPort`
20405
+ # @return [Fixnum]
20406
+ attr_accessor :default_port
20407
+
20408
+ # An optional description of this resource. Provide this property when you
20409
+ # create the resource.
20410
+ # Corresponds to the JSON property `description`
20411
+ # @return [String]
20412
+ attr_accessor :description
20413
+
20414
+ # [Output Only] The unique identifier for the resource. This identifier is
20415
+ # defined by the server.
20416
+ # Corresponds to the JSON property `id`
20417
+ # @return [Fixnum]
20418
+ attr_accessor :id
20419
+
20420
+ # [Output Only] Type of the resource. Always compute#networkEndpointGroup for
20421
+ # network endpoint group.
20422
+ # Corresponds to the JSON property `kind`
20423
+ # @return [String]
20424
+ attr_accessor :kind
20425
+
20426
+ # Load balancing specific fields for network endpoint group.
20427
+ # Corresponds to the JSON property `loadBalancer`
20428
+ # @return [Google::Apis::ComputeBeta::NetworkEndpointGroupLbNetworkEndpointGroup]
20429
+ attr_accessor :load_balancer
20430
+
20431
+ # Name of the resource; provided by the client when the resource is created. The
20432
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
20433
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
20434
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
20435
+ # and all following characters must be a dash, lowercase letter, or digit,
20436
+ # except the last character, which cannot be a dash.
20437
+ # Corresponds to the JSON property `name`
20438
+ # @return [String]
20439
+ attr_accessor :name
20440
+
20441
+ # The URL of the network to which all network endpoints in the NEG belong. Uses "
20442
+ # default" project network if unspecified.
20443
+ # Corresponds to the JSON property `network`
20444
+ # @return [String]
20445
+ attr_accessor :network
20446
+
20447
+ # Type of network endpoints in this network endpoint group. Can be one of
20448
+ # GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT,
20449
+ # INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT.
20450
+ # Corresponds to the JSON property `networkEndpointType`
20451
+ # @return [String]
20452
+ attr_accessor :network_endpoint_type
20453
+
20454
+ # The target service url used to set up private service connection to a Google
20455
+ # API. An example value is: "asia-northeast3-cloudkms.googleapis.com"
20456
+ # Corresponds to the JSON property `pscTargetService`
20457
+ # @return [String]
20458
+ attr_accessor :psc_target_service
20459
+
20460
+ # [Output Only] The URL of the region where the network endpoint group is
20461
+ # located.
20462
+ # Corresponds to the JSON property `region`
20463
+ # @return [String]
20464
+ attr_accessor :region
20465
+
20466
+ # [Output Only] Server-defined URL for the resource.
20467
+ # Corresponds to the JSON property `selfLink`
20468
+ # @return [String]
20469
+ attr_accessor :self_link
20470
+
20471
+ # Configuration for a serverless network endpoint group (NEG). The platform must
20472
+ # be provided. Note: The target backend service must be in the same project and
20473
+ # located in the same region as the Serverless NEG.
20474
+ # Corresponds to the JSON property `serverlessDeployment`
20475
+ # @return [Google::Apis::ComputeBeta::NetworkEndpointGroupServerlessDeployment]
20476
+ attr_accessor :serverless_deployment
20477
+
20478
+ # [Output only] Number of network endpoints in the network endpoint group.
20479
+ # Corresponds to the JSON property `size`
20480
+ # @return [Fixnum]
20481
+ attr_accessor :size
20482
+
20483
+ # Optional URL of the subnetwork to which all network endpoints in the NEG
20484
+ # belong.
20485
+ # Corresponds to the JSON property `subnetwork`
20486
+ # @return [String]
20487
+ attr_accessor :subnetwork
20488
+
20489
+ # [Output Only] The URL of the zone where the network endpoint group is located.
20490
+ # Corresponds to the JSON property `zone`
20491
+ # @return [String]
20492
+ attr_accessor :zone
20493
+
20494
+ def initialize(**args)
20495
+ update!(**args)
20496
+ end
20497
+
20498
+ # Update properties of this object
20499
+ def update!(**args)
20500
+ @annotations = args[:annotations] if args.key?(:annotations)
20501
+ @app_engine = args[:app_engine] if args.key?(:app_engine)
20502
+ @cloud_function = args[:cloud_function] if args.key?(:cloud_function)
20503
+ @cloud_run = args[:cloud_run] if args.key?(:cloud_run)
20504
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
20505
+ @default_port = args[:default_port] if args.key?(:default_port)
20506
+ @description = args[:description] if args.key?(:description)
20507
+ @id = args[:id] if args.key?(:id)
20508
+ @kind = args[:kind] if args.key?(:kind)
20509
+ @load_balancer = args[:load_balancer] if args.key?(:load_balancer)
20510
+ @name = args[:name] if args.key?(:name)
20511
+ @network = args[:network] if args.key?(:network)
20512
+ @network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
20513
+ @psc_target_service = args[:psc_target_service] if args.key?(:psc_target_service)
20514
+ @region = args[:region] if args.key?(:region)
20515
+ @self_link = args[:self_link] if args.key?(:self_link)
20516
+ @serverless_deployment = args[:serverless_deployment] if args.key?(:serverless_deployment)
20517
+ @size = args[:size] if args.key?(:size)
20518
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
20519
+ @zone = args[:zone] if args.key?(:zone)
20520
+ end
20521
+ end
20522
+
20523
+ #
20524
+ class NetworkEndpointGroupAggregatedList
20525
+ include Google::Apis::Core::Hashable
20526
+
20527
+ # [Output Only] Unique identifier for the resource; defined by the server.
20528
+ # Corresponds to the JSON property `id`
20529
+ # @return [String]
20530
+ attr_accessor :id
20531
+
20532
+ # A list of NetworkEndpointGroupsScopedList resources.
20533
+ # Corresponds to the JSON property `items`
20534
+ # @return [Hash<String,Google::Apis::ComputeBeta::NetworkEndpointGroupsScopedList>]
20535
+ attr_accessor :items
20536
+
20537
+ # [Output Only] The resource type, which is always compute#
20538
+ # networkEndpointGroupAggregatedList for aggregated lists of network endpoint
20539
+ # groups.
20540
+ # Corresponds to the JSON property `kind`
20541
+ # @return [String]
20542
+ attr_accessor :kind
20543
+
20544
+ # [Output Only] This token allows you to get the next page of results for list
20545
+ # requests. If the number of results is larger than maxResults, use the
20546
+ # nextPageToken as a value for the query parameter pageToken in the next list
20547
+ # request. Subsequent list requests will have their own nextPageToken to
20548
+ # continue paging through the results.
20549
+ # Corresponds to the JSON property `nextPageToken`
20550
+ # @return [String]
20551
+ attr_accessor :next_page_token
20552
+
20553
+ # [Output Only] Server-defined URL for this resource.
20554
+ # Corresponds to the JSON property `selfLink`
20555
+ # @return [String]
20556
+ attr_accessor :self_link
20557
+
20558
+ # [Output Only] Unreachable resources.
20559
+ # Corresponds to the JSON property `unreachables`
20560
+ # @return [Array<String>]
20561
+ attr_accessor :unreachables
20562
+
20563
+ # [Output Only] Informational warning message.
20564
+ # Corresponds to the JSON property `warning`
20565
+ # @return [Google::Apis::ComputeBeta::NetworkEndpointGroupAggregatedList::Warning]
20118
20566
  attr_accessor :warning
20119
20567
 
20120
20568
  def initialize(**args)
@@ -20481,10 +20929,8 @@ module Google
20481
20929
  class NetworkEndpointGroupServerlessDeployment
20482
20930
  include Google::Apis::Core::Hashable
20483
20931
 
20484
- # The platform of the backend target(s) of this NEG. Possible values include: 1.
20485
- # API Gateway: apigateway.googleapis.com 2. App Engine: appengine.googleapis.com
20486
- # 3. Cloud Functions: cloudfunctions.googleapis.com 4. Cloud Run: run.googleapis.
20487
- # com
20932
+ # The platform of the backend target(s) of this NEG. The only supported value is
20933
+ # API Gateway: apigateway.googleapis.com.
20488
20934
  # Corresponds to the JSON property `platform`
20489
20935
  # @return [String]
20490
20936
  attr_accessor :platform
@@ -20902,7 +21348,8 @@ module Google
20902
21348
  attr_accessor :kind
20903
21349
 
20904
21350
  # [Output Only] The name of the network interface, which is generated by the
20905
- # server. For network devices, these are eth0, eth1, etc.
21351
+ # server. For a VM, the network interface uses the nicN naming format. Where N
21352
+ # is a value between 0 and 7. The default interface value is nic0.
20906
21353
  # Corresponds to the JSON property `name`
20907
21354
  # @return [String]
20908
21355
  attr_accessor :name
@@ -29544,6 +29991,11 @@ module Google
29544
29991
  # @return [Fixnum]
29545
29992
  attr_accessor :priority
29546
29993
 
29994
+ # [Output only] The status of the route.
29995
+ # Corresponds to the JSON property `routeStatus`
29996
+ # @return [String]
29997
+ attr_accessor :route_status
29998
+
29547
29999
  # [Output Only] The type of this route, which can be one of the following values:
29548
30000
  # - 'TRANSIT' for a transit route that this router learned from another Cloud
29549
30001
  # Router and will readvertise to one of its BGP peers - 'SUBNET' for a route
@@ -29592,6 +30044,7 @@ module Google
29592
30044
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
29593
30045
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
29594
30046
  @priority = args[:priority] if args.key?(:priority)
30047
+ @route_status = args[:route_status] if args.key?(:route_status)
29595
30048
  @route_type = args[:route_type] if args.key?(:route_type)
29596
30049
  @self_link = args[:self_link] if args.key?(:self_link)
29597
30050
  @tags = args[:tags] if args.key?(:tags)
@@ -31683,6 +32136,136 @@ module Google
31683
32136
  end
31684
32137
  end
31685
32138
 
32139
+ #
32140
+ class SecurityPoliciesAggregatedList
32141
+ include Google::Apis::Core::Hashable
32142
+
32143
+ #
32144
+ # Corresponds to the JSON property `etag`
32145
+ # @return [String]
32146
+ attr_accessor :etag
32147
+
32148
+ # [Output Only] Unique identifier for the resource; defined by the server.
32149
+ # Corresponds to the JSON property `id`
32150
+ # @return [String]
32151
+ attr_accessor :id
32152
+
32153
+ # A list of SecurityPoliciesScopedList resources.
32154
+ # Corresponds to the JSON property `items`
32155
+ # @return [Hash<String,Google::Apis::ComputeBeta::SecurityPoliciesScopedList>]
32156
+ attr_accessor :items
32157
+
32158
+ # [Output Only] Type of resource. Always compute#securityPolicyAggregatedList
32159
+ # for lists of Security Policies.
32160
+ # Corresponds to the JSON property `kind`
32161
+ # @return [String]
32162
+ attr_accessor :kind
32163
+
32164
+ # [Output Only] This token allows you to get the next page of results for list
32165
+ # requests. If the number of results is larger than maxResults, use the
32166
+ # nextPageToken as a value for the query parameter pageToken in the next list
32167
+ # request. Subsequent list requests will have their own nextPageToken to
32168
+ # continue paging through the results.
32169
+ # Corresponds to the JSON property `nextPageToken`
32170
+ # @return [String]
32171
+ attr_accessor :next_page_token
32172
+
32173
+ # [Output Only] Server-defined URL for this resource.
32174
+ # Corresponds to the JSON property `selfLink`
32175
+ # @return [String]
32176
+ attr_accessor :self_link
32177
+
32178
+ # [Output Only] Unreachable resources.
32179
+ # Corresponds to the JSON property `unreachables`
32180
+ # @return [Array<String>]
32181
+ attr_accessor :unreachables
32182
+
32183
+ # [Output Only] Informational warning message.
32184
+ # Corresponds to the JSON property `warning`
32185
+ # @return [Google::Apis::ComputeBeta::SecurityPoliciesAggregatedList::Warning]
32186
+ attr_accessor :warning
32187
+
32188
+ def initialize(**args)
32189
+ update!(**args)
32190
+ end
32191
+
32192
+ # Update properties of this object
32193
+ def update!(**args)
32194
+ @etag = args[:etag] if args.key?(:etag)
32195
+ @id = args[:id] if args.key?(:id)
32196
+ @items = args[:items] if args.key?(:items)
32197
+ @kind = args[:kind] if args.key?(:kind)
32198
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
32199
+ @self_link = args[:self_link] if args.key?(:self_link)
32200
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
32201
+ @warning = args[:warning] if args.key?(:warning)
32202
+ end
32203
+
32204
+ # [Output Only] Informational warning message.
32205
+ class Warning
32206
+ include Google::Apis::Core::Hashable
32207
+
32208
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
32209
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
32210
+ # Corresponds to the JSON property `code`
32211
+ # @return [String]
32212
+ attr_accessor :code
32213
+
32214
+ # [Output Only] Metadata about this warning in key: value format. For example: "
32215
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
32216
+ # Corresponds to the JSON property `data`
32217
+ # @return [Array<Google::Apis::ComputeBeta::SecurityPoliciesAggregatedList::Warning::Datum>]
32218
+ attr_accessor :data
32219
+
32220
+ # [Output Only] A human-readable description of the warning code.
32221
+ # Corresponds to the JSON property `message`
32222
+ # @return [String]
32223
+ attr_accessor :message
32224
+
32225
+ def initialize(**args)
32226
+ update!(**args)
32227
+ end
32228
+
32229
+ # Update properties of this object
32230
+ def update!(**args)
32231
+ @code = args[:code] if args.key?(:code)
32232
+ @data = args[:data] if args.key?(:data)
32233
+ @message = args[:message] if args.key?(:message)
32234
+ end
32235
+
32236
+ #
32237
+ class Datum
32238
+ include Google::Apis::Core::Hashable
32239
+
32240
+ # [Output Only] A key that provides more detail on the warning being returned.
32241
+ # For example, for warnings where there are no results in a list request for a
32242
+ # particular zone, this key might be scope and the key value might be the zone
32243
+ # name. Other examples might be a key indicating a deprecated resource and a
32244
+ # suggested replacement, or a warning about invalid network settings (for
32245
+ # example, if an instance attempts to perform IP forwarding but is not enabled
32246
+ # for IP forwarding).
32247
+ # Corresponds to the JSON property `key`
32248
+ # @return [String]
32249
+ attr_accessor :key
32250
+
32251
+ # [Output Only] A warning data value corresponding to the key.
32252
+ # Corresponds to the JSON property `value`
32253
+ # @return [String]
32254
+ attr_accessor :value
32255
+
32256
+ def initialize(**args)
32257
+ update!(**args)
32258
+ end
32259
+
32260
+ # Update properties of this object
32261
+ def update!(**args)
32262
+ @key = args[:key] if args.key?(:key)
32263
+ @value = args[:value] if args.key?(:value)
32264
+ end
32265
+ end
32266
+ end
32267
+ end
32268
+
31686
32269
  #
31687
32270
  class SecurityPoliciesListPreconfiguredExpressionSetsResponse
31688
32271
  include Google::Apis::Core::Hashable
@@ -31702,6 +32285,97 @@ module Google
31702
32285
  end
31703
32286
  end
31704
32287
 
32288
+ #
32289
+ class SecurityPoliciesScopedList
32290
+ include Google::Apis::Core::Hashable
32291
+
32292
+ # A list of SecurityPolicies contained in this scope.
32293
+ # Corresponds to the JSON property `securityPolicies`
32294
+ # @return [Array<Google::Apis::ComputeBeta::SecurityPolicy>]
32295
+ attr_accessor :security_policies
32296
+
32297
+ # Informational warning which replaces the list of security policies when the
32298
+ # list is empty.
32299
+ # Corresponds to the JSON property `warning`
32300
+ # @return [Google::Apis::ComputeBeta::SecurityPoliciesScopedList::Warning]
32301
+ attr_accessor :warning
32302
+
32303
+ def initialize(**args)
32304
+ update!(**args)
32305
+ end
32306
+
32307
+ # Update properties of this object
32308
+ def update!(**args)
32309
+ @security_policies = args[:security_policies] if args.key?(:security_policies)
32310
+ @warning = args[:warning] if args.key?(:warning)
32311
+ end
32312
+
32313
+ # Informational warning which replaces the list of security policies when the
32314
+ # list is empty.
32315
+ class Warning
32316
+ include Google::Apis::Core::Hashable
32317
+
32318
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
32319
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
32320
+ # Corresponds to the JSON property `code`
32321
+ # @return [String]
32322
+ attr_accessor :code
32323
+
32324
+ # [Output Only] Metadata about this warning in key: value format. For example: "
32325
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
32326
+ # Corresponds to the JSON property `data`
32327
+ # @return [Array<Google::Apis::ComputeBeta::SecurityPoliciesScopedList::Warning::Datum>]
32328
+ attr_accessor :data
32329
+
32330
+ # [Output Only] A human-readable description of the warning code.
32331
+ # Corresponds to the JSON property `message`
32332
+ # @return [String]
32333
+ attr_accessor :message
32334
+
32335
+ def initialize(**args)
32336
+ update!(**args)
32337
+ end
32338
+
32339
+ # Update properties of this object
32340
+ def update!(**args)
32341
+ @code = args[:code] if args.key?(:code)
32342
+ @data = args[:data] if args.key?(:data)
32343
+ @message = args[:message] if args.key?(:message)
32344
+ end
32345
+
32346
+ #
32347
+ class Datum
32348
+ include Google::Apis::Core::Hashable
32349
+
32350
+ # [Output Only] A key that provides more detail on the warning being returned.
32351
+ # For example, for warnings where there are no results in a list request for a
32352
+ # particular zone, this key might be scope and the key value might be the zone
32353
+ # name. Other examples might be a key indicating a deprecated resource and a
32354
+ # suggested replacement, or a warning about invalid network settings (for
32355
+ # example, if an instance attempts to perform IP forwarding but is not enabled
32356
+ # for IP forwarding).
32357
+ # Corresponds to the JSON property `key`
32358
+ # @return [String]
32359
+ attr_accessor :key
32360
+
32361
+ # [Output Only] A warning data value corresponding to the key.
32362
+ # Corresponds to the JSON property `value`
32363
+ # @return [String]
32364
+ attr_accessor :value
32365
+
32366
+ def initialize(**args)
32367
+ update!(**args)
32368
+ end
32369
+
32370
+ # Update properties of this object
32371
+ def update!(**args)
32372
+ @key = args[:key] if args.key?(:key)
32373
+ @value = args[:value] if args.key?(:value)
32374
+ end
32375
+ end
32376
+ end
32377
+ end
32378
+
31705
32379
  #
31706
32380
  class SecurityPoliciesWafConfig
31707
32381
  include Google::Apis::Core::Hashable
@@ -31747,6 +32421,11 @@ module Google
31747
32421
  # @return [String]
31748
32422
  attr_accessor :creation_timestamp
31749
32423
 
32424
+ #
32425
+ # Corresponds to the JSON property `ddosProtectionConfig`
32426
+ # @return [Google::Apis::ComputeBeta::SecurityPolicyDdosProtectionConfig]
32427
+ attr_accessor :ddos_protection_config
32428
+
31750
32429
  # An optional description of this resource. Provide this property when you
31751
32430
  # create the resource.
31752
32431
  # Corresponds to the JSON property `description`
@@ -31827,6 +32506,12 @@ module Google
31827
32506
  # @return [Google::Apis::ComputeBeta::SecurityPolicyRecaptchaOptionsConfig]
31828
32507
  attr_accessor :recaptcha_options_config
31829
32508
 
32509
+ # [Output Only] URL of the region where the regional security policy resides.
32510
+ # This field is not applicable to global security policies.
32511
+ # Corresponds to the JSON property `region`
32512
+ # @return [String]
32513
+ attr_accessor :region
32514
+
31830
32515
  # [Output Only] Total count of all security policy rule tuples. A security
31831
32516
  # policy can not exceed a set number of tuples.
31832
32517
  # Corresponds to the JSON property `ruleTupleCount`
@@ -31876,6 +32561,7 @@ module Google
31876
32561
  @advanced_options_config = args[:advanced_options_config] if args.key?(:advanced_options_config)
31877
32562
  @associations = args[:associations] if args.key?(:associations)
31878
32563
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
32564
+ @ddos_protection_config = args[:ddos_protection_config] if args.key?(:ddos_protection_config)
31879
32565
  @description = args[:description] if args.key?(:description)
31880
32566
  @display_name = args[:display_name] if args.key?(:display_name)
31881
32567
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -31886,6 +32572,7 @@ module Google
31886
32572
  @name = args[:name] if args.key?(:name)
31887
32573
  @parent = args[:parent] if args.key?(:parent)
31888
32574
  @recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
32575
+ @region = args[:region] if args.key?(:region)
31889
32576
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
31890
32577
  @rules = args[:rules] if args.key?(:rules)
31891
32578
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -32002,6 +32689,25 @@ module Google
32002
32689
  end
32003
32690
  end
32004
32691
 
32692
+ #
32693
+ class SecurityPolicyDdosProtectionConfig
32694
+ include Google::Apis::Core::Hashable
32695
+
32696
+ #
32697
+ # Corresponds to the JSON property `ddosProtection`
32698
+ # @return [String]
32699
+ attr_accessor :ddos_protection
32700
+
32701
+ def initialize(**args)
32702
+ update!(**args)
32703
+ end
32704
+
32705
+ # Update properties of this object
32706
+ def update!(**args)
32707
+ @ddos_protection = args[:ddos_protection] if args.key?(:ddos_protection)
32708
+ end
32709
+ end
32710
+
32005
32711
  #
32006
32712
  class SecurityPolicyList
32007
32713
  include Google::Apis::Core::Hashable
@@ -35078,7 +35784,7 @@ module Google
35078
35784
  attr_accessor :enable_flow_logs
35079
35785
  alias_method :enable_flow_logs?, :enable_flow_logs
35080
35786
 
35081
- # [Output Only] The range of external IPv6 addresses that are owned by this
35787
+ # [Output Only] The external IPv6 address range that is assigned to this
35082
35788
  # subnetwork.
35083
35789
  # Corresponds to the JSON property `externalIpv6Prefix`
35084
35790
  # @return [String]
@@ -35107,9 +35813,8 @@ module Google
35107
35813
  # @return [Fixnum]
35108
35814
  attr_accessor :id
35109
35815
 
35110
- # [Output Only] The range of internal IPv6 addresses that are owned by this
35111
- # subnetwork. Note this is for general VM to VM communication, not to be
35112
- # confused with the ipv6_cidr_range field.
35816
+ # [Output Only] The internal IPv6 address range that is assigned to this
35817
+ # subnetwork.
35113
35818
  # Corresponds to the JSON property `internalIpv6Prefix`
35114
35819
  # @return [String]
35115
35820
  attr_accessor :internal_ipv6_prefix
@@ -35126,14 +35831,12 @@ module Google
35126
35831
 
35127
35832
  # The access type of IPv6 address this subnet holds. It's immutable and can only
35128
35833
  # be specified during creation or the first time the subnet is updated into
35129
- # IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot
35130
- # enable direct path.
35834
+ # IPV4_IPV6 dual stack.
35131
35835
  # Corresponds to the JSON property `ipv6AccessType`
35132
35836
  # @return [String]
35133
35837
  attr_accessor :ipv6_access_type
35134
35838
 
35135
- # [Output Only] The range of internal IPv6 addresses that are owned by this
35136
- # subnetwork. Note this will be for private google access only eventually.
35839
+ # [Output Only] This field is for internal use.
35137
35840
  # Corresponds to the JSON property `ipv6CidrRange`
35138
35841
  # @return [String]
35139
35842
  attr_accessor :ipv6_cidr_range
@@ -35174,10 +35877,8 @@ module Google
35174
35877
  attr_accessor :private_ip_google_access
35175
35878
  alias_method :private_ip_google_access?, :private_ip_google_access
35176
35879
 
35177
- # The private IPv6 google access type for the VMs in this subnet. This is an
35178
- # expanded field of enablePrivateV6Access. If both fields are set,
35179
- # privateIpv6GoogleAccess will take priority. This field can be both set at
35180
- # resource creation time and updated using patch.
35880
+ # This field is for internal use. This field can be both set at resource
35881
+ # creation time and updated using patch.
35181
35882
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
35182
35883
  # @return [String]
35183
35884
  attr_accessor :private_ipv6_google_access