google-apis-compute_v1 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_v1/classes.rb +1217 -175
- data/lib/google/apis/compute_v1/gem_version.rb +3 -3
- data/lib/google/apis/compute_v1/representations.rb +320 -0
- data/lib/google/apis/compute_v1/service.rb +580 -64
- 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
|
@@ -633,14 +633,14 @@ module Google
|
|
633
633
|
# regional internal IP address in a subnet of a VPC network) - VPC_PEERING for
|
634
634
|
# global internal IP addresses used for private services access allocated ranges.
|
635
635
|
# - NAT_AUTO for the regional external IP addresses used by Cloud NAT when
|
636
|
-
# allocating addresses using
|
637
|
-
#
|
638
|
-
#
|
639
|
-
#
|
640
|
-
# an internal IP address that is
|
641
|
-
#
|
642
|
-
#
|
643
|
-
# purpose.
|
636
|
+
# allocating addresses using automatic NAT IP address allocation. -
|
637
|
+
# IPSEC_INTERCONNECT for addresses created from a private IP range that are
|
638
|
+
# reserved for a VLAN attachment in an *IPsec-encrypted Cloud Interconnect*
|
639
|
+
# configuration. These addresses are regional resources. Not currently available
|
640
|
+
# publicly. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is
|
641
|
+
# assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT`
|
642
|
+
# for a private network address that is used to configure Private Service
|
643
|
+
# Connect. Only global internal addresses can use this purpose.
|
644
644
|
# Corresponds to the JSON property `purpose`
|
645
645
|
# @return [String]
|
646
646
|
attr_accessor :purpose
|
@@ -1051,6 +1051,12 @@ module Google
|
|
1051
1051
|
attr_accessor :enable_nested_virtualization
|
1052
1052
|
alias_method :enable_nested_virtualization?, :enable_nested_virtualization
|
1053
1053
|
|
1054
|
+
# Whether to enable UEFI networking for instance creation.
|
1055
|
+
# Corresponds to the JSON property `enableUefiNetworking`
|
1056
|
+
# @return [Boolean]
|
1057
|
+
attr_accessor :enable_uefi_networking
|
1058
|
+
alias_method :enable_uefi_networking?, :enable_uefi_networking
|
1059
|
+
|
1054
1060
|
# The number of threads per physical core. To disable simultaneous
|
1055
1061
|
# multithreading (SMT) set this to 1. If unset, the maximum number of threads
|
1056
1062
|
# supported per core by the underlying processor is assumed.
|
@@ -1065,6 +1071,7 @@ module Google
|
|
1065
1071
|
# Update properties of this object
|
1066
1072
|
def update!(**args)
|
1067
1073
|
@enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
|
1074
|
+
@enable_uefi_networking = args[:enable_uefi_networking] if args.key?(:enable_uefi_networking)
|
1068
1075
|
@threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
|
1069
1076
|
end
|
1070
1077
|
end
|
@@ -1315,7 +1322,8 @@ module Google
|
|
1315
1322
|
# initializeParams.sourceSnapshot or disks.source is required except for local
|
1316
1323
|
# SSD. If desired, you can also attach existing non-root persistent disks using
|
1317
1324
|
# this property. This field is only applicable for persistent disks. Note that
|
1318
|
-
# for InstanceTemplate, specify the disk name,
|
1325
|
+
# for InstanceTemplate, specify the disk name for zonal disk, and the URL for
|
1326
|
+
# regional disk.
|
1319
1327
|
# Corresponds to the JSON property `source`
|
1320
1328
|
# @return [String]
|
1321
1329
|
attr_accessor :source
|
@@ -1398,6 +1406,11 @@ module Google
|
|
1398
1406
|
# @return [Hash<String,String>]
|
1399
1407
|
attr_accessor :labels
|
1400
1408
|
|
1409
|
+
# A list of publicly visible licenses. Reserved for Google's use.
|
1410
|
+
# Corresponds to the JSON property `licenses`
|
1411
|
+
# @return [Array<String>]
|
1412
|
+
attr_accessor :licenses
|
1413
|
+
|
1401
1414
|
# Specifies which action to take on instance update with this disk. Default is
|
1402
1415
|
# to use the existing disk.
|
1403
1416
|
# Corresponds to the JSON property `onUpdateAction`
|
@@ -1470,6 +1483,7 @@ module Google
|
|
1470
1483
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
1471
1484
|
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
1472
1485
|
@labels = args[:labels] if args.key?(:labels)
|
1486
|
+
@licenses = args[:licenses] if args.key?(:licenses)
|
1473
1487
|
@on_update_action = args[:on_update_action] if args.key?(:on_update_action)
|
1474
1488
|
@provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
|
1475
1489
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
@@ -2633,6 +2647,12 @@ module Google
|
|
2633
2647
|
# @return [Array<Google::Apis::ComputeV1::BackendBucketCdnPolicyBypassCacheOnRequestHeader>]
|
2634
2648
|
attr_accessor :bypass_cache_on_request_headers
|
2635
2649
|
|
2650
|
+
# Message containing what to include in the cache key for a request for Cloud
|
2651
|
+
# CDN.
|
2652
|
+
# Corresponds to the JSON property `cacheKeyPolicy`
|
2653
|
+
# @return [Google::Apis::ComputeV1::BackendBucketCdnPolicyCacheKeyPolicy]
|
2654
|
+
attr_accessor :cache_key_policy
|
2655
|
+
|
2636
2656
|
# Specifies the cache setting for all responses from this backend. The possible
|
2637
2657
|
# values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching
|
2638
2658
|
# headers to cache content. Responses without these headers will not be cached
|
@@ -2756,6 +2776,7 @@ module Google
|
|
2756
2776
|
# Update properties of this object
|
2757
2777
|
def update!(**args)
|
2758
2778
|
@bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
|
2779
|
+
@cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
|
2759
2780
|
@cache_mode = args[:cache_mode] if args.key?(:cache_mode)
|
2760
2781
|
@client_ttl = args[:client_ttl] if args.key?(:client_ttl)
|
2761
2782
|
@default_ttl = args[:default_ttl] if args.key?(:default_ttl)
|
@@ -2791,6 +2812,34 @@ module Google
|
|
2791
2812
|
end
|
2792
2813
|
end
|
2793
2814
|
|
2815
|
+
# Message containing what to include in the cache key for a request for Cloud
|
2816
|
+
# CDN.
|
2817
|
+
class BackendBucketCdnPolicyCacheKeyPolicy
|
2818
|
+
include Google::Apis::Core::Hashable
|
2819
|
+
|
2820
|
+
# Allows HTTP request headers (by name) to be used in the cache key.
|
2821
|
+
# Corresponds to the JSON property `includeHttpHeaders`
|
2822
|
+
# @return [Array<String>]
|
2823
|
+
attr_accessor :include_http_headers
|
2824
|
+
|
2825
|
+
# Names of query string parameters to include in cache keys. All other
|
2826
|
+
# parameters will be excluded. '&' and '=' will be percent encoded and not
|
2827
|
+
# treated as delimiters.
|
2828
|
+
# Corresponds to the JSON property `queryStringWhitelist`
|
2829
|
+
# @return [Array<String>]
|
2830
|
+
attr_accessor :query_string_whitelist
|
2831
|
+
|
2832
|
+
def initialize(**args)
|
2833
|
+
update!(**args)
|
2834
|
+
end
|
2835
|
+
|
2836
|
+
# Update properties of this object
|
2837
|
+
def update!(**args)
|
2838
|
+
@include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
|
2839
|
+
@query_string_whitelist = args[:query_string_whitelist] if args.key?(:query_string_whitelist)
|
2840
|
+
end
|
2841
|
+
end
|
2842
|
+
|
2794
2843
|
# Specify CDN TTLs for response error codes.
|
2795
2844
|
class BackendBucketCdnPolicyNegativeCachingPolicy
|
2796
2845
|
include Google::Apis::Core::Hashable
|
@@ -3032,14 +3081,14 @@ module Google
|
|
3032
3081
|
|
3033
3082
|
# For load balancers that have configurable failover: [Internal TCP/UDP Load
|
3034
3083
|
# Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
|
3035
|
-
# overview) and [external TCP/UDP Load Balancing](/
|
3036
|
-
# overview). On failover or failback,
|
3037
|
-
# draining will be honored. Google Cloud
|
3038
|
-
# of 10 minutes. A setting of true
|
3039
|
-
# active pool during failover and
|
3040
|
-
# setting of false allows existing TCP
|
3041
|
-
# longer in the active pool, for up to
|
3042
|
-
# timeout (10 minutes).
|
3084
|
+
# overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
|
3085
|
+
# balancing/docs/network/networklb-failover-overview). On failover or failback,
|
3086
|
+
# this field indicates whether connection draining will be honored. Google Cloud
|
3087
|
+
# has a fixed connection draining timeout of 10 minutes. A setting of true
|
3088
|
+
# terminates existing TCP connections to the active pool during failover and
|
3089
|
+
# failback, immediately draining traffic. A setting of false allows existing TCP
|
3090
|
+
# connections to persist, even on VMs no longer in the active pool, for up to
|
3091
|
+
# the duration of the connection draining timeout (10 minutes).
|
3043
3092
|
# Corresponds to the JSON property `failoverPolicy`
|
3044
3093
|
# @return [Google::Apis::ComputeV1::BackendServiceFailoverPolicy]
|
3045
3094
|
attr_accessor :failover_policy
|
@@ -3663,14 +3712,14 @@ module Google
|
|
3663
3712
|
|
3664
3713
|
# For load balancers that have configurable failover: [Internal TCP/UDP Load
|
3665
3714
|
# Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
|
3666
|
-
# overview) and [external TCP/UDP Load Balancing](/
|
3667
|
-
# overview). On failover or failback,
|
3668
|
-
# draining will be honored. Google Cloud
|
3669
|
-
# of 10 minutes. A setting of true
|
3670
|
-
# active pool during failover and
|
3671
|
-
# setting of false allows existing TCP
|
3672
|
-
# longer in the active pool, for up to
|
3673
|
-
# timeout (10 minutes).
|
3715
|
+
# overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
|
3716
|
+
# balancing/docs/network/networklb-failover-overview). On failover or failback,
|
3717
|
+
# this field indicates whether connection draining will be honored. Google Cloud
|
3718
|
+
# has a fixed connection draining timeout of 10 minutes. A setting of true
|
3719
|
+
# terminates existing TCP connections to the active pool during failover and
|
3720
|
+
# failback, immediately draining traffic. A setting of false allows existing TCP
|
3721
|
+
# connections to persist, even on VMs no longer in the active pool, for up to
|
3722
|
+
# the duration of the connection draining timeout (10 minutes).
|
3674
3723
|
class BackendServiceFailoverPolicy
|
3675
3724
|
include Google::Apis::Core::Hashable
|
3676
3725
|
|
@@ -3685,8 +3734,9 @@ module Google
|
|
3685
3734
|
# distributed among all primary VMs when all primary and all backup backend VMs
|
3686
3735
|
# are unhealthy. For load balancers that have configurable failover: [Internal
|
3687
3736
|
# TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/
|
3688
|
-
# failover-overview) and [external TCP/UDP Load Balancing](
|
3689
|
-
# failover-overview). The default is
|
3737
|
+
# failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.
|
3738
|
+
# com/load-balancing/docs/network/networklb-failover-overview). The default is
|
3739
|
+
# false.
|
3690
3740
|
# Corresponds to the JSON property `dropTrafficIfUnhealthy`
|
3691
3741
|
# @return [Boolean]
|
3692
3742
|
attr_accessor :drop_traffic_if_unhealthy
|
@@ -3698,7 +3748,8 @@ module Google
|
|
3698
3748
|
# the total number of healthy primary VMs is less than this ratio. For load
|
3699
3749
|
# balancers that have configurable failover: [Internal TCP/UDP Load Balancing](
|
3700
3750
|
# https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [
|
3701
|
-
# external TCP/UDP Load Balancing](/
|
3751
|
+
# external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/
|
3752
|
+
# network/networklb-failover-overview).
|
3702
3753
|
# Corresponds to the JSON property `failoverRatio`
|
3703
3754
|
# @return [Float]
|
3704
3755
|
attr_accessor :failover_ratio
|
@@ -4512,6 +4563,17 @@ module Google
|
|
4512
4563
|
attr_accessor :include_host
|
4513
4564
|
alias_method :include_host?, :include_host
|
4514
4565
|
|
4566
|
+
# Allows HTTP request headers (by name) to be used in the cache key.
|
4567
|
+
# Corresponds to the JSON property `includeHttpHeaders`
|
4568
|
+
# @return [Array<String>]
|
4569
|
+
attr_accessor :include_http_headers
|
4570
|
+
|
4571
|
+
# Allows HTTP cookies (by name) to be used in the cache key. The name=value pair
|
4572
|
+
# will be used in the cache key Cloud CDN generates.
|
4573
|
+
# Corresponds to the JSON property `includeNamedCookies`
|
4574
|
+
# @return [Array<String>]
|
4575
|
+
attr_accessor :include_named_cookies
|
4576
|
+
|
4515
4577
|
# If true, http and https requests will be cached separately.
|
4516
4578
|
# Corresponds to the JSON property `includeProtocol`
|
4517
4579
|
# @return [Boolean]
|
@@ -4550,6 +4612,8 @@ module Google
|
|
4550
4612
|
# Update properties of this object
|
4551
4613
|
def update!(**args)
|
4552
4614
|
@include_host = args[:include_host] if args.key?(:include_host)
|
4615
|
+
@include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
|
4616
|
+
@include_named_cookies = args[:include_named_cookies] if args.key?(:include_named_cookies)
|
4553
4617
|
@include_protocol = args[:include_protocol] if args.key?(:include_protocol)
|
4554
4618
|
@include_query_string = args[:include_query_string] if args.key?(:include_query_string)
|
4555
4619
|
@query_string_blacklist = args[:query_string_blacklist] if args.key?(:query_string_blacklist)
|
@@ -4614,6 +4678,16 @@ module Google
|
|
4614
4678
|
class Commitment
|
4615
4679
|
include Google::Apis::Core::Hashable
|
4616
4680
|
|
4681
|
+
# Specifies whether to enable automatic renewal for the commitment. The default
|
4682
|
+
# value is false if not specified. The field can be updated until the day of the
|
4683
|
+
# commitment expiration at 12:00am PST. If the field is set to true, the
|
4684
|
+
# commitment will be automatically renewed for either one or three years
|
4685
|
+
# according to the terms of the existing commitment.
|
4686
|
+
# Corresponds to the JSON property `autoRenew`
|
4687
|
+
# @return [Boolean]
|
4688
|
+
attr_accessor :auto_renew
|
4689
|
+
alias_method :auto_renew?, :auto_renew
|
4690
|
+
|
4617
4691
|
# The category of the commitment. Category MACHINE specifies commitments
|
4618
4692
|
# composed of machine resources such as VCPU or MEMORY, listed in resources.
|
4619
4693
|
# Category LICENSE specifies commitments composed of software licenses, listed
|
@@ -4724,6 +4798,7 @@ module Google
|
|
4724
4798
|
|
4725
4799
|
# Update properties of this object
|
4726
4800
|
def update!(**args)
|
4801
|
+
@auto_renew = args[:auto_renew] if args.key?(:auto_renew)
|
4727
4802
|
@category = args[:category] if args.key?(:category)
|
4728
4803
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
4729
4804
|
@description = args[:description] if args.key?(:description)
|
@@ -8418,8 +8493,7 @@ module Google
|
|
8418
8493
|
attr_accessor :self_link
|
8419
8494
|
|
8420
8495
|
# Service Directory resources to register this forwarding rule with. Currently,
|
8421
|
-
# only supports a single Service Directory resource.
|
8422
|
-
# internal load balancing.
|
8496
|
+
# only supports a single Service Directory resource.
|
8423
8497
|
# Corresponds to the JSON property `serviceDirectoryRegistrations`
|
8424
8498
|
# @return [Array<Google::Apis::ComputeV1::ForwardingRuleServiceDirectoryRegistration>]
|
8425
8499
|
attr_accessor :service_directory_registrations
|
@@ -9571,8 +9645,8 @@ module Google
|
|
9571
9645
|
attr_accessor :timeout_sec
|
9572
9646
|
|
9573
9647
|
# Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2.
|
9574
|
-
#
|
9575
|
-
#
|
9648
|
+
# Exactly one of the protocol-specific health check field must be specified,
|
9649
|
+
# which must match type field.
|
9576
9650
|
# Corresponds to the JSON property `type`
|
9577
9651
|
# @return [String]
|
9578
9652
|
attr_accessor :type
|
@@ -12253,6 +12327,17 @@ module Google
|
|
12253
12327
|
# @return [Google::Apis::ComputeV1::ShieldedInstanceIntegrityPolicy]
|
12254
12328
|
attr_accessor :shielded_instance_integrity_policy
|
12255
12329
|
|
12330
|
+
# Source machine image
|
12331
|
+
# Corresponds to the JSON property `sourceMachineImage`
|
12332
|
+
# @return [String]
|
12333
|
+
attr_accessor :source_machine_image
|
12334
|
+
|
12335
|
+
# Source machine image encryption key when creating an instance from a machine
|
12336
|
+
# image.
|
12337
|
+
# Corresponds to the JSON property `sourceMachineImageEncryptionKey`
|
12338
|
+
# @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
|
12339
|
+
attr_accessor :source_machine_image_encryption_key
|
12340
|
+
|
12256
12341
|
# [Output Only] Whether a VM has been restricted for start because Compute
|
12257
12342
|
# Engine has detected suspicious activity.
|
12258
12343
|
# Corresponds to the JSON property `startRestricted`
|
@@ -12325,6 +12410,8 @@ module Google
|
|
12325
12410
|
@service_accounts = args[:service_accounts] if args.key?(:service_accounts)
|
12326
12411
|
@shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
|
12327
12412
|
@shielded_instance_integrity_policy = args[:shielded_instance_integrity_policy] if args.key?(:shielded_instance_integrity_policy)
|
12413
|
+
@source_machine_image = args[:source_machine_image] if args.key?(:source_machine_image)
|
12414
|
+
@source_machine_image_encryption_key = args[:source_machine_image_encryption_key] if args.key?(:source_machine_image_encryption_key)
|
12328
12415
|
@start_restricted = args[:start_restricted] if args.key?(:start_restricted)
|
12329
12416
|
@status = args[:status] if args.key?(:status)
|
12330
12417
|
@status_message = args[:status_message] if args.key?(:status_message)
|
@@ -13059,6 +13146,30 @@ module Google
|
|
13059
13146
|
# @return [Fixnum]
|
13060
13147
|
attr_accessor :restarting
|
13061
13148
|
|
13149
|
+
# [Output Only] The number of instances in the managed instance group that are
|
13150
|
+
# scheduled to be resumed or are currently being resumed.
|
13151
|
+
# Corresponds to the JSON property `resuming`
|
13152
|
+
# @return [Fixnum]
|
13153
|
+
attr_accessor :resuming
|
13154
|
+
|
13155
|
+
# [Output Only] The number of instances in the managed instance group that are
|
13156
|
+
# scheduled to be started or are currently being started.
|
13157
|
+
# Corresponds to the JSON property `starting`
|
13158
|
+
# @return [Fixnum]
|
13159
|
+
attr_accessor :starting
|
13160
|
+
|
13161
|
+
# [Output Only] The number of instances in the managed instance group that are
|
13162
|
+
# scheduled to be stopped or are currently being stopped.
|
13163
|
+
# Corresponds to the JSON property `stopping`
|
13164
|
+
# @return [Fixnum]
|
13165
|
+
attr_accessor :stopping
|
13166
|
+
|
13167
|
+
# [Output Only] The number of instances in the managed instance group that are
|
13168
|
+
# scheduled to be suspended or are currently being suspended.
|
13169
|
+
# Corresponds to the JSON property `suspending`
|
13170
|
+
# @return [Fixnum]
|
13171
|
+
attr_accessor :suspending
|
13172
|
+
|
13062
13173
|
# [Output Only] The number of instances in the managed instance group that are
|
13063
13174
|
# being verified. See the managedInstances[].currentAction property in the
|
13064
13175
|
# listManagedInstances method documentation.
|
@@ -13080,6 +13191,10 @@ module Google
|
|
13080
13191
|
@recreating = args[:recreating] if args.key?(:recreating)
|
13081
13192
|
@refreshing = args[:refreshing] if args.key?(:refreshing)
|
13082
13193
|
@restarting = args[:restarting] if args.key?(:restarting)
|
13194
|
+
@resuming = args[:resuming] if args.key?(:resuming)
|
13195
|
+
@starting = args[:starting] if args.key?(:starting)
|
13196
|
+
@stopping = args[:stopping] if args.key?(:stopping)
|
13197
|
+
@suspending = args[:suspending] if args.key?(:suspending)
|
13083
13198
|
@verifying = args[:verifying] if args.key?(:verifying)
|
13084
13199
|
end
|
13085
13200
|
end
|
@@ -14852,7 +14967,15 @@ module Google
|
|
14852
14967
|
# @return [Google::Apis::ComputeV1::ReservationAffinity]
|
14853
14968
|
attr_accessor :reservation_affinity
|
14854
14969
|
|
14855
|
-
# Resource
|
14970
|
+
# Resource manager tags to be bound to the instance. Tag keys and values have
|
14971
|
+
# the same definition as resource manager tags. Keys must be in the format `
|
14972
|
+
# tagKeys/`tag_key_id``, and values are in the format `tagValues/456`. The field
|
14973
|
+
# is ignored (both PUT & PATCH) when empty.
|
14974
|
+
# Corresponds to the JSON property `resourceManagerTags`
|
14975
|
+
# @return [Hash<String,String>]
|
14976
|
+
attr_accessor :resource_manager_tags
|
14977
|
+
|
14978
|
+
# Resource policies (names, not URLs) applied to instances created from these
|
14856
14979
|
# properties. Note that for MachineImage, this is not supported yet.
|
14857
14980
|
# Corresponds to the JSON property `resourcePolicies`
|
14858
14981
|
# @return [Array<String>]
|
@@ -14901,6 +15024,7 @@ module Google
|
|
14901
15024
|
@network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
|
14902
15025
|
@private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
|
14903
15026
|
@reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
|
15027
|
+
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
14904
15028
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
14905
15029
|
@scheduling = args[:scheduling] if args.key?(:scheduling)
|
14906
15030
|
@service_accounts = args[:service_accounts] if args.key?(:service_accounts)
|
@@ -15744,6 +15868,17 @@ module Google
|
|
15744
15868
|
# @return [String]
|
15745
15869
|
attr_accessor :bandwidth
|
15746
15870
|
|
15871
|
+
# Up to 16 candidate prefixes that control the allocation of
|
15872
|
+
# cloudRouterIpv6Address and customerRouterIpv6Address for this attachment. Each
|
15873
|
+
# prefix must be in the Global Unique Address (GUA) space. It is highly
|
15874
|
+
# recommended that it be in a range owned by the requestor. A GUA in a range
|
15875
|
+
# owned by Google will cause the request to fail. Google will select an
|
15876
|
+
# available prefix from the supplied candidates or fail the request. If not
|
15877
|
+
# supplied, a /125 from a Google-owned GUA block will be selected.
|
15878
|
+
# Corresponds to the JSON property `candidateIpv6Subnets`
|
15879
|
+
# @return [Array<String>]
|
15880
|
+
attr_accessor :candidate_ipv6_subnets
|
15881
|
+
|
15747
15882
|
# Up to 16 candidate prefixes that can be used to restrict the allocation of
|
15748
15883
|
# cloudRouterIpAddress and customerRouterIpAddress for this attachment. All
|
15749
15884
|
# prefixes must be within link-local address space (169.254.0.0/16) and must be /
|
@@ -15761,6 +15896,20 @@ module Google
|
|
15761
15896
|
# @return [String]
|
15762
15897
|
attr_accessor :cloud_router_ip_address
|
15763
15898
|
|
15899
|
+
# [Output Only] IPv6 address + prefix length to be configured on Cloud Router
|
15900
|
+
# Interface for this interconnect attachment.
|
15901
|
+
# Corresponds to the JSON property `cloudRouterIpv6Address`
|
15902
|
+
# @return [String]
|
15903
|
+
attr_accessor :cloud_router_ipv6_address
|
15904
|
+
|
15905
|
+
# If supplied, the interface id (index within the subnet) to be used for the
|
15906
|
+
# cloud router address. The id must be in the range of 1 to 6. If a subnet mask
|
15907
|
+
# is supplied, it must be /125, and the subnet should either be 0 or match the
|
15908
|
+
# selected subnet.
|
15909
|
+
# Corresponds to the JSON property `cloudRouterIpv6InterfaceId`
|
15910
|
+
# @return [String]
|
15911
|
+
attr_accessor :cloud_router_ipv6_interface_id
|
15912
|
+
|
15764
15913
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
15765
15914
|
# Corresponds to the JSON property `creationTimestamp`
|
15766
15915
|
# @return [String]
|
@@ -15772,7 +15921,24 @@ module Google
|
|
15772
15921
|
# @return [String]
|
15773
15922
|
attr_accessor :customer_router_ip_address
|
15774
15923
|
|
15775
|
-
# [Output Only]
|
15924
|
+
# [Output Only] IPv6 address + prefix length to be configured on the customer
|
15925
|
+
# router subinterface for this interconnect attachment.
|
15926
|
+
# Corresponds to the JSON property `customerRouterIpv6Address`
|
15927
|
+
# @return [String]
|
15928
|
+
attr_accessor :customer_router_ipv6_address
|
15929
|
+
|
15930
|
+
# If supplied, the interface id (index within the subnet) to be used for the
|
15931
|
+
# customer router address. The id must be in the range of 1 to 6. If a subnet
|
15932
|
+
# mask is supplied, it must be /125, and the subnet should either be 0 or match
|
15933
|
+
# the selected subnet.
|
15934
|
+
# Corresponds to the JSON property `customerRouterIpv6InterfaceId`
|
15935
|
+
# @return [String]
|
15936
|
+
attr_accessor :customer_router_ipv6_interface_id
|
15937
|
+
|
15938
|
+
# [Output only for types PARTNER and DEDICATED. Not present for PARTNER_PROVIDER.
|
15939
|
+
# ] Dataplane version for this InterconnectAttachment. This field is only
|
15940
|
+
# present for Dataplane version 2 and higher. Absence of this field in the API
|
15941
|
+
# output indicates that the Dataplane is version 1.
|
15776
15942
|
# Corresponds to the JSON property `dataplaneVersion`
|
15777
15943
|
# @return [Fixnum]
|
15778
15944
|
attr_accessor :dataplane_version
|
@@ -15931,6 +16097,14 @@ module Google
|
|
15931
16097
|
# @return [String]
|
15932
16098
|
attr_accessor :self_link
|
15933
16099
|
|
16100
|
+
# The stack type for this interconnect attachment to identify whether the IPv6
|
16101
|
+
# feature is enabled or not. If not specified, IPV4_ONLY will be used. This
|
16102
|
+
# field can be both set at interconnect attachments creation and update
|
16103
|
+
# interconnect attachment operations.
|
16104
|
+
# Corresponds to the JSON property `stackType`
|
16105
|
+
# @return [String]
|
16106
|
+
attr_accessor :stack_type
|
16107
|
+
|
15934
16108
|
# [Output Only] The current state of this attachment's functionality. Enum
|
15935
16109
|
# values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and
|
15936
16110
|
# PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER,
|
@@ -15973,10 +16147,15 @@ module Google
|
|
15973
16147
|
def update!(**args)
|
15974
16148
|
@admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
|
15975
16149
|
@bandwidth = args[:bandwidth] if args.key?(:bandwidth)
|
16150
|
+
@candidate_ipv6_subnets = args[:candidate_ipv6_subnets] if args.key?(:candidate_ipv6_subnets)
|
15976
16151
|
@candidate_subnets = args[:candidate_subnets] if args.key?(:candidate_subnets)
|
15977
16152
|
@cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
|
16153
|
+
@cloud_router_ipv6_address = args[:cloud_router_ipv6_address] if args.key?(:cloud_router_ipv6_address)
|
16154
|
+
@cloud_router_ipv6_interface_id = args[:cloud_router_ipv6_interface_id] if args.key?(:cloud_router_ipv6_interface_id)
|
15978
16155
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
15979
16156
|
@customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address)
|
16157
|
+
@customer_router_ipv6_address = args[:customer_router_ipv6_address] if args.key?(:customer_router_ipv6_address)
|
16158
|
+
@customer_router_ipv6_interface_id = args[:customer_router_ipv6_interface_id] if args.key?(:customer_router_ipv6_interface_id)
|
15980
16159
|
@dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
|
15981
16160
|
@description = args[:description] if args.key?(:description)
|
15982
16161
|
@edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
|
@@ -15997,6 +16176,7 @@ module Google
|
|
15997
16176
|
@router = args[:router] if args.key?(:router)
|
15998
16177
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
15999
16178
|
@self_link = args[:self_link] if args.key?(:self_link)
|
16179
|
+
@stack_type = args[:stack_type] if args.key?(:stack_type)
|
16000
16180
|
@state = args[:state] if args.key?(:state)
|
16001
16181
|
@type = args[:type] if args.key?(:type)
|
16002
16182
|
@vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q)
|
@@ -17512,7 +17692,7 @@ module Google
|
|
17512
17692
|
class LocationPolicyLocation
|
17513
17693
|
include Google::Apis::Core::Hashable
|
17514
17694
|
|
17515
|
-
# Preference for a given location
|
17695
|
+
# Preference for a given location.
|
17516
17696
|
# Corresponds to the JSON property `preference`
|
17517
17697
|
# @return [String]
|
17518
17698
|
attr_accessor :preference
|
@@ -17658,99 +17838,127 @@ module Google
|
|
17658
17838
|
end
|
17659
17839
|
end
|
17660
17840
|
|
17661
|
-
# Represents a
|
17662
|
-
#
|
17663
|
-
#
|
17664
|
-
|
17841
|
+
# Represents a machine image resource. A machine image is a Compute Engine
|
17842
|
+
# resource that stores all the configuration, metadata, permissions, and data
|
17843
|
+
# from one or more disks required to create a Virtual machine (VM) instance. For
|
17844
|
+
# more information, see Machine images.
|
17845
|
+
class MachineImage
|
17665
17846
|
include Google::Apis::Core::Hashable
|
17666
17847
|
|
17667
|
-
# [Output Only]
|
17668
|
-
#
|
17669
|
-
# Corresponds to the JSON property `accelerators`
|
17670
|
-
# @return [Array<Google::Apis::ComputeV1::MachineType::Accelerator>]
|
17671
|
-
attr_accessor :accelerators
|
17672
|
-
|
17673
|
-
# [Output Only] Creation timestamp in RFC3339 text format.
|
17848
|
+
# [Output Only] The creation timestamp for this machine image in RFC3339 text
|
17849
|
+
# format.
|
17674
17850
|
# Corresponds to the JSON property `creationTimestamp`
|
17675
17851
|
# @return [String]
|
17676
17852
|
attr_accessor :creation_timestamp
|
17677
17853
|
|
17678
|
-
#
|
17679
|
-
#
|
17680
|
-
# @return [Google::Apis::ComputeV1::DeprecationStatus]
|
17681
|
-
attr_accessor :deprecated
|
17682
|
-
|
17683
|
-
# [Output Only] An optional textual description of the resource.
|
17854
|
+
# An optional description of this resource. Provide this property when you
|
17855
|
+
# create the resource.
|
17684
17856
|
# Corresponds to the JSON property `description`
|
17685
17857
|
# @return [String]
|
17686
17858
|
attr_accessor :description
|
17687
17859
|
|
17688
|
-
# [
|
17689
|
-
#
|
17690
|
-
#
|
17691
|
-
|
17860
|
+
# [Input Only] Whether to attempt an application consistent machine image by
|
17861
|
+
# informing the OS to prepare for the snapshot process. Currently only supported
|
17862
|
+
# on Windows instances using the Volume Shadow Copy Service (VSS).
|
17863
|
+
# Corresponds to the JSON property `guestFlush`
|
17864
|
+
# @return [Boolean]
|
17865
|
+
attr_accessor :guest_flush
|
17866
|
+
alias_method :guest_flush?, :guest_flush
|
17692
17867
|
|
17693
|
-
# [Output Only]
|
17694
|
-
#
|
17868
|
+
# [Output Only] A unique identifier for this machine image. The server defines
|
17869
|
+
# this identifier.
|
17695
17870
|
# Corresponds to the JSON property `id`
|
17696
17871
|
# @return [Fixnum]
|
17697
17872
|
attr_accessor :id
|
17698
17873
|
|
17699
|
-
# [
|
17700
|
-
#
|
17701
|
-
#
|
17702
|
-
|
17703
|
-
attr_accessor :image_space_gb
|
17704
|
-
|
17705
|
-
# [Output Only] Whether this machine type has a shared CPU. See Shared-core
|
17706
|
-
# machine types for more information.
|
17707
|
-
# Corresponds to the JSON property `isSharedCpu`
|
17708
|
-
# @return [Boolean]
|
17709
|
-
attr_accessor :is_shared_cpu
|
17710
|
-
alias_method :is_shared_cpu?, :is_shared_cpu
|
17874
|
+
# [Output Only] Properties of source instance
|
17875
|
+
# Corresponds to the JSON property `instanceProperties`
|
17876
|
+
# @return [Google::Apis::ComputeV1::InstanceProperties]
|
17877
|
+
attr_accessor :instance_properties
|
17711
17878
|
|
17712
|
-
# [Output Only] The type
|
17713
|
-
#
|
17879
|
+
# [Output Only] The resource type, which is always compute#machineImage for
|
17880
|
+
# machine image.
|
17714
17881
|
# Corresponds to the JSON property `kind`
|
17715
17882
|
# @return [String]
|
17716
17883
|
attr_accessor :kind
|
17717
17884
|
|
17718
|
-
#
|
17719
|
-
#
|
17720
|
-
#
|
17721
|
-
|
17722
|
-
|
17723
|
-
#
|
17724
|
-
#
|
17725
|
-
#
|
17726
|
-
|
17727
|
-
|
17728
|
-
# [
|
17729
|
-
|
17730
|
-
# Corresponds to the JSON property `memoryMb`
|
17731
|
-
# @return [Fixnum]
|
17732
|
-
attr_accessor :memory_mb
|
17885
|
+
# Encrypts the machine image using a customer-supplied encryption key. After you
|
17886
|
+
# encrypt a machine image using a customer-supplied key, you must provide the
|
17887
|
+
# same key if you use the machine image later. For example, you must provide the
|
17888
|
+
# encryption key when you create an instance from the encrypted machine image in
|
17889
|
+
# a future request. Customer-supplied encryption keys do not protect access to
|
17890
|
+
# metadata of the machine image. If you do not provide an encryption key when
|
17891
|
+
# creating the machine image, then the machine image will be encrypted using an
|
17892
|
+
# automatically generated key and you do not need to provide a key to use the
|
17893
|
+
# machine image later.
|
17894
|
+
# Corresponds to the JSON property `machineImageEncryptionKey`
|
17895
|
+
# @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
|
17896
|
+
attr_accessor :machine_image_encryption_key
|
17733
17897
|
|
17734
|
-
#
|
17898
|
+
# Name of the resource; provided by the client when the resource is created. The
|
17899
|
+
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
17900
|
+
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
17901
|
+
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
17902
|
+
# and all following characters must be a dash, lowercase letter, or digit,
|
17903
|
+
# except the last character, which cannot be a dash.
|
17735
17904
|
# Corresponds to the JSON property `name`
|
17736
17905
|
# @return [String]
|
17737
17906
|
attr_accessor :name
|
17738
17907
|
|
17739
|
-
# [Output Only]
|
17740
|
-
# Corresponds to the JSON property `
|
17741
|
-
# @return [
|
17742
|
-
attr_accessor :
|
17908
|
+
# [Output Only] Reserved for future use.
|
17909
|
+
# Corresponds to the JSON property `satisfiesPzs`
|
17910
|
+
# @return [Boolean]
|
17911
|
+
attr_accessor :satisfies_pzs
|
17912
|
+
alias_method :satisfies_pzs?, :satisfies_pzs
|
17743
17913
|
|
17744
|
-
#
|
17914
|
+
# An array of Machine Image specific properties for disks attached to the source
|
17915
|
+
# instance
|
17916
|
+
# Corresponds to the JSON property `savedDisks`
|
17917
|
+
# @return [Array<Google::Apis::ComputeV1::SavedDisk>]
|
17918
|
+
attr_accessor :saved_disks
|
17919
|
+
|
17920
|
+
# [Output Only] The URL for this machine image. The server defines this URL.
|
17745
17921
|
# Corresponds to the JSON property `selfLink`
|
17746
17922
|
# @return [String]
|
17747
17923
|
attr_accessor :self_link
|
17748
17924
|
|
17749
|
-
# [
|
17750
|
-
#
|
17751
|
-
#
|
17925
|
+
# [Input Only] The customer-supplied encryption key of the disks attached to the
|
17926
|
+
# source instance. Required if the source disk is protected by a customer-
|
17927
|
+
# supplied encryption key.
|
17928
|
+
# Corresponds to the JSON property `sourceDiskEncryptionKeys`
|
17929
|
+
# @return [Array<Google::Apis::ComputeV1::SourceDiskEncryptionKey>]
|
17930
|
+
attr_accessor :source_disk_encryption_keys
|
17931
|
+
|
17932
|
+
# The source instance used to create the machine image. You can provide this as
|
17933
|
+
# a partial or full URL to the resource. For example, the following are valid
|
17934
|
+
# values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
|
17935
|
+
# instances/instance - projects/project/zones/zone/instances/instance
|
17936
|
+
# Corresponds to the JSON property `sourceInstance`
|
17752
17937
|
# @return [String]
|
17753
|
-
attr_accessor :
|
17938
|
+
attr_accessor :source_instance
|
17939
|
+
|
17940
|
+
# DEPRECATED: Please use compute#instanceProperties instead. New properties will
|
17941
|
+
# not be added to this field.
|
17942
|
+
# Corresponds to the JSON property `sourceInstanceProperties`
|
17943
|
+
# @return [Google::Apis::ComputeV1::SourceInstanceProperties]
|
17944
|
+
attr_accessor :source_instance_properties
|
17945
|
+
|
17946
|
+
# [Output Only] The status of the machine image. One of the following values:
|
17947
|
+
# INVALID, CREATING, READY, DELETING, and UPLOADING.
|
17948
|
+
# Corresponds to the JSON property `status`
|
17949
|
+
# @return [String]
|
17950
|
+
attr_accessor :status
|
17951
|
+
|
17952
|
+
# The regional or multi-regional Cloud Storage bucket location where the machine
|
17953
|
+
# image is stored.
|
17954
|
+
# Corresponds to the JSON property `storageLocations`
|
17955
|
+
# @return [Array<String>]
|
17956
|
+
attr_accessor :storage_locations
|
17957
|
+
|
17958
|
+
# [Output Only] Total size of the storage used by the machine image.
|
17959
|
+
# Corresponds to the JSON property `totalStorageBytes`
|
17960
|
+
# @return [Fixnum]
|
17961
|
+
attr_accessor :total_storage_bytes
|
17754
17962
|
|
17755
17963
|
def initialize(**args)
|
17756
17964
|
update!(**args)
|
@@ -17758,71 +17966,28 @@ module Google
|
|
17758
17966
|
|
17759
17967
|
# Update properties of this object
|
17760
17968
|
def update!(**args)
|
17761
|
-
@accelerators = args[:accelerators] if args.key?(:accelerators)
|
17762
17969
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
17763
|
-
@deprecated = args[:deprecated] if args.key?(:deprecated)
|
17764
17970
|
@description = args[:description] if args.key?(:description)
|
17765
|
-
@
|
17971
|
+
@guest_flush = args[:guest_flush] if args.key?(:guest_flush)
|
17766
17972
|
@id = args[:id] if args.key?(:id)
|
17767
|
-
@
|
17768
|
-
@is_shared_cpu = args[:is_shared_cpu] if args.key?(:is_shared_cpu)
|
17973
|
+
@instance_properties = args[:instance_properties] if args.key?(:instance_properties)
|
17769
17974
|
@kind = args[:kind] if args.key?(:kind)
|
17770
|
-
@
|
17771
|
-
@maximum_persistent_disks_size_gb = args[:maximum_persistent_disks_size_gb] if args.key?(:maximum_persistent_disks_size_gb)
|
17772
|
-
@memory_mb = args[:memory_mb] if args.key?(:memory_mb)
|
17975
|
+
@machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
|
17773
17976
|
@name = args[:name] if args.key?(:name)
|
17774
|
-
@
|
17977
|
+
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
17978
|
+
@saved_disks = args[:saved_disks] if args.key?(:saved_disks)
|
17775
17979
|
@self_link = args[:self_link] if args.key?(:self_link)
|
17776
|
-
@
|
17777
|
-
|
17778
|
-
|
17779
|
-
|
17780
|
-
|
17781
|
-
|
17782
|
-
|
17783
|
-
# Number of accelerator cards exposed to the guest.
|
17784
|
-
# Corresponds to the JSON property `guestAcceleratorCount`
|
17785
|
-
# @return [Fixnum]
|
17786
|
-
attr_accessor :guest_accelerator_count
|
17787
|
-
|
17788
|
-
# The accelerator type resource name, not a full URL, e.g. 'nvidia-tesla-k80'.
|
17789
|
-
# Corresponds to the JSON property `guestAcceleratorType`
|
17790
|
-
# @return [String]
|
17791
|
-
attr_accessor :guest_accelerator_type
|
17792
|
-
|
17793
|
-
def initialize(**args)
|
17794
|
-
update!(**args)
|
17795
|
-
end
|
17796
|
-
|
17797
|
-
# Update properties of this object
|
17798
|
-
def update!(**args)
|
17799
|
-
@guest_accelerator_count = args[:guest_accelerator_count] if args.key?(:guest_accelerator_count)
|
17800
|
-
@guest_accelerator_type = args[:guest_accelerator_type] if args.key?(:guest_accelerator_type)
|
17801
|
-
end
|
17802
|
-
end
|
17803
|
-
|
17804
|
-
#
|
17805
|
-
class ScratchDisk
|
17806
|
-
include Google::Apis::Core::Hashable
|
17807
|
-
|
17808
|
-
# Size of the scratch disk, defined in GB.
|
17809
|
-
# Corresponds to the JSON property `diskGb`
|
17810
|
-
# @return [Fixnum]
|
17811
|
-
attr_accessor :disk_gb
|
17812
|
-
|
17813
|
-
def initialize(**args)
|
17814
|
-
update!(**args)
|
17815
|
-
end
|
17816
|
-
|
17817
|
-
# Update properties of this object
|
17818
|
-
def update!(**args)
|
17819
|
-
@disk_gb = args[:disk_gb] if args.key?(:disk_gb)
|
17820
|
-
end
|
17980
|
+
@source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys)
|
17981
|
+
@source_instance = args[:source_instance] if args.key?(:source_instance)
|
17982
|
+
@source_instance_properties = args[:source_instance_properties] if args.key?(:source_instance_properties)
|
17983
|
+
@status = args[:status] if args.key?(:status)
|
17984
|
+
@storage_locations = args[:storage_locations] if args.key?(:storage_locations)
|
17985
|
+
@total_storage_bytes = args[:total_storage_bytes] if args.key?(:total_storage_bytes)
|
17821
17986
|
end
|
17822
17987
|
end
|
17823
17988
|
|
17824
|
-
#
|
17825
|
-
class
|
17989
|
+
# A list of machine images.
|
17990
|
+
class MachineImageList
|
17826
17991
|
include Google::Apis::Core::Hashable
|
17827
17992
|
|
17828
17993
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
@@ -17830,13 +17995,13 @@ module Google
|
|
17830
17995
|
# @return [String]
|
17831
17996
|
attr_accessor :id
|
17832
17997
|
|
17833
|
-
# A list of
|
17998
|
+
# A list of MachineImage resources.
|
17834
17999
|
# Corresponds to the JSON property `items`
|
17835
|
-
# @return [
|
18000
|
+
# @return [Array<Google::Apis::ComputeV1::MachineImage>]
|
17836
18001
|
attr_accessor :items
|
17837
18002
|
|
17838
|
-
# [Output Only]
|
17839
|
-
#
|
18003
|
+
# [Output Only] The resource type, which is always compute#
|
18004
|
+
# machineImagesListResponse for machine image lists.
|
17840
18005
|
# Corresponds to the JSON property `kind`
|
17841
18006
|
# @return [String]
|
17842
18007
|
attr_accessor :kind
|
@@ -17855,14 +18020,9 @@ module Google
|
|
17855
18020
|
# @return [String]
|
17856
18021
|
attr_accessor :self_link
|
17857
18022
|
|
17858
|
-
# [Output Only] Unreachable resources.
|
17859
|
-
# Corresponds to the JSON property `unreachables`
|
17860
|
-
# @return [Array<String>]
|
17861
|
-
attr_accessor :unreachables
|
17862
|
-
|
17863
18023
|
# [Output Only] Informational warning message.
|
17864
18024
|
# Corresponds to the JSON property `warning`
|
17865
|
-
# @return [Google::Apis::ComputeV1::
|
18025
|
+
# @return [Google::Apis::ComputeV1::MachineImageList::Warning]
|
17866
18026
|
attr_accessor :warning
|
17867
18027
|
|
17868
18028
|
def initialize(**args)
|
@@ -17876,7 +18036,6 @@ module Google
|
|
17876
18036
|
@kind = args[:kind] if args.key?(:kind)
|
17877
18037
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
17878
18038
|
@self_link = args[:self_link] if args.key?(:self_link)
|
17879
|
-
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
17880
18039
|
@warning = args[:warning] if args.key?(:warning)
|
17881
18040
|
end
|
17882
18041
|
|
@@ -17893,7 +18052,294 @@ module Google
|
|
17893
18052
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
17894
18053
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
17895
18054
|
# Corresponds to the JSON property `data`
|
17896
|
-
# @return [Array<Google::Apis::ComputeV1::
|
18055
|
+
# @return [Array<Google::Apis::ComputeV1::MachineImageList::Warning::Datum>]
|
18056
|
+
attr_accessor :data
|
18057
|
+
|
18058
|
+
# [Output Only] A human-readable description of the warning code.
|
18059
|
+
# Corresponds to the JSON property `message`
|
18060
|
+
# @return [String]
|
18061
|
+
attr_accessor :message
|
18062
|
+
|
18063
|
+
def initialize(**args)
|
18064
|
+
update!(**args)
|
18065
|
+
end
|
18066
|
+
|
18067
|
+
# Update properties of this object
|
18068
|
+
def update!(**args)
|
18069
|
+
@code = args[:code] if args.key?(:code)
|
18070
|
+
@data = args[:data] if args.key?(:data)
|
18071
|
+
@message = args[:message] if args.key?(:message)
|
18072
|
+
end
|
18073
|
+
|
18074
|
+
#
|
18075
|
+
class Datum
|
18076
|
+
include Google::Apis::Core::Hashable
|
18077
|
+
|
18078
|
+
# [Output Only] A key that provides more detail on the warning being returned.
|
18079
|
+
# For example, for warnings where there are no results in a list request for a
|
18080
|
+
# particular zone, this key might be scope and the key value might be the zone
|
18081
|
+
# name. Other examples might be a key indicating a deprecated resource and a
|
18082
|
+
# suggested replacement, or a warning about invalid network settings (for
|
18083
|
+
# example, if an instance attempts to perform IP forwarding but is not enabled
|
18084
|
+
# for IP forwarding).
|
18085
|
+
# Corresponds to the JSON property `key`
|
18086
|
+
# @return [String]
|
18087
|
+
attr_accessor :key
|
18088
|
+
|
18089
|
+
# [Output Only] A warning data value corresponding to the key.
|
18090
|
+
# Corresponds to the JSON property `value`
|
18091
|
+
# @return [String]
|
18092
|
+
attr_accessor :value
|
18093
|
+
|
18094
|
+
def initialize(**args)
|
18095
|
+
update!(**args)
|
18096
|
+
end
|
18097
|
+
|
18098
|
+
# Update properties of this object
|
18099
|
+
def update!(**args)
|
18100
|
+
@key = args[:key] if args.key?(:key)
|
18101
|
+
@value = args[:value] if args.key?(:value)
|
18102
|
+
end
|
18103
|
+
end
|
18104
|
+
end
|
18105
|
+
end
|
18106
|
+
|
18107
|
+
# Represents a Machine Type resource. You can use specific machine types for
|
18108
|
+
# your VM instances based on performance and pricing requirements. For more
|
18109
|
+
# information, read Machine Types.
|
18110
|
+
class MachineType
|
18111
|
+
include Google::Apis::Core::Hashable
|
18112
|
+
|
18113
|
+
# [Output Only] A list of accelerator configurations assigned to this machine
|
18114
|
+
# type.
|
18115
|
+
# Corresponds to the JSON property `accelerators`
|
18116
|
+
# @return [Array<Google::Apis::ComputeV1::MachineType::Accelerator>]
|
18117
|
+
attr_accessor :accelerators
|
18118
|
+
|
18119
|
+
# [Output Only] Creation timestamp in RFC3339 text format.
|
18120
|
+
# Corresponds to the JSON property `creationTimestamp`
|
18121
|
+
# @return [String]
|
18122
|
+
attr_accessor :creation_timestamp
|
18123
|
+
|
18124
|
+
# Deprecation status for a public resource.
|
18125
|
+
# Corresponds to the JSON property `deprecated`
|
18126
|
+
# @return [Google::Apis::ComputeV1::DeprecationStatus]
|
18127
|
+
attr_accessor :deprecated
|
18128
|
+
|
18129
|
+
# [Output Only] An optional textual description of the resource.
|
18130
|
+
# Corresponds to the JSON property `description`
|
18131
|
+
# @return [String]
|
18132
|
+
attr_accessor :description
|
18133
|
+
|
18134
|
+
# [Output Only] The number of virtual CPUs that are available to the instance.
|
18135
|
+
# Corresponds to the JSON property `guestCpus`
|
18136
|
+
# @return [Fixnum]
|
18137
|
+
attr_accessor :guest_cpus
|
18138
|
+
|
18139
|
+
# [Output Only] The unique identifier for the resource. This identifier is
|
18140
|
+
# defined by the server.
|
18141
|
+
# Corresponds to the JSON property `id`
|
18142
|
+
# @return [Fixnum]
|
18143
|
+
attr_accessor :id
|
18144
|
+
|
18145
|
+
# [Deprecated] This property is deprecated and will never be populated with any
|
18146
|
+
# relevant values.
|
18147
|
+
# Corresponds to the JSON property `imageSpaceGb`
|
18148
|
+
# @return [Fixnum]
|
18149
|
+
attr_accessor :image_space_gb
|
18150
|
+
|
18151
|
+
# [Output Only] Whether this machine type has a shared CPU. See Shared-core
|
18152
|
+
# machine types for more information.
|
18153
|
+
# Corresponds to the JSON property `isSharedCpu`
|
18154
|
+
# @return [Boolean]
|
18155
|
+
attr_accessor :is_shared_cpu
|
18156
|
+
alias_method :is_shared_cpu?, :is_shared_cpu
|
18157
|
+
|
18158
|
+
# [Output Only] The type of the resource. Always compute#machineType for machine
|
18159
|
+
# types.
|
18160
|
+
# Corresponds to the JSON property `kind`
|
18161
|
+
# @return [String]
|
18162
|
+
attr_accessor :kind
|
18163
|
+
|
18164
|
+
# [Output Only] Maximum persistent disks allowed.
|
18165
|
+
# Corresponds to the JSON property `maximumPersistentDisks`
|
18166
|
+
# @return [Fixnum]
|
18167
|
+
attr_accessor :maximum_persistent_disks
|
18168
|
+
|
18169
|
+
# [Output Only] Maximum total persistent disks size (GB) allowed.
|
18170
|
+
# Corresponds to the JSON property `maximumPersistentDisksSizeGb`
|
18171
|
+
# @return [Fixnum]
|
18172
|
+
attr_accessor :maximum_persistent_disks_size_gb
|
18173
|
+
|
18174
|
+
# [Output Only] The amount of physical memory available to the instance, defined
|
18175
|
+
# in MB.
|
18176
|
+
# Corresponds to the JSON property `memoryMb`
|
18177
|
+
# @return [Fixnum]
|
18178
|
+
attr_accessor :memory_mb
|
18179
|
+
|
18180
|
+
# [Output Only] Name of the resource.
|
18181
|
+
# Corresponds to the JSON property `name`
|
18182
|
+
# @return [String]
|
18183
|
+
attr_accessor :name
|
18184
|
+
|
18185
|
+
# [Output Only] A list of extended scratch disks assigned to the instance.
|
18186
|
+
# Corresponds to the JSON property `scratchDisks`
|
18187
|
+
# @return [Array<Google::Apis::ComputeV1::MachineType::ScratchDisk>]
|
18188
|
+
attr_accessor :scratch_disks
|
18189
|
+
|
18190
|
+
# [Output Only] Server-defined URL for the resource.
|
18191
|
+
# Corresponds to the JSON property `selfLink`
|
18192
|
+
# @return [String]
|
18193
|
+
attr_accessor :self_link
|
18194
|
+
|
18195
|
+
# [Output Only] The name of the zone where the machine type resides, such as us-
|
18196
|
+
# central1-a.
|
18197
|
+
# Corresponds to the JSON property `zone`
|
18198
|
+
# @return [String]
|
18199
|
+
attr_accessor :zone
|
18200
|
+
|
18201
|
+
def initialize(**args)
|
18202
|
+
update!(**args)
|
18203
|
+
end
|
18204
|
+
|
18205
|
+
# Update properties of this object
|
18206
|
+
def update!(**args)
|
18207
|
+
@accelerators = args[:accelerators] if args.key?(:accelerators)
|
18208
|
+
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
18209
|
+
@deprecated = args[:deprecated] if args.key?(:deprecated)
|
18210
|
+
@description = args[:description] if args.key?(:description)
|
18211
|
+
@guest_cpus = args[:guest_cpus] if args.key?(:guest_cpus)
|
18212
|
+
@id = args[:id] if args.key?(:id)
|
18213
|
+
@image_space_gb = args[:image_space_gb] if args.key?(:image_space_gb)
|
18214
|
+
@is_shared_cpu = args[:is_shared_cpu] if args.key?(:is_shared_cpu)
|
18215
|
+
@kind = args[:kind] if args.key?(:kind)
|
18216
|
+
@maximum_persistent_disks = args[:maximum_persistent_disks] if args.key?(:maximum_persistent_disks)
|
18217
|
+
@maximum_persistent_disks_size_gb = args[:maximum_persistent_disks_size_gb] if args.key?(:maximum_persistent_disks_size_gb)
|
18218
|
+
@memory_mb = args[:memory_mb] if args.key?(:memory_mb)
|
18219
|
+
@name = args[:name] if args.key?(:name)
|
18220
|
+
@scratch_disks = args[:scratch_disks] if args.key?(:scratch_disks)
|
18221
|
+
@self_link = args[:self_link] if args.key?(:self_link)
|
18222
|
+
@zone = args[:zone] if args.key?(:zone)
|
18223
|
+
end
|
18224
|
+
|
18225
|
+
#
|
18226
|
+
class Accelerator
|
18227
|
+
include Google::Apis::Core::Hashable
|
18228
|
+
|
18229
|
+
# Number of accelerator cards exposed to the guest.
|
18230
|
+
# Corresponds to the JSON property `guestAcceleratorCount`
|
18231
|
+
# @return [Fixnum]
|
18232
|
+
attr_accessor :guest_accelerator_count
|
18233
|
+
|
18234
|
+
# The accelerator type resource name, not a full URL, e.g. 'nvidia-tesla-k80'.
|
18235
|
+
# Corresponds to the JSON property `guestAcceleratorType`
|
18236
|
+
# @return [String]
|
18237
|
+
attr_accessor :guest_accelerator_type
|
18238
|
+
|
18239
|
+
def initialize(**args)
|
18240
|
+
update!(**args)
|
18241
|
+
end
|
18242
|
+
|
18243
|
+
# Update properties of this object
|
18244
|
+
def update!(**args)
|
18245
|
+
@guest_accelerator_count = args[:guest_accelerator_count] if args.key?(:guest_accelerator_count)
|
18246
|
+
@guest_accelerator_type = args[:guest_accelerator_type] if args.key?(:guest_accelerator_type)
|
18247
|
+
end
|
18248
|
+
end
|
18249
|
+
|
18250
|
+
#
|
18251
|
+
class ScratchDisk
|
18252
|
+
include Google::Apis::Core::Hashable
|
18253
|
+
|
18254
|
+
# Size of the scratch disk, defined in GB.
|
18255
|
+
# Corresponds to the JSON property `diskGb`
|
18256
|
+
# @return [Fixnum]
|
18257
|
+
attr_accessor :disk_gb
|
18258
|
+
|
18259
|
+
def initialize(**args)
|
18260
|
+
update!(**args)
|
18261
|
+
end
|
18262
|
+
|
18263
|
+
# Update properties of this object
|
18264
|
+
def update!(**args)
|
18265
|
+
@disk_gb = args[:disk_gb] if args.key?(:disk_gb)
|
18266
|
+
end
|
18267
|
+
end
|
18268
|
+
end
|
18269
|
+
|
18270
|
+
#
|
18271
|
+
class MachineTypeAggregatedList
|
18272
|
+
include Google::Apis::Core::Hashable
|
18273
|
+
|
18274
|
+
# [Output Only] Unique identifier for the resource; defined by the server.
|
18275
|
+
# Corresponds to the JSON property `id`
|
18276
|
+
# @return [String]
|
18277
|
+
attr_accessor :id
|
18278
|
+
|
18279
|
+
# A list of MachineTypesScopedList resources.
|
18280
|
+
# Corresponds to the JSON property `items`
|
18281
|
+
# @return [Hash<String,Google::Apis::ComputeV1::MachineTypesScopedList>]
|
18282
|
+
attr_accessor :items
|
18283
|
+
|
18284
|
+
# [Output Only] Type of resource. Always compute#machineTypeAggregatedList for
|
18285
|
+
# aggregated lists of machine types.
|
18286
|
+
# Corresponds to the JSON property `kind`
|
18287
|
+
# @return [String]
|
18288
|
+
attr_accessor :kind
|
18289
|
+
|
18290
|
+
# [Output Only] This token allows you to get the next page of results for list
|
18291
|
+
# requests. If the number of results is larger than maxResults, use the
|
18292
|
+
# nextPageToken as a value for the query parameter pageToken in the next list
|
18293
|
+
# request. Subsequent list requests will have their own nextPageToken to
|
18294
|
+
# continue paging through the results.
|
18295
|
+
# Corresponds to the JSON property `nextPageToken`
|
18296
|
+
# @return [String]
|
18297
|
+
attr_accessor :next_page_token
|
18298
|
+
|
18299
|
+
# [Output Only] Server-defined URL for this resource.
|
18300
|
+
# Corresponds to the JSON property `selfLink`
|
18301
|
+
# @return [String]
|
18302
|
+
attr_accessor :self_link
|
18303
|
+
|
18304
|
+
# [Output Only] Unreachable resources.
|
18305
|
+
# Corresponds to the JSON property `unreachables`
|
18306
|
+
# @return [Array<String>]
|
18307
|
+
attr_accessor :unreachables
|
18308
|
+
|
18309
|
+
# [Output Only] Informational warning message.
|
18310
|
+
# Corresponds to the JSON property `warning`
|
18311
|
+
# @return [Google::Apis::ComputeV1::MachineTypeAggregatedList::Warning]
|
18312
|
+
attr_accessor :warning
|
18313
|
+
|
18314
|
+
def initialize(**args)
|
18315
|
+
update!(**args)
|
18316
|
+
end
|
18317
|
+
|
18318
|
+
# Update properties of this object
|
18319
|
+
def update!(**args)
|
18320
|
+
@id = args[:id] if args.key?(:id)
|
18321
|
+
@items = args[:items] if args.key?(:items)
|
18322
|
+
@kind = args[:kind] if args.key?(:kind)
|
18323
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
18324
|
+
@self_link = args[:self_link] if args.key?(:self_link)
|
18325
|
+
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
18326
|
+
@warning = args[:warning] if args.key?(:warning)
|
18327
|
+
end
|
18328
|
+
|
18329
|
+
# [Output Only] Informational warning message.
|
18330
|
+
class Warning
|
18331
|
+
include Google::Apis::Core::Hashable
|
18332
|
+
|
18333
|
+
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
18334
|
+
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
18335
|
+
# Corresponds to the JSON property `code`
|
18336
|
+
# @return [String]
|
18337
|
+
attr_accessor :code
|
18338
|
+
|
18339
|
+
# [Output Only] Metadata about this warning in key: value format. For example: "
|
18340
|
+
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
18341
|
+
# Corresponds to the JSON property `data`
|
18342
|
+
# @return [Array<Google::Apis::ComputeV1::MachineTypeAggregatedList::Warning::Datum>]
|
17897
18343
|
attr_accessor :data
|
17898
18344
|
|
17899
18345
|
# [Output Only] A human-readable description of the warning code.
|
@@ -18786,6 +19232,12 @@ module Google
|
|
18786
19232
|
# @return [String]
|
18787
19233
|
attr_accessor :network_endpoint_type
|
18788
19234
|
|
19235
|
+
# The target service url used to set up private service connection to a Google
|
19236
|
+
# API. An example value is: "asia-northeast3-cloudkms.googleapis.com"
|
19237
|
+
# Corresponds to the JSON property `pscTargetService`
|
19238
|
+
# @return [String]
|
19239
|
+
attr_accessor :psc_target_service
|
19240
|
+
|
18789
19241
|
# [Output Only] The URL of the region where the network endpoint group is
|
18790
19242
|
# located.
|
18791
19243
|
# Corresponds to the JSON property `region`
|
@@ -18831,6 +19283,7 @@ module Google
|
|
18831
19283
|
@name = args[:name] if args.key?(:name)
|
18832
19284
|
@network = args[:network] if args.key?(:network)
|
18833
19285
|
@network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
|
19286
|
+
@psc_target_service = args[:psc_target_service] if args.key?(:psc_target_service)
|
18834
19287
|
@region = args[:region] if args.key?(:region)
|
18835
19288
|
@self_link = args[:self_link] if args.key?(:self_link)
|
18836
19289
|
@size = args[:size] if args.key?(:size)
|
@@ -19531,7 +19984,7 @@ module Google
|
|
19531
19984
|
# @return [String]
|
19532
19985
|
attr_accessor :ipv6_access_type
|
19533
19986
|
|
19534
|
-
#
|
19987
|
+
# An IPv6 internal network address for this network interface.
|
19535
19988
|
# Corresponds to the JSON property `ipv6Address`
|
19536
19989
|
# @return [String]
|
19537
19990
|
attr_accessor :ipv6_address
|
@@ -28483,6 +28936,12 @@ module Google
|
|
28483
28936
|
# @return [String]
|
28484
28937
|
attr_accessor :enable
|
28485
28938
|
|
28939
|
+
# Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
|
28940
|
+
# Corresponds to the JSON property `enableIpv6`
|
28941
|
+
# @return [Boolean]
|
28942
|
+
attr_accessor :enable_ipv6
|
28943
|
+
alias_method :enable_ipv6?, :enable_ipv6
|
28944
|
+
|
28486
28945
|
# Name of the interface the BGP peer is associated with.
|
28487
28946
|
# Corresponds to the JSON property `interfaceName`
|
28488
28947
|
# @return [String]
|
@@ -28494,6 +28953,11 @@ module Google
|
|
28494
28953
|
# @return [String]
|
28495
28954
|
attr_accessor :ip_address
|
28496
28955
|
|
28956
|
+
# IPv6 address of the interface inside Google Cloud Platform.
|
28957
|
+
# Corresponds to the JSON property `ipv6NexthopAddress`
|
28958
|
+
# @return [String]
|
28959
|
+
attr_accessor :ipv6_nexthop_address
|
28960
|
+
|
28497
28961
|
# [Output Only] The resource that configures and manages this BGP peer. -
|
28498
28962
|
# MANAGED_BY_USER is the default value and can be managed by you or other users -
|
28499
28963
|
# MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud
|
@@ -28526,6 +28990,11 @@ module Google
|
|
28526
28990
|
# @return [String]
|
28527
28991
|
attr_accessor :peer_ip_address
|
28528
28992
|
|
28993
|
+
# IPv6 address of the BGP interface outside Google Cloud Platform.
|
28994
|
+
# Corresponds to the JSON property `peerIpv6NexthopAddress`
|
28995
|
+
# @return [String]
|
28996
|
+
attr_accessor :peer_ipv6_nexthop_address
|
28997
|
+
|
28529
28998
|
# URI of the VM instance that is used as third-party router appliances such as
|
28530
28999
|
# Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
|
28531
29000
|
# must be located in zones contained in the same region as this Cloud Router.
|
@@ -28546,12 +29015,15 @@ module Google
|
|
28546
29015
|
@advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
|
28547
29016
|
@bfd = args[:bfd] if args.key?(:bfd)
|
28548
29017
|
@enable = args[:enable] if args.key?(:enable)
|
29018
|
+
@enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
|
28549
29019
|
@interface_name = args[:interface_name] if args.key?(:interface_name)
|
28550
29020
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
29021
|
+
@ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
|
28551
29022
|
@management_type = args[:management_type] if args.key?(:management_type)
|
28552
29023
|
@name = args[:name] if args.key?(:name)
|
28553
29024
|
@peer_asn = args[:peer_asn] if args.key?(:peer_asn)
|
28554
29025
|
@peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
|
29026
|
+
@peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
|
28555
29027
|
@router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
|
28556
29028
|
end
|
28557
29029
|
end
|
@@ -29616,6 +30088,171 @@ module Google
|
|
29616
30088
|
end
|
29617
30089
|
end
|
29618
30090
|
|
30091
|
+
# DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk
|
30092
|
+
# resource.
|
30093
|
+
class SavedAttachedDisk
|
30094
|
+
include Google::Apis::Core::Hashable
|
30095
|
+
|
30096
|
+
# Specifies whether the disk will be auto-deleted when the instance is deleted (
|
30097
|
+
# but not when the disk is detached from the instance).
|
30098
|
+
# Corresponds to the JSON property `autoDelete`
|
30099
|
+
# @return [Boolean]
|
30100
|
+
attr_accessor :auto_delete
|
30101
|
+
alias_method :auto_delete?, :auto_delete
|
30102
|
+
|
30103
|
+
# Indicates that this is a boot disk. The virtual machine will use the first
|
30104
|
+
# partition of the disk for its root filesystem.
|
30105
|
+
# Corresponds to the JSON property `boot`
|
30106
|
+
# @return [Boolean]
|
30107
|
+
attr_accessor :boot
|
30108
|
+
alias_method :boot?, :boot
|
30109
|
+
|
30110
|
+
# Specifies the name of the disk attached to the source instance.
|
30111
|
+
# Corresponds to the JSON property `deviceName`
|
30112
|
+
# @return [String]
|
30113
|
+
attr_accessor :device_name
|
30114
|
+
|
30115
|
+
# The encryption key for the disk.
|
30116
|
+
# Corresponds to the JSON property `diskEncryptionKey`
|
30117
|
+
# @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
|
30118
|
+
attr_accessor :disk_encryption_key
|
30119
|
+
|
30120
|
+
# The size of the disk in base-2 GB.
|
30121
|
+
# Corresponds to the JSON property `diskSizeGb`
|
30122
|
+
# @return [Fixnum]
|
30123
|
+
attr_accessor :disk_size_gb
|
30124
|
+
|
30125
|
+
# [Output Only] URL of the disk type resource. For example: projects/project /
|
30126
|
+
# zones/zone/diskTypes/pd-standard or pd-ssd
|
30127
|
+
# Corresponds to the JSON property `diskType`
|
30128
|
+
# @return [String]
|
30129
|
+
attr_accessor :disk_type
|
30130
|
+
|
30131
|
+
# A list of features to enable on the guest operating system. Applicable only
|
30132
|
+
# for bootable images. Read Enabling guest operating system features to see a
|
30133
|
+
# list of available options.
|
30134
|
+
# Corresponds to the JSON property `guestOsFeatures`
|
30135
|
+
# @return [Array<Google::Apis::ComputeV1::GuestOsFeature>]
|
30136
|
+
attr_accessor :guest_os_features
|
30137
|
+
|
30138
|
+
# Specifies zero-based index of the disk that is attached to the source instance.
|
30139
|
+
# Corresponds to the JSON property `index`
|
30140
|
+
# @return [Fixnum]
|
30141
|
+
attr_accessor :index
|
30142
|
+
|
30143
|
+
# Specifies the disk interface to use for attaching this disk, which is either
|
30144
|
+
# SCSI or NVME.
|
30145
|
+
# Corresponds to the JSON property `interface`
|
30146
|
+
# @return [String]
|
30147
|
+
attr_accessor :interface
|
30148
|
+
|
30149
|
+
# [Output Only] Type of the resource. Always compute#attachedDisk for attached
|
30150
|
+
# disks.
|
30151
|
+
# Corresponds to the JSON property `kind`
|
30152
|
+
# @return [String]
|
30153
|
+
attr_accessor :kind
|
30154
|
+
|
30155
|
+
# [Output Only] Any valid publicly visible licenses.
|
30156
|
+
# Corresponds to the JSON property `licenses`
|
30157
|
+
# @return [Array<String>]
|
30158
|
+
attr_accessor :licenses
|
30159
|
+
|
30160
|
+
# The mode in which this disk is attached to the source instance, either
|
30161
|
+
# READ_WRITE or READ_ONLY.
|
30162
|
+
# Corresponds to the JSON property `mode`
|
30163
|
+
# @return [String]
|
30164
|
+
attr_accessor :mode
|
30165
|
+
|
30166
|
+
# Specifies a URL of the disk attached to the source instance.
|
30167
|
+
# Corresponds to the JSON property `source`
|
30168
|
+
# @return [String]
|
30169
|
+
attr_accessor :source
|
30170
|
+
|
30171
|
+
# [Output Only] A size of the storage used by the disk's snapshot by this
|
30172
|
+
# machine image.
|
30173
|
+
# Corresponds to the JSON property `storageBytes`
|
30174
|
+
# @return [Fixnum]
|
30175
|
+
attr_accessor :storage_bytes
|
30176
|
+
|
30177
|
+
# [Output Only] An indicator whether storageBytes is in a stable state or it is
|
30178
|
+
# being adjusted as a result of shared storage reallocation. This status can
|
30179
|
+
# either be UPDATING, meaning the size of the snapshot is being updated, or
|
30180
|
+
# UP_TO_DATE, meaning the size of the snapshot is up-to-date.
|
30181
|
+
# Corresponds to the JSON property `storageBytesStatus`
|
30182
|
+
# @return [String]
|
30183
|
+
attr_accessor :storage_bytes_status
|
30184
|
+
|
30185
|
+
# Specifies the type of the attached disk, either SCRATCH or PERSISTENT.
|
30186
|
+
# Corresponds to the JSON property `type`
|
30187
|
+
# @return [String]
|
30188
|
+
attr_accessor :type
|
30189
|
+
|
30190
|
+
def initialize(**args)
|
30191
|
+
update!(**args)
|
30192
|
+
end
|
30193
|
+
|
30194
|
+
# Update properties of this object
|
30195
|
+
def update!(**args)
|
30196
|
+
@auto_delete = args[:auto_delete] if args.key?(:auto_delete)
|
30197
|
+
@boot = args[:boot] if args.key?(:boot)
|
30198
|
+
@device_name = args[:device_name] if args.key?(:device_name)
|
30199
|
+
@disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
|
30200
|
+
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
30201
|
+
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
30202
|
+
@guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
|
30203
|
+
@index = args[:index] if args.key?(:index)
|
30204
|
+
@interface = args[:interface] if args.key?(:interface)
|
30205
|
+
@kind = args[:kind] if args.key?(:kind)
|
30206
|
+
@licenses = args[:licenses] if args.key?(:licenses)
|
30207
|
+
@mode = args[:mode] if args.key?(:mode)
|
30208
|
+
@source = args[:source] if args.key?(:source)
|
30209
|
+
@storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
|
30210
|
+
@storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
|
30211
|
+
@type = args[:type] if args.key?(:type)
|
30212
|
+
end
|
30213
|
+
end
|
30214
|
+
|
30215
|
+
# An instance-attached disk resource.
|
30216
|
+
class SavedDisk
|
30217
|
+
include Google::Apis::Core::Hashable
|
30218
|
+
|
30219
|
+
# [Output Only] Type of the resource. Always compute#savedDisk for attached
|
30220
|
+
# disks.
|
30221
|
+
# Corresponds to the JSON property `kind`
|
30222
|
+
# @return [String]
|
30223
|
+
attr_accessor :kind
|
30224
|
+
|
30225
|
+
# Specifies a URL of the disk attached to the source instance.
|
30226
|
+
# Corresponds to the JSON property `sourceDisk`
|
30227
|
+
# @return [String]
|
30228
|
+
attr_accessor :source_disk
|
30229
|
+
|
30230
|
+
# [Output Only] Size of the individual disk snapshot used by this machine image.
|
30231
|
+
# Corresponds to the JSON property `storageBytes`
|
30232
|
+
# @return [Fixnum]
|
30233
|
+
attr_accessor :storage_bytes
|
30234
|
+
|
30235
|
+
# [Output Only] An indicator whether storageBytes is in a stable state or it is
|
30236
|
+
# being adjusted as a result of shared storage reallocation. This status can
|
30237
|
+
# either be UPDATING, meaning the size of the snapshot is being updated, or
|
30238
|
+
# UP_TO_DATE, meaning the size of the snapshot is up-to-date.
|
30239
|
+
# Corresponds to the JSON property `storageBytesStatus`
|
30240
|
+
# @return [String]
|
30241
|
+
attr_accessor :storage_bytes_status
|
30242
|
+
|
30243
|
+
def initialize(**args)
|
30244
|
+
update!(**args)
|
30245
|
+
end
|
30246
|
+
|
30247
|
+
# Update properties of this object
|
30248
|
+
def update!(**args)
|
30249
|
+
@kind = args[:kind] if args.key?(:kind)
|
30250
|
+
@source_disk = args[:source_disk] if args.key?(:source_disk)
|
30251
|
+
@storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
|
30252
|
+
@storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
|
30253
|
+
end
|
30254
|
+
end
|
30255
|
+
|
29619
30256
|
#
|
29620
30257
|
class ScalingScheduleStatus
|
29621
30258
|
include Google::Apis::Core::Hashable
|
@@ -29665,6 +30302,11 @@ module Google
|
|
29665
30302
|
attr_accessor :automatic_restart
|
29666
30303
|
alias_method :automatic_restart?, :automatic_restart
|
29667
30304
|
|
30305
|
+
# Specifies the termination action for the instance.
|
30306
|
+
# Corresponds to the JSON property `instanceTerminationAction`
|
30307
|
+
# @return [String]
|
30308
|
+
attr_accessor :instance_termination_action
|
30309
|
+
|
29668
30310
|
# An opaque location hint used to place the instance close to other resources.
|
29669
30311
|
# This field is for use by internal tools that use the public API.
|
29670
30312
|
# Corresponds to the JSON property `locationHint`
|
@@ -29685,8 +30327,8 @@ module Google
|
|
29685
30327
|
|
29686
30328
|
# Defines the maintenance behavior for this instance. For standard instances,
|
29687
30329
|
# the default behavior is MIGRATE. For preemptible instances, the default and
|
29688
|
-
# only possible behavior is TERMINATE. For more information, see
|
29689
|
-
#
|
30330
|
+
# only possible behavior is TERMINATE. For more information, see Set VM
|
30331
|
+
# availability policies.
|
29690
30332
|
# Corresponds to the JSON property `onHostMaintenance`
|
29691
30333
|
# @return [String]
|
29692
30334
|
attr_accessor :on_host_maintenance
|
@@ -29700,6 +30342,11 @@ module Google
|
|
29700
30342
|
attr_accessor :preemptible
|
29701
30343
|
alias_method :preemptible?, :preemptible
|
29702
30344
|
|
30345
|
+
# Specifies the provisioning model of the instance.
|
30346
|
+
# Corresponds to the JSON property `provisioningModel`
|
30347
|
+
# @return [String]
|
30348
|
+
attr_accessor :provisioning_model
|
30349
|
+
|
29703
30350
|
def initialize(**args)
|
29704
30351
|
update!(**args)
|
29705
30352
|
end
|
@@ -29707,11 +30354,13 @@ module Google
|
|
29707
30354
|
# Update properties of this object
|
29708
30355
|
def update!(**args)
|
29709
30356
|
@automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
|
30357
|
+
@instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
|
29710
30358
|
@location_hint = args[:location_hint] if args.key?(:location_hint)
|
29711
30359
|
@min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
|
29712
30360
|
@node_affinities = args[:node_affinities] if args.key?(:node_affinities)
|
29713
30361
|
@on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
|
29714
30362
|
@preemptible = args[:preemptible] if args.key?(:preemptible)
|
30363
|
+
@provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
|
29715
30364
|
end
|
29716
30365
|
end
|
29717
30366
|
|
@@ -29873,6 +30522,11 @@ module Google
|
|
29873
30522
|
# @return [String]
|
29874
30523
|
attr_accessor :name
|
29875
30524
|
|
30525
|
+
#
|
30526
|
+
# Corresponds to the JSON property `recaptchaOptionsConfig`
|
30527
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRecaptchaOptionsConfig]
|
30528
|
+
attr_accessor :recaptcha_options_config
|
30529
|
+
|
29876
30530
|
# A list of rules that belong to this policy. There must always be a default
|
29877
30531
|
# rule (rule with priority 2147483647 and match "*"). If no rules are provided
|
29878
30532
|
# when creating a security policy, a default rule with action "allow" will be
|
@@ -29911,6 +30565,7 @@ module Google
|
|
29911
30565
|
@id = args[:id] if args.key?(:id)
|
29912
30566
|
@kind = args[:kind] if args.key?(:kind)
|
29913
30567
|
@name = args[:name] if args.key?(:name)
|
30568
|
+
@recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
|
29914
30569
|
@rules = args[:rules] if args.key?(:rules)
|
29915
30570
|
@self_link = args[:self_link] if args.key?(:self_link)
|
29916
30571
|
@type = args[:type] if args.key?(:type)
|
@@ -30100,6 +30755,29 @@ module Google
|
|
30100
30755
|
end
|
30101
30756
|
end
|
30102
30757
|
|
30758
|
+
#
|
30759
|
+
class SecurityPolicyRecaptchaOptionsConfig
|
30760
|
+
include Google::Apis::Core::Hashable
|
30761
|
+
|
30762
|
+
# An optional field to supply a reCAPTCHA site key to be used for all the rules
|
30763
|
+
# using the redirect action with the type of GOOGLE_RECAPTCHA under the security
|
30764
|
+
# policy. The specified site key needs to be created from the reCAPTCHA API. The
|
30765
|
+
# user is responsible for the validity of the specified site key. If not
|
30766
|
+
# specified, a Google-managed site key is used.
|
30767
|
+
# Corresponds to the JSON property `redirectSiteKey`
|
30768
|
+
# @return [String]
|
30769
|
+
attr_accessor :redirect_site_key
|
30770
|
+
|
30771
|
+
def initialize(**args)
|
30772
|
+
update!(**args)
|
30773
|
+
end
|
30774
|
+
|
30775
|
+
# Update properties of this object
|
30776
|
+
def update!(**args)
|
30777
|
+
@redirect_site_key = args[:redirect_site_key] if args.key?(:redirect_site_key)
|
30778
|
+
end
|
30779
|
+
end
|
30780
|
+
|
30103
30781
|
#
|
30104
30782
|
class SecurityPolicyReference
|
30105
30783
|
include Google::Apis::Core::Hashable
|
@@ -30124,9 +30802,17 @@ module Google
|
|
30124
30802
|
class SecurityPolicyRule
|
30125
30803
|
include Google::Apis::Core::Hashable
|
30126
30804
|
|
30127
|
-
# The Action to perform when the
|
30128
|
-
#
|
30129
|
-
# 404, and 502.
|
30805
|
+
# The Action to perform when the rule is matched. The following are the valid
|
30806
|
+
# actions: - allow: allow access to target. - deny(): deny access to target,
|
30807
|
+
# returns the HTTP response code specified (valid values are 403, 404, and 502).
|
30808
|
+
# - rate_based_ban: limit client traffic to the configured threshold and ban the
|
30809
|
+
# client if the traffic exceeds the threshold. Configure parameters for this
|
30810
|
+
# action in RateLimitOptions. Requires rate_limit_options to be set. - redirect:
|
30811
|
+
# redirect to a different target. This can either be an internal reCAPTCHA
|
30812
|
+
# redirect, or an external URL-based redirect via a 302 response. Parameters for
|
30813
|
+
# this action can be configured via redirectOptions. - throttle: limit client
|
30814
|
+
# traffic to the configured threshold. Configure parameters for this action in
|
30815
|
+
# rateLimitOptions. Requires rate_limit_options to be set for this.
|
30130
30816
|
# Corresponds to the JSON property `action`
|
30131
30817
|
# @return [String]
|
30132
30818
|
attr_accessor :action
|
@@ -30137,6 +30823,11 @@ module Google
|
|
30137
30823
|
# @return [String]
|
30138
30824
|
attr_accessor :description
|
30139
30825
|
|
30826
|
+
# Optional, additional actions that are performed on headers.
|
30827
|
+
# Corresponds to the JSON property `headerAction`
|
30828
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderAction]
|
30829
|
+
attr_accessor :header_action
|
30830
|
+
|
30140
30831
|
# [Output only] Type of the resource. Always compute#securityPolicyRule for
|
30141
30832
|
# security policy rules
|
30142
30833
|
# Corresponds to the JSON property `kind`
|
@@ -30163,6 +30854,18 @@ module Google
|
|
30163
30854
|
# @return [Fixnum]
|
30164
30855
|
attr_accessor :priority
|
30165
30856
|
|
30857
|
+
# Must be specified if the action is "rate_based_ban" or "throttle". Cannot be
|
30858
|
+
# specified for any other actions.
|
30859
|
+
# Corresponds to the JSON property `rateLimitOptions`
|
30860
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptions]
|
30861
|
+
attr_accessor :rate_limit_options
|
30862
|
+
|
30863
|
+
# Parameters defining the redirect action. Cannot be specified for any other
|
30864
|
+
# actions.
|
30865
|
+
# Corresponds to the JSON property `redirectOptions`
|
30866
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleRedirectOptions]
|
30867
|
+
attr_accessor :redirect_options
|
30868
|
+
|
30166
30869
|
def initialize(**args)
|
30167
30870
|
update!(**args)
|
30168
30871
|
end
|
@@ -30171,10 +30874,57 @@ module Google
|
|
30171
30874
|
def update!(**args)
|
30172
30875
|
@action = args[:action] if args.key?(:action)
|
30173
30876
|
@description = args[:description] if args.key?(:description)
|
30877
|
+
@header_action = args[:header_action] if args.key?(:header_action)
|
30174
30878
|
@kind = args[:kind] if args.key?(:kind)
|
30175
30879
|
@match = args[:match] if args.key?(:match)
|
30176
30880
|
@preview = args[:preview] if args.key?(:preview)
|
30177
30881
|
@priority = args[:priority] if args.key?(:priority)
|
30882
|
+
@rate_limit_options = args[:rate_limit_options] if args.key?(:rate_limit_options)
|
30883
|
+
@redirect_options = args[:redirect_options] if args.key?(:redirect_options)
|
30884
|
+
end
|
30885
|
+
end
|
30886
|
+
|
30887
|
+
#
|
30888
|
+
class SecurityPolicyRuleHttpHeaderAction
|
30889
|
+
include Google::Apis::Core::Hashable
|
30890
|
+
|
30891
|
+
# The list of request headers to add or overwrite if they're already present.
|
30892
|
+
# Corresponds to the JSON property `requestHeadersToAdds`
|
30893
|
+
# @return [Array<Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderActionHttpHeaderOption>]
|
30894
|
+
attr_accessor :request_headers_to_adds
|
30895
|
+
|
30896
|
+
def initialize(**args)
|
30897
|
+
update!(**args)
|
30898
|
+
end
|
30899
|
+
|
30900
|
+
# Update properties of this object
|
30901
|
+
def update!(**args)
|
30902
|
+
@request_headers_to_adds = args[:request_headers_to_adds] if args.key?(:request_headers_to_adds)
|
30903
|
+
end
|
30904
|
+
end
|
30905
|
+
|
30906
|
+
#
|
30907
|
+
class SecurityPolicyRuleHttpHeaderActionHttpHeaderOption
|
30908
|
+
include Google::Apis::Core::Hashable
|
30909
|
+
|
30910
|
+
# The name of the header to set.
|
30911
|
+
# Corresponds to the JSON property `headerName`
|
30912
|
+
# @return [String]
|
30913
|
+
attr_accessor :header_name
|
30914
|
+
|
30915
|
+
# The value to set the named header to.
|
30916
|
+
# Corresponds to the JSON property `headerValue`
|
30917
|
+
# @return [String]
|
30918
|
+
attr_accessor :header_value
|
30919
|
+
|
30920
|
+
def initialize(**args)
|
30921
|
+
update!(**args)
|
30922
|
+
end
|
30923
|
+
|
30924
|
+
# Update properties of this object
|
30925
|
+
def update!(**args)
|
30926
|
+
@header_name = args[:header_name] if args.key?(:header_name)
|
30927
|
+
@header_value = args[:header_value] if args.key?(:header_value)
|
30178
30928
|
end
|
30179
30929
|
end
|
30180
30930
|
|
@@ -30248,6 +30998,144 @@ module Google
|
|
30248
30998
|
end
|
30249
30999
|
end
|
30250
31000
|
|
31001
|
+
#
|
31002
|
+
class SecurityPolicyRuleRateLimitOptions
|
31003
|
+
include Google::Apis::Core::Hashable
|
31004
|
+
|
31005
|
+
# Can only be specified if the action for the rule is "rate_based_ban". If
|
31006
|
+
# specified, determines the time (in seconds) the traffic will continue to be
|
31007
|
+
# banned by the rate limit after the rate falls below the threshold.
|
31008
|
+
# Corresponds to the JSON property `banDurationSec`
|
31009
|
+
# @return [Fixnum]
|
31010
|
+
attr_accessor :ban_duration_sec
|
31011
|
+
|
31012
|
+
# Can only be specified if the action for the rule is "rate_based_ban". If
|
31013
|
+
# specified, the key will be banned for the configured 'ban_duration_sec' when
|
31014
|
+
# the number of requests that exceed the 'rate_limit_threshold' also exceed this
|
31015
|
+
# 'ban_threshold'.
|
31016
|
+
# Corresponds to the JSON property `banThreshold`
|
31017
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptionsThreshold]
|
31018
|
+
attr_accessor :ban_threshold
|
31019
|
+
|
31020
|
+
# Action to take for requests that are under the configured rate limit threshold.
|
31021
|
+
# Valid option is "allow" only.
|
31022
|
+
# Corresponds to the JSON property `conformAction`
|
31023
|
+
# @return [String]
|
31024
|
+
attr_accessor :conform_action
|
31025
|
+
|
31026
|
+
# Determines the key to enforce the rate_limit_threshold on. Possible values are:
|
31027
|
+
# - ALL: A single rate limit threshold is applied to all the requests matching
|
31028
|
+
# this rule. This is the default value if this field 'enforce_on_key' is not
|
31029
|
+
# configured. - IP: The source IP address of the request is the key. Each IP has
|
31030
|
+
# this limit enforced separately. - HTTP_HEADER: The value of the HTTP header
|
31031
|
+
# whose name is configured under "enforce_on_key_name". The key value is
|
31032
|
+
# truncated to the first 128 bytes of the header value. If no such header is
|
31033
|
+
# present in the request, the key type defaults to ALL. - XFF_IP: The first IP
|
31034
|
+
# address (i.e. the originating client IP address) specified in the list of IPs
|
31035
|
+
# under X-Forwarded-For HTTP header. If no such header is present or the value
|
31036
|
+
# is not a valid IP, the key type defaults to ALL. - HTTP_COOKIE: The value of
|
31037
|
+
# the HTTP cookie whose name is configured under "enforce_on_key_name". The key
|
31038
|
+
# value is truncated to the first 128 bytes of the cookie value. If no such
|
31039
|
+
# cookie is present in the request, the key type defaults to ALL.
|
31040
|
+
# Corresponds to the JSON property `enforceOnKey`
|
31041
|
+
# @return [String]
|
31042
|
+
attr_accessor :enforce_on_key
|
31043
|
+
|
31044
|
+
# Rate limit key name applicable only for the following key types: HTTP_HEADER --
|
31045
|
+
# Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE --
|
31046
|
+
# Name of the HTTP cookie whose value is taken as the key value.
|
31047
|
+
# Corresponds to the JSON property `enforceOnKeyName`
|
31048
|
+
# @return [String]
|
31049
|
+
attr_accessor :enforce_on_key_name
|
31050
|
+
|
31051
|
+
# Action to take for requests that are above the configured rate limit threshold,
|
31052
|
+
# to either deny with a specified HTTP response code, or redirect to a
|
31053
|
+
# different endpoint. Valid options are "deny()" where valid values for status
|
31054
|
+
# are 403, 404, 429, and 502, and "redirect" where the redirect parameters come
|
31055
|
+
# from exceed_redirect_options below.
|
31056
|
+
# Corresponds to the JSON property `exceedAction`
|
31057
|
+
# @return [String]
|
31058
|
+
attr_accessor :exceed_action
|
31059
|
+
|
31060
|
+
# Parameters defining the redirect action that is used as the exceed action.
|
31061
|
+
# Cannot be specified if the exceed action is not redirect.
|
31062
|
+
# Corresponds to the JSON property `exceedRedirectOptions`
|
31063
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleRedirectOptions]
|
31064
|
+
attr_accessor :exceed_redirect_options
|
31065
|
+
|
31066
|
+
# Threshold at which to begin ratelimiting.
|
31067
|
+
# Corresponds to the JSON property `rateLimitThreshold`
|
31068
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptionsThreshold]
|
31069
|
+
attr_accessor :rate_limit_threshold
|
31070
|
+
|
31071
|
+
def initialize(**args)
|
31072
|
+
update!(**args)
|
31073
|
+
end
|
31074
|
+
|
31075
|
+
# Update properties of this object
|
31076
|
+
def update!(**args)
|
31077
|
+
@ban_duration_sec = args[:ban_duration_sec] if args.key?(:ban_duration_sec)
|
31078
|
+
@ban_threshold = args[:ban_threshold] if args.key?(:ban_threshold)
|
31079
|
+
@conform_action = args[:conform_action] if args.key?(:conform_action)
|
31080
|
+
@enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
|
31081
|
+
@enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name)
|
31082
|
+
@exceed_action = args[:exceed_action] if args.key?(:exceed_action)
|
31083
|
+
@exceed_redirect_options = args[:exceed_redirect_options] if args.key?(:exceed_redirect_options)
|
31084
|
+
@rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold)
|
31085
|
+
end
|
31086
|
+
end
|
31087
|
+
|
31088
|
+
#
|
31089
|
+
class SecurityPolicyRuleRateLimitOptionsThreshold
|
31090
|
+
include Google::Apis::Core::Hashable
|
31091
|
+
|
31092
|
+
# Number of HTTP(S) requests for calculating the threshold.
|
31093
|
+
# Corresponds to the JSON property `count`
|
31094
|
+
# @return [Fixnum]
|
31095
|
+
attr_accessor :count
|
31096
|
+
|
31097
|
+
# Interval over which the threshold is computed.
|
31098
|
+
# Corresponds to the JSON property `intervalSec`
|
31099
|
+
# @return [Fixnum]
|
31100
|
+
attr_accessor :interval_sec
|
31101
|
+
|
31102
|
+
def initialize(**args)
|
31103
|
+
update!(**args)
|
31104
|
+
end
|
31105
|
+
|
31106
|
+
# Update properties of this object
|
31107
|
+
def update!(**args)
|
31108
|
+
@count = args[:count] if args.key?(:count)
|
31109
|
+
@interval_sec = args[:interval_sec] if args.key?(:interval_sec)
|
31110
|
+
end
|
31111
|
+
end
|
31112
|
+
|
31113
|
+
#
|
31114
|
+
class SecurityPolicyRuleRedirectOptions
|
31115
|
+
include Google::Apis::Core::Hashable
|
31116
|
+
|
31117
|
+
# Target for the redirect action. This is required if the type is EXTERNAL_302
|
31118
|
+
# and cannot be specified for GOOGLE_RECAPTCHA.
|
31119
|
+
# Corresponds to the JSON property `target`
|
31120
|
+
# @return [String]
|
31121
|
+
attr_accessor :target
|
31122
|
+
|
31123
|
+
# Type of the redirect action.
|
31124
|
+
# Corresponds to the JSON property `type`
|
31125
|
+
# @return [String]
|
31126
|
+
attr_accessor :type
|
31127
|
+
|
31128
|
+
def initialize(**args)
|
31129
|
+
update!(**args)
|
31130
|
+
end
|
31131
|
+
|
31132
|
+
# Update properties of this object
|
31133
|
+
def update!(**args)
|
31134
|
+
@target = args[:target] if args.key?(:target)
|
31135
|
+
@type = args[:type] if args.key?(:type)
|
31136
|
+
end
|
31137
|
+
end
|
31138
|
+
|
30251
31139
|
# The authentication and authorization settings for a BackendService.
|
30252
31140
|
class SecuritySettings
|
30253
31141
|
include Google::Apis::Core::Hashable
|
@@ -30425,6 +31313,13 @@ module Google
|
|
30425
31313
|
# @return [String]
|
30426
31314
|
attr_accessor :description
|
30427
31315
|
|
31316
|
+
# If specified, the domain name will be used during the integration between the
|
31317
|
+
# PSC connected endpoints and the Cloud DNS. For example, this is a valid domain
|
31318
|
+
# name: "p.mycompany.com.". Current max number of domain names supported is 1.
|
31319
|
+
# Corresponds to the JSON property `domainNames`
|
31320
|
+
# @return [Array<String>]
|
31321
|
+
attr_accessor :domain_names
|
31322
|
+
|
30428
31323
|
# If true, enable the proxy protocol which is for supplying client TCP/IP
|
30429
31324
|
# address data in TCP connections that traverse proxies on their way to
|
30430
31325
|
# destination servers.
|
@@ -30513,6 +31408,7 @@ module Google
|
|
30513
31408
|
@consumer_reject_lists = args[:consumer_reject_lists] if args.key?(:consumer_reject_lists)
|
30514
31409
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
30515
31410
|
@description = args[:description] if args.key?(:description)
|
31411
|
+
@domain_names = args[:domain_names] if args.key?(:domain_names)
|
30516
31412
|
@enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
|
30517
31413
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
30518
31414
|
@id = args[:id] if args.key?(:id)
|
@@ -31426,6 +32322,35 @@ module Google
|
|
31426
32322
|
end
|
31427
32323
|
end
|
31428
32324
|
|
32325
|
+
#
|
32326
|
+
class SourceDiskEncryptionKey
|
32327
|
+
include Google::Apis::Core::Hashable
|
32328
|
+
|
32329
|
+
# The customer-supplied encryption key of the source disk. Required if the
|
32330
|
+
# source disk is protected by a customer-supplied encryption key.
|
32331
|
+
# Corresponds to the JSON property `diskEncryptionKey`
|
32332
|
+
# @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
|
32333
|
+
attr_accessor :disk_encryption_key
|
32334
|
+
|
32335
|
+
# URL of the disk attached to the source instance. This can be a full or valid
|
32336
|
+
# partial URL. For example, the following are valid values: - https://www.
|
32337
|
+
# googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/
|
32338
|
+
# project/zones/zone/disks/disk - zones/zone/disks/disk
|
32339
|
+
# Corresponds to the JSON property `sourceDisk`
|
32340
|
+
# @return [String]
|
32341
|
+
attr_accessor :source_disk
|
32342
|
+
|
32343
|
+
def initialize(**args)
|
32344
|
+
update!(**args)
|
32345
|
+
end
|
32346
|
+
|
32347
|
+
# Update properties of this object
|
32348
|
+
def update!(**args)
|
32349
|
+
@disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
|
32350
|
+
@source_disk = args[:source_disk] if args.key?(:source_disk)
|
32351
|
+
end
|
32352
|
+
end
|
32353
|
+
|
31429
32354
|
# A specification of the parameters to use when creating the instance template
|
31430
32355
|
# from a source instance.
|
31431
32356
|
class SourceInstanceParams
|
@@ -31449,6 +32374,116 @@ module Google
|
|
31449
32374
|
end
|
31450
32375
|
end
|
31451
32376
|
|
32377
|
+
# DEPRECATED: Please use compute#instanceProperties instead. New properties will
|
32378
|
+
# not be added to this field.
|
32379
|
+
class SourceInstanceProperties
|
32380
|
+
include Google::Apis::Core::Hashable
|
32381
|
+
|
32382
|
+
# Enables instances created based on this machine image to send packets with
|
32383
|
+
# source IP addresses other than their own and receive packets with destination
|
32384
|
+
# IP addresses other than their own. If these instances will be used as an IP
|
32385
|
+
# gateway or it will be set as the next-hop in a Route resource, specify true.
|
32386
|
+
# If unsure, leave this set to false. See the Enable IP forwarding documentation
|
32387
|
+
# for more information.
|
32388
|
+
# Corresponds to the JSON property `canIpForward`
|
32389
|
+
# @return [Boolean]
|
32390
|
+
attr_accessor :can_ip_forward
|
32391
|
+
alias_method :can_ip_forward?, :can_ip_forward
|
32392
|
+
|
32393
|
+
# Whether the instance created from this machine image should be protected
|
32394
|
+
# against deletion.
|
32395
|
+
# Corresponds to the JSON property `deletionProtection`
|
32396
|
+
# @return [Boolean]
|
32397
|
+
attr_accessor :deletion_protection
|
32398
|
+
alias_method :deletion_protection?, :deletion_protection
|
32399
|
+
|
32400
|
+
# An optional text description for the instances that are created from this
|
32401
|
+
# machine image.
|
32402
|
+
# Corresponds to the JSON property `description`
|
32403
|
+
# @return [String]
|
32404
|
+
attr_accessor :description
|
32405
|
+
|
32406
|
+
# An array of disks that are associated with the instances that are created from
|
32407
|
+
# this machine image.
|
32408
|
+
# Corresponds to the JSON property `disks`
|
32409
|
+
# @return [Array<Google::Apis::ComputeV1::SavedAttachedDisk>]
|
32410
|
+
attr_accessor :disks
|
32411
|
+
|
32412
|
+
# A list of guest accelerator cards' type and count to use for instances created
|
32413
|
+
# from this machine image.
|
32414
|
+
# Corresponds to the JSON property `guestAccelerators`
|
32415
|
+
# @return [Array<Google::Apis::ComputeV1::AcceleratorConfig>]
|
32416
|
+
attr_accessor :guest_accelerators
|
32417
|
+
|
32418
|
+
# Labels to apply to instances that are created from this machine image.
|
32419
|
+
# Corresponds to the JSON property `labels`
|
32420
|
+
# @return [Hash<String,String>]
|
32421
|
+
attr_accessor :labels
|
32422
|
+
|
32423
|
+
# The machine type to use for instances that are created from this machine image.
|
32424
|
+
# Corresponds to the JSON property `machineType`
|
32425
|
+
# @return [String]
|
32426
|
+
attr_accessor :machine_type
|
32427
|
+
|
32428
|
+
# A metadata key/value entry.
|
32429
|
+
# Corresponds to the JSON property `metadata`
|
32430
|
+
# @return [Google::Apis::ComputeV1::Metadata]
|
32431
|
+
attr_accessor :metadata
|
32432
|
+
|
32433
|
+
# Minimum cpu/platform to be used by instances created from this machine image.
|
32434
|
+
# The instance may be scheduled on the specified or newer cpu/platform.
|
32435
|
+
# Applicable values are the friendly names of CPU platforms, such as
|
32436
|
+
# minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge". For
|
32437
|
+
# more information, read Specifying a Minimum CPU Platform.
|
32438
|
+
# Corresponds to the JSON property `minCpuPlatform`
|
32439
|
+
# @return [String]
|
32440
|
+
attr_accessor :min_cpu_platform
|
32441
|
+
|
32442
|
+
# An array of network access configurations for this interface.
|
32443
|
+
# Corresponds to the JSON property `networkInterfaces`
|
32444
|
+
# @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
|
32445
|
+
attr_accessor :network_interfaces
|
32446
|
+
|
32447
|
+
# Sets the scheduling options for an Instance. NextID: 21
|
32448
|
+
# Corresponds to the JSON property `scheduling`
|
32449
|
+
# @return [Google::Apis::ComputeV1::Scheduling]
|
32450
|
+
attr_accessor :scheduling
|
32451
|
+
|
32452
|
+
# A list of service accounts with specified scopes. Access tokens for these
|
32453
|
+
# service accounts are available to the instances that are created from this
|
32454
|
+
# machine image. Use metadata queries to obtain the access tokens for these
|
32455
|
+
# instances.
|
32456
|
+
# Corresponds to the JSON property `serviceAccounts`
|
32457
|
+
# @return [Array<Google::Apis::ComputeV1::ServiceAccount>]
|
32458
|
+
attr_accessor :service_accounts
|
32459
|
+
|
32460
|
+
# A set of instance tags.
|
32461
|
+
# Corresponds to the JSON property `tags`
|
32462
|
+
# @return [Google::Apis::ComputeV1::Tags]
|
32463
|
+
attr_accessor :tags
|
32464
|
+
|
32465
|
+
def initialize(**args)
|
32466
|
+
update!(**args)
|
32467
|
+
end
|
32468
|
+
|
32469
|
+
# Update properties of this object
|
32470
|
+
def update!(**args)
|
32471
|
+
@can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward)
|
32472
|
+
@deletion_protection = args[:deletion_protection] if args.key?(:deletion_protection)
|
32473
|
+
@description = args[:description] if args.key?(:description)
|
32474
|
+
@disks = args[:disks] if args.key?(:disks)
|
32475
|
+
@guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
|
32476
|
+
@labels = args[:labels] if args.key?(:labels)
|
32477
|
+
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
32478
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
32479
|
+
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
32480
|
+
@network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
|
32481
|
+
@scheduling = args[:scheduling] if args.key?(:scheduling)
|
32482
|
+
@service_accounts = args[:service_accounts] if args.key?(:service_accounts)
|
32483
|
+
@tags = args[:tags] if args.key?(:tags)
|
32484
|
+
end
|
32485
|
+
end
|
32486
|
+
|
31452
32487
|
# Represents an SSL Certificate resource. Google Compute Engine has two SSL
|
31453
32488
|
# Certificate resources: * [Global](/compute/docs/reference/rest/v1/
|
31454
32489
|
# sslCertificates) * [Regional](/compute/docs/reference/rest/v1/
|
@@ -32433,7 +33468,7 @@ module Google
|
|
32433
33468
|
attr_accessor :ipv6_access_type
|
32434
33469
|
|
32435
33470
|
# [Output Only] The range of internal IPv6 addresses that are owned by this
|
32436
|
-
# subnetwork.
|
33471
|
+
# subnetwork. Note this will be for private google access only eventually.
|
32437
33472
|
# Corresponds to the JSON property `ipv6CidrRange`
|
32438
33473
|
# @return [String]
|
32439
33474
|
attr_accessor :ipv6_cidr_range
|
@@ -37575,6 +38610,12 @@ module Google
|
|
37575
38610
|
# @return [String]
|
37576
38611
|
attr_accessor :self_link
|
37577
38612
|
|
38613
|
+
# The stack type for this VPN gateway to identify the IP protocols that are
|
38614
|
+
# enabled. If not specified, IPV4_ONLY will be used.
|
38615
|
+
# Corresponds to the JSON property `stackType`
|
38616
|
+
# @return [String]
|
38617
|
+
attr_accessor :stack_type
|
38618
|
+
|
37578
38619
|
# The list of VPN interfaces associated with this VPN gateway.
|
37579
38620
|
# Corresponds to the JSON property `vpnInterfaces`
|
37580
38621
|
# @return [Array<Google::Apis::ComputeV1::VpnGatewayVpnGatewayInterface>]
|
@@ -37596,6 +38637,7 @@ module Google
|
|
37596
38637
|
@network = args[:network] if args.key?(:network)
|
37597
38638
|
@region = args[:region] if args.key?(:region)
|
37598
38639
|
@self_link = args[:self_link] if args.key?(:self_link)
|
38640
|
+
@stack_type = args[:stack_type] if args.key?(:stack_type)
|
37599
38641
|
@vpn_interfaces = args[:vpn_interfaces] if args.key?(:vpn_interfaces)
|
37600
38642
|
end
|
37601
38643
|
end
|