google-apis-compute_beta 0.20.0 → 0.24.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/OVERVIEW.md +1 -1
- data/lib/google/apis/compute_beta/classes.rb +461 -61
- data/lib/google/apis/compute_beta/gem_version.rb +3 -3
- data/lib/google/apis/compute_beta/representations.rb +122 -0
- data/lib/google/apis/compute_beta/service.rb +138 -69
- metadata +4 -4
@@ -464,15 +464,15 @@ module Google
|
|
464
464
|
class AccessConfig
|
465
465
|
include Google::Apis::Core::Hashable
|
466
466
|
|
467
|
-
#
|
468
|
-
#
|
467
|
+
# The first IPv6 address of the external IPv6 range associated with this
|
468
|
+
# instance, prefix length is stored in externalIpv6PrefixLength in
|
469
469
|
# ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork
|
470
470
|
# associated with the instance will be allocated dynamically.
|
471
471
|
# Corresponds to the JSON property `externalIpv6`
|
472
472
|
# @return [String]
|
473
473
|
attr_accessor :external_ipv6
|
474
474
|
|
475
|
-
#
|
475
|
+
# The prefix length of the external IPv6 range.
|
476
476
|
# Corresponds to the JSON property `externalIpv6PrefixLength`
|
477
477
|
# @return [Fixnum]
|
478
478
|
attr_accessor :external_ipv6_prefix_length
|
@@ -652,14 +652,14 @@ module Google
|
|
652
652
|
# regional internal IP address in a subnet of a VPC network) - VPC_PEERING for
|
653
653
|
# global internal IP addresses used for private services access allocated ranges.
|
654
654
|
# - NAT_AUTO for the regional external IP addresses used by Cloud NAT when
|
655
|
-
# allocating addresses using
|
656
|
-
#
|
657
|
-
#
|
658
|
-
#
|
659
|
-
# an internal IP address that is
|
660
|
-
#
|
661
|
-
#
|
662
|
-
# purpose.
|
655
|
+
# allocating addresses using automatic NAT IP address allocation. -
|
656
|
+
# IPSEC_INTERCONNECT for addresses created from a private IP range that are
|
657
|
+
# reserved for a VLAN attachment in an *IPsec-encrypted Cloud Interconnect*
|
658
|
+
# configuration. These addresses are regional resources. Not currently available
|
659
|
+
# publicly. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is
|
660
|
+
# assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT`
|
661
|
+
# for a private network address that is used to configure Private Service
|
662
|
+
# Connect. Only global internal addresses can use this purpose.
|
663
663
|
# Corresponds to the JSON property `purpose`
|
664
664
|
# @return [String]
|
665
665
|
attr_accessor :purpose
|
@@ -1072,6 +1072,12 @@ module Google
|
|
1072
1072
|
attr_accessor :enable_nested_virtualization
|
1073
1073
|
alias_method :enable_nested_virtualization?, :enable_nested_virtualization
|
1074
1074
|
|
1075
|
+
# Whether to enable UEFI networking for instance creation.
|
1076
|
+
# Corresponds to the JSON property `enableUefiNetworking`
|
1077
|
+
# @return [Boolean]
|
1078
|
+
attr_accessor :enable_uefi_networking
|
1079
|
+
alias_method :enable_uefi_networking?, :enable_uefi_networking
|
1080
|
+
|
1075
1081
|
# The number of threads per physical core. To disable simultaneous
|
1076
1082
|
# multithreading (SMT) set this to 1. If unset, the maximum number of threads
|
1077
1083
|
# supported per core by the underlying processor is assumed.
|
@@ -1086,6 +1092,7 @@ module Google
|
|
1086
1092
|
# Update properties of this object
|
1087
1093
|
def update!(**args)
|
1088
1094
|
@enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
|
1095
|
+
@enable_uefi_networking = args[:enable_uefi_networking] if args.key?(:enable_uefi_networking)
|
1089
1096
|
@threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
|
1090
1097
|
end
|
1091
1098
|
end
|
@@ -1213,6 +1220,11 @@ module Google
|
|
1213
1220
|
class AllocationSpecificSkuReservation
|
1214
1221
|
include Google::Apis::Core::Hashable
|
1215
1222
|
|
1223
|
+
# [Output Only] Indicates how many instances are actually usable currently.
|
1224
|
+
# Corresponds to the JSON property `assuredCount`
|
1225
|
+
# @return [Fixnum]
|
1226
|
+
attr_accessor :assured_count
|
1227
|
+
|
1216
1228
|
# Specifies the number of resources that are allocated.
|
1217
1229
|
# Corresponds to the JSON property `count`
|
1218
1230
|
# @return [Fixnum]
|
@@ -1234,6 +1246,7 @@ module Google
|
|
1234
1246
|
|
1235
1247
|
# Update properties of this object
|
1236
1248
|
def update!(**args)
|
1249
|
+
@assured_count = args[:assured_count] if args.key?(:assured_count)
|
1237
1250
|
@count = args[:count] if args.key?(:count)
|
1238
1251
|
@in_use_count = args[:in_use_count] if args.key?(:in_use_count)
|
1239
1252
|
@instance_properties = args[:instance_properties] if args.key?(:instance_properties)
|
@@ -1361,7 +1374,8 @@ module Google
|
|
1361
1374
|
# initializeParams.sourceSnapshot or disks.source is required except for local
|
1362
1375
|
# SSD. If desired, you can also attach existing non-root persistent disks using
|
1363
1376
|
# this property. This field is only applicable for persistent disks. Note that
|
1364
|
-
# for InstanceTemplate, specify the disk name,
|
1377
|
+
# for InstanceTemplate, specify the disk name for zonal disk, and the URL for
|
1378
|
+
# regional disk.
|
1365
1379
|
# Corresponds to the JSON property `source`
|
1366
1380
|
# @return [String]
|
1367
1381
|
attr_accessor :source
|
@@ -1461,6 +1475,11 @@ module Google
|
|
1461
1475
|
# @return [Hash<String,String>]
|
1462
1476
|
attr_accessor :labels
|
1463
1477
|
|
1478
|
+
# A list of publicly visible licenses. Reserved for Google's use.
|
1479
|
+
# Corresponds to the JSON property `licenses`
|
1480
|
+
# @return [Array<String>]
|
1481
|
+
attr_accessor :licenses
|
1482
|
+
|
1464
1483
|
# Indicates whether or not the disk can be read/write attached to more than one
|
1465
1484
|
# instance.
|
1466
1485
|
# Corresponds to the JSON property `multiWriter`
|
@@ -1541,6 +1560,7 @@ module Google
|
|
1541
1560
|
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
1542
1561
|
@guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
|
1543
1562
|
@labels = args[:labels] if args.key?(:labels)
|
1563
|
+
@licenses = args[:licenses] if args.key?(:licenses)
|
1544
1564
|
@multi_writer = args[:multi_writer] if args.key?(:multi_writer)
|
1545
1565
|
@on_update_action = args[:on_update_action] if args.key?(:on_update_action)
|
1546
1566
|
@provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
|
@@ -3188,14 +3208,14 @@ module Google
|
|
3188
3208
|
|
3189
3209
|
# For load balancers that have configurable failover: [Internal TCP/UDP Load
|
3190
3210
|
# Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
|
3191
|
-
# overview) and [external TCP/UDP Load Balancing](/
|
3192
|
-
# overview). On failover or failback,
|
3193
|
-
# draining will be honored. Google Cloud
|
3194
|
-
# of 10 minutes. A setting of true
|
3195
|
-
# active pool during failover and
|
3196
|
-
# setting of false allows existing TCP
|
3197
|
-
# longer in the active pool, for up to
|
3198
|
-
# timeout (10 minutes).
|
3211
|
+
# overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
|
3212
|
+
# balancing/docs/network/networklb-failover-overview). On failover or failback,
|
3213
|
+
# this field indicates whether connection draining will be honored. Google Cloud
|
3214
|
+
# has a fixed connection draining timeout of 10 minutes. A setting of true
|
3215
|
+
# terminates existing TCP connections to the active pool during failover and
|
3216
|
+
# failback, immediately draining traffic. A setting of false allows existing TCP
|
3217
|
+
# connections to persist, even on VMs no longer in the active pool, for up to
|
3218
|
+
# the duration of the connection draining timeout (10 minutes).
|
3199
3219
|
# Corresponds to the JSON property `failoverPolicy`
|
3200
3220
|
# @return [Google::Apis::ComputeBeta::BackendServiceFailoverPolicy]
|
3201
3221
|
attr_accessor :failover_policy
|
@@ -3836,14 +3856,14 @@ module Google
|
|
3836
3856
|
|
3837
3857
|
# For load balancers that have configurable failover: [Internal TCP/UDP Load
|
3838
3858
|
# Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
|
3839
|
-
# overview) and [external TCP/UDP Load Balancing](/
|
3840
|
-
# overview). On failover or failback,
|
3841
|
-
# draining will be honored. Google Cloud
|
3842
|
-
# of 10 minutes. A setting of true
|
3843
|
-
# active pool during failover and
|
3844
|
-
# setting of false allows existing TCP
|
3845
|
-
# longer in the active pool, for up to
|
3846
|
-
# timeout (10 minutes).
|
3859
|
+
# overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
|
3860
|
+
# balancing/docs/network/networklb-failover-overview). On failover or failback,
|
3861
|
+
# this field indicates whether connection draining will be honored. Google Cloud
|
3862
|
+
# has a fixed connection draining timeout of 10 minutes. A setting of true
|
3863
|
+
# terminates existing TCP connections to the active pool during failover and
|
3864
|
+
# failback, immediately draining traffic. A setting of false allows existing TCP
|
3865
|
+
# connections to persist, even on VMs no longer in the active pool, for up to
|
3866
|
+
# the duration of the connection draining timeout (10 minutes).
|
3847
3867
|
class BackendServiceFailoverPolicy
|
3848
3868
|
include Google::Apis::Core::Hashable
|
3849
3869
|
|
@@ -3858,8 +3878,9 @@ module Google
|
|
3858
3878
|
# distributed among all primary VMs when all primary and all backup backend VMs
|
3859
3879
|
# are unhealthy. For load balancers that have configurable failover: [Internal
|
3860
3880
|
# TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/
|
3861
|
-
# failover-overview) and [external TCP/UDP Load Balancing](
|
3862
|
-
# failover-overview). The default is
|
3881
|
+
# failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.
|
3882
|
+
# com/load-balancing/docs/network/networklb-failover-overview). The default is
|
3883
|
+
# false.
|
3863
3884
|
# Corresponds to the JSON property `dropTrafficIfUnhealthy`
|
3864
3885
|
# @return [Boolean]
|
3865
3886
|
attr_accessor :drop_traffic_if_unhealthy
|
@@ -3871,7 +3892,8 @@ module Google
|
|
3871
3892
|
# the total number of healthy primary VMs is less than this ratio. For load
|
3872
3893
|
# balancers that have configurable failover: [Internal TCP/UDP Load Balancing](
|
3873
3894
|
# https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [
|
3874
|
-
# external TCP/UDP Load Balancing](/
|
3895
|
+
# external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/
|
3896
|
+
# network/networklb-failover-overview).
|
3875
3897
|
# Corresponds to the JSON property `failoverRatio`
|
3876
3898
|
# @return [Float]
|
3877
3899
|
attr_accessor :failover_ratio
|
@@ -4809,6 +4831,16 @@ module Google
|
|
4809
4831
|
class Commitment
|
4810
4832
|
include Google::Apis::Core::Hashable
|
4811
4833
|
|
4834
|
+
# Specifies whether to enable automatic renewal for the commitment. The default
|
4835
|
+
# value is false if not specified. The field can be updated until the day of the
|
4836
|
+
# commitment expiration at 12:00am PST. If the field is set to true, the
|
4837
|
+
# commitment will be automatically renewed for either one or three years
|
4838
|
+
# according to the terms of the existing commitment.
|
4839
|
+
# Corresponds to the JSON property `autoRenew`
|
4840
|
+
# @return [Boolean]
|
4841
|
+
attr_accessor :auto_renew
|
4842
|
+
alias_method :auto_renew?, :auto_renew
|
4843
|
+
|
4812
4844
|
# The category of the commitment. Category MACHINE specifies commitments
|
4813
4845
|
# composed of machine resources such as VCPU or MEMORY, listed in resources.
|
4814
4846
|
# Category LICENSE specifies commitments composed of software licenses, listed
|
@@ -4919,6 +4951,7 @@ module Google
|
|
4919
4951
|
|
4920
4952
|
# Update properties of this object
|
4921
4953
|
def update!(**args)
|
4954
|
+
@auto_renew = args[:auto_renew] if args.key?(:auto_renew)
|
4922
4955
|
@category = args[:category] if args.key?(:category)
|
4923
4956
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
4924
4957
|
@description = args[:description] if args.key?(:description)
|
@@ -8684,8 +8717,7 @@ module Google
|
|
8684
8717
|
attr_accessor :self_link
|
8685
8718
|
|
8686
8719
|
# Service Directory resources to register this forwarding rule with. Currently,
|
8687
|
-
# only supports a single Service Directory resource.
|
8688
|
-
# internal load balancing.
|
8720
|
+
# only supports a single Service Directory resource.
|
8689
8721
|
# Corresponds to the JSON property `serviceDirectoryRegistrations`
|
8690
8722
|
# @return [Array<Google::Apis::ComputeBeta::ForwardingRuleServiceDirectoryRegistration>]
|
8691
8723
|
attr_accessor :service_directory_registrations
|
@@ -9848,8 +9880,8 @@ module Google
|
|
9848
9880
|
attr_accessor :timeout_sec
|
9849
9881
|
|
9850
9882
|
# Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2.
|
9851
|
-
#
|
9852
|
-
#
|
9883
|
+
# Exactly one of the protocol-specific health check field must be specified,
|
9884
|
+
# which must match type field.
|
9853
9885
|
# Corresponds to the JSON property `type`
|
9854
9886
|
# @return [String]
|
9855
9887
|
attr_accessor :type
|
@@ -12590,6 +12622,11 @@ module Google
|
|
12590
12622
|
# @return [Google::Apis::ComputeBeta::NetworkPerformanceConfig]
|
12591
12623
|
attr_accessor :network_performance_config
|
12592
12624
|
|
12625
|
+
# Additional instance params.
|
12626
|
+
# Corresponds to the JSON property `params`
|
12627
|
+
# @return [Google::Apis::ComputeBeta::InstanceParams]
|
12628
|
+
attr_accessor :params
|
12629
|
+
|
12593
12630
|
# PostKeyRevocationActionType of the instance.
|
12594
12631
|
# Corresponds to the JSON property `postKeyRevocationActionType`
|
12595
12632
|
# @return [String]
|
@@ -12733,6 +12770,7 @@ module Google
|
|
12733
12770
|
@name = args[:name] if args.key?(:name)
|
12734
12771
|
@network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
|
12735
12772
|
@network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
|
12773
|
+
@params = args[:params] if args.key?(:params)
|
12736
12774
|
@post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
|
12737
12775
|
@private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
|
12738
12776
|
@reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
|
@@ -13497,6 +13535,30 @@ module Google
|
|
13497
13535
|
# @return [Fixnum]
|
13498
13536
|
attr_accessor :restarting
|
13499
13537
|
|
13538
|
+
# [Output Only] The number of instances in the managed instance group that are
|
13539
|
+
# scheduled to be resumed or are currently being resumed.
|
13540
|
+
# Corresponds to the JSON property `resuming`
|
13541
|
+
# @return [Fixnum]
|
13542
|
+
attr_accessor :resuming
|
13543
|
+
|
13544
|
+
# [Output Only] The number of instances in the managed instance group that are
|
13545
|
+
# scheduled to be started or are currently being started.
|
13546
|
+
# Corresponds to the JSON property `starting`
|
13547
|
+
# @return [Fixnum]
|
13548
|
+
attr_accessor :starting
|
13549
|
+
|
13550
|
+
# [Output Only] The number of instances in the managed instance group that are
|
13551
|
+
# scheduled to be stopped or are currently being stopped.
|
13552
|
+
# Corresponds to the JSON property `stopping`
|
13553
|
+
# @return [Fixnum]
|
13554
|
+
attr_accessor :stopping
|
13555
|
+
|
13556
|
+
# [Output Only] The number of instances in the managed instance group that are
|
13557
|
+
# scheduled to be suspended or are currently being suspended.
|
13558
|
+
# Corresponds to the JSON property `suspending`
|
13559
|
+
# @return [Fixnum]
|
13560
|
+
attr_accessor :suspending
|
13561
|
+
|
13500
13562
|
# [Output Only] The number of instances in the managed instance group that are
|
13501
13563
|
# being verified. See the managedInstances[].currentAction property in the
|
13502
13564
|
# listManagedInstances method documentation.
|
@@ -13518,6 +13580,10 @@ module Google
|
|
13518
13580
|
@recreating = args[:recreating] if args.key?(:recreating)
|
13519
13581
|
@refreshing = args[:refreshing] if args.key?(:refreshing)
|
13520
13582
|
@restarting = args[:restarting] if args.key?(:restarting)
|
13583
|
+
@resuming = args[:resuming] if args.key?(:resuming)
|
13584
|
+
@starting = args[:starting] if args.key?(:starting)
|
13585
|
+
@stopping = args[:stopping] if args.key?(:stopping)
|
13586
|
+
@suspending = args[:suspending] if args.key?(:suspending)
|
13521
13587
|
@verifying = args[:verifying] if args.key?(:verifying)
|
13522
13588
|
end
|
13523
13589
|
end
|
@@ -15276,6 +15342,28 @@ module Google
|
|
15276
15342
|
end
|
15277
15343
|
end
|
15278
15344
|
|
15345
|
+
# Additional instance params.
|
15346
|
+
class InstanceParams
|
15347
|
+
include Google::Apis::Core::Hashable
|
15348
|
+
|
15349
|
+
# Resource manager tags to be bound to the instance. Tag keys and values have
|
15350
|
+
# the same definition as resource manager tags. Keys must be in the format `
|
15351
|
+
# tagKeys/`tag_key_id``, and values are in the format `tagValues/456`. The field
|
15352
|
+
# is ignored (both PUT & PATCH) when empty.
|
15353
|
+
# Corresponds to the JSON property `resourceManagerTags`
|
15354
|
+
# @return [Hash<String,String>]
|
15355
|
+
attr_accessor :resource_manager_tags
|
15356
|
+
|
15357
|
+
def initialize(**args)
|
15358
|
+
update!(**args)
|
15359
|
+
end
|
15360
|
+
|
15361
|
+
# Update properties of this object
|
15362
|
+
def update!(**args)
|
15363
|
+
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
15364
|
+
end
|
15365
|
+
end
|
15366
|
+
|
15279
15367
|
#
|
15280
15368
|
class InstanceProperties
|
15281
15369
|
include Google::Apis::Core::Hashable
|
@@ -15379,7 +15467,15 @@ module Google
|
|
15379
15467
|
# @return [Google::Apis::ComputeBeta::ReservationAffinity]
|
15380
15468
|
attr_accessor :reservation_affinity
|
15381
15469
|
|
15382
|
-
# Resource
|
15470
|
+
# Resource manager tags to be bound to the instance. Tag keys and values have
|
15471
|
+
# the same definition as resource manager tags. Keys must be in the format `
|
15472
|
+
# tagKeys/`tag_key_id``, and values are in the format `tagValues/456`. The field
|
15473
|
+
# is ignored (both PUT & PATCH) when empty.
|
15474
|
+
# Corresponds to the JSON property `resourceManagerTags`
|
15475
|
+
# @return [Hash<String,String>]
|
15476
|
+
attr_accessor :resource_manager_tags
|
15477
|
+
|
15478
|
+
# Resource policies (names, not URLs) applied to instances created from these
|
15383
15479
|
# properties. Note that for MachineImage, this is not supported yet.
|
15384
15480
|
# Corresponds to the JSON property `resourcePolicies`
|
15385
15481
|
# @return [Array<String>]
|
@@ -15435,6 +15531,7 @@ module Google
|
|
15435
15531
|
@post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
|
15436
15532
|
@private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
|
15437
15533
|
@reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
|
15534
|
+
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
15438
15535
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
15439
15536
|
@scheduling = args[:scheduling] if args.key?(:scheduling)
|
15440
15537
|
@service_accounts = args[:service_accounts] if args.key?(:service_accounts)
|
@@ -16389,6 +16486,17 @@ module Google
|
|
16389
16486
|
# @return [String]
|
16390
16487
|
attr_accessor :bandwidth
|
16391
16488
|
|
16489
|
+
# Up to 16 candidate prefixes that control the allocation of
|
16490
|
+
# cloudRouterIpv6Address and customerRouterIpv6Address for this attachment. Each
|
16491
|
+
# prefix must be in the Global Unique Address (GUA) space. It is highly
|
16492
|
+
# recommended that it be in a range owned by the requestor. A GUA in a range
|
16493
|
+
# owned by Google will cause the request to fail. Google will select an
|
16494
|
+
# available prefix from the supplied candidates or fail the request. If not
|
16495
|
+
# supplied, a /125 from a Google-owned GUA block will be selected.
|
16496
|
+
# Corresponds to the JSON property `candidateIpv6Subnets`
|
16497
|
+
# @return [Array<String>]
|
16498
|
+
attr_accessor :candidate_ipv6_subnets
|
16499
|
+
|
16392
16500
|
# Up to 16 candidate prefixes that can be used to restrict the allocation of
|
16393
16501
|
# cloudRouterIpAddress and customerRouterIpAddress for this attachment. All
|
16394
16502
|
# prefixes must be within link-local address space (169.254.0.0/16) and must be /
|
@@ -16406,6 +16514,20 @@ module Google
|
|
16406
16514
|
# @return [String]
|
16407
16515
|
attr_accessor :cloud_router_ip_address
|
16408
16516
|
|
16517
|
+
# [Output Only] IPv6 address + prefix length to be configured on Cloud Router
|
16518
|
+
# Interface for this interconnect attachment.
|
16519
|
+
# Corresponds to the JSON property `cloudRouterIpv6Address`
|
16520
|
+
# @return [String]
|
16521
|
+
attr_accessor :cloud_router_ipv6_address
|
16522
|
+
|
16523
|
+
# If supplied, the interface id (index within the subnet) to be used for the
|
16524
|
+
# cloud router address. The id must be in the range of 1 to 6. If a subnet mask
|
16525
|
+
# is supplied, it must be /125, and the subnet should either be 0 or match the
|
16526
|
+
# selected subnet.
|
16527
|
+
# Corresponds to the JSON property `cloudRouterIpv6InterfaceId`
|
16528
|
+
# @return [String]
|
16529
|
+
attr_accessor :cloud_router_ipv6_interface_id
|
16530
|
+
|
16409
16531
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
16410
16532
|
# Corresponds to the JSON property `creationTimestamp`
|
16411
16533
|
# @return [String]
|
@@ -16417,7 +16539,24 @@ module Google
|
|
16417
16539
|
# @return [String]
|
16418
16540
|
attr_accessor :customer_router_ip_address
|
16419
16541
|
|
16420
|
-
# [Output Only]
|
16542
|
+
# [Output Only] IPv6 address + prefix length to be configured on the customer
|
16543
|
+
# router subinterface for this interconnect attachment.
|
16544
|
+
# Corresponds to the JSON property `customerRouterIpv6Address`
|
16545
|
+
# @return [String]
|
16546
|
+
attr_accessor :customer_router_ipv6_address
|
16547
|
+
|
16548
|
+
# If supplied, the interface id (index within the subnet) to be used for the
|
16549
|
+
# customer router address. The id must be in the range of 1 to 6. If a subnet
|
16550
|
+
# mask is supplied, it must be /125, and the subnet should either be 0 or match
|
16551
|
+
# the selected subnet.
|
16552
|
+
# Corresponds to the JSON property `customerRouterIpv6InterfaceId`
|
16553
|
+
# @return [String]
|
16554
|
+
attr_accessor :customer_router_ipv6_interface_id
|
16555
|
+
|
16556
|
+
# [Output only for types PARTNER and DEDICATED. Not present for PARTNER_PROVIDER.
|
16557
|
+
# ] Dataplane version for this InterconnectAttachment. This field is only
|
16558
|
+
# present for Dataplane version 2 and higher. Absence of this field in the API
|
16559
|
+
# output indicates that the Dataplane is version 1.
|
16421
16560
|
# Corresponds to the JSON property `dataplaneVersion`
|
16422
16561
|
# @return [Fixnum]
|
16423
16562
|
attr_accessor :dataplane_version
|
@@ -16595,6 +16734,14 @@ module Google
|
|
16595
16734
|
# @return [String]
|
16596
16735
|
attr_accessor :self_link
|
16597
16736
|
|
16737
|
+
# The stack type for this interconnect attachment to identify whether the IPv6
|
16738
|
+
# feature is enabled or not. If not specified, IPV4_ONLY will be used. This
|
16739
|
+
# field can be both set at interconnect attachments creation and update
|
16740
|
+
# interconnect attachment operations.
|
16741
|
+
# Corresponds to the JSON property `stackType`
|
16742
|
+
# @return [String]
|
16743
|
+
attr_accessor :stack_type
|
16744
|
+
|
16598
16745
|
# [Output Only] The current state of this attachment's functionality. Enum
|
16599
16746
|
# values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and
|
16600
16747
|
# PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER,
|
@@ -16637,10 +16784,15 @@ module Google
|
|
16637
16784
|
def update!(**args)
|
16638
16785
|
@admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
|
16639
16786
|
@bandwidth = args[:bandwidth] if args.key?(:bandwidth)
|
16787
|
+
@candidate_ipv6_subnets = args[:candidate_ipv6_subnets] if args.key?(:candidate_ipv6_subnets)
|
16640
16788
|
@candidate_subnets = args[:candidate_subnets] if args.key?(:candidate_subnets)
|
16641
16789
|
@cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
|
16790
|
+
@cloud_router_ipv6_address = args[:cloud_router_ipv6_address] if args.key?(:cloud_router_ipv6_address)
|
16791
|
+
@cloud_router_ipv6_interface_id = args[:cloud_router_ipv6_interface_id] if args.key?(:cloud_router_ipv6_interface_id)
|
16642
16792
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
16643
16793
|
@customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address)
|
16794
|
+
@customer_router_ipv6_address = args[:customer_router_ipv6_address] if args.key?(:customer_router_ipv6_address)
|
16795
|
+
@customer_router_ipv6_interface_id = args[:customer_router_ipv6_interface_id] if args.key?(:customer_router_ipv6_interface_id)
|
16644
16796
|
@dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
|
16645
16797
|
@description = args[:description] if args.key?(:description)
|
16646
16798
|
@edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
|
@@ -16663,6 +16815,7 @@ module Google
|
|
16663
16815
|
@router = args[:router] if args.key?(:router)
|
16664
16816
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
16665
16817
|
@self_link = args[:self_link] if args.key?(:self_link)
|
16818
|
+
@stack_type = args[:stack_type] if args.key?(:stack_type)
|
16666
16819
|
@state = args[:state] if args.key?(:state)
|
16667
16820
|
@type = args[:type] if args.key?(:type)
|
16668
16821
|
@vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q)
|
@@ -18184,7 +18337,7 @@ module Google
|
|
18184
18337
|
class LocationPolicyLocation
|
18185
18338
|
include Google::Apis::Core::Hashable
|
18186
18339
|
|
18187
|
-
# Preference for a given location
|
18340
|
+
# Preference for a given location.
|
18188
18341
|
# Corresponds to the JSON property `preference`
|
18189
18342
|
# @return [String]
|
18190
18343
|
attr_accessor :preference
|
@@ -18363,6 +18516,11 @@ module Google
|
|
18363
18516
|
# @return [Fixnum]
|
18364
18517
|
attr_accessor :id
|
18365
18518
|
|
18519
|
+
# [Output Only] Properties of source instance
|
18520
|
+
# Corresponds to the JSON property `instanceProperties`
|
18521
|
+
# @return [Google::Apis::ComputeBeta::InstanceProperties]
|
18522
|
+
attr_accessor :instance_properties
|
18523
|
+
|
18366
18524
|
# [Output Only] The resource type, which is always compute#machineImage for
|
18367
18525
|
# machine image.
|
18368
18526
|
# Corresponds to the JSON property `kind`
|
@@ -18398,6 +18556,12 @@ module Google
|
|
18398
18556
|
attr_accessor :satisfies_pzs
|
18399
18557
|
alias_method :satisfies_pzs?, :satisfies_pzs
|
18400
18558
|
|
18559
|
+
# An array of Machine Image specific properties for disks attached to the source
|
18560
|
+
# instance
|
18561
|
+
# Corresponds to the JSON property `savedDisks`
|
18562
|
+
# @return [Array<Google::Apis::ComputeBeta::SavedDisk>]
|
18563
|
+
attr_accessor :saved_disks
|
18564
|
+
|
18401
18565
|
# [Output Only] The URL for this machine image. The server defines this URL.
|
18402
18566
|
# Corresponds to the JSON property `selfLink`
|
18403
18567
|
# @return [String]
|
@@ -18418,7 +18582,8 @@ module Google
|
|
18418
18582
|
# @return [String]
|
18419
18583
|
attr_accessor :source_instance
|
18420
18584
|
|
18421
|
-
#
|
18585
|
+
# DEPRECATED: Please use compute#instanceProperties instead. New properties will
|
18586
|
+
# not be added to this field.
|
18422
18587
|
# Corresponds to the JSON property `sourceInstanceProperties`
|
18423
18588
|
# @return [Google::Apis::ComputeBeta::SourceInstanceProperties]
|
18424
18589
|
attr_accessor :source_instance_properties
|
@@ -18450,10 +18615,12 @@ module Google
|
|
18450
18615
|
@description = args[:description] if args.key?(:description)
|
18451
18616
|
@guest_flush = args[:guest_flush] if args.key?(:guest_flush)
|
18452
18617
|
@id = args[:id] if args.key?(:id)
|
18618
|
+
@instance_properties = args[:instance_properties] if args.key?(:instance_properties)
|
18453
18619
|
@kind = args[:kind] if args.key?(:kind)
|
18454
18620
|
@machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
|
18455
18621
|
@name = args[:name] if args.key?(:name)
|
18456
18622
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
18623
|
+
@saved_disks = args[:saved_disks] if args.key?(:saved_disks)
|
18457
18624
|
@self_link = args[:self_link] if args.key?(:self_link)
|
18458
18625
|
@source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys)
|
18459
18626
|
@source_instance = args[:source_instance] if args.key?(:source_instance)
|
@@ -20565,7 +20732,7 @@ module Google
|
|
20565
20732
|
# @return [String]
|
20566
20733
|
attr_accessor :ipv6_access_type
|
20567
20734
|
|
20568
|
-
#
|
20735
|
+
# An IPv6 internal network address for this network interface.
|
20569
20736
|
# Corresponds to the JSON property `ipv6Address`
|
20570
20737
|
# @return [String]
|
20571
20738
|
attr_accessor :ipv6_address
|
@@ -24823,6 +24990,18 @@ module Google
|
|
24823
24990
|
# @return [Hash<String,Google::Apis::ComputeBeta::PreservedStatePreservedDisk>]
|
24824
24991
|
attr_accessor :disks
|
24825
24992
|
|
24993
|
+
# Preserved external IPs defined for this instance. This map is keyed with the
|
24994
|
+
# name of the network interface.
|
24995
|
+
# Corresponds to the JSON property `externalIPs`
|
24996
|
+
# @return [Hash<String,Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIp>]
|
24997
|
+
attr_accessor :external_i_ps
|
24998
|
+
|
24999
|
+
# Preserved internal IPs defined for this instance. This map is keyed with the
|
25000
|
+
# name of the network interface.
|
25001
|
+
# Corresponds to the JSON property `internalIPs`
|
25002
|
+
# @return [Hash<String,Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIp>]
|
25003
|
+
attr_accessor :internal_i_ps
|
25004
|
+
|
24826
25005
|
# Preserved metadata defined for this instance.
|
24827
25006
|
# Corresponds to the JSON property `metadata`
|
24828
25007
|
# @return [Hash<String,String>]
|
@@ -24835,6 +25014,8 @@ module Google
|
|
24835
25014
|
# Update properties of this object
|
24836
25015
|
def update!(**args)
|
24837
25016
|
@disks = args[:disks] if args.key?(:disks)
|
25017
|
+
@external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
|
25018
|
+
@internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
|
24838
25019
|
@metadata = args[:metadata] if args.key?(:metadata)
|
24839
25020
|
end
|
24840
25021
|
end
|
@@ -24876,6 +25057,60 @@ module Google
|
|
24876
25057
|
end
|
24877
25058
|
end
|
24878
25059
|
|
25060
|
+
#
|
25061
|
+
class PreservedStatePreservedNetworkIp
|
25062
|
+
include Google::Apis::Core::Hashable
|
25063
|
+
|
25064
|
+
# These stateful IPs will never be released during autohealing, update or VM
|
25065
|
+
# instance recreate operations. This flag is used to configure if the IP
|
25066
|
+
# reservation should be deleted after it is no longer used by the group, e.g.
|
25067
|
+
# when the given instance or the whole group is deleted.
|
25068
|
+
# Corresponds to the JSON property `autoDelete`
|
25069
|
+
# @return [String]
|
25070
|
+
attr_accessor :auto_delete
|
25071
|
+
|
25072
|
+
# Ip address representation
|
25073
|
+
# Corresponds to the JSON property `ipAddress`
|
25074
|
+
# @return [Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIpIpAddress]
|
25075
|
+
attr_accessor :ip_address
|
25076
|
+
|
25077
|
+
def initialize(**args)
|
25078
|
+
update!(**args)
|
25079
|
+
end
|
25080
|
+
|
25081
|
+
# Update properties of this object
|
25082
|
+
def update!(**args)
|
25083
|
+
@auto_delete = args[:auto_delete] if args.key?(:auto_delete)
|
25084
|
+
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
25085
|
+
end
|
25086
|
+
end
|
25087
|
+
|
25088
|
+
#
|
25089
|
+
class PreservedStatePreservedNetworkIpIpAddress
|
25090
|
+
include Google::Apis::Core::Hashable
|
25091
|
+
|
25092
|
+
# The URL of the reservation for this IP address.
|
25093
|
+
# Corresponds to the JSON property `address`
|
25094
|
+
# @return [String]
|
25095
|
+
attr_accessor :address
|
25096
|
+
|
25097
|
+
# An IPv4 internal network address to assign to the instance for this network
|
25098
|
+
# interface.
|
25099
|
+
# Corresponds to the JSON property `literal`
|
25100
|
+
# @return [String]
|
25101
|
+
attr_accessor :literal
|
25102
|
+
|
25103
|
+
def initialize(**args)
|
25104
|
+
update!(**args)
|
25105
|
+
end
|
25106
|
+
|
25107
|
+
# Update properties of this object
|
25108
|
+
def update!(**args)
|
25109
|
+
@address = args[:address] if args.key?(:address)
|
25110
|
+
@literal = args[:literal] if args.key?(:literal)
|
25111
|
+
end
|
25112
|
+
end
|
25113
|
+
|
24879
25114
|
# Represents a Project resource. A project is used to organize resources in a
|
24880
25115
|
# Google Cloud Platform environment. For more information, read about the
|
24881
25116
|
# Resource Hierarchy.
|
@@ -29692,6 +29927,12 @@ module Google
|
|
29692
29927
|
# @return [String]
|
29693
29928
|
attr_accessor :enable
|
29694
29929
|
|
29930
|
+
# Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
|
29931
|
+
# Corresponds to the JSON property `enableIpv6`
|
29932
|
+
# @return [Boolean]
|
29933
|
+
attr_accessor :enable_ipv6
|
29934
|
+
alias_method :enable_ipv6?, :enable_ipv6
|
29935
|
+
|
29695
29936
|
# Name of the interface the BGP peer is associated with.
|
29696
29937
|
# Corresponds to the JSON property `interfaceName`
|
29697
29938
|
# @return [String]
|
@@ -29703,6 +29944,11 @@ module Google
|
|
29703
29944
|
# @return [String]
|
29704
29945
|
attr_accessor :ip_address
|
29705
29946
|
|
29947
|
+
# IPv6 address of the interface inside Google Cloud Platform.
|
29948
|
+
# Corresponds to the JSON property `ipv6NexthopAddress`
|
29949
|
+
# @return [String]
|
29950
|
+
attr_accessor :ipv6_nexthop_address
|
29951
|
+
|
29706
29952
|
# [Output Only] The resource that configures and manages this BGP peer. -
|
29707
29953
|
# MANAGED_BY_USER is the default value and can be managed by you or other users -
|
29708
29954
|
# MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud
|
@@ -29735,6 +29981,11 @@ module Google
|
|
29735
29981
|
# @return [String]
|
29736
29982
|
attr_accessor :peer_ip_address
|
29737
29983
|
|
29984
|
+
# IPv6 address of the BGP interface outside Google Cloud Platform.
|
29985
|
+
# Corresponds to the JSON property `peerIpv6NexthopAddress`
|
29986
|
+
# @return [String]
|
29987
|
+
attr_accessor :peer_ipv6_nexthop_address
|
29988
|
+
|
29738
29989
|
# URI of the VM instance that is used as third-party router appliances such as
|
29739
29990
|
# Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
|
29740
29991
|
# must be located in zones contained in the same region as this Cloud Router.
|
@@ -29755,12 +30006,15 @@ module Google
|
|
29755
30006
|
@advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
|
29756
30007
|
@bfd = args[:bfd] if args.key?(:bfd)
|
29757
30008
|
@enable = args[:enable] if args.key?(:enable)
|
30009
|
+
@enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
|
29758
30010
|
@interface_name = args[:interface_name] if args.key?(:interface_name)
|
29759
30011
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
30012
|
+
@ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
|
29760
30013
|
@management_type = args[:management_type] if args.key?(:management_type)
|
29761
30014
|
@name = args[:name] if args.key?(:name)
|
29762
30015
|
@peer_asn = args[:peer_asn] if args.key?(:peer_asn)
|
29763
30016
|
@peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
|
30017
|
+
@peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
|
29764
30018
|
@router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
|
29765
30019
|
end
|
29766
30020
|
end
|
@@ -30825,7 +31079,8 @@ module Google
|
|
30825
31079
|
end
|
30826
31080
|
end
|
30827
31081
|
|
30828
|
-
# An instance-attached disk
|
31082
|
+
# DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk
|
31083
|
+
# resource.
|
30829
31084
|
class SavedAttachedDisk
|
30830
31085
|
include Google::Apis::Core::Hashable
|
30831
31086
|
|
@@ -30948,6 +31203,47 @@ module Google
|
|
30948
31203
|
end
|
30949
31204
|
end
|
30950
31205
|
|
31206
|
+
# An instance-attached disk resource.
|
31207
|
+
class SavedDisk
|
31208
|
+
include Google::Apis::Core::Hashable
|
31209
|
+
|
31210
|
+
# [Output Only] Type of the resource. Always compute#savedDisk for attached
|
31211
|
+
# disks.
|
31212
|
+
# Corresponds to the JSON property `kind`
|
31213
|
+
# @return [String]
|
31214
|
+
attr_accessor :kind
|
31215
|
+
|
31216
|
+
# Specifies a URL of the disk attached to the source instance.
|
31217
|
+
# Corresponds to the JSON property `sourceDisk`
|
31218
|
+
# @return [String]
|
31219
|
+
attr_accessor :source_disk
|
31220
|
+
|
31221
|
+
# [Output Only] Size of the individual disk snapshot used by this machine image.
|
31222
|
+
# Corresponds to the JSON property `storageBytes`
|
31223
|
+
# @return [Fixnum]
|
31224
|
+
attr_accessor :storage_bytes
|
31225
|
+
|
31226
|
+
# [Output Only] An indicator whether storageBytes is in a stable state or it is
|
31227
|
+
# being adjusted as a result of shared storage reallocation. This status can
|
31228
|
+
# either be UPDATING, meaning the size of the snapshot is being updated, or
|
31229
|
+
# UP_TO_DATE, meaning the size of the snapshot is up-to-date.
|
31230
|
+
# Corresponds to the JSON property `storageBytesStatus`
|
31231
|
+
# @return [String]
|
31232
|
+
attr_accessor :storage_bytes_status
|
31233
|
+
|
31234
|
+
def initialize(**args)
|
31235
|
+
update!(**args)
|
31236
|
+
end
|
31237
|
+
|
31238
|
+
# Update properties of this object
|
31239
|
+
def update!(**args)
|
31240
|
+
@kind = args[:kind] if args.key?(:kind)
|
31241
|
+
@source_disk = args[:source_disk] if args.key?(:source_disk)
|
31242
|
+
@storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
|
31243
|
+
@storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
|
31244
|
+
end
|
31245
|
+
end
|
31246
|
+
|
30951
31247
|
#
|
30952
31248
|
class ScalingScheduleStatus
|
30953
31249
|
include Google::Apis::Core::Hashable
|
@@ -31041,8 +31337,8 @@ module Google
|
|
31041
31337
|
|
31042
31338
|
# Defines the maintenance behavior for this instance. For standard instances,
|
31043
31339
|
# the default behavior is MIGRATE. For preemptible instances, the default and
|
31044
|
-
# only possible behavior is TERMINATE. For more information, see
|
31045
|
-
#
|
31340
|
+
# only possible behavior is TERMINATE. For more information, see Set VM
|
31341
|
+
# availability policies.
|
31046
31342
|
# Corresponds to the JSON property `onHostMaintenance`
|
31047
31343
|
# @return [String]
|
31048
31344
|
attr_accessor :on_host_maintenance
|
@@ -31279,6 +31575,11 @@ module Google
|
|
31279
31575
|
# @return [String]
|
31280
31576
|
attr_accessor :parent
|
31281
31577
|
|
31578
|
+
#
|
31579
|
+
# Corresponds to the JSON property `recaptchaOptionsConfig`
|
31580
|
+
# @return [Google::Apis::ComputeBeta::SecurityPolicyRecaptchaOptionsConfig]
|
31581
|
+
attr_accessor :recaptcha_options_config
|
31582
|
+
|
31282
31583
|
# [Output Only] Total count of all security policy rule tuples. A security
|
31283
31584
|
# policy can not exceed a set number of tuples.
|
31284
31585
|
# Corresponds to the JSON property `ruleTupleCount`
|
@@ -31333,6 +31634,7 @@ module Google
|
|
31333
31634
|
@labels = args[:labels] if args.key?(:labels)
|
31334
31635
|
@name = args[:name] if args.key?(:name)
|
31335
31636
|
@parent = args[:parent] if args.key?(:parent)
|
31637
|
+
@recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
|
31336
31638
|
@rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
|
31337
31639
|
@rules = args[:rules] if args.key?(:rules)
|
31338
31640
|
@self_link = args[:self_link] if args.key?(:self_link)
|
@@ -31561,6 +31863,29 @@ module Google
|
|
31561
31863
|
end
|
31562
31864
|
end
|
31563
31865
|
|
31866
|
+
#
|
31867
|
+
class SecurityPolicyRecaptchaOptionsConfig
|
31868
|
+
include Google::Apis::Core::Hashable
|
31869
|
+
|
31870
|
+
# An optional field to supply a reCAPTCHA site key to be used for all the rules
|
31871
|
+
# using the redirect action with the type of GOOGLE_RECAPTCHA under the security
|
31872
|
+
# policy. The specified site key needs to be created from the reCAPTCHA API. The
|
31873
|
+
# user is responsible for the validity of the specified site key. If not
|
31874
|
+
# specified, a Google-managed site key is used.
|
31875
|
+
# Corresponds to the JSON property `redirectSiteKey`
|
31876
|
+
# @return [String]
|
31877
|
+
attr_accessor :redirect_site_key
|
31878
|
+
|
31879
|
+
def initialize(**args)
|
31880
|
+
update!(**args)
|
31881
|
+
end
|
31882
|
+
|
31883
|
+
# Update properties of this object
|
31884
|
+
def update!(**args)
|
31885
|
+
@redirect_site_key = args[:redirect_site_key] if args.key?(:redirect_site_key)
|
31886
|
+
end
|
31887
|
+
end
|
31888
|
+
|
31564
31889
|
#
|
31565
31890
|
class SecurityPolicyReference
|
31566
31891
|
include Google::Apis::Core::Hashable
|
@@ -31585,9 +31910,17 @@ module Google
|
|
31585
31910
|
class SecurityPolicyRule
|
31586
31911
|
include Google::Apis::Core::Hashable
|
31587
31912
|
|
31588
|
-
# The Action to perform when the
|
31589
|
-
#
|
31590
|
-
# 404, and 502.
|
31913
|
+
# The Action to perform when the rule is matched. The following are the valid
|
31914
|
+
# actions: - allow: allow access to target. - deny(): deny access to target,
|
31915
|
+
# returns the HTTP response code specified (valid values are 403, 404, and 502).
|
31916
|
+
# - rate_based_ban: limit client traffic to the configured threshold and ban the
|
31917
|
+
# client if the traffic exceeds the threshold. Configure parameters for this
|
31918
|
+
# action in RateLimitOptions. Requires rate_limit_options to be set. - redirect:
|
31919
|
+
# redirect to a different target. This can either be an internal reCAPTCHA
|
31920
|
+
# redirect, or an external URL-based redirect via a 302 response. Parameters for
|
31921
|
+
# this action can be configured via redirectOptions. - throttle: limit client
|
31922
|
+
# traffic to the configured threshold. Configure parameters for this action in
|
31923
|
+
# rateLimitOptions. Requires rate_limit_options to be set for this.
|
31591
31924
|
# Corresponds to the JSON property `action`
|
31592
31925
|
# @return [String]
|
31593
31926
|
attr_accessor :action
|
@@ -31894,33 +32227,45 @@ module Google
|
|
31894
32227
|
attr_accessor :conform_action
|
31895
32228
|
|
31896
32229
|
# Determines the key to enforce the rate_limit_threshold on. Possible values are:
|
31897
|
-
#
|
31898
|
-
#
|
31899
|
-
#
|
31900
|
-
#
|
31901
|
-
#
|
31902
|
-
# header whose name is configured under "enforce_on_key_name". The key value is
|
32230
|
+
# - ALL: A single rate limit threshold is applied to all the requests matching
|
32231
|
+
# this rule. This is the default value if this field 'enforce_on_key' is not
|
32232
|
+
# configured. - IP: The source IP address of the request is the key. Each IP has
|
32233
|
+
# this limit enforced separately. - HTTP_HEADER: The value of the HTTP header
|
32234
|
+
# whose name is configured under "enforce_on_key_name". The key value is
|
31903
32235
|
# truncated to the first 128 bytes of the header value. If no such header is
|
31904
|
-
# present in the request, the key type defaults to
|
31905
|
-
#
|
31906
|
-
#
|
31907
|
-
#
|
32236
|
+
# present in the request, the key type defaults to ALL. - XFF_IP: The first IP
|
32237
|
+
# address (i.e. the originating client IP address) specified in the list of IPs
|
32238
|
+
# under X-Forwarded-For HTTP header. If no such header is present or the value
|
32239
|
+
# is not a valid IP, the key type defaults to ALL. - HTTP_COOKIE: The value of
|
32240
|
+
# the HTTP cookie whose name is configured under "enforce_on_key_name". The key
|
32241
|
+
# value is truncated to the first 128 bytes of the cookie value. If no such
|
32242
|
+
# cookie is present in the request, the key type defaults to ALL.
|
31908
32243
|
# Corresponds to the JSON property `enforceOnKey`
|
31909
32244
|
# @return [String]
|
31910
32245
|
attr_accessor :enforce_on_key
|
31911
32246
|
|
31912
32247
|
# Rate limit key name applicable only for the following key types: HTTP_HEADER --
|
31913
|
-
# Name of the HTTP header whose value is taken as the key value.
|
32248
|
+
# Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE --
|
32249
|
+
# Name of the HTTP cookie whose value is taken as the key value.
|
31914
32250
|
# Corresponds to the JSON property `enforceOnKeyName`
|
31915
32251
|
# @return [String]
|
31916
32252
|
attr_accessor :enforce_on_key_name
|
31917
32253
|
|
31918
|
-
#
|
31919
|
-
#
|
32254
|
+
# Action to take for requests that are above the configured rate limit threshold,
|
32255
|
+
# to either deny with a specified HTTP response code, or redirect to a
|
32256
|
+
# different endpoint. Valid options are "deny()" where valid values for status
|
32257
|
+
# are 403, 404, 429, and 502, and "redirect" where the redirect parameters come
|
32258
|
+
# from exceed_redirect_options below.
|
31920
32259
|
# Corresponds to the JSON property `exceedAction`
|
31921
32260
|
# @return [String]
|
31922
32261
|
attr_accessor :exceed_action
|
31923
32262
|
|
32263
|
+
# Parameters defining the redirect action that is used as the exceed action.
|
32264
|
+
# Cannot be specified if the exceed action is not redirect.
|
32265
|
+
# Corresponds to the JSON property `exceedRedirectOptions`
|
32266
|
+
# @return [Google::Apis::ComputeBeta::SecurityPolicyRuleRedirectOptions]
|
32267
|
+
attr_accessor :exceed_redirect_options
|
32268
|
+
|
31924
32269
|
# Threshold at which to begin ratelimiting.
|
31925
32270
|
# Corresponds to the JSON property `rateLimitThreshold`
|
31926
32271
|
# @return [Google::Apis::ComputeBeta::SecurityPolicyRuleRateLimitOptionsThreshold]
|
@@ -31938,6 +32283,7 @@ module Google
|
|
31938
32283
|
@enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
|
31939
32284
|
@enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name)
|
31940
32285
|
@exceed_action = args[:exceed_action] if args.key?(:exceed_action)
|
32286
|
+
@exceed_redirect_options = args[:exceed_redirect_options] if args.key?(:exceed_redirect_options)
|
31941
32287
|
@rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold)
|
31942
32288
|
end
|
31943
32289
|
end
|
@@ -32176,6 +32522,13 @@ module Google
|
|
32176
32522
|
# @return [String]
|
32177
32523
|
attr_accessor :description
|
32178
32524
|
|
32525
|
+
# If specified, the domain name will be used during the integration between the
|
32526
|
+
# PSC connected endpoints and the Cloud DNS. For example, this is a valid domain
|
32527
|
+
# name: "p.mycompany.com.". Current max number of domain names supported is 1.
|
32528
|
+
# Corresponds to the JSON property `domainNames`
|
32529
|
+
# @return [Array<String>]
|
32530
|
+
attr_accessor :domain_names
|
32531
|
+
|
32179
32532
|
# If true, enable the proxy protocol which is for supplying client TCP/IP
|
32180
32533
|
# address data in TCP connections that traverse proxies on their way to
|
32181
32534
|
# destination servers.
|
@@ -32264,6 +32617,7 @@ module Google
|
|
32264
32617
|
@consumer_reject_lists = args[:consumer_reject_lists] if args.key?(:consumer_reject_lists)
|
32265
32618
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
32266
32619
|
@description = args[:description] if args.key?(:description)
|
32620
|
+
@domain_names = args[:domain_names] if args.key?(:domain_names)
|
32267
32621
|
@enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
|
32268
32622
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
32269
32623
|
@id = args[:id] if args.key?(:id)
|
@@ -33365,7 +33719,8 @@ module Google
|
|
33365
33719
|
end
|
33366
33720
|
end
|
33367
33721
|
|
33368
|
-
#
|
33722
|
+
# DEPRECATED: Please use compute#instanceProperties instead. New properties will
|
33723
|
+
# not be added to this field.
|
33369
33724
|
class SourceInstanceProperties
|
33370
33725
|
include Google::Apis::Core::Hashable
|
33371
33726
|
|
@@ -34355,6 +34710,20 @@ module Google
|
|
34355
34710
|
# @return [Hash<String,Google::Apis::ComputeBeta::StatefulPolicyPreservedStateDiskDevice>]
|
34356
34711
|
attr_accessor :disks
|
34357
34712
|
|
34713
|
+
# External network IPs assigned to the instances that will be preserved on
|
34714
|
+
# instance delete, update, etc. This map is keyed with the network interface
|
34715
|
+
# name.
|
34716
|
+
# Corresponds to the JSON property `externalIPs`
|
34717
|
+
# @return [Hash<String,Google::Apis::ComputeBeta::StatefulPolicyPreservedStateNetworkIp>]
|
34718
|
+
attr_accessor :external_i_ps
|
34719
|
+
|
34720
|
+
# Internal network IPs assigned to the instances that will be preserved on
|
34721
|
+
# instance delete, update, etc. This map is keyed with the network interface
|
34722
|
+
# name.
|
34723
|
+
# Corresponds to the JSON property `internalIPs`
|
34724
|
+
# @return [Hash<String,Google::Apis::ComputeBeta::StatefulPolicyPreservedStateNetworkIp>]
|
34725
|
+
attr_accessor :internal_i_ps
|
34726
|
+
|
34358
34727
|
def initialize(**args)
|
34359
34728
|
update!(**args)
|
34360
34729
|
end
|
@@ -34362,6 +34731,8 @@ module Google
|
|
34362
34731
|
# Update properties of this object
|
34363
34732
|
def update!(**args)
|
34364
34733
|
@disks = args[:disks] if args.key?(:disks)
|
34734
|
+
@external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
|
34735
|
+
@internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
|
34365
34736
|
end
|
34366
34737
|
end
|
34367
34738
|
|
@@ -34388,6 +34759,28 @@ module Google
|
|
34388
34759
|
end
|
34389
34760
|
end
|
34390
34761
|
|
34762
|
+
#
|
34763
|
+
class StatefulPolicyPreservedStateNetworkIp
|
34764
|
+
include Google::Apis::Core::Hashable
|
34765
|
+
|
34766
|
+
# These stateful IPs will never be released during autohealing, update or VM
|
34767
|
+
# instance recreate operations. This flag is used to configure if the IP
|
34768
|
+
# reservation should be deleted after it is no longer used by the group, e.g.
|
34769
|
+
# when the given instance or the whole group is deleted.
|
34770
|
+
# Corresponds to the JSON property `autoDelete`
|
34771
|
+
# @return [String]
|
34772
|
+
attr_accessor :auto_delete
|
34773
|
+
|
34774
|
+
def initialize(**args)
|
34775
|
+
update!(**args)
|
34776
|
+
end
|
34777
|
+
|
34778
|
+
# Update properties of this object
|
34779
|
+
def update!(**args)
|
34780
|
+
@auto_delete = args[:auto_delete] if args.key?(:auto_delete)
|
34781
|
+
end
|
34782
|
+
end
|
34783
|
+
|
34391
34784
|
# Represents a Subnetwork resource. A subnetwork (also known as a subnet) is a
|
34392
34785
|
# logical partition of a Virtual Private Cloud network with one primary IP range
|
34393
34786
|
# and zero or more secondary IP ranges. For more information, read Virtual
|
@@ -34482,7 +34875,7 @@ module Google
|
|
34482
34875
|
attr_accessor :ipv6_access_type
|
34483
34876
|
|
34484
34877
|
# [Output Only] The range of internal IPv6 addresses that are owned by this
|
34485
|
-
# subnetwork.
|
34878
|
+
# subnetwork. Note this will be for private google access only eventually.
|
34486
34879
|
# Corresponds to the JSON property `ipv6CidrRange`
|
34487
34880
|
# @return [String]
|
34488
34881
|
attr_accessor :ipv6_cidr_range
|
@@ -39845,6 +40238,12 @@ module Google
|
|
39845
40238
|
# @return [String]
|
39846
40239
|
attr_accessor :self_link
|
39847
40240
|
|
40241
|
+
# The stack type for this VPN gateway to identify the IP protocols that are
|
40242
|
+
# enabled. If not specified, IPV4_ONLY will be used.
|
40243
|
+
# Corresponds to the JSON property `stackType`
|
40244
|
+
# @return [String]
|
40245
|
+
attr_accessor :stack_type
|
40246
|
+
|
39848
40247
|
# The list of VPN interfaces associated with this VPN gateway.
|
39849
40248
|
# Corresponds to the JSON property `vpnInterfaces`
|
39850
40249
|
# @return [Array<Google::Apis::ComputeBeta::VpnGatewayVpnGatewayInterface>]
|
@@ -39866,6 +40265,7 @@ module Google
|
|
39866
40265
|
@network = args[:network] if args.key?(:network)
|
39867
40266
|
@region = args[:region] if args.key?(:region)
|
39868
40267
|
@self_link = args[:self_link] if args.key?(:self_link)
|
40268
|
+
@stack_type = args[:stack_type] if args.key?(:stack_type)
|
39869
40269
|
@vpn_interfaces = args[:vpn_interfaces] if args.key?(:vpn_interfaces)
|
39870
40270
|
end
|
39871
40271
|
end
|