google-apis-compute_beta 0.28.0 → 0.31.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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