google-apis-compute_beta 0.20.0 → 0.24.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|