google-apis-compute_v1 0.26.0 → 0.29.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1185,6 +1185,11 @@ module Google
1185
1185
  class AllocationSpecificSkuReservation
1186
1186
  include Google::Apis::Core::Hashable
1187
1187
 
1188
+ # [Output Only] Indicates how many instances are actually usable currently.
1189
+ # Corresponds to the JSON property `assuredCount`
1190
+ # @return [Fixnum]
1191
+ attr_accessor :assured_count
1192
+
1188
1193
  # Specifies the number of resources that are allocated.
1189
1194
  # Corresponds to the JSON property `count`
1190
1195
  # @return [Fixnum]
@@ -1206,6 +1211,7 @@ module Google
1206
1211
 
1207
1212
  # Update properties of this object
1208
1213
  def update!(**args)
1214
+ @assured_count = args[:assured_count] if args.key?(:assured_count)
1209
1215
  @count = args[:count] if args.key?(:count)
1210
1216
  @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
1211
1217
  @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
@@ -3269,9 +3275,14 @@ module Google
3269
3275
  # @return [Google::Apis::ComputeV1::Subsetting]
3270
3276
  attr_accessor :subsetting
3271
3277
 
3272
- # Not supported when the backend service is referenced by a URL map that is
3273
- # bound to target gRPC proxy that has validateForProxyless field set to true.
3274
- # Instead, use maxStreamDuration.
3278
+ # The backend service timeout has a different meaning depending on the type of
3279
+ # load balancer. For more information see, Backend service settings. The default
3280
+ # is 30 seconds. The full range of timeout values allowed goes from 1 through 2,
3281
+ # 147,483,647 seconds. This value can be overridden in the PathMatcher
3282
+ # configuration of the UrlMap that references this backend service. Not
3283
+ # supported when the backend service is referenced by a URL map that is bound to
3284
+ # target gRPC proxy that has validateForProxyless field set to true. Instead,
3285
+ # use maxStreamDuration.
3275
3286
  # Corresponds to the JSON property `timeoutSec`
3276
3287
  # @return [Fixnum]
3277
3288
  attr_accessor :timeout_sec
@@ -3674,6 +3685,13 @@ module Google
3674
3685
  # @return [String]
3675
3686
  attr_accessor :connection_persistence_on_unhealthy_backends
3676
3687
 
3688
+ # Enable Strong Session Affinity for Network Load Balancing. This option is not
3689
+ # available publicly.
3690
+ # Corresponds to the JSON property `enableStrongAffinity`
3691
+ # @return [Boolean]
3692
+ attr_accessor :enable_strong_affinity
3693
+ alias_method :enable_strong_affinity?, :enable_strong_affinity
3694
+
3677
3695
  # Specifies how long to keep a Connection Tracking entry while there is no
3678
3696
  # matching traffic (in seconds). For Internal TCP/UDP Load Balancing: - The
3679
3697
  # minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set
@@ -3705,6 +3723,7 @@ module Google
3705
3723
  # Update properties of this object
3706
3724
  def update!(**args)
3707
3725
  @connection_persistence_on_unhealthy_backends = args[:connection_persistence_on_unhealthy_backends] if args.key?(:connection_persistence_on_unhealthy_backends)
3726
+ @enable_strong_affinity = args[:enable_strong_affinity] if args.key?(:enable_strong_affinity)
3708
3727
  @idle_timeout_sec = args[:idle_timeout_sec] if args.key?(:idle_timeout_sec)
3709
3728
  @tracking_mode = args[:tracking_mode] if args.key?(:tracking_mode)
3710
3729
  end
@@ -4626,14 +4645,18 @@ module Google
4626
4645
  class CircuitBreakers
4627
4646
  include Google::Apis::Core::Hashable
4628
4647
 
4629
- # Not supported when the backend service is referenced by a URL map that is
4630
- # bound to target gRPC proxy that has validateForProxyless field set to true.
4648
+ # The maximum number of connections to the backend service. If not specified,
4649
+ # there is no limit. Not supported when the backend service is referenced by a
4650
+ # URL map that is bound to target gRPC proxy that has validateForProxyless field
4651
+ # set to true.
4631
4652
  # Corresponds to the JSON property `maxConnections`
4632
4653
  # @return [Fixnum]
4633
4654
  attr_accessor :max_connections
4634
4655
 
4635
- # Not supported when the backend service is referenced by a URL map that is
4636
- # bound to target gRPC proxy that has validateForProxyless field set to true.
4656
+ # The maximum number of pending requests allowed to the backend service. If not
4657
+ # specified, there is no limit. Not supported when the backend service is
4658
+ # referenced by a URL map that is bound to target gRPC proxy that has
4659
+ # validateForProxyless field set to true.
4637
4660
  # Corresponds to the JSON property `maxPendingRequests`
4638
4661
  # @return [Fixnum]
4639
4662
  attr_accessor :max_pending_requests
@@ -4644,14 +4667,20 @@ module Google
4644
4667
  # @return [Fixnum]
4645
4668
  attr_accessor :max_requests
4646
4669
 
4647
- # Not supported when the backend service is referenced by a URL map that is
4648
- # bound to target gRPC proxy that has validateForProxyless field set to true.
4670
+ # Maximum requests for a single connection to the backend service. This
4671
+ # parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not
4672
+ # specified, there is no limit. Setting this parameter to 1 will effectively
4673
+ # disable keep alive. Not supported when the backend service is referenced by a
4674
+ # URL map that is bound to target gRPC proxy that has validateForProxyless field
4675
+ # set to true.
4649
4676
  # Corresponds to the JSON property `maxRequestsPerConnection`
4650
4677
  # @return [Fixnum]
4651
4678
  attr_accessor :max_requests_per_connection
4652
4679
 
4653
- # Not supported when the backend service is referenced by a URL map that is
4654
- # bound to target gRPC proxy that has validateForProxyless field set to true.
4680
+ # The maximum number of parallel retries allowed to the backend cluster. If not
4681
+ # specified, the default is 1. Not supported when the backend service is
4682
+ # referenced by a URL map that is bound to target gRPC proxy that has
4683
+ # validateForProxyless field set to true.
4655
4684
  # Corresponds to the JSON property `maxRetries`
4656
4685
  # @return [Fixnum]
4657
4686
  attr_accessor :max_retries
@@ -7837,6 +7866,14 @@ module Google
7837
7866
  # @return [String]
7838
7867
  attr_accessor :parent
7839
7868
 
7869
+ # [Output Only] URL of the region where the regional firewall policy resides.
7870
+ # This field is not applicable to global firewall policies. You must specify
7871
+ # this field as part of the HTTP request URL. It is not settable as a field in
7872
+ # the request body.
7873
+ # Corresponds to the JSON property `region`
7874
+ # @return [String]
7875
+ attr_accessor :region
7876
+
7840
7877
  # [Output Only] Total count of all firewall policy rule tuples. A firewall
7841
7878
  # policy can not exceed a set number of tuples.
7842
7879
  # Corresponds to the JSON property `ruleTupleCount`
@@ -7888,6 +7925,7 @@ module Google
7888
7925
  @kind = args[:kind] if args.key?(:kind)
7889
7926
  @name = args[:name] if args.key?(:name)
7890
7927
  @parent = args[:parent] if args.key?(:parent)
7928
+ @region = args[:region] if args.key?(:region)
7891
7929
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
7892
7930
  @rules = args[:rules] if args.key?(:rules)
7893
7931
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -8123,6 +8161,18 @@ module Google
8123
8161
  # @return [Array<String>]
8124
8162
  attr_accessor :target_resources
8125
8163
 
8164
+ # A list of secure tags that controls which instances the firewall rule applies
8165
+ # to. If targetSecureTag are specified, then the firewall rule applies only to
8166
+ # instances in the VPC network that have one of those EFFECTIVE secure tags, if
8167
+ # all the target_secure_tag are in INEFFECTIVE state, then this rule will be
8168
+ # ignored. targetSecureTag may not be set at the same time as
8169
+ # targetServiceAccounts. If neither targetServiceAccounts nor targetSecureTag
8170
+ # are specified, the firewall rule applies to all instances on the specified
8171
+ # network. Maximum number of target label tags allowed is 256.
8172
+ # Corresponds to the JSON property `targetSecureTags`
8173
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRuleSecureTag>]
8174
+ attr_accessor :target_secure_tags
8175
+
8126
8176
  # A list of service accounts indicating the sets of instances that are applied
8127
8177
  # with this rule.
8128
8178
  # Corresponds to the JSON property `targetServiceAccounts`
@@ -8145,6 +8195,7 @@ module Google
8145
8195
  @priority = args[:priority] if args.key?(:priority)
8146
8196
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
8147
8197
  @target_resources = args[:target_resources] if args.key?(:target_resources)
8198
+ @target_secure_tags = args[:target_secure_tags] if args.key?(:target_secure_tags)
8148
8199
  @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
8149
8200
  end
8150
8201
  end
@@ -8170,6 +8221,14 @@ module Google
8170
8221
  # @return [Array<String>]
8171
8222
  attr_accessor :src_ip_ranges
8172
8223
 
8224
+ # List of secure tag values, which should be matched at the source of the
8225
+ # traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there
8226
+ # is no srcIpRange, this rule will be ignored. Maximum number of source tag
8227
+ # values allowed is 256.
8228
+ # Corresponds to the JSON property `srcSecureTags`
8229
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRuleSecureTag>]
8230
+ attr_accessor :src_secure_tags
8231
+
8173
8232
  def initialize(**args)
8174
8233
  update!(**args)
8175
8234
  end
@@ -8179,6 +8238,7 @@ module Google
8179
8238
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
8180
8239
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
8181
8240
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
8241
+ @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
8182
8242
  end
8183
8243
  end
8184
8244
 
@@ -8213,6 +8273,32 @@ module Google
8213
8273
  end
8214
8274
  end
8215
8275
 
8276
+ #
8277
+ class FirewallPolicyRuleSecureTag
8278
+ include Google::Apis::Core::Hashable
8279
+
8280
+ # Name of the secure tag, created with TagManager's TagValue API.
8281
+ # Corresponds to the JSON property `name`
8282
+ # @return [String]
8283
+ attr_accessor :name
8284
+
8285
+ # [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A
8286
+ # secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
8287
+ # Corresponds to the JSON property `state`
8288
+ # @return [String]
8289
+ attr_accessor :state
8290
+
8291
+ def initialize(**args)
8292
+ update!(**args)
8293
+ end
8294
+
8295
+ # Update properties of this object
8296
+ def update!(**args)
8297
+ @name = args[:name] if args.key?(:name)
8298
+ @state = args[:state] if args.key?(:state)
8299
+ end
8300
+ end
8301
+
8216
8302
  # Encapsulates numeric value that can be either absolute or relative.
8217
8303
  class FixedOrPercent
8218
8304
  include Google::Apis::Core::Hashable
@@ -9310,8 +9396,8 @@ module Google
9310
9396
  # The ID of a supported feature. To add multiple values, use commas to separate
9311
9397
  # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
9312
9398
  # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - SECURE_BOOT - GVNIC -
9313
- # SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE For more information, see Enabling
9314
- # guest operating system features.
9399
+ # SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE For more information,
9400
+ # see Enabling guest operating system features.
9315
9401
  # Corresponds to the JSON property `type`
9316
9402
  # @return [String]
9317
9403
  attr_accessor :type
@@ -12275,6 +12361,11 @@ module Google
12275
12361
  # @return [Google::Apis::ComputeV1::NetworkPerformanceConfig]
12276
12362
  attr_accessor :network_performance_config
12277
12363
 
12364
+ # Additional instance params.
12365
+ # Corresponds to the JSON property `params`
12366
+ # @return [Google::Apis::ComputeV1::InstanceParams]
12367
+ attr_accessor :params
12368
+
12278
12369
  # The private IPv6 google access type for the VM. If not specified, use
12279
12370
  # INHERIT_FROM_SUBNETWORK as default.
12280
12371
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
@@ -12401,6 +12492,7 @@ module Google
12401
12492
  @name = args[:name] if args.key?(:name)
12402
12493
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
12403
12494
  @network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
12495
+ @params = args[:params] if args.key?(:params)
12404
12496
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
12405
12497
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
12406
12498
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -12595,8 +12687,8 @@ module Google
12595
12687
  # Assigns a name to a port number. For example: `name: "http", port: 80` This
12596
12688
  # allows the system to reference ports by the assigned name instead of a port
12597
12689
  # number. Named ports can also contain multiple ports. For example: [`name: "
12598
- # http", port: 80`,`name: "http", port: 8080`] Named ports apply to all
12599
- # instances in this instance group.
12690
+ # app1", port: 8080`, `name: "app1", port: 8081`, `name: "app2", port: 8082`]
12691
+ # Named ports apply to all instances in this instance group.
12600
12692
  # Corresponds to the JSON property `namedPorts`
12601
12693
  # @return [Array<Google::Apis::ComputeV1::NamedPort>]
12602
12694
  attr_accessor :named_ports
@@ -14874,6 +14966,28 @@ module Google
14874
14966
  end
14875
14967
  end
14876
14968
 
14969
+ # Additional instance params.
14970
+ class InstanceParams
14971
+ include Google::Apis::Core::Hashable
14972
+
14973
+ # Resource manager tags to be bound to the instance. Tag keys and values have
14974
+ # the same definition as resource manager tags. Keys must be in the format `
14975
+ # tagKeys/`tag_key_id``, and values are in the format `tagValues/456`. The field
14976
+ # is ignored (both PUT & PATCH) when empty.
14977
+ # Corresponds to the JSON property `resourceManagerTags`
14978
+ # @return [Hash<String,String>]
14979
+ attr_accessor :resource_manager_tags
14980
+
14981
+ def initialize(**args)
14982
+ update!(**args)
14983
+ end
14984
+
14985
+ # Update properties of this object
14986
+ def update!(**args)
14987
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
14988
+ end
14989
+ end
14990
+
14877
14991
  #
14878
14992
  class InstanceProperties
14879
14993
  include Google::Apis::Core::Hashable
@@ -15353,7 +15467,8 @@ module Google
15353
15467
  # @return [String]
15354
15468
  attr_accessor :short_name
15355
15469
 
15356
- # [Output Only] The type of the firewall policy.
15470
+ # [Output Only] The type of the firewall policy. Can be one of HIERARCHY,
15471
+ # NETWORK, NETWORK_REGIONAL.
15357
15472
  # Corresponds to the JSON property `type`
15358
15473
  # @return [String]
15359
15474
  attr_accessor :type
@@ -15868,13 +15983,7 @@ module Google
15868
15983
  # @return [String]
15869
15984
  attr_accessor :bandwidth
15870
15985
 
15871
- # Up to 16 candidate prefixes that control the allocation of
15872
- # cloudRouterIpv6Address and customerRouterIpv6Address for this attachment. Each
15873
- # prefix must be in the Global Unique Address (GUA) space. It is highly
15874
- # recommended that it be in a range owned by the requestor. A GUA in a range
15875
- # owned by Google will cause the request to fail. Google will select an
15876
- # available prefix from the supplied candidates or fail the request. If not
15877
- # supplied, a /125 from a Google-owned GUA block will be selected.
15986
+ # This field is not available.
15878
15987
  # Corresponds to the JSON property `candidateIpv6Subnets`
15879
15988
  # @return [Array<String>]
15880
15989
  attr_accessor :candidate_ipv6_subnets
@@ -15902,10 +16011,7 @@ module Google
15902
16011
  # @return [String]
15903
16012
  attr_accessor :cloud_router_ipv6_address
15904
16013
 
15905
- # If supplied, the interface id (index within the subnet) to be used for the
15906
- # cloud router address. The id must be in the range of 1 to 6. If a subnet mask
15907
- # is supplied, it must be /125, and the subnet should either be 0 or match the
15908
- # selected subnet.
16014
+ # This field is not available.
15909
16015
  # Corresponds to the JSON property `cloudRouterIpv6InterfaceId`
15910
16016
  # @return [String]
15911
16017
  attr_accessor :cloud_router_ipv6_interface_id
@@ -15927,18 +16033,14 @@ module Google
15927
16033
  # @return [String]
15928
16034
  attr_accessor :customer_router_ipv6_address
15929
16035
 
15930
- # If supplied, the interface id (index within the subnet) to be used for the
15931
- # customer router address. The id must be in the range of 1 to 6. If a subnet
15932
- # mask is supplied, it must be /125, and the subnet should either be 0 or match
15933
- # the selected subnet.
16036
+ # This field is not available.
15934
16037
  # Corresponds to the JSON property `customerRouterIpv6InterfaceId`
15935
16038
  # @return [String]
15936
16039
  attr_accessor :customer_router_ipv6_interface_id
15937
16040
 
15938
- # [Output only for types PARTNER and DEDICATED. Not present for PARTNER_PROVIDER.
15939
- # ] Dataplane version for this InterconnectAttachment. This field is only
15940
- # present for Dataplane version 2 and higher. Absence of this field in the API
15941
- # output indicates that the Dataplane is version 1.
16041
+ # [Output Only] Dataplane version for this InterconnectAttachment. This field is
16042
+ # only present for Dataplane version 2 and higher. Absence of this field in the
16043
+ # API output indicates that the Dataplane is version 1.
15942
16044
  # Corresponds to the JSON property `dataplaneVersion`
15943
16045
  # @return [Fixnum]
15944
16046
  attr_accessor :dataplane_version
@@ -17858,8 +17960,7 @@ module Google
17858
17960
  attr_accessor :description
17859
17961
 
17860
17962
  # [Input Only] Whether to attempt an application consistent machine image by
17861
- # informing the OS to prepare for the snapshot process. Currently only supported
17862
- # on Windows instances using the Volume Shadow Copy Service (VSS).
17963
+ # informing the OS to prepare for the snapshot process.
17863
17964
  # Corresponds to the JSON property `guestFlush`
17864
17965
  # @return [Boolean]
17865
17966
  attr_accessor :guest_flush
@@ -19013,6 +19114,13 @@ module Google
19013
19114
  # @return [String]
19014
19115
  attr_accessor :description
19015
19116
 
19117
+ # Enable ULA internal ipv6 on this network. Enabling this feature will assign a /
19118
+ # 48 from google defined ULA prefix fd20::/20. .
19119
+ # Corresponds to the JSON property `enableUlaInternalIpv6`
19120
+ # @return [Boolean]
19121
+ attr_accessor :enable_ula_internal_ipv6
19122
+ alias_method :enable_ula_internal_ipv6?, :enable_ula_internal_ipv6
19123
+
19016
19124
  # [Output Only] The gateway address for default routing out of the network,
19017
19125
  # selected by GCP.
19018
19126
  # Corresponds to the JSON property `gatewayIPv4`
@@ -19025,6 +19133,16 @@ module Google
19025
19133
  # @return [Fixnum]
19026
19134
  attr_accessor :id
19027
19135
 
19136
+ # When enabling ula internal ipv6, caller optionally can specify the /48 range
19137
+ # they want from the google defined ULA prefix fd20::/20. The input must be a
19138
+ # valid /48 ULA IPv6 address and must be within the fd20::/20. Operation will
19139
+ # fail if the speficied /48 is already in used by another resource. If the field
19140
+ # is not speficied, then a /48 range will be randomly allocated from fd20::/20
19141
+ # and returned via this field. .
19142
+ # Corresponds to the JSON property `internalIpv6Range`
19143
+ # @return [String]
19144
+ attr_accessor :internal_ipv6_range
19145
+
19028
19146
  # [Output Only] Type of the resource. Always compute#network for networks.
19029
19147
  # Corresponds to the JSON property `kind`
19030
19148
  # @return [String]
@@ -19046,6 +19164,13 @@ module Google
19046
19164
  # @return [String]
19047
19165
  attr_accessor :name
19048
19166
 
19167
+ # The network firewall policy enforcement order. Can be either
19168
+ # AFTER_CLASSIC_FIREWALL or BEFORE_CLASSIC_FIREWALL. Defaults to
19169
+ # AFTER_CLASSIC_FIREWALL if the field is not specified.
19170
+ # Corresponds to the JSON property `networkFirewallPolicyEnforcementOrder`
19171
+ # @return [String]
19172
+ attr_accessor :network_firewall_policy_enforcement_order
19173
+
19049
19174
  # [Output Only] A list of network peerings for the resource.
19050
19175
  # Corresponds to the JSON property `peerings`
19051
19176
  # @return [Array<Google::Apis::ComputeV1::NetworkPeering>]
@@ -19063,6 +19188,11 @@ module Google
19063
19188
  # @return [String]
19064
19189
  attr_accessor :self_link
19065
19190
 
19191
+ # [Output Only] Server-defined URL for this resource with the resource id.
19192
+ # Corresponds to the JSON property `selfLinkWithId`
19193
+ # @return [String]
19194
+ attr_accessor :self_link_with_id
19195
+
19066
19196
  # [Output Only] Server-defined fully-qualified URLs for all subnetworks in this
19067
19197
  # VPC network.
19068
19198
  # Corresponds to the JSON property `subnetworks`
@@ -19079,18 +19209,334 @@ module Google
19079
19209
  @auto_create_subnetworks = args[:auto_create_subnetworks] if args.key?(:auto_create_subnetworks)
19080
19210
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
19081
19211
  @description = args[:description] if args.key?(:description)
19212
+ @enable_ula_internal_ipv6 = args[:enable_ula_internal_ipv6] if args.key?(:enable_ula_internal_ipv6)
19082
19213
  @gateway_i_pv4 = args[:gateway_i_pv4] if args.key?(:gateway_i_pv4)
19083
19214
  @id = args[:id] if args.key?(:id)
19215
+ @internal_ipv6_range = args[:internal_ipv6_range] if args.key?(:internal_ipv6_range)
19084
19216
  @kind = args[:kind] if args.key?(:kind)
19085
19217
  @mtu = args[:mtu] if args.key?(:mtu)
19086
19218
  @name = args[:name] if args.key?(:name)
19219
+ @network_firewall_policy_enforcement_order = args[:network_firewall_policy_enforcement_order] if args.key?(:network_firewall_policy_enforcement_order)
19087
19220
  @peerings = args[:peerings] if args.key?(:peerings)
19088
19221
  @routing_config = args[:routing_config] if args.key?(:routing_config)
19089
19222
  @self_link = args[:self_link] if args.key?(:self_link)
19223
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
19090
19224
  @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
19091
19225
  end
19092
19226
  end
19093
19227
 
19228
+ # Represents a Google Cloud Armor network edge security service resource.
19229
+ class NetworkEdgeSecurityService
19230
+ include Google::Apis::Core::Hashable
19231
+
19232
+ # [Output Only] Creation timestamp in RFC3339 text format.
19233
+ # Corresponds to the JSON property `creationTimestamp`
19234
+ # @return [String]
19235
+ attr_accessor :creation_timestamp
19236
+
19237
+ # An optional description of this resource. Provide this property when you
19238
+ # create the resource.
19239
+ # Corresponds to the JSON property `description`
19240
+ # @return [String]
19241
+ attr_accessor :description
19242
+
19243
+ # Fingerprint of this resource. A hash of the contents stored in this object.
19244
+ # This field is used in optimistic locking. This field will be ignored when
19245
+ # inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be
19246
+ # provided in order to update the NetworkEdgeSecurityService, otherwise the
19247
+ # request will fail with error 412 conditionNotMet. To see the latest
19248
+ # fingerprint, make a get() request to retrieve a NetworkEdgeSecurityService.
19249
+ # Corresponds to the JSON property `fingerprint`
19250
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
19251
+ # @return [String]
19252
+ attr_accessor :fingerprint
19253
+
19254
+ # [Output Only] The unique identifier for the resource. This identifier is
19255
+ # defined by the server.
19256
+ # Corresponds to the JSON property `id`
19257
+ # @return [Fixnum]
19258
+ attr_accessor :id
19259
+
19260
+ # [Output only] Type of the resource. Always compute#networkEdgeSecurityService
19261
+ # for NetworkEdgeSecurityServices
19262
+ # Corresponds to the JSON property `kind`
19263
+ # @return [String]
19264
+ attr_accessor :kind
19265
+
19266
+ # Name of the resource. Provided by the client when the resource is created. The
19267
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
19268
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
19269
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
19270
+ # and all following characters must be a dash, lowercase letter, or digit,
19271
+ # except the last character, which cannot be a dash.
19272
+ # Corresponds to the JSON property `name`
19273
+ # @return [String]
19274
+ attr_accessor :name
19275
+
19276
+ # [Output Only] URL of the region where the resource resides. You must specify
19277
+ # this field as part of the HTTP request URL. It is not settable as a field in
19278
+ # the request body.
19279
+ # Corresponds to the JSON property `region`
19280
+ # @return [String]
19281
+ attr_accessor :region
19282
+
19283
+ # The resource URL for the network edge security service associated with this
19284
+ # network edge security service.
19285
+ # Corresponds to the JSON property `securityPolicy`
19286
+ # @return [String]
19287
+ attr_accessor :security_policy
19288
+
19289
+ # [Output Only] Server-defined URL for the resource.
19290
+ # Corresponds to the JSON property `selfLink`
19291
+ # @return [String]
19292
+ attr_accessor :self_link
19293
+
19294
+ # [Output Only] Server-defined URL for this resource with the resource id.
19295
+ # Corresponds to the JSON property `selfLinkWithId`
19296
+ # @return [String]
19297
+ attr_accessor :self_link_with_id
19298
+
19299
+ def initialize(**args)
19300
+ update!(**args)
19301
+ end
19302
+
19303
+ # Update properties of this object
19304
+ def update!(**args)
19305
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
19306
+ @description = args[:description] if args.key?(:description)
19307
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
19308
+ @id = args[:id] if args.key?(:id)
19309
+ @kind = args[:kind] if args.key?(:kind)
19310
+ @name = args[:name] if args.key?(:name)
19311
+ @region = args[:region] if args.key?(:region)
19312
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
19313
+ @self_link = args[:self_link] if args.key?(:self_link)
19314
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
19315
+ end
19316
+ end
19317
+
19318
+ #
19319
+ class NetworkEdgeSecurityServiceAggregatedList
19320
+ include Google::Apis::Core::Hashable
19321
+
19322
+ #
19323
+ # Corresponds to the JSON property `etag`
19324
+ # @return [String]
19325
+ attr_accessor :etag
19326
+
19327
+ # [Output Only] Unique identifier for the resource; defined by the server.
19328
+ # Corresponds to the JSON property `id`
19329
+ # @return [String]
19330
+ attr_accessor :id
19331
+
19332
+ # A list of NetworkEdgeSecurityServicesScopedList resources.
19333
+ # Corresponds to the JSON property `items`
19334
+ # @return [Hash<String,Google::Apis::ComputeV1::NetworkEdgeSecurityServicesScopedList>]
19335
+ attr_accessor :items
19336
+
19337
+ # [Output Only] Type of resource. Always compute#
19338
+ # networkEdgeSecurityServiceAggregatedList for lists of Network Edge Security
19339
+ # Services.
19340
+ # Corresponds to the JSON property `kind`
19341
+ # @return [String]
19342
+ attr_accessor :kind
19343
+
19344
+ # [Output Only] This token allows you to get the next page of results for list
19345
+ # requests. If the number of results is larger than maxResults, use the
19346
+ # nextPageToken as a value for the query parameter pageToken in the next list
19347
+ # request. Subsequent list requests will have their own nextPageToken to
19348
+ # continue paging through the results.
19349
+ # Corresponds to the JSON property `nextPageToken`
19350
+ # @return [String]
19351
+ attr_accessor :next_page_token
19352
+
19353
+ # [Output Only] Server-defined URL for this resource.
19354
+ # Corresponds to the JSON property `selfLink`
19355
+ # @return [String]
19356
+ attr_accessor :self_link
19357
+
19358
+ # [Output Only] Unreachable resources.
19359
+ # Corresponds to the JSON property `unreachables`
19360
+ # @return [Array<String>]
19361
+ attr_accessor :unreachables
19362
+
19363
+ # [Output Only] Informational warning message.
19364
+ # Corresponds to the JSON property `warning`
19365
+ # @return [Google::Apis::ComputeV1::NetworkEdgeSecurityServiceAggregatedList::Warning]
19366
+ attr_accessor :warning
19367
+
19368
+ def initialize(**args)
19369
+ update!(**args)
19370
+ end
19371
+
19372
+ # Update properties of this object
19373
+ def update!(**args)
19374
+ @etag = args[:etag] if args.key?(:etag)
19375
+ @id = args[:id] if args.key?(:id)
19376
+ @items = args[:items] if args.key?(:items)
19377
+ @kind = args[:kind] if args.key?(:kind)
19378
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
19379
+ @self_link = args[:self_link] if args.key?(:self_link)
19380
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
19381
+ @warning = args[:warning] if args.key?(:warning)
19382
+ end
19383
+
19384
+ # [Output Only] Informational warning message.
19385
+ class Warning
19386
+ include Google::Apis::Core::Hashable
19387
+
19388
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
19389
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
19390
+ # Corresponds to the JSON property `code`
19391
+ # @return [String]
19392
+ attr_accessor :code
19393
+
19394
+ # [Output Only] Metadata about this warning in key: value format. For example: "
19395
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
19396
+ # Corresponds to the JSON property `data`
19397
+ # @return [Array<Google::Apis::ComputeV1::NetworkEdgeSecurityServiceAggregatedList::Warning::Datum>]
19398
+ attr_accessor :data
19399
+
19400
+ # [Output Only] A human-readable description of the warning code.
19401
+ # Corresponds to the JSON property `message`
19402
+ # @return [String]
19403
+ attr_accessor :message
19404
+
19405
+ def initialize(**args)
19406
+ update!(**args)
19407
+ end
19408
+
19409
+ # Update properties of this object
19410
+ def update!(**args)
19411
+ @code = args[:code] if args.key?(:code)
19412
+ @data = args[:data] if args.key?(:data)
19413
+ @message = args[:message] if args.key?(:message)
19414
+ end
19415
+
19416
+ #
19417
+ class Datum
19418
+ include Google::Apis::Core::Hashable
19419
+
19420
+ # [Output Only] A key that provides more detail on the warning being returned.
19421
+ # For example, for warnings where there are no results in a list request for a
19422
+ # particular zone, this key might be scope and the key value might be the zone
19423
+ # name. Other examples might be a key indicating a deprecated resource and a
19424
+ # suggested replacement, or a warning about invalid network settings (for
19425
+ # example, if an instance attempts to perform IP forwarding but is not enabled
19426
+ # for IP forwarding).
19427
+ # Corresponds to the JSON property `key`
19428
+ # @return [String]
19429
+ attr_accessor :key
19430
+
19431
+ # [Output Only] A warning data value corresponding to the key.
19432
+ # Corresponds to the JSON property `value`
19433
+ # @return [String]
19434
+ attr_accessor :value
19435
+
19436
+ def initialize(**args)
19437
+ update!(**args)
19438
+ end
19439
+
19440
+ # Update properties of this object
19441
+ def update!(**args)
19442
+ @key = args[:key] if args.key?(:key)
19443
+ @value = args[:value] if args.key?(:value)
19444
+ end
19445
+ end
19446
+ end
19447
+ end
19448
+
19449
+ #
19450
+ class NetworkEdgeSecurityServicesScopedList
19451
+ include Google::Apis::Core::Hashable
19452
+
19453
+ # A list of NetworkEdgeSecurityServices contained in this scope.
19454
+ # Corresponds to the JSON property `networkEdgeSecurityServices`
19455
+ # @return [Array<Google::Apis::ComputeV1::NetworkEdgeSecurityService>]
19456
+ attr_accessor :network_edge_security_services
19457
+
19458
+ # Informational warning which replaces the list of security policies when the
19459
+ # list is empty.
19460
+ # Corresponds to the JSON property `warning`
19461
+ # @return [Google::Apis::ComputeV1::NetworkEdgeSecurityServicesScopedList::Warning]
19462
+ attr_accessor :warning
19463
+
19464
+ def initialize(**args)
19465
+ update!(**args)
19466
+ end
19467
+
19468
+ # Update properties of this object
19469
+ def update!(**args)
19470
+ @network_edge_security_services = args[:network_edge_security_services] if args.key?(:network_edge_security_services)
19471
+ @warning = args[:warning] if args.key?(:warning)
19472
+ end
19473
+
19474
+ # Informational warning which replaces the list of security policies when the
19475
+ # list is empty.
19476
+ class Warning
19477
+ include Google::Apis::Core::Hashable
19478
+
19479
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
19480
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
19481
+ # Corresponds to the JSON property `code`
19482
+ # @return [String]
19483
+ attr_accessor :code
19484
+
19485
+ # [Output Only] Metadata about this warning in key: value format. For example: "
19486
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
19487
+ # Corresponds to the JSON property `data`
19488
+ # @return [Array<Google::Apis::ComputeV1::NetworkEdgeSecurityServicesScopedList::Warning::Datum>]
19489
+ attr_accessor :data
19490
+
19491
+ # [Output Only] A human-readable description of the warning code.
19492
+ # Corresponds to the JSON property `message`
19493
+ # @return [String]
19494
+ attr_accessor :message
19495
+
19496
+ def initialize(**args)
19497
+ update!(**args)
19498
+ end
19499
+
19500
+ # Update properties of this object
19501
+ def update!(**args)
19502
+ @code = args[:code] if args.key?(:code)
19503
+ @data = args[:data] if args.key?(:data)
19504
+ @message = args[:message] if args.key?(:message)
19505
+ end
19506
+
19507
+ #
19508
+ class Datum
19509
+ include Google::Apis::Core::Hashable
19510
+
19511
+ # [Output Only] A key that provides more detail on the warning being returned.
19512
+ # For example, for warnings where there are no results in a list request for a
19513
+ # particular zone, this key might be scope and the key value might be the zone
19514
+ # name. Other examples might be a key indicating a deprecated resource and a
19515
+ # suggested replacement, or a warning about invalid network settings (for
19516
+ # example, if an instance attempts to perform IP forwarding but is not enabled
19517
+ # for IP forwarding).
19518
+ # Corresponds to the JSON property `key`
19519
+ # @return [String]
19520
+ attr_accessor :key
19521
+
19522
+ # [Output Only] A warning data value corresponding to the key.
19523
+ # Corresponds to the JSON property `value`
19524
+ # @return [String]
19525
+ attr_accessor :value
19526
+
19527
+ def initialize(**args)
19528
+ update!(**args)
19529
+ end
19530
+
19531
+ # Update properties of this object
19532
+ def update!(**args)
19533
+ @key = args[:key] if args.key?(:key)
19534
+ @value = args[:value] if args.key?(:value)
19535
+ end
19536
+ end
19537
+ end
19538
+ end
19539
+
19094
19540
  # The network endpoint.
19095
19541
  class NetworkEndpoint
19096
19542
  include Google::Apis::Core::Hashable
@@ -19226,8 +19672,8 @@ module Google
19226
19672
  attr_accessor :network
19227
19673
 
19228
19674
  # Type of network endpoints in this network endpoint group. Can be one of
19229
- # GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, INTERNET_IP_PORT,
19230
- # SERVERLESS, PRIVATE_SERVICE_CONNECT.
19675
+ # GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT,
19676
+ # INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT.
19231
19677
  # Corresponds to the JSON property `networkEndpointType`
19232
19678
  # @return [String]
19233
19679
  attr_accessor :network_endpoint_type
@@ -19513,13 +19959,13 @@ module Google
19513
19959
  # @return [String]
19514
19960
  attr_accessor :tag
19515
19961
 
19516
- # A template to parse service and tag fields from a request URL. URL mask allows
19517
- # for routing to multiple Run services without having to create multiple network
19518
- # endpoint groups and backend services. For example, request URLs "foo1.domain.
19519
- # com/bar1" and "foo1.domain.com/bar2" can be backed by the same Serverless
19520
- # Network Endpoint Group (NEG) with URL mask ".domain.com/". The URL mask will
19521
- # parse them to ` service="bar1", tag="foo1" ` and ` service="bar2", tag="foo2" `
19522
- # respectively.
19962
+ # A template to parse <service> and <tag> fields from a request URL. URL mask
19963
+ # allows for routing to multiple Run services without having to create multiple
19964
+ # network endpoint groups and backend services. For example, request URLs "foo1.
19965
+ # domain.com/bar1" and "foo1.domain.com/bar2" can be backed by the same
19966
+ # Serverless Network Endpoint Group (NEG) with URL mask "<tag>.domain.com/<
19967
+ # service>". The URL mask will parse them to ` service="bar1", tag="foo1" ` and `
19968
+ # service="bar2", tag="foo2" ` respectively.
19523
19969
  # Corresponds to the JSON property `urlMask`
19524
19970
  # @return [String]
19525
19971
  attr_accessor :url_mask
@@ -19970,6 +20416,11 @@ module Google
19970
20416
  # @return [String]
19971
20417
  attr_accessor :fingerprint
19972
20418
 
20419
+ # The prefix length of the primary internal IPv6 range.
20420
+ # Corresponds to the JSON property `internalIpv6PrefixLength`
20421
+ # @return [Fixnum]
20422
+ attr_accessor :internal_ipv6_prefix_length
20423
+
19973
20424
  # An array of IPv6 access configurations for this interface. Currently, only one
19974
20425
  # IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig
19975
20426
  # specified, then this instance will have no external IPv6 Internet access.
@@ -19996,7 +20447,8 @@ module Google
19996
20447
  attr_accessor :kind
19997
20448
 
19998
20449
  # [Output Only] The name of the network interface, which is generated by the
19999
- # server. For network devices, these are eth0, eth1, etc.
20450
+ # server. For a VM, the network interface uses the nicN naming format. Where N
20451
+ # is a value between 0 and 7. The default interface value is nic0.
20000
20452
  # Corresponds to the JSON property `name`
20001
20453
  # @return [String]
20002
20454
  attr_accessor :name
@@ -20061,6 +20513,7 @@ module Google
20061
20513
  @access_configs = args[:access_configs] if args.key?(:access_configs)
20062
20514
  @alias_ip_ranges = args[:alias_ip_ranges] if args.key?(:alias_ip_ranges)
20063
20515
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
20516
+ @internal_ipv6_prefix_length = args[:internal_ipv6_prefix_length] if args.key?(:internal_ipv6_prefix_length)
20064
20517
  @ipv6_access_configs = args[:ipv6_access_configs] if args.key?(:ipv6_access_configs)
20065
20518
  @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
20066
20519
  @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
@@ -26630,6 +27083,69 @@ module Google
26630
27083
  end
26631
27084
  end
26632
27085
 
27086
+ #
27087
+ class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse
27088
+ include Google::Apis::Core::Hashable
27089
+
27090
+ # Effective firewalls from firewall policy.
27091
+ # Corresponds to the JSON property `firewallPolicys`
27092
+ # @return [Array<Google::Apis::ComputeV1::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
27093
+ attr_accessor :firewall_policys
27094
+
27095
+ # Effective firewalls on the network.
27096
+ # Corresponds to the JSON property `firewalls`
27097
+ # @return [Array<Google::Apis::ComputeV1::Firewall>]
27098
+ attr_accessor :firewalls
27099
+
27100
+ def initialize(**args)
27101
+ update!(**args)
27102
+ end
27103
+
27104
+ # Update properties of this object
27105
+ def update!(**args)
27106
+ @firewall_policys = args[:firewall_policys] if args.key?(:firewall_policys)
27107
+ @firewalls = args[:firewalls] if args.key?(:firewalls)
27108
+ end
27109
+ end
27110
+
27111
+ #
27112
+ class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy
27113
+ include Google::Apis::Core::Hashable
27114
+
27115
+ # [Output Only] The display name of the firewall policy.
27116
+ # Corresponds to the JSON property `displayName`
27117
+ # @return [String]
27118
+ attr_accessor :display_name
27119
+
27120
+ # [Output Only] The name of the firewall policy.
27121
+ # Corresponds to the JSON property `name`
27122
+ # @return [String]
27123
+ attr_accessor :name
27124
+
27125
+ # The rules that apply to the network.
27126
+ # Corresponds to the JSON property `rules`
27127
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
27128
+ attr_accessor :rules
27129
+
27130
+ # [Output Only] The type of the firewall policy. Can be one of HIERARCHY,
27131
+ # NETWORK, NETWORK_REGIONAL.
27132
+ # Corresponds to the JSON property `type`
27133
+ # @return [String]
27134
+ attr_accessor :type
27135
+
27136
+ def initialize(**args)
27137
+ update!(**args)
27138
+ end
27139
+
27140
+ # Update properties of this object
27141
+ def update!(**args)
27142
+ @display_name = args[:display_name] if args.key?(:display_name)
27143
+ @name = args[:name] if args.key?(:name)
27144
+ @rules = args[:rules] if args.key?(:rules)
27145
+ @type = args[:type] if args.key?(:type)
27146
+ end
27147
+ end
27148
+
26633
27149
  #
26634
27150
  class RegionSetLabelsRequest
26635
27151
  include Google::Apis::Core::Hashable
@@ -27677,8 +28193,8 @@ module Google
27677
28193
  class ResourcePolicyDailyCycle
27678
28194
  include Google::Apis::Core::Hashable
27679
28195
 
27680
- # Defines a schedule with units measured in months. The value determines how
27681
- # many months pass between the start of each cycle.
28196
+ # Defines a schedule with units measured in days. The value determines how many
28197
+ # days pass between the start of each cycle.
27682
28198
  # Corresponds to the JSON property `daysInCycle`
27683
28199
  # @return [Fixnum]
27684
28200
  attr_accessor :days_in_cycle
@@ -28308,6 +28824,11 @@ module Google
28308
28824
  # @return [Fixnum]
28309
28825
  attr_accessor :priority
28310
28826
 
28827
+ # [Output only] The status of the route.
28828
+ # Corresponds to the JSON property `routeStatus`
28829
+ # @return [String]
28830
+ attr_accessor :route_status
28831
+
28311
28832
  # [Output Only] The type of this route, which can be one of the following values:
28312
28833
  # - 'TRANSIT' for a transit route that this router learned from another Cloud
28313
28834
  # Router and will readvertise to one of its BGP peers - 'SUBNET' for a route
@@ -28355,6 +28876,7 @@ module Google
28355
28876
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
28356
28877
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
28357
28878
  @priority = args[:priority] if args.key?(:priority)
28879
+ @route_status = args[:route_status] if args.key?(:route_status)
28358
28880
  @route_type = args[:route_type] if args.key?(:route_type)
28359
28881
  @self_link = args[:self_link] if args.key?(:self_link)
28360
28882
  @tags = args[:tags] if args.key?(:tags)
@@ -29061,7 +29583,7 @@ module Google
29061
29583
  # Cloud Router will initiate the BFD session for this BGP peer. If set to
29062
29584
  # PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD
29063
29585
  # session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP
29064
- # peer. The default is PASSIVE.
29586
+ # peer. The default is DISABLED.
29065
29587
  # Corresponds to the JSON property `sessionInitializationMode`
29066
29588
  # @return [String]
29067
29589
  attr_accessor :session_initialization_mode
@@ -29674,7 +30196,8 @@ module Google
29674
30196
  # @return [String]
29675
30197
  attr_accessor :router_appliance_instance
29676
30198
 
29677
- # BGP state as specified in RFC1771.
30199
+ # The state of the BGP session. For a list of possible values for this field,
30200
+ # see BGP session states.
29678
30201
  # Corresponds to the JSON property `state`
29679
30202
  # @return [String]
29680
30203
  attr_accessor :state
@@ -30423,6 +30946,136 @@ module Google
30423
30946
  end
30424
30947
  end
30425
30948
 
30949
+ #
30950
+ class SecurityPoliciesAggregatedList
30951
+ include Google::Apis::Core::Hashable
30952
+
30953
+ #
30954
+ # Corresponds to the JSON property `etag`
30955
+ # @return [String]
30956
+ attr_accessor :etag
30957
+
30958
+ # [Output Only] Unique identifier for the resource; defined by the server.
30959
+ # Corresponds to the JSON property `id`
30960
+ # @return [String]
30961
+ attr_accessor :id
30962
+
30963
+ # A list of SecurityPoliciesScopedList resources.
30964
+ # Corresponds to the JSON property `items`
30965
+ # @return [Hash<String,Google::Apis::ComputeV1::SecurityPoliciesScopedList>]
30966
+ attr_accessor :items
30967
+
30968
+ # [Output Only] Type of resource. Always compute#securityPolicyAggregatedList
30969
+ # for lists of Security Policies.
30970
+ # Corresponds to the JSON property `kind`
30971
+ # @return [String]
30972
+ attr_accessor :kind
30973
+
30974
+ # [Output Only] This token allows you to get the next page of results for list
30975
+ # requests. If the number of results is larger than maxResults, use the
30976
+ # nextPageToken as a value for the query parameter pageToken in the next list
30977
+ # request. Subsequent list requests will have their own nextPageToken to
30978
+ # continue paging through the results.
30979
+ # Corresponds to the JSON property `nextPageToken`
30980
+ # @return [String]
30981
+ attr_accessor :next_page_token
30982
+
30983
+ # [Output Only] Server-defined URL for this resource.
30984
+ # Corresponds to the JSON property `selfLink`
30985
+ # @return [String]
30986
+ attr_accessor :self_link
30987
+
30988
+ # [Output Only] Unreachable resources.
30989
+ # Corresponds to the JSON property `unreachables`
30990
+ # @return [Array<String>]
30991
+ attr_accessor :unreachables
30992
+
30993
+ # [Output Only] Informational warning message.
30994
+ # Corresponds to the JSON property `warning`
30995
+ # @return [Google::Apis::ComputeV1::SecurityPoliciesAggregatedList::Warning]
30996
+ attr_accessor :warning
30997
+
30998
+ def initialize(**args)
30999
+ update!(**args)
31000
+ end
31001
+
31002
+ # Update properties of this object
31003
+ def update!(**args)
31004
+ @etag = args[:etag] if args.key?(:etag)
31005
+ @id = args[:id] if args.key?(:id)
31006
+ @items = args[:items] if args.key?(:items)
31007
+ @kind = args[:kind] if args.key?(:kind)
31008
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
31009
+ @self_link = args[:self_link] if args.key?(:self_link)
31010
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
31011
+ @warning = args[:warning] if args.key?(:warning)
31012
+ end
31013
+
31014
+ # [Output Only] Informational warning message.
31015
+ class Warning
31016
+ include Google::Apis::Core::Hashable
31017
+
31018
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
31019
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
31020
+ # Corresponds to the JSON property `code`
31021
+ # @return [String]
31022
+ attr_accessor :code
31023
+
31024
+ # [Output Only] Metadata about this warning in key: value format. For example: "
31025
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
31026
+ # Corresponds to the JSON property `data`
31027
+ # @return [Array<Google::Apis::ComputeV1::SecurityPoliciesAggregatedList::Warning::Datum>]
31028
+ attr_accessor :data
31029
+
31030
+ # [Output Only] A human-readable description of the warning code.
31031
+ # Corresponds to the JSON property `message`
31032
+ # @return [String]
31033
+ attr_accessor :message
31034
+
31035
+ def initialize(**args)
31036
+ update!(**args)
31037
+ end
31038
+
31039
+ # Update properties of this object
31040
+ def update!(**args)
31041
+ @code = args[:code] if args.key?(:code)
31042
+ @data = args[:data] if args.key?(:data)
31043
+ @message = args[:message] if args.key?(:message)
31044
+ end
31045
+
31046
+ #
31047
+ class Datum
31048
+ include Google::Apis::Core::Hashable
31049
+
31050
+ # [Output Only] A key that provides more detail on the warning being returned.
31051
+ # For example, for warnings where there are no results in a list request for a
31052
+ # particular zone, this key might be scope and the key value might be the zone
31053
+ # name. Other examples might be a key indicating a deprecated resource and a
31054
+ # suggested replacement, or a warning about invalid network settings (for
31055
+ # example, if an instance attempts to perform IP forwarding but is not enabled
31056
+ # for IP forwarding).
31057
+ # Corresponds to the JSON property `key`
31058
+ # @return [String]
31059
+ attr_accessor :key
31060
+
31061
+ # [Output Only] A warning data value corresponding to the key.
31062
+ # Corresponds to the JSON property `value`
31063
+ # @return [String]
31064
+ attr_accessor :value
31065
+
31066
+ def initialize(**args)
31067
+ update!(**args)
31068
+ end
31069
+
31070
+ # Update properties of this object
31071
+ def update!(**args)
31072
+ @key = args[:key] if args.key?(:key)
31073
+ @value = args[:value] if args.key?(:value)
31074
+ end
31075
+ end
31076
+ end
31077
+ end
31078
+
30426
31079
  #
30427
31080
  class SecurityPoliciesListPreconfiguredExpressionSetsResponse
30428
31081
  include Google::Apis::Core::Hashable
@@ -30442,6 +31095,97 @@ module Google
30442
31095
  end
30443
31096
  end
30444
31097
 
31098
+ #
31099
+ class SecurityPoliciesScopedList
31100
+ include Google::Apis::Core::Hashable
31101
+
31102
+ # A list of SecurityPolicies contained in this scope.
31103
+ # Corresponds to the JSON property `securityPolicies`
31104
+ # @return [Array<Google::Apis::ComputeV1::SecurityPolicy>]
31105
+ attr_accessor :security_policies
31106
+
31107
+ # Informational warning which replaces the list of security policies when the
31108
+ # list is empty.
31109
+ # Corresponds to the JSON property `warning`
31110
+ # @return [Google::Apis::ComputeV1::SecurityPoliciesScopedList::Warning]
31111
+ attr_accessor :warning
31112
+
31113
+ def initialize(**args)
31114
+ update!(**args)
31115
+ end
31116
+
31117
+ # Update properties of this object
31118
+ def update!(**args)
31119
+ @security_policies = args[:security_policies] if args.key?(:security_policies)
31120
+ @warning = args[:warning] if args.key?(:warning)
31121
+ end
31122
+
31123
+ # Informational warning which replaces the list of security policies when the
31124
+ # list is empty.
31125
+ class Warning
31126
+ include Google::Apis::Core::Hashable
31127
+
31128
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
31129
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
31130
+ # Corresponds to the JSON property `code`
31131
+ # @return [String]
31132
+ attr_accessor :code
31133
+
31134
+ # [Output Only] Metadata about this warning in key: value format. For example: "
31135
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
31136
+ # Corresponds to the JSON property `data`
31137
+ # @return [Array<Google::Apis::ComputeV1::SecurityPoliciesScopedList::Warning::Datum>]
31138
+ attr_accessor :data
31139
+
31140
+ # [Output Only] A human-readable description of the warning code.
31141
+ # Corresponds to the JSON property `message`
31142
+ # @return [String]
31143
+ attr_accessor :message
31144
+
31145
+ def initialize(**args)
31146
+ update!(**args)
31147
+ end
31148
+
31149
+ # Update properties of this object
31150
+ def update!(**args)
31151
+ @code = args[:code] if args.key?(:code)
31152
+ @data = args[:data] if args.key?(:data)
31153
+ @message = args[:message] if args.key?(:message)
31154
+ end
31155
+
31156
+ #
31157
+ class Datum
31158
+ include Google::Apis::Core::Hashable
31159
+
31160
+ # [Output Only] A key that provides more detail on the warning being returned.
31161
+ # For example, for warnings where there are no results in a list request for a
31162
+ # particular zone, this key might be scope and the key value might be the zone
31163
+ # name. Other examples might be a key indicating a deprecated resource and a
31164
+ # suggested replacement, or a warning about invalid network settings (for
31165
+ # example, if an instance attempts to perform IP forwarding but is not enabled
31166
+ # for IP forwarding).
31167
+ # Corresponds to the JSON property `key`
31168
+ # @return [String]
31169
+ attr_accessor :key
31170
+
31171
+ # [Output Only] A warning data value corresponding to the key.
31172
+ # Corresponds to the JSON property `value`
31173
+ # @return [String]
31174
+ attr_accessor :value
31175
+
31176
+ def initialize(**args)
31177
+ update!(**args)
31178
+ end
31179
+
31180
+ # Update properties of this object
31181
+ def update!(**args)
31182
+ @key = args[:key] if args.key?(:key)
31183
+ @value = args[:value] if args.key?(:value)
31184
+ end
31185
+ end
31186
+ end
31187
+ end
31188
+
30445
31189
  #
30446
31190
  class SecurityPoliciesWafConfig
30447
31191
  include Google::Apis::Core::Hashable
@@ -30482,6 +31226,11 @@ module Google
30482
31226
  # @return [String]
30483
31227
  attr_accessor :creation_timestamp
30484
31228
 
31229
+ #
31230
+ # Corresponds to the JSON property `ddosProtectionConfig`
31231
+ # @return [Google::Apis::ComputeV1::SecurityPolicyDdosProtectionConfig]
31232
+ attr_accessor :ddos_protection_config
31233
+
30485
31234
  # An optional description of this resource. Provide this property when you
30486
31235
  # create the resource.
30487
31236
  # Corresponds to the JSON property `description`
@@ -30527,6 +31276,12 @@ module Google
30527
31276
  # @return [Google::Apis::ComputeV1::SecurityPolicyRecaptchaOptionsConfig]
30528
31277
  attr_accessor :recaptcha_options_config
30529
31278
 
31279
+ # [Output Only] URL of the region where the regional security policy resides.
31280
+ # This field is not applicable to global security policies.
31281
+ # Corresponds to the JSON property `region`
31282
+ # @return [String]
31283
+ attr_accessor :region
31284
+
30530
31285
  # A list of rules that belong to this policy. There must always be a default
30531
31286
  # rule (rule with priority 2147483647 and match "*"). If no rules are provided
30532
31287
  # when creating a security policy, a default rule with action "allow" will be
@@ -30540,13 +31295,17 @@ module Google
30540
31295
  # @return [String]
30541
31296
  attr_accessor :self_link
30542
31297
 
30543
- # The type indicates the intended use of the security policy. CLOUD_ARMOR -
31298
+ # The type indicates the intended use of the security policy. - CLOUD_ARMOR:
30544
31299
  # Cloud Armor backend security policies can be configured to filter incoming
30545
31300
  # HTTP requests targeting backend services. They filter requests before they hit
30546
- # the origin servers. CLOUD_ARMOR_EDGE - Cloud Armor edge security policies can
31301
+ # the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can
30547
31302
  # be configured to filter incoming HTTP requests targeting backend services (
30548
31303
  # including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They
30549
- # filter requests before the request is served from Google's cache.
31304
+ # filter requests before the request is served from Google's cache. -
31305
+ # CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be
31306
+ # configured to filter HTTP requests targeting services managed by Traffic
31307
+ # Director in a service mesh. They filter requests before the request is served
31308
+ # from the application. This field can be set only at resource creation time.
30550
31309
  # Corresponds to the JSON property `type`
30551
31310
  # @return [String]
30552
31311
  attr_accessor :type
@@ -30560,12 +31319,14 @@ module Google
30560
31319
  @adaptive_protection_config = args[:adaptive_protection_config] if args.key?(:adaptive_protection_config)
30561
31320
  @advanced_options_config = args[:advanced_options_config] if args.key?(:advanced_options_config)
30562
31321
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
31322
+ @ddos_protection_config = args[:ddos_protection_config] if args.key?(:ddos_protection_config)
30563
31323
  @description = args[:description] if args.key?(:description)
30564
31324
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
30565
31325
  @id = args[:id] if args.key?(:id)
30566
31326
  @kind = args[:kind] if args.key?(:kind)
30567
31327
  @name = args[:name] if args.key?(:name)
30568
31328
  @recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
31329
+ @region = args[:region] if args.key?(:region)
30569
31330
  @rules = args[:rules] if args.key?(:rules)
30570
31331
  @self_link = args[:self_link] if args.key?(:self_link)
30571
31332
  @type = args[:type] if args.key?(:type)
@@ -30643,6 +31404,25 @@ module Google
30643
31404
  end
30644
31405
  end
30645
31406
 
31407
+ #
31408
+ class SecurityPolicyDdosProtectionConfig
31409
+ include Google::Apis::Core::Hashable
31410
+
31411
+ #
31412
+ # Corresponds to the JSON property `ddosProtection`
31413
+ # @return [String]
31414
+ attr_accessor :ddos_protection
31415
+
31416
+ def initialize(**args)
31417
+ update!(**args)
31418
+ end
31419
+
31420
+ # Update properties of this object
31421
+ def update!(**args)
31422
+ @ddos_protection = args[:ddos_protection] if args.key?(:ddos_protection)
31423
+ end
31424
+ end
31425
+
30646
31426
  #
30647
31427
  class SecurityPolicyList
30648
31428
  include Google::Apis::Core::Hashable
@@ -31033,10 +31813,11 @@ module Google
31033
31813
  # present in the request, the key type defaults to ALL. - XFF_IP: The first IP
31034
31814
  # address (i.e. the originating client IP address) specified in the list of IPs
31035
31815
  # under X-Forwarded-For HTTP header. If no such header is present or the value
31036
- # is not a valid IP, the key type defaults to ALL. - HTTP_COOKIE: The value of
31037
- # the HTTP cookie whose name is configured under "enforce_on_key_name". The key
31038
- # value is truncated to the first 128 bytes of the cookie value. If no such
31039
- # cookie is present in the request, the key type defaults to ALL.
31816
+ # is not a valid IP, the key defaults to the source IP address of the request i.
31817
+ # e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is
31818
+ # configured under "enforce_on_key_name". The key value is truncated to the
31819
+ # first 128 bytes of the cookie value. If no such cookie is present in the
31820
+ # request, the key type defaults to ALL.
31040
31821
  # Corresponds to the JSON property `enforceOnKey`
31041
31822
  # @return [String]
31042
31823
  attr_accessor :enforce_on_key
@@ -31050,9 +31831,9 @@ module Google
31050
31831
 
31051
31832
  # Action to take for requests that are above the configured rate limit threshold,
31052
31833
  # to either deny with a specified HTTP response code, or redirect to a
31053
- # different endpoint. Valid options are "deny()" where valid values for status
31054
- # are 403, 404, 429, and 502, and "redirect" where the redirect parameters come
31055
- # from exceed_redirect_options below.
31834
+ # different endpoint. Valid options are "deny(status)", where valid values for
31835
+ # status are 403, 404, 429, and 502, and "redirect" where the redirect
31836
+ # parameters come from exceedRedirectOptions below.
31056
31837
  # Corresponds to the JSON property `exceedAction`
31057
31838
  # @return [String]
31058
31839
  attr_accessor :exceed_action
@@ -33449,6 +34230,13 @@ module Google
33449
34230
  # @return [Fixnum]
33450
34231
  attr_accessor :id
33451
34232
 
34233
+ # [Output Only] The range of internal IPv6 addresses that are owned by this
34234
+ # subnetwork. Note this is for general VM to VM communication, not to be
34235
+ # confused with the ipv6_cidr_range field.
34236
+ # Corresponds to the JSON property `internalIpv6Prefix`
34237
+ # @return [String]
34238
+ attr_accessor :internal_ipv6_prefix
34239
+
33452
34240
  # The range of internal addresses that are owned by this subnetwork. Provide
33453
34241
  # this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.
33454
34242
  # 64.0.0/10. Ranges must be unique and non-overlapping within a network. Only
@@ -33556,9 +34344,10 @@ module Google
33556
34344
  # @return [String]
33557
34345
  attr_accessor :self_link
33558
34346
 
33559
- # The stack type for this subnet to identify whether the IPv6 feature is enabled
33560
- # or not. If not specified IPV4_ONLY will be used. This field can be both set at
33561
- # resource creation time and updated using patch.
34347
+ # The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are
34348
+ # assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can
34349
+ # be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used.
34350
+ # This field can be both set at resource creation time and updated using patch.
33562
34351
  # Corresponds to the JSON property `stackType`
33563
34352
  # @return [String]
33564
34353
  attr_accessor :stack_type
@@ -33586,6 +34375,7 @@ module Google
33586
34375
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
33587
34376
  @gateway_address = args[:gateway_address] if args.key?(:gateway_address)
33588
34377
  @id = args[:id] if args.key?(:id)
34378
+ @internal_ipv6_prefix = args[:internal_ipv6_prefix] if args.key?(:internal_ipv6_prefix)
33589
34379
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
33590
34380
  @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
33591
34381
  @ipv6_cidr_range = args[:ipv6_cidr_range] if args.key?(:ipv6_cidr_range)
@@ -33868,8 +34658,9 @@ module Google
33868
34658
  attr_accessor :enable
33869
34659
  alias_method :enable?, :enable
33870
34660
 
33871
- # Can only be specified if VPC flow logs for this subnetwork is enabled. Export
33872
- # filter used to define which VPC flow logs should be logged.
34661
+ # Can only be specified if VPC flow logs for this subnetwork is enabled. The
34662
+ # filter expression is used to define which VPC flow logs should be exported to
34663
+ # Cloud Logging.
33873
34664
  # Corresponds to the JSON property `filterExpr`
33874
34665
  # @return [String]
33875
34666
  attr_accessor :filter_expr
@@ -38038,6 +38829,21 @@ module Google
38038
38829
  class ValidateUrlMapsRequest
38039
38830
  include Google::Apis::Core::Hashable
38040
38831
 
38832
+ # Specifies the load balancer type(s) this validation request is for. Use
38833
+ # EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced
38834
+ # Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load
38835
+ # Balancer. Other load balancer types are not supported. For more information,
38836
+ # refer to Choosing a load balancer. If unspecified, the load balancing scheme
38837
+ # will be inferred from the backend service resources this URL map references.
38838
+ # If that can not be inferred (for example, this URL map only references backend
38839
+ # buckets, or this Url map is for rewrites and redirects only and doesn't
38840
+ # reference any backends), EXTERNAL will be used as the default type. If
38841
+ # specified, the scheme(s) must not conflict with the load balancing scheme of
38842
+ # the backend service resources this Url map references.
38843
+ # Corresponds to the JSON property `loadBalancingSchemes`
38844
+ # @return [Array<String>]
38845
+ attr_accessor :load_balancing_schemes
38846
+
38041
38847
  # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
38042
38848
  # Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/
38043
38849
  # reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain
@@ -38063,6 +38869,7 @@ module Google
38063
38869
 
38064
38870
  # Update properties of this object
38065
38871
  def update!(**args)
38872
+ @load_balancing_schemes = args[:load_balancing_schemes] if args.key?(:load_balancing_schemes)
38066
38873
  @resource = args[:resource] if args.key?(:resource)
38067
38874
  end
38068
38875
  end