google-apis-compute_v1 0.24.0 → 0.27.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3269,9 +3269,13 @@ module Google
3269
3269
  # @return [Google::Apis::ComputeV1::Subsetting]
3270
3270
  attr_accessor :subsetting
3271
3271
 
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.
3272
+ # The backend service timeout has a different meaning depending on the type of
3273
+ # load balancer. For more information see, Backend service settings The default
3274
+ # is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647
3275
+ # seconds. This value can be overridden in the PathMatcher configuration of the
3276
+ # UrlMap that references this backend service. Not supported when the backend
3277
+ # service is referenced by a URL map that is bound to target gRPC proxy that has
3278
+ # validateForProxyless field set to true. Instead, use maxStreamDuration.
3275
3279
  # Corresponds to the JSON property `timeoutSec`
3276
3280
  # @return [Fixnum]
3277
3281
  attr_accessor :timeout_sec
@@ -3674,6 +3678,13 @@ module Google
3674
3678
  # @return [String]
3675
3679
  attr_accessor :connection_persistence_on_unhealthy_backends
3676
3680
 
3681
+ # Enable Strong Session Affinity for Network Load Balancing. This option is not
3682
+ # available publicly.
3683
+ # Corresponds to the JSON property `enableStrongAffinity`
3684
+ # @return [Boolean]
3685
+ attr_accessor :enable_strong_affinity
3686
+ alias_method :enable_strong_affinity?, :enable_strong_affinity
3687
+
3677
3688
  # Specifies how long to keep a Connection Tracking entry while there is no
3678
3689
  # matching traffic (in seconds). For Internal TCP/UDP Load Balancing: - The
3679
3690
  # minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set
@@ -3705,6 +3716,7 @@ module Google
3705
3716
  # Update properties of this object
3706
3717
  def update!(**args)
3707
3718
  @connection_persistence_on_unhealthy_backends = args[:connection_persistence_on_unhealthy_backends] if args.key?(:connection_persistence_on_unhealthy_backends)
3719
+ @enable_strong_affinity = args[:enable_strong_affinity] if args.key?(:enable_strong_affinity)
3708
3720
  @idle_timeout_sec = args[:idle_timeout_sec] if args.key?(:idle_timeout_sec)
3709
3721
  @tracking_mode = args[:tracking_mode] if args.key?(:tracking_mode)
3710
3722
  end
@@ -4626,14 +4638,18 @@ module Google
4626
4638
  class CircuitBreakers
4627
4639
  include Google::Apis::Core::Hashable
4628
4640
 
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.
4641
+ # The maximum number of connections to the backend service. If not specified,
4642
+ # there is no limit. Not supported when the backend service is referenced by a
4643
+ # URL map that is bound to target gRPC proxy that has validateForProxyless field
4644
+ # set to true.
4631
4645
  # Corresponds to the JSON property `maxConnections`
4632
4646
  # @return [Fixnum]
4633
4647
  attr_accessor :max_connections
4634
4648
 
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.
4649
+ # The maximum number of pending requests allowed to the backend service. If not
4650
+ # specified, there is no limit. Not supported when the backend service is
4651
+ # referenced by a URL map that is bound to target gRPC proxy that has
4652
+ # validateForProxyless field set to true.
4637
4653
  # Corresponds to the JSON property `maxPendingRequests`
4638
4654
  # @return [Fixnum]
4639
4655
  attr_accessor :max_pending_requests
@@ -4644,14 +4660,20 @@ module Google
4644
4660
  # @return [Fixnum]
4645
4661
  attr_accessor :max_requests
4646
4662
 
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.
4663
+ # Maximum requests for a single connection to the backend service. This
4664
+ # parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not
4665
+ # specified, there is no limit. Setting this parameter to 1 will effectively
4666
+ # disable keep alive. Not supported when the backend service is referenced by a
4667
+ # URL map that is bound to target gRPC proxy that has validateForProxyless field
4668
+ # set to true.
4649
4669
  # Corresponds to the JSON property `maxRequestsPerConnection`
4650
4670
  # @return [Fixnum]
4651
4671
  attr_accessor :max_requests_per_connection
4652
4672
 
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.
4673
+ # The maximum number of parallel retries allowed to the backend cluster. If not
4674
+ # specified, the default is 1. Not supported when the backend service is
4675
+ # referenced by a URL map that is bound to target gRPC proxy that has
4676
+ # validateForProxyless field set to true.
4655
4677
  # Corresponds to the JSON property `maxRetries`
4656
4678
  # @return [Fixnum]
4657
4679
  attr_accessor :max_retries
@@ -7837,6 +7859,14 @@ module Google
7837
7859
  # @return [String]
7838
7860
  attr_accessor :parent
7839
7861
 
7862
+ # [Output Only] URL of the region where the regional firewall policy resides.
7863
+ # This field is not applicable to global firewall policies. You must specify
7864
+ # this field as part of the HTTP request URL. It is not settable as a field in
7865
+ # the request body.
7866
+ # Corresponds to the JSON property `region`
7867
+ # @return [String]
7868
+ attr_accessor :region
7869
+
7840
7870
  # [Output Only] Total count of all firewall policy rule tuples. A firewall
7841
7871
  # policy can not exceed a set number of tuples.
7842
7872
  # Corresponds to the JSON property `ruleTupleCount`
@@ -7888,6 +7918,7 @@ module Google
7888
7918
  @kind = args[:kind] if args.key?(:kind)
7889
7919
  @name = args[:name] if args.key?(:name)
7890
7920
  @parent = args[:parent] if args.key?(:parent)
7921
+ @region = args[:region] if args.key?(:region)
7891
7922
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
7892
7923
  @rules = args[:rules] if args.key?(:rules)
7893
7924
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -8123,6 +8154,18 @@ module Google
8123
8154
  # @return [Array<String>]
8124
8155
  attr_accessor :target_resources
8125
8156
 
8157
+ # A list of secure tags that controls which instances the firewall rule applies
8158
+ # to. If targetSecureTag are specified, then the firewall rule applies only to
8159
+ # instances in the VPC network that have one of those EFFECTIVE secure tags, if
8160
+ # all the target_secure_tag are in INEFFECTIVE state, then this rule will be
8161
+ # ignored. targetSecureTag may not be set at the same time as
8162
+ # targetServiceAccounts. If neither targetServiceAccounts nor targetSecureTag
8163
+ # are specified, the firewall rule applies to all instances on the specified
8164
+ # network. Maximum number of target label tags allowed is 256.
8165
+ # Corresponds to the JSON property `targetSecureTags`
8166
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRuleSecureTag>]
8167
+ attr_accessor :target_secure_tags
8168
+
8126
8169
  # A list of service accounts indicating the sets of instances that are applied
8127
8170
  # with this rule.
8128
8171
  # Corresponds to the JSON property `targetServiceAccounts`
@@ -8145,6 +8188,7 @@ module Google
8145
8188
  @priority = args[:priority] if args.key?(:priority)
8146
8189
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
8147
8190
  @target_resources = args[:target_resources] if args.key?(:target_resources)
8191
+ @target_secure_tags = args[:target_secure_tags] if args.key?(:target_secure_tags)
8148
8192
  @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
8149
8193
  end
8150
8194
  end
@@ -8170,6 +8214,14 @@ module Google
8170
8214
  # @return [Array<String>]
8171
8215
  attr_accessor :src_ip_ranges
8172
8216
 
8217
+ # List of secure tag values, which should be matched at the source of the
8218
+ # traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there
8219
+ # is no srcIpRange, this rule will be ignored. Maximum number of source tag
8220
+ # values allowed is 256.
8221
+ # Corresponds to the JSON property `srcSecureTags`
8222
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRuleSecureTag>]
8223
+ attr_accessor :src_secure_tags
8224
+
8173
8225
  def initialize(**args)
8174
8226
  update!(**args)
8175
8227
  end
@@ -8179,6 +8231,7 @@ module Google
8179
8231
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
8180
8232
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
8181
8233
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
8234
+ @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
8182
8235
  end
8183
8236
  end
8184
8237
 
@@ -8213,6 +8266,32 @@ module Google
8213
8266
  end
8214
8267
  end
8215
8268
 
8269
+ #
8270
+ class FirewallPolicyRuleSecureTag
8271
+ include Google::Apis::Core::Hashable
8272
+
8273
+ # Name of the secure tag, created with TagManager's TagValue API.
8274
+ # Corresponds to the JSON property `name`
8275
+ # @return [String]
8276
+ attr_accessor :name
8277
+
8278
+ # [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A
8279
+ # secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
8280
+ # Corresponds to the JSON property `state`
8281
+ # @return [String]
8282
+ attr_accessor :state
8283
+
8284
+ def initialize(**args)
8285
+ update!(**args)
8286
+ end
8287
+
8288
+ # Update properties of this object
8289
+ def update!(**args)
8290
+ @name = args[:name] if args.key?(:name)
8291
+ @state = args[:state] if args.key?(:state)
8292
+ end
8293
+ end
8294
+
8216
8295
  # Encapsulates numeric value that can be either absolute or relative.
8217
8296
  class FixedOrPercent
8218
8297
  include Google::Apis::Core::Hashable
@@ -9310,8 +9389,8 @@ module Google
9310
9389
  # The ID of a supported feature. To add multiple values, use commas to separate
9311
9390
  # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
9312
9391
  # 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.
9392
+ # SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE For more information,
9393
+ # see Enabling guest operating system features.
9315
9394
  # Corresponds to the JSON property `type`
9316
9395
  # @return [String]
9317
9396
  attr_accessor :type
@@ -12275,6 +12354,11 @@ module Google
12275
12354
  # @return [Google::Apis::ComputeV1::NetworkPerformanceConfig]
12276
12355
  attr_accessor :network_performance_config
12277
12356
 
12357
+ # Additional instance params.
12358
+ # Corresponds to the JSON property `params`
12359
+ # @return [Google::Apis::ComputeV1::InstanceParams]
12360
+ attr_accessor :params
12361
+
12278
12362
  # The private IPv6 google access type for the VM. If not specified, use
12279
12363
  # INHERIT_FROM_SUBNETWORK as default.
12280
12364
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
@@ -12401,6 +12485,7 @@ module Google
12401
12485
  @name = args[:name] if args.key?(:name)
12402
12486
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
12403
12487
  @network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
12488
+ @params = args[:params] if args.key?(:params)
12404
12489
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
12405
12490
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
12406
12491
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -12595,8 +12680,8 @@ module Google
12595
12680
  # Assigns a name to a port number. For example: `name: "http", port: 80` This
12596
12681
  # allows the system to reference ports by the assigned name instead of a port
12597
12682
  # 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.
12683
+ # app1", port: 8080`, `name: "app1", port: 8081`, `name: "app2", port: 8082`]
12684
+ # Named ports apply to all instances in this instance group.
12600
12685
  # Corresponds to the JSON property `namedPorts`
12601
12686
  # @return [Array<Google::Apis::ComputeV1::NamedPort>]
12602
12687
  attr_accessor :named_ports
@@ -14874,6 +14959,28 @@ module Google
14874
14959
  end
14875
14960
  end
14876
14961
 
14962
+ # Additional instance params.
14963
+ class InstanceParams
14964
+ include Google::Apis::Core::Hashable
14965
+
14966
+ # Resource manager tags to be bound to the instance. Tag keys and values have
14967
+ # the same definition as resource manager tags. Keys must be in the format `
14968
+ # tagKeys/`tag_key_id``, and values are in the format `tagValues/456`. The field
14969
+ # is ignored (both PUT & PATCH) when empty.
14970
+ # Corresponds to the JSON property `resourceManagerTags`
14971
+ # @return [Hash<String,String>]
14972
+ attr_accessor :resource_manager_tags
14973
+
14974
+ def initialize(**args)
14975
+ update!(**args)
14976
+ end
14977
+
14978
+ # Update properties of this object
14979
+ def update!(**args)
14980
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
14981
+ end
14982
+ end
14983
+
14877
14984
  #
14878
14985
  class InstanceProperties
14879
14986
  include Google::Apis::Core::Hashable
@@ -15353,7 +15460,8 @@ module Google
15353
15460
  # @return [String]
15354
15461
  attr_accessor :short_name
15355
15462
 
15356
- # [Output Only] The type of the firewall policy.
15463
+ # [Output Only] The type of the firewall policy. Can be one of HIERARCHY,
15464
+ # NETWORK, NETWORK_REGIONAL.
15357
15465
  # Corresponds to the JSON property `type`
15358
15466
  # @return [String]
15359
15467
  attr_accessor :type
@@ -15868,13 +15976,7 @@ module Google
15868
15976
  # @return [String]
15869
15977
  attr_accessor :bandwidth
15870
15978
 
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.
15979
+ # This field is not available.
15878
15980
  # Corresponds to the JSON property `candidateIpv6Subnets`
15879
15981
  # @return [Array<String>]
15880
15982
  attr_accessor :candidate_ipv6_subnets
@@ -15902,10 +16004,7 @@ module Google
15902
16004
  # @return [String]
15903
16005
  attr_accessor :cloud_router_ipv6_address
15904
16006
 
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.
16007
+ # This field is not available.
15909
16008
  # Corresponds to the JSON property `cloudRouterIpv6InterfaceId`
15910
16009
  # @return [String]
15911
16010
  attr_accessor :cloud_router_ipv6_interface_id
@@ -15927,18 +16026,14 @@ module Google
15927
16026
  # @return [String]
15928
16027
  attr_accessor :customer_router_ipv6_address
15929
16028
 
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.
16029
+ # This field is not available.
15934
16030
  # Corresponds to the JSON property `customerRouterIpv6InterfaceId`
15935
16031
  # @return [String]
15936
16032
  attr_accessor :customer_router_ipv6_interface_id
15937
16033
 
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.
16034
+ # [Output Only] Dataplane version for this InterconnectAttachment. This field is
16035
+ # only present for Dataplane version 2 and higher. Absence of this field in the
16036
+ # API output indicates that the Dataplane is version 1.
15942
16037
  # Corresponds to the JSON property `dataplaneVersion`
15943
16038
  # @return [Fixnum]
15944
16039
  attr_accessor :dataplane_version
@@ -17858,8 +17953,7 @@ module Google
17858
17953
  attr_accessor :description
17859
17954
 
17860
17955
  # [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).
17956
+ # informing the OS to prepare for the snapshot process.
17863
17957
  # Corresponds to the JSON property `guestFlush`
17864
17958
  # @return [Boolean]
17865
17959
  attr_accessor :guest_flush
@@ -19013,6 +19107,13 @@ module Google
19013
19107
  # @return [String]
19014
19108
  attr_accessor :description
19015
19109
 
19110
+ # Enable ULA internal ipv6 on this network. Enabling this feature will assign a /
19111
+ # 48 from google defined ULA prefix fd20::/20. .
19112
+ # Corresponds to the JSON property `enableUlaInternalIpv6`
19113
+ # @return [Boolean]
19114
+ attr_accessor :enable_ula_internal_ipv6
19115
+ alias_method :enable_ula_internal_ipv6?, :enable_ula_internal_ipv6
19116
+
19016
19117
  # [Output Only] The gateway address for default routing out of the network,
19017
19118
  # selected by GCP.
19018
19119
  # Corresponds to the JSON property `gatewayIPv4`
@@ -19025,6 +19126,16 @@ module Google
19025
19126
  # @return [Fixnum]
19026
19127
  attr_accessor :id
19027
19128
 
19129
+ # When enabling ula internal ipv6, caller optionally can specify the /48 range
19130
+ # they want from the google defined ULA prefix fd20::/20. The input must be a
19131
+ # valid /48 ULA IPv6 address and must be within the fd20::/20. Operation will
19132
+ # fail if the speficied /48 is already in used by another resource. If the field
19133
+ # is not speficied, then a /48 range will be randomly allocated from fd20::/20
19134
+ # and returned via this field. .
19135
+ # Corresponds to the JSON property `internalIpv6Range`
19136
+ # @return [String]
19137
+ attr_accessor :internal_ipv6_range
19138
+
19028
19139
  # [Output Only] Type of the resource. Always compute#network for networks.
19029
19140
  # Corresponds to the JSON property `kind`
19030
19141
  # @return [String]
@@ -19046,6 +19157,13 @@ module Google
19046
19157
  # @return [String]
19047
19158
  attr_accessor :name
19048
19159
 
19160
+ # The network firewall policy enforcement order. Can be either
19161
+ # AFTER_CLASSIC_FIREWALL or BEFORE_CLASSIC_FIREWALL. Defaults to
19162
+ # AFTER_CLASSIC_FIREWALL if the field is not specified.
19163
+ # Corresponds to the JSON property `networkFirewallPolicyEnforcementOrder`
19164
+ # @return [String]
19165
+ attr_accessor :network_firewall_policy_enforcement_order
19166
+
19049
19167
  # [Output Only] A list of network peerings for the resource.
19050
19168
  # Corresponds to the JSON property `peerings`
19051
19169
  # @return [Array<Google::Apis::ComputeV1::NetworkPeering>]
@@ -19063,6 +19181,11 @@ module Google
19063
19181
  # @return [String]
19064
19182
  attr_accessor :self_link
19065
19183
 
19184
+ # [Output Only] Server-defined URL for this resource with the resource id.
19185
+ # Corresponds to the JSON property `selfLinkWithId`
19186
+ # @return [String]
19187
+ attr_accessor :self_link_with_id
19188
+
19066
19189
  # [Output Only] Server-defined fully-qualified URLs for all subnetworks in this
19067
19190
  # VPC network.
19068
19191
  # Corresponds to the JSON property `subnetworks`
@@ -19079,14 +19202,18 @@ module Google
19079
19202
  @auto_create_subnetworks = args[:auto_create_subnetworks] if args.key?(:auto_create_subnetworks)
19080
19203
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
19081
19204
  @description = args[:description] if args.key?(:description)
19205
+ @enable_ula_internal_ipv6 = args[:enable_ula_internal_ipv6] if args.key?(:enable_ula_internal_ipv6)
19082
19206
  @gateway_i_pv4 = args[:gateway_i_pv4] if args.key?(:gateway_i_pv4)
19083
19207
  @id = args[:id] if args.key?(:id)
19208
+ @internal_ipv6_range = args[:internal_ipv6_range] if args.key?(:internal_ipv6_range)
19084
19209
  @kind = args[:kind] if args.key?(:kind)
19085
19210
  @mtu = args[:mtu] if args.key?(:mtu)
19086
19211
  @name = args[:name] if args.key?(:name)
19212
+ @network_firewall_policy_enforcement_order = args[:network_firewall_policy_enforcement_order] if args.key?(:network_firewall_policy_enforcement_order)
19087
19213
  @peerings = args[:peerings] if args.key?(:peerings)
19088
19214
  @routing_config = args[:routing_config] if args.key?(:routing_config)
19089
19215
  @self_link = args[:self_link] if args.key?(:self_link)
19216
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
19090
19217
  @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
19091
19218
  end
19092
19219
  end
@@ -19226,8 +19353,8 @@ module Google
19226
19353
  attr_accessor :network
19227
19354
 
19228
19355
  # 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.
19356
+ # GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT,
19357
+ # INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT.
19231
19358
  # Corresponds to the JSON property `networkEndpointType`
19232
19359
  # @return [String]
19233
19360
  attr_accessor :network_endpoint_type
@@ -19513,13 +19640,13 @@ module Google
19513
19640
  # @return [String]
19514
19641
  attr_accessor :tag
19515
19642
 
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.
19643
+ # A template to parse <service> and <tag> fields from a request URL. URL mask
19644
+ # allows for routing to multiple Run services without having to create multiple
19645
+ # network endpoint groups and backend services. For example, request URLs "foo1.
19646
+ # domain.com/bar1" and "foo1.domain.com/bar2" can be backed by the same
19647
+ # Serverless Network Endpoint Group (NEG) with URL mask "<tag>.domain.com/<
19648
+ # service>". The URL mask will parse them to ` service="bar1", tag="foo1" ` and `
19649
+ # service="bar2", tag="foo2" ` respectively.
19523
19650
  # Corresponds to the JSON property `urlMask`
19524
19651
  # @return [String]
19525
19652
  attr_accessor :url_mask
@@ -19970,6 +20097,11 @@ module Google
19970
20097
  # @return [String]
19971
20098
  attr_accessor :fingerprint
19972
20099
 
20100
+ # The prefix length of the primary internal IPv6 range.
20101
+ # Corresponds to the JSON property `internalIpv6PrefixLength`
20102
+ # @return [Fixnum]
20103
+ attr_accessor :internal_ipv6_prefix_length
20104
+
19973
20105
  # An array of IPv6 access configurations for this interface. Currently, only one
19974
20106
  # IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig
19975
20107
  # specified, then this instance will have no external IPv6 Internet access.
@@ -20061,6 +20193,7 @@ module Google
20061
20193
  @access_configs = args[:access_configs] if args.key?(:access_configs)
20062
20194
  @alias_ip_ranges = args[:alias_ip_ranges] if args.key?(:alias_ip_ranges)
20063
20195
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
20196
+ @internal_ipv6_prefix_length = args[:internal_ipv6_prefix_length] if args.key?(:internal_ipv6_prefix_length)
20064
20197
  @ipv6_access_configs = args[:ipv6_access_configs] if args.key?(:ipv6_access_configs)
20065
20198
  @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
20066
20199
  @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
@@ -26630,6 +26763,69 @@ module Google
26630
26763
  end
26631
26764
  end
26632
26765
 
26766
+ #
26767
+ class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse
26768
+ include Google::Apis::Core::Hashable
26769
+
26770
+ # Effective firewalls from firewall policy.
26771
+ # Corresponds to the JSON property `firewallPolicys`
26772
+ # @return [Array<Google::Apis::ComputeV1::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
26773
+ attr_accessor :firewall_policys
26774
+
26775
+ # Effective firewalls on the network.
26776
+ # Corresponds to the JSON property `firewalls`
26777
+ # @return [Array<Google::Apis::ComputeV1::Firewall>]
26778
+ attr_accessor :firewalls
26779
+
26780
+ def initialize(**args)
26781
+ update!(**args)
26782
+ end
26783
+
26784
+ # Update properties of this object
26785
+ def update!(**args)
26786
+ @firewall_policys = args[:firewall_policys] if args.key?(:firewall_policys)
26787
+ @firewalls = args[:firewalls] if args.key?(:firewalls)
26788
+ end
26789
+ end
26790
+
26791
+ #
26792
+ class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy
26793
+ include Google::Apis::Core::Hashable
26794
+
26795
+ # [Output Only] The display name of the firewall policy.
26796
+ # Corresponds to the JSON property `displayName`
26797
+ # @return [String]
26798
+ attr_accessor :display_name
26799
+
26800
+ # [Output Only] The name of the firewall policy.
26801
+ # Corresponds to the JSON property `name`
26802
+ # @return [String]
26803
+ attr_accessor :name
26804
+
26805
+ # The rules that apply to the network.
26806
+ # Corresponds to the JSON property `rules`
26807
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
26808
+ attr_accessor :rules
26809
+
26810
+ # [Output Only] The type of the firewall policy. Can be one of HIERARCHY,
26811
+ # NETWORK, NETWORK_REGIONAL.
26812
+ # Corresponds to the JSON property `type`
26813
+ # @return [String]
26814
+ attr_accessor :type
26815
+
26816
+ def initialize(**args)
26817
+ update!(**args)
26818
+ end
26819
+
26820
+ # Update properties of this object
26821
+ def update!(**args)
26822
+ @display_name = args[:display_name] if args.key?(:display_name)
26823
+ @name = args[:name] if args.key?(:name)
26824
+ @rules = args[:rules] if args.key?(:rules)
26825
+ @type = args[:type] if args.key?(:type)
26826
+ end
26827
+ end
26828
+
26633
26829
  #
26634
26830
  class RegionSetLabelsRequest
26635
26831
  include Google::Apis::Core::Hashable
@@ -27677,8 +27873,8 @@ module Google
27677
27873
  class ResourcePolicyDailyCycle
27678
27874
  include Google::Apis::Core::Hashable
27679
27875
 
27680
- # Defines a schedule with units measured in months. The value determines how
27681
- # many months pass between the start of each cycle.
27876
+ # Defines a schedule with units measured in days. The value determines how many
27877
+ # days pass between the start of each cycle.
27682
27878
  # Corresponds to the JSON property `daysInCycle`
27683
27879
  # @return [Fixnum]
27684
27880
  attr_accessor :days_in_cycle
@@ -29061,7 +29257,7 @@ module Google
29061
29257
  # Cloud Router will initiate the BFD session for this BGP peer. If set to
29062
29258
  # PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD
29063
29259
  # session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP
29064
- # peer. The default is PASSIVE.
29260
+ # peer. The default is DISABLED.
29065
29261
  # Corresponds to the JSON property `sessionInitializationMode`
29066
29262
  # @return [String]
29067
29263
  attr_accessor :session_initialization_mode
@@ -29674,7 +29870,8 @@ module Google
29674
29870
  # @return [String]
29675
29871
  attr_accessor :router_appliance_instance
29676
29872
 
29677
- # BGP state as specified in RFC1771.
29873
+ # The state of the BGP session. For a list of possible values for this field,
29874
+ # see BGP session states.
29678
29875
  # Corresponds to the JSON property `state`
29679
29876
  # @return [String]
29680
29877
  attr_accessor :state
@@ -30540,13 +30737,17 @@ module Google
30540
30737
  # @return [String]
30541
30738
  attr_accessor :self_link
30542
30739
 
30543
- # The type indicates the intended use of the security policy. CLOUD_ARMOR -
30740
+ # The type indicates the intended use of the security policy. - CLOUD_ARMOR:
30544
30741
  # Cloud Armor backend security policies can be configured to filter incoming
30545
30742
  # HTTP requests targeting backend services. They filter requests before they hit
30546
- # the origin servers. CLOUD_ARMOR_EDGE - Cloud Armor edge security policies can
30743
+ # the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can
30547
30744
  # be configured to filter incoming HTTP requests targeting backend services (
30548
30745
  # including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They
30549
- # filter requests before the request is served from Google's cache.
30746
+ # filter requests before the request is served from Google's cache. -
30747
+ # CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be
30748
+ # configured to filter HTTP requests targeting services managed by Traffic
30749
+ # Director in a service mesh. They filter requests before the request is served
30750
+ # from the application. This field can be set only at resource creation time.
30550
30751
  # Corresponds to the JSON property `type`
30551
30752
  # @return [String]
30552
30753
  attr_accessor :type
@@ -31033,10 +31234,11 @@ module Google
31033
31234
  # present in the request, the key type defaults to ALL. - XFF_IP: The first IP
31034
31235
  # address (i.e. the originating client IP address) specified in the list of IPs
31035
31236
  # 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.
31237
+ # is not a valid IP, the key defaults to the source IP address of the request i.
31238
+ # e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is
31239
+ # configured under "enforce_on_key_name". The key value is truncated to the
31240
+ # first 128 bytes of the cookie value. If no such cookie is present in the
31241
+ # request, the key type defaults to ALL.
31040
31242
  # Corresponds to the JSON property `enforceOnKey`
31041
31243
  # @return [String]
31042
31244
  attr_accessor :enforce_on_key
@@ -31050,9 +31252,9 @@ module Google
31050
31252
 
31051
31253
  # Action to take for requests that are above the configured rate limit threshold,
31052
31254
  # 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.
31255
+ # different endpoint. Valid options are "deny(status)", where valid values for
31256
+ # status are 403, 404, 429, and 502, and "redirect" where the redirect
31257
+ # parameters come from exceedRedirectOptions below.
31056
31258
  # Corresponds to the JSON property `exceedAction`
31057
31259
  # @return [String]
31058
31260
  attr_accessor :exceed_action
@@ -33449,6 +33651,13 @@ module Google
33449
33651
  # @return [Fixnum]
33450
33652
  attr_accessor :id
33451
33653
 
33654
+ # [Output Only] The range of internal IPv6 addresses that are owned by this
33655
+ # subnetwork. Note this is for general VM to VM communication, not to be
33656
+ # confused with the ipv6_cidr_range field.
33657
+ # Corresponds to the JSON property `internalIpv6Prefix`
33658
+ # @return [String]
33659
+ attr_accessor :internal_ipv6_prefix
33660
+
33452
33661
  # The range of internal addresses that are owned by this subnetwork. Provide
33453
33662
  # this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.
33454
33663
  # 64.0.0/10. Ranges must be unique and non-overlapping within a network. Only
@@ -33556,9 +33765,10 @@ module Google
33556
33765
  # @return [String]
33557
33766
  attr_accessor :self_link
33558
33767
 
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.
33768
+ # The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are
33769
+ # assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can
33770
+ # be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used.
33771
+ # This field can be both set at resource creation time and updated using patch.
33562
33772
  # Corresponds to the JSON property `stackType`
33563
33773
  # @return [String]
33564
33774
  attr_accessor :stack_type
@@ -33586,6 +33796,7 @@ module Google
33586
33796
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
33587
33797
  @gateway_address = args[:gateway_address] if args.key?(:gateway_address)
33588
33798
  @id = args[:id] if args.key?(:id)
33799
+ @internal_ipv6_prefix = args[:internal_ipv6_prefix] if args.key?(:internal_ipv6_prefix)
33589
33800
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
33590
33801
  @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
33591
33802
  @ipv6_cidr_range = args[:ipv6_cidr_range] if args.key?(:ipv6_cidr_range)
@@ -33868,8 +34079,9 @@ module Google
33868
34079
  attr_accessor :enable
33869
34080
  alias_method :enable?, :enable
33870
34081
 
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.
34082
+ # Can only be specified if VPC flow logs for this subnetwork is enabled. The
34083
+ # filter expression is used to define which VPC flow logs should be exported to
34084
+ # Cloud Logging.
33873
34085
  # Corresponds to the JSON property `filterExpr`
33874
34086
  # @return [String]
33875
34087
  attr_accessor :filter_expr
@@ -38038,6 +38250,21 @@ module Google
38038
38250
  class ValidateUrlMapsRequest
38039
38251
  include Google::Apis::Core::Hashable
38040
38252
 
38253
+ # Specifies the load balancer type(s) this validation request is for. Use
38254
+ # EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced
38255
+ # Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load
38256
+ # Balancer. Other load balancer types are not supported. For more information,
38257
+ # refer to Choosing a load balancer. If unspecified, the load balancing scheme
38258
+ # will be inferred from the backend service resources this URL map references.
38259
+ # If that can not be inferred (for example, this URL map only references backend
38260
+ # buckets, or this Url map is for rewrites and redirects only and doesn't
38261
+ # reference any backends), EXTERNAL will be used as the default type. If
38262
+ # specified, the scheme(s) must not conflict with the load balancing scheme of
38263
+ # the backend service resources this Url map references.
38264
+ # Corresponds to the JSON property `loadBalancingSchemes`
38265
+ # @return [Array<String>]
38266
+ attr_accessor :load_balancing_schemes
38267
+
38041
38268
  # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
38042
38269
  # Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/
38043
38270
  # reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain
@@ -38063,6 +38290,7 @@ module Google
38063
38290
 
38064
38291
  # Update properties of this object
38065
38292
  def update!(**args)
38293
+ @load_balancing_schemes = args[:load_balancing_schemes] if args.key?(:load_balancing_schemes)
38066
38294
  @resource = args[:resource] if args.key?(:resource)
38067
38295
  end
38068
38296
  end