google-apis-compute_v1 0.26.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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