google-apis-compute_v1 0.20.0 → 0.21.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 +4 -0
- data/lib/google/apis/compute_v1/classes.rb +960 -36
- data/lib/google/apis/compute_v1/gem_version.rb +2 -2
- data/lib/google/apis/compute_v1/representations.rb +305 -0
- data/lib/google/apis/compute_v1/service.rb +431 -5
- metadata +3 -3
@@ -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
|
@@ -1315,7 +1315,8 @@ module Google
|
|
1315
1315
|
# initializeParams.sourceSnapshot or disks.source is required except for local
|
1316
1316
|
# SSD. If desired, you can also attach existing non-root persistent disks using
|
1317
1317
|
# this property. This field is only applicable for persistent disks. Note that
|
1318
|
-
# for InstanceTemplate, specify the disk name,
|
1318
|
+
# for InstanceTemplate, specify the disk name for zonal disk, and the URL for
|
1319
|
+
# regional disk.
|
1319
1320
|
# Corresponds to the JSON property `source`
|
1320
1321
|
# @return [String]
|
1321
1322
|
attr_accessor :source
|
@@ -2633,6 +2634,12 @@ module Google
|
|
2633
2634
|
# @return [Array<Google::Apis::ComputeV1::BackendBucketCdnPolicyBypassCacheOnRequestHeader>]
|
2634
2635
|
attr_accessor :bypass_cache_on_request_headers
|
2635
2636
|
|
2637
|
+
# Message containing what to include in the cache key for a request for Cloud
|
2638
|
+
# CDN.
|
2639
|
+
# Corresponds to the JSON property `cacheKeyPolicy`
|
2640
|
+
# @return [Google::Apis::ComputeV1::BackendBucketCdnPolicyCacheKeyPolicy]
|
2641
|
+
attr_accessor :cache_key_policy
|
2642
|
+
|
2636
2643
|
# Specifies the cache setting for all responses from this backend. The possible
|
2637
2644
|
# values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching
|
2638
2645
|
# headers to cache content. Responses without these headers will not be cached
|
@@ -2756,6 +2763,7 @@ module Google
|
|
2756
2763
|
# Update properties of this object
|
2757
2764
|
def update!(**args)
|
2758
2765
|
@bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
|
2766
|
+
@cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
|
2759
2767
|
@cache_mode = args[:cache_mode] if args.key?(:cache_mode)
|
2760
2768
|
@client_ttl = args[:client_ttl] if args.key?(:client_ttl)
|
2761
2769
|
@default_ttl = args[:default_ttl] if args.key?(:default_ttl)
|
@@ -2791,6 +2799,34 @@ module Google
|
|
2791
2799
|
end
|
2792
2800
|
end
|
2793
2801
|
|
2802
|
+
# Message containing what to include in the cache key for a request for Cloud
|
2803
|
+
# CDN.
|
2804
|
+
class BackendBucketCdnPolicyCacheKeyPolicy
|
2805
|
+
include Google::Apis::Core::Hashable
|
2806
|
+
|
2807
|
+
# Allows HTTP request headers (by name) to be used in the cache key.
|
2808
|
+
# Corresponds to the JSON property `includeHttpHeaders`
|
2809
|
+
# @return [Array<String>]
|
2810
|
+
attr_accessor :include_http_headers
|
2811
|
+
|
2812
|
+
# Names of query string parameters to include in cache keys. All other
|
2813
|
+
# parameters will be excluded. '&' and '=' will be percent encoded and not
|
2814
|
+
# treated as delimiters.
|
2815
|
+
# Corresponds to the JSON property `queryStringWhitelist`
|
2816
|
+
# @return [Array<String>]
|
2817
|
+
attr_accessor :query_string_whitelist
|
2818
|
+
|
2819
|
+
def initialize(**args)
|
2820
|
+
update!(**args)
|
2821
|
+
end
|
2822
|
+
|
2823
|
+
# Update properties of this object
|
2824
|
+
def update!(**args)
|
2825
|
+
@include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
|
2826
|
+
@query_string_whitelist = args[:query_string_whitelist] if args.key?(:query_string_whitelist)
|
2827
|
+
end
|
2828
|
+
end
|
2829
|
+
|
2794
2830
|
# Specify CDN TTLs for response error codes.
|
2795
2831
|
class BackendBucketCdnPolicyNegativeCachingPolicy
|
2796
2832
|
include Google::Apis::Core::Hashable
|
@@ -3032,14 +3068,14 @@ module Google
|
|
3032
3068
|
|
3033
3069
|
# For load balancers that have configurable failover: [Internal TCP/UDP Load
|
3034
3070
|
# 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).
|
3071
|
+
# overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
|
3072
|
+
# balancing/docs/network/networklb-failover-overview). On failover or failback,
|
3073
|
+
# this field indicates whether connection draining will be honored. Google Cloud
|
3074
|
+
# has a fixed connection draining timeout of 10 minutes. A setting of true
|
3075
|
+
# terminates existing TCP connections to the active pool during failover and
|
3076
|
+
# failback, immediately draining traffic. A setting of false allows existing TCP
|
3077
|
+
# connections to persist, even on VMs no longer in the active pool, for up to
|
3078
|
+
# the duration of the connection draining timeout (10 minutes).
|
3043
3079
|
# Corresponds to the JSON property `failoverPolicy`
|
3044
3080
|
# @return [Google::Apis::ComputeV1::BackendServiceFailoverPolicy]
|
3045
3081
|
attr_accessor :failover_policy
|
@@ -3663,14 +3699,14 @@ module Google
|
|
3663
3699
|
|
3664
3700
|
# For load balancers that have configurable failover: [Internal TCP/UDP Load
|
3665
3701
|
# 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).
|
3702
|
+
# overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
|
3703
|
+
# balancing/docs/network/networklb-failover-overview). On failover or failback,
|
3704
|
+
# this field indicates whether connection draining will be honored. Google Cloud
|
3705
|
+
# has a fixed connection draining timeout of 10 minutes. A setting of true
|
3706
|
+
# terminates existing TCP connections to the active pool during failover and
|
3707
|
+
# failback, immediately draining traffic. A setting of false allows existing TCP
|
3708
|
+
# connections to persist, even on VMs no longer in the active pool, for up to
|
3709
|
+
# the duration of the connection draining timeout (10 minutes).
|
3674
3710
|
class BackendServiceFailoverPolicy
|
3675
3711
|
include Google::Apis::Core::Hashable
|
3676
3712
|
|
@@ -3685,8 +3721,9 @@ module Google
|
|
3685
3721
|
# distributed among all primary VMs when all primary and all backup backend VMs
|
3686
3722
|
# are unhealthy. For load balancers that have configurable failover: [Internal
|
3687
3723
|
# 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
|
3724
|
+
# failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.
|
3725
|
+
# com/load-balancing/docs/network/networklb-failover-overview). The default is
|
3726
|
+
# false.
|
3690
3727
|
# Corresponds to the JSON property `dropTrafficIfUnhealthy`
|
3691
3728
|
# @return [Boolean]
|
3692
3729
|
attr_accessor :drop_traffic_if_unhealthy
|
@@ -3698,7 +3735,8 @@ module Google
|
|
3698
3735
|
# the total number of healthy primary VMs is less than this ratio. For load
|
3699
3736
|
# balancers that have configurable failover: [Internal TCP/UDP Load Balancing](
|
3700
3737
|
# https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [
|
3701
|
-
# external TCP/UDP Load Balancing](/
|
3738
|
+
# external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/
|
3739
|
+
# network/networklb-failover-overview).
|
3702
3740
|
# Corresponds to the JSON property `failoverRatio`
|
3703
3741
|
# @return [Float]
|
3704
3742
|
attr_accessor :failover_ratio
|
@@ -4512,6 +4550,17 @@ module Google
|
|
4512
4550
|
attr_accessor :include_host
|
4513
4551
|
alias_method :include_host?, :include_host
|
4514
4552
|
|
4553
|
+
# Allows HTTP request headers (by name) to be used in the cache key.
|
4554
|
+
# Corresponds to the JSON property `includeHttpHeaders`
|
4555
|
+
# @return [Array<String>]
|
4556
|
+
attr_accessor :include_http_headers
|
4557
|
+
|
4558
|
+
# Allows HTTP cookies (by name) to be used in the cache key. The name=value pair
|
4559
|
+
# will be used in the cache key Cloud CDN generates.
|
4560
|
+
# Corresponds to the JSON property `includeNamedCookies`
|
4561
|
+
# @return [Array<String>]
|
4562
|
+
attr_accessor :include_named_cookies
|
4563
|
+
|
4515
4564
|
# If true, http and https requests will be cached separately.
|
4516
4565
|
# Corresponds to the JSON property `includeProtocol`
|
4517
4566
|
# @return [Boolean]
|
@@ -4550,6 +4599,8 @@ module Google
|
|
4550
4599
|
# Update properties of this object
|
4551
4600
|
def update!(**args)
|
4552
4601
|
@include_host = args[:include_host] if args.key?(:include_host)
|
4602
|
+
@include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
|
4603
|
+
@include_named_cookies = args[:include_named_cookies] if args.key?(:include_named_cookies)
|
4553
4604
|
@include_protocol = args[:include_protocol] if args.key?(:include_protocol)
|
4554
4605
|
@include_query_string = args[:include_query_string] if args.key?(:include_query_string)
|
4555
4606
|
@query_string_blacklist = args[:query_string_blacklist] if args.key?(:query_string_blacklist)
|
@@ -4614,6 +4665,16 @@ module Google
|
|
4614
4665
|
class Commitment
|
4615
4666
|
include Google::Apis::Core::Hashable
|
4616
4667
|
|
4668
|
+
# Specifies whether to enable automatic renewal for the commitment. The default
|
4669
|
+
# value is false if not specified. The field can be updated until the day of the
|
4670
|
+
# commitment expiration at 12:00am PST. If the field is set to true, the
|
4671
|
+
# commitment will be automatically renewed for either one or three years
|
4672
|
+
# according to the terms of the existing commitment.
|
4673
|
+
# Corresponds to the JSON property `autoRenew`
|
4674
|
+
# @return [Boolean]
|
4675
|
+
attr_accessor :auto_renew
|
4676
|
+
alias_method :auto_renew?, :auto_renew
|
4677
|
+
|
4617
4678
|
# The category of the commitment. Category MACHINE specifies commitments
|
4618
4679
|
# composed of machine resources such as VCPU or MEMORY, listed in resources.
|
4619
4680
|
# Category LICENSE specifies commitments composed of software licenses, listed
|
@@ -4724,6 +4785,7 @@ module Google
|
|
4724
4785
|
|
4725
4786
|
# Update properties of this object
|
4726
4787
|
def update!(**args)
|
4788
|
+
@auto_renew = args[:auto_renew] if args.key?(:auto_renew)
|
4727
4789
|
@category = args[:category] if args.key?(:category)
|
4728
4790
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
4729
4791
|
@description = args[:description] if args.key?(:description)
|
@@ -8418,8 +8480,7 @@ module Google
|
|
8418
8480
|
attr_accessor :self_link
|
8419
8481
|
|
8420
8482
|
# Service Directory resources to register this forwarding rule with. Currently,
|
8421
|
-
# only supports a single Service Directory resource.
|
8422
|
-
# internal load balancing.
|
8483
|
+
# only supports a single Service Directory resource.
|
8423
8484
|
# Corresponds to the JSON property `serviceDirectoryRegistrations`
|
8424
8485
|
# @return [Array<Google::Apis::ComputeV1::ForwardingRuleServiceDirectoryRegistration>]
|
8425
8486
|
attr_accessor :service_directory_registrations
|
@@ -9571,8 +9632,8 @@ module Google
|
|
9571
9632
|
attr_accessor :timeout_sec
|
9572
9633
|
|
9573
9634
|
# Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2.
|
9574
|
-
#
|
9575
|
-
#
|
9635
|
+
# Exactly one of the protocol-specific health check field must be specified,
|
9636
|
+
# which must match type field.
|
9576
9637
|
# Corresponds to the JSON property `type`
|
9577
9638
|
# @return [String]
|
9578
9639
|
attr_accessor :type
|
@@ -12253,6 +12314,17 @@ module Google
|
|
12253
12314
|
# @return [Google::Apis::ComputeV1::ShieldedInstanceIntegrityPolicy]
|
12254
12315
|
attr_accessor :shielded_instance_integrity_policy
|
12255
12316
|
|
12317
|
+
# Source machine image
|
12318
|
+
# Corresponds to the JSON property `sourceMachineImage`
|
12319
|
+
# @return [String]
|
12320
|
+
attr_accessor :source_machine_image
|
12321
|
+
|
12322
|
+
# Source machine image encryption key when creating an instance from a machine
|
12323
|
+
# image.
|
12324
|
+
# Corresponds to the JSON property `sourceMachineImageEncryptionKey`
|
12325
|
+
# @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
|
12326
|
+
attr_accessor :source_machine_image_encryption_key
|
12327
|
+
|
12256
12328
|
# [Output Only] Whether a VM has been restricted for start because Compute
|
12257
12329
|
# Engine has detected suspicious activity.
|
12258
12330
|
# Corresponds to the JSON property `startRestricted`
|
@@ -12325,6 +12397,8 @@ module Google
|
|
12325
12397
|
@service_accounts = args[:service_accounts] if args.key?(:service_accounts)
|
12326
12398
|
@shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
|
12327
12399
|
@shielded_instance_integrity_policy = args[:shielded_instance_integrity_policy] if args.key?(:shielded_instance_integrity_policy)
|
12400
|
+
@source_machine_image = args[:source_machine_image] if args.key?(:source_machine_image)
|
12401
|
+
@source_machine_image_encryption_key = args[:source_machine_image_encryption_key] if args.key?(:source_machine_image_encryption_key)
|
12328
12402
|
@start_restricted = args[:start_restricted] if args.key?(:start_restricted)
|
12329
12403
|
@status = args[:status] if args.key?(:status)
|
12330
12404
|
@status_message = args[:status_message] if args.key?(:status_message)
|
@@ -15772,7 +15846,10 @@ module Google
|
|
15772
15846
|
# @return [String]
|
15773
15847
|
attr_accessor :customer_router_ip_address
|
15774
15848
|
|
15775
|
-
# [Output
|
15849
|
+
# [Output only for types PARTNER and DEDICATED. Not present for PARTNER_PROVIDER.
|
15850
|
+
# ] Dataplane version for this InterconnectAttachment. This field is only
|
15851
|
+
# present for Dataplane version 2 and higher. Absence of this field in the API
|
15852
|
+
# output indicates that the Dataplane is version 1.
|
15776
15853
|
# Corresponds to the JSON property `dataplaneVersion`
|
15777
15854
|
# @return [Fixnum]
|
15778
15855
|
attr_accessor :dataplane_version
|
@@ -17658,6 +17735,272 @@ module Google
|
|
17658
17735
|
end
|
17659
17736
|
end
|
17660
17737
|
|
17738
|
+
# Represents a machine image resource. A machine image is a Compute Engine
|
17739
|
+
# resource that stores all the configuration, metadata, permissions, and data
|
17740
|
+
# from one or more disks required to create a Virtual machine (VM) instance. For
|
17741
|
+
# more information, see Machine images.
|
17742
|
+
class MachineImage
|
17743
|
+
include Google::Apis::Core::Hashable
|
17744
|
+
|
17745
|
+
# [Output Only] The creation timestamp for this machine image in RFC3339 text
|
17746
|
+
# format.
|
17747
|
+
# Corresponds to the JSON property `creationTimestamp`
|
17748
|
+
# @return [String]
|
17749
|
+
attr_accessor :creation_timestamp
|
17750
|
+
|
17751
|
+
# An optional description of this resource. Provide this property when you
|
17752
|
+
# create the resource.
|
17753
|
+
# Corresponds to the JSON property `description`
|
17754
|
+
# @return [String]
|
17755
|
+
attr_accessor :description
|
17756
|
+
|
17757
|
+
# [Input Only] Whether to attempt an application consistent machine image by
|
17758
|
+
# informing the OS to prepare for the snapshot process. Currently only supported
|
17759
|
+
# on Windows instances using the Volume Shadow Copy Service (VSS).
|
17760
|
+
# Corresponds to the JSON property `guestFlush`
|
17761
|
+
# @return [Boolean]
|
17762
|
+
attr_accessor :guest_flush
|
17763
|
+
alias_method :guest_flush?, :guest_flush
|
17764
|
+
|
17765
|
+
# [Output Only] A unique identifier for this machine image. The server defines
|
17766
|
+
# this identifier.
|
17767
|
+
# Corresponds to the JSON property `id`
|
17768
|
+
# @return [Fixnum]
|
17769
|
+
attr_accessor :id
|
17770
|
+
|
17771
|
+
# [Output Only] Properties of source instance
|
17772
|
+
# Corresponds to the JSON property `instanceProperties`
|
17773
|
+
# @return [Google::Apis::ComputeV1::InstanceProperties]
|
17774
|
+
attr_accessor :instance_properties
|
17775
|
+
|
17776
|
+
# [Output Only] The resource type, which is always compute#machineImage for
|
17777
|
+
# machine image.
|
17778
|
+
# Corresponds to the JSON property `kind`
|
17779
|
+
# @return [String]
|
17780
|
+
attr_accessor :kind
|
17781
|
+
|
17782
|
+
# Encrypts the machine image using a customer-supplied encryption key. After you
|
17783
|
+
# encrypt a machine image using a customer-supplied key, you must provide the
|
17784
|
+
# same key if you use the machine image later. For example, you must provide the
|
17785
|
+
# encryption key when you create an instance from the encrypted machine image in
|
17786
|
+
# a future request. Customer-supplied encryption keys do not protect access to
|
17787
|
+
# metadata of the machine image. If you do not provide an encryption key when
|
17788
|
+
# creating the machine image, then the machine image will be encrypted using an
|
17789
|
+
# automatically generated key and you do not need to provide a key to use the
|
17790
|
+
# machine image later.
|
17791
|
+
# Corresponds to the JSON property `machineImageEncryptionKey`
|
17792
|
+
# @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
|
17793
|
+
attr_accessor :machine_image_encryption_key
|
17794
|
+
|
17795
|
+
# Name of the resource; provided by the client when the resource is created. The
|
17796
|
+
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
17797
|
+
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
17798
|
+
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
17799
|
+
# and all following characters must be a dash, lowercase letter, or digit,
|
17800
|
+
# except the last character, which cannot be a dash.
|
17801
|
+
# Corresponds to the JSON property `name`
|
17802
|
+
# @return [String]
|
17803
|
+
attr_accessor :name
|
17804
|
+
|
17805
|
+
# [Output Only] Reserved for future use.
|
17806
|
+
# Corresponds to the JSON property `satisfiesPzs`
|
17807
|
+
# @return [Boolean]
|
17808
|
+
attr_accessor :satisfies_pzs
|
17809
|
+
alias_method :satisfies_pzs?, :satisfies_pzs
|
17810
|
+
|
17811
|
+
# An array of Machine Image specific properties for disks attached to the source
|
17812
|
+
# instance
|
17813
|
+
# Corresponds to the JSON property `savedDisks`
|
17814
|
+
# @return [Array<Google::Apis::ComputeV1::SavedDisk>]
|
17815
|
+
attr_accessor :saved_disks
|
17816
|
+
|
17817
|
+
# [Output Only] The URL for this machine image. The server defines this URL.
|
17818
|
+
# Corresponds to the JSON property `selfLink`
|
17819
|
+
# @return [String]
|
17820
|
+
attr_accessor :self_link
|
17821
|
+
|
17822
|
+
# [Input Only] The customer-supplied encryption key of the disks attached to the
|
17823
|
+
# source instance. Required if the source disk is protected by a customer-
|
17824
|
+
# supplied encryption key.
|
17825
|
+
# Corresponds to the JSON property `sourceDiskEncryptionKeys`
|
17826
|
+
# @return [Array<Google::Apis::ComputeV1::SourceDiskEncryptionKey>]
|
17827
|
+
attr_accessor :source_disk_encryption_keys
|
17828
|
+
|
17829
|
+
# The source instance used to create the machine image. You can provide this as
|
17830
|
+
# a partial or full URL to the resource. For example, the following are valid
|
17831
|
+
# values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
|
17832
|
+
# instances/instance - projects/project/zones/zone/instances/instance
|
17833
|
+
# Corresponds to the JSON property `sourceInstance`
|
17834
|
+
# @return [String]
|
17835
|
+
attr_accessor :source_instance
|
17836
|
+
|
17837
|
+
# DEPRECATED: Please use compute#instanceProperties instead. New properties will
|
17838
|
+
# not be added to this field.
|
17839
|
+
# Corresponds to the JSON property `sourceInstanceProperties`
|
17840
|
+
# @return [Google::Apis::ComputeV1::SourceInstanceProperties]
|
17841
|
+
attr_accessor :source_instance_properties
|
17842
|
+
|
17843
|
+
# [Output Only] The status of the machine image. One of the following values:
|
17844
|
+
# INVALID, CREATING, READY, DELETING, and UPLOADING.
|
17845
|
+
# Corresponds to the JSON property `status`
|
17846
|
+
# @return [String]
|
17847
|
+
attr_accessor :status
|
17848
|
+
|
17849
|
+
# The regional or multi-regional Cloud Storage bucket location where the machine
|
17850
|
+
# image is stored.
|
17851
|
+
# Corresponds to the JSON property `storageLocations`
|
17852
|
+
# @return [Array<String>]
|
17853
|
+
attr_accessor :storage_locations
|
17854
|
+
|
17855
|
+
# [Output Only] Total size of the storage used by the machine image.
|
17856
|
+
# Corresponds to the JSON property `totalStorageBytes`
|
17857
|
+
# @return [Fixnum]
|
17858
|
+
attr_accessor :total_storage_bytes
|
17859
|
+
|
17860
|
+
def initialize(**args)
|
17861
|
+
update!(**args)
|
17862
|
+
end
|
17863
|
+
|
17864
|
+
# Update properties of this object
|
17865
|
+
def update!(**args)
|
17866
|
+
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
17867
|
+
@description = args[:description] if args.key?(:description)
|
17868
|
+
@guest_flush = args[:guest_flush] if args.key?(:guest_flush)
|
17869
|
+
@id = args[:id] if args.key?(:id)
|
17870
|
+
@instance_properties = args[:instance_properties] if args.key?(:instance_properties)
|
17871
|
+
@kind = args[:kind] if args.key?(:kind)
|
17872
|
+
@machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
|
17873
|
+
@name = args[:name] if args.key?(:name)
|
17874
|
+
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
17875
|
+
@saved_disks = args[:saved_disks] if args.key?(:saved_disks)
|
17876
|
+
@self_link = args[:self_link] if args.key?(:self_link)
|
17877
|
+
@source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys)
|
17878
|
+
@source_instance = args[:source_instance] if args.key?(:source_instance)
|
17879
|
+
@source_instance_properties = args[:source_instance_properties] if args.key?(:source_instance_properties)
|
17880
|
+
@status = args[:status] if args.key?(:status)
|
17881
|
+
@storage_locations = args[:storage_locations] if args.key?(:storage_locations)
|
17882
|
+
@total_storage_bytes = args[:total_storage_bytes] if args.key?(:total_storage_bytes)
|
17883
|
+
end
|
17884
|
+
end
|
17885
|
+
|
17886
|
+
# A list of machine images.
|
17887
|
+
class MachineImageList
|
17888
|
+
include Google::Apis::Core::Hashable
|
17889
|
+
|
17890
|
+
# [Output Only] Unique identifier for the resource; defined by the server.
|
17891
|
+
# Corresponds to the JSON property `id`
|
17892
|
+
# @return [String]
|
17893
|
+
attr_accessor :id
|
17894
|
+
|
17895
|
+
# A list of MachineImage resources.
|
17896
|
+
# Corresponds to the JSON property `items`
|
17897
|
+
# @return [Array<Google::Apis::ComputeV1::MachineImage>]
|
17898
|
+
attr_accessor :items
|
17899
|
+
|
17900
|
+
# [Output Only] The resource type, which is always compute#
|
17901
|
+
# machineImagesListResponse for machine image lists.
|
17902
|
+
# Corresponds to the JSON property `kind`
|
17903
|
+
# @return [String]
|
17904
|
+
attr_accessor :kind
|
17905
|
+
|
17906
|
+
# [Output Only] This token allows you to get the next page of results for list
|
17907
|
+
# requests. If the number of results is larger than maxResults, use the
|
17908
|
+
# nextPageToken as a value for the query parameter pageToken in the next list
|
17909
|
+
# request. Subsequent list requests will have their own nextPageToken to
|
17910
|
+
# continue paging through the results.
|
17911
|
+
# Corresponds to the JSON property `nextPageToken`
|
17912
|
+
# @return [String]
|
17913
|
+
attr_accessor :next_page_token
|
17914
|
+
|
17915
|
+
# [Output Only] Server-defined URL for this resource.
|
17916
|
+
# Corresponds to the JSON property `selfLink`
|
17917
|
+
# @return [String]
|
17918
|
+
attr_accessor :self_link
|
17919
|
+
|
17920
|
+
# [Output Only] Informational warning message.
|
17921
|
+
# Corresponds to the JSON property `warning`
|
17922
|
+
# @return [Google::Apis::ComputeV1::MachineImageList::Warning]
|
17923
|
+
attr_accessor :warning
|
17924
|
+
|
17925
|
+
def initialize(**args)
|
17926
|
+
update!(**args)
|
17927
|
+
end
|
17928
|
+
|
17929
|
+
# Update properties of this object
|
17930
|
+
def update!(**args)
|
17931
|
+
@id = args[:id] if args.key?(:id)
|
17932
|
+
@items = args[:items] if args.key?(:items)
|
17933
|
+
@kind = args[:kind] if args.key?(:kind)
|
17934
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
17935
|
+
@self_link = args[:self_link] if args.key?(:self_link)
|
17936
|
+
@warning = args[:warning] if args.key?(:warning)
|
17937
|
+
end
|
17938
|
+
|
17939
|
+
# [Output Only] Informational warning message.
|
17940
|
+
class Warning
|
17941
|
+
include Google::Apis::Core::Hashable
|
17942
|
+
|
17943
|
+
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
17944
|
+
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
17945
|
+
# Corresponds to the JSON property `code`
|
17946
|
+
# @return [String]
|
17947
|
+
attr_accessor :code
|
17948
|
+
|
17949
|
+
# [Output Only] Metadata about this warning in key: value format. For example: "
|
17950
|
+
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
17951
|
+
# Corresponds to the JSON property `data`
|
17952
|
+
# @return [Array<Google::Apis::ComputeV1::MachineImageList::Warning::Datum>]
|
17953
|
+
attr_accessor :data
|
17954
|
+
|
17955
|
+
# [Output Only] A human-readable description of the warning code.
|
17956
|
+
# Corresponds to the JSON property `message`
|
17957
|
+
# @return [String]
|
17958
|
+
attr_accessor :message
|
17959
|
+
|
17960
|
+
def initialize(**args)
|
17961
|
+
update!(**args)
|
17962
|
+
end
|
17963
|
+
|
17964
|
+
# Update properties of this object
|
17965
|
+
def update!(**args)
|
17966
|
+
@code = args[:code] if args.key?(:code)
|
17967
|
+
@data = args[:data] if args.key?(:data)
|
17968
|
+
@message = args[:message] if args.key?(:message)
|
17969
|
+
end
|
17970
|
+
|
17971
|
+
#
|
17972
|
+
class Datum
|
17973
|
+
include Google::Apis::Core::Hashable
|
17974
|
+
|
17975
|
+
# [Output Only] A key that provides more detail on the warning being returned.
|
17976
|
+
# For example, for warnings where there are no results in a list request for a
|
17977
|
+
# particular zone, this key might be scope and the key value might be the zone
|
17978
|
+
# name. Other examples might be a key indicating a deprecated resource and a
|
17979
|
+
# suggested replacement, or a warning about invalid network settings (for
|
17980
|
+
# example, if an instance attempts to perform IP forwarding but is not enabled
|
17981
|
+
# for IP forwarding).
|
17982
|
+
# Corresponds to the JSON property `key`
|
17983
|
+
# @return [String]
|
17984
|
+
attr_accessor :key
|
17985
|
+
|
17986
|
+
# [Output Only] A warning data value corresponding to the key.
|
17987
|
+
# Corresponds to the JSON property `value`
|
17988
|
+
# @return [String]
|
17989
|
+
attr_accessor :value
|
17990
|
+
|
17991
|
+
def initialize(**args)
|
17992
|
+
update!(**args)
|
17993
|
+
end
|
17994
|
+
|
17995
|
+
# Update properties of this object
|
17996
|
+
def update!(**args)
|
17997
|
+
@key = args[:key] if args.key?(:key)
|
17998
|
+
@value = args[:value] if args.key?(:value)
|
17999
|
+
end
|
18000
|
+
end
|
18001
|
+
end
|
18002
|
+
end
|
18003
|
+
|
17661
18004
|
# Represents a Machine Type resource. You can use specific machine types for
|
17662
18005
|
# your VM instances based on performance and pricing requirements. For more
|
17663
18006
|
# information, read Machine Types.
|
@@ -28483,6 +28826,12 @@ module Google
|
|
28483
28826
|
# @return [String]
|
28484
28827
|
attr_accessor :enable
|
28485
28828
|
|
28829
|
+
# Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
|
28830
|
+
# Corresponds to the JSON property `enableIpv6`
|
28831
|
+
# @return [Boolean]
|
28832
|
+
attr_accessor :enable_ipv6
|
28833
|
+
alias_method :enable_ipv6?, :enable_ipv6
|
28834
|
+
|
28486
28835
|
# Name of the interface the BGP peer is associated with.
|
28487
28836
|
# Corresponds to the JSON property `interfaceName`
|
28488
28837
|
# @return [String]
|
@@ -28494,6 +28843,11 @@ module Google
|
|
28494
28843
|
# @return [String]
|
28495
28844
|
attr_accessor :ip_address
|
28496
28845
|
|
28846
|
+
# IPv6 address of the interface inside Google Cloud Platform.
|
28847
|
+
# Corresponds to the JSON property `ipv6NexthopAddress`
|
28848
|
+
# @return [String]
|
28849
|
+
attr_accessor :ipv6_nexthop_address
|
28850
|
+
|
28497
28851
|
# [Output Only] The resource that configures and manages this BGP peer. -
|
28498
28852
|
# MANAGED_BY_USER is the default value and can be managed by you or other users -
|
28499
28853
|
# MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud
|
@@ -28526,6 +28880,11 @@ module Google
|
|
28526
28880
|
# @return [String]
|
28527
28881
|
attr_accessor :peer_ip_address
|
28528
28882
|
|
28883
|
+
# IPv6 address of the BGP interface outside Google Cloud Platform.
|
28884
|
+
# Corresponds to the JSON property `peerIpv6NexthopAddress`
|
28885
|
+
# @return [String]
|
28886
|
+
attr_accessor :peer_ipv6_nexthop_address
|
28887
|
+
|
28529
28888
|
# URI of the VM instance that is used as third-party router appliances such as
|
28530
28889
|
# Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
|
28531
28890
|
# must be located in zones contained in the same region as this Cloud Router.
|
@@ -28546,12 +28905,15 @@ module Google
|
|
28546
28905
|
@advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
|
28547
28906
|
@bfd = args[:bfd] if args.key?(:bfd)
|
28548
28907
|
@enable = args[:enable] if args.key?(:enable)
|
28908
|
+
@enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
|
28549
28909
|
@interface_name = args[:interface_name] if args.key?(:interface_name)
|
28550
28910
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
28911
|
+
@ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
|
28551
28912
|
@management_type = args[:management_type] if args.key?(:management_type)
|
28552
28913
|
@name = args[:name] if args.key?(:name)
|
28553
28914
|
@peer_asn = args[:peer_asn] if args.key?(:peer_asn)
|
28554
28915
|
@peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
|
28916
|
+
@peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
|
28555
28917
|
@router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
|
28556
28918
|
end
|
28557
28919
|
end
|
@@ -29616,6 +29978,171 @@ module Google
|
|
29616
29978
|
end
|
29617
29979
|
end
|
29618
29980
|
|
29981
|
+
# DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk
|
29982
|
+
# resource.
|
29983
|
+
class SavedAttachedDisk
|
29984
|
+
include Google::Apis::Core::Hashable
|
29985
|
+
|
29986
|
+
# Specifies whether the disk will be auto-deleted when the instance is deleted (
|
29987
|
+
# but not when the disk is detached from the instance).
|
29988
|
+
# Corresponds to the JSON property `autoDelete`
|
29989
|
+
# @return [Boolean]
|
29990
|
+
attr_accessor :auto_delete
|
29991
|
+
alias_method :auto_delete?, :auto_delete
|
29992
|
+
|
29993
|
+
# Indicates that this is a boot disk. The virtual machine will use the first
|
29994
|
+
# partition of the disk for its root filesystem.
|
29995
|
+
# Corresponds to the JSON property `boot`
|
29996
|
+
# @return [Boolean]
|
29997
|
+
attr_accessor :boot
|
29998
|
+
alias_method :boot?, :boot
|
29999
|
+
|
30000
|
+
# Specifies the name of the disk attached to the source instance.
|
30001
|
+
# Corresponds to the JSON property `deviceName`
|
30002
|
+
# @return [String]
|
30003
|
+
attr_accessor :device_name
|
30004
|
+
|
30005
|
+
# The encryption key for the disk.
|
30006
|
+
# Corresponds to the JSON property `diskEncryptionKey`
|
30007
|
+
# @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
|
30008
|
+
attr_accessor :disk_encryption_key
|
30009
|
+
|
30010
|
+
# The size of the disk in base-2 GB.
|
30011
|
+
# Corresponds to the JSON property `diskSizeGb`
|
30012
|
+
# @return [Fixnum]
|
30013
|
+
attr_accessor :disk_size_gb
|
30014
|
+
|
30015
|
+
# [Output Only] URL of the disk type resource. For example: projects/project /
|
30016
|
+
# zones/zone/diskTypes/pd-standard or pd-ssd
|
30017
|
+
# Corresponds to the JSON property `diskType`
|
30018
|
+
# @return [String]
|
30019
|
+
attr_accessor :disk_type
|
30020
|
+
|
30021
|
+
# A list of features to enable on the guest operating system. Applicable only
|
30022
|
+
# for bootable images. Read Enabling guest operating system features to see a
|
30023
|
+
# list of available options.
|
30024
|
+
# Corresponds to the JSON property `guestOsFeatures`
|
30025
|
+
# @return [Array<Google::Apis::ComputeV1::GuestOsFeature>]
|
30026
|
+
attr_accessor :guest_os_features
|
30027
|
+
|
30028
|
+
# Specifies zero-based index of the disk that is attached to the source instance.
|
30029
|
+
# Corresponds to the JSON property `index`
|
30030
|
+
# @return [Fixnum]
|
30031
|
+
attr_accessor :index
|
30032
|
+
|
30033
|
+
# Specifies the disk interface to use for attaching this disk, which is either
|
30034
|
+
# SCSI or NVME.
|
30035
|
+
# Corresponds to the JSON property `interface`
|
30036
|
+
# @return [String]
|
30037
|
+
attr_accessor :interface
|
30038
|
+
|
30039
|
+
# [Output Only] Type of the resource. Always compute#attachedDisk for attached
|
30040
|
+
# disks.
|
30041
|
+
# Corresponds to the JSON property `kind`
|
30042
|
+
# @return [String]
|
30043
|
+
attr_accessor :kind
|
30044
|
+
|
30045
|
+
# [Output Only] Any valid publicly visible licenses.
|
30046
|
+
# Corresponds to the JSON property `licenses`
|
30047
|
+
# @return [Array<String>]
|
30048
|
+
attr_accessor :licenses
|
30049
|
+
|
30050
|
+
# The mode in which this disk is attached to the source instance, either
|
30051
|
+
# READ_WRITE or READ_ONLY.
|
30052
|
+
# Corresponds to the JSON property `mode`
|
30053
|
+
# @return [String]
|
30054
|
+
attr_accessor :mode
|
30055
|
+
|
30056
|
+
# Specifies a URL of the disk attached to the source instance.
|
30057
|
+
# Corresponds to the JSON property `source`
|
30058
|
+
# @return [String]
|
30059
|
+
attr_accessor :source
|
30060
|
+
|
30061
|
+
# [Output Only] A size of the storage used by the disk's snapshot by this
|
30062
|
+
# machine image.
|
30063
|
+
# Corresponds to the JSON property `storageBytes`
|
30064
|
+
# @return [Fixnum]
|
30065
|
+
attr_accessor :storage_bytes
|
30066
|
+
|
30067
|
+
# [Output Only] An indicator whether storageBytes is in a stable state or it is
|
30068
|
+
# being adjusted as a result of shared storage reallocation. This status can
|
30069
|
+
# either be UPDATING, meaning the size of the snapshot is being updated, or
|
30070
|
+
# UP_TO_DATE, meaning the size of the snapshot is up-to-date.
|
30071
|
+
# Corresponds to the JSON property `storageBytesStatus`
|
30072
|
+
# @return [String]
|
30073
|
+
attr_accessor :storage_bytes_status
|
30074
|
+
|
30075
|
+
# Specifies the type of the attached disk, either SCRATCH or PERSISTENT.
|
30076
|
+
# Corresponds to the JSON property `type`
|
30077
|
+
# @return [String]
|
30078
|
+
attr_accessor :type
|
30079
|
+
|
30080
|
+
def initialize(**args)
|
30081
|
+
update!(**args)
|
30082
|
+
end
|
30083
|
+
|
30084
|
+
# Update properties of this object
|
30085
|
+
def update!(**args)
|
30086
|
+
@auto_delete = args[:auto_delete] if args.key?(:auto_delete)
|
30087
|
+
@boot = args[:boot] if args.key?(:boot)
|
30088
|
+
@device_name = args[:device_name] if args.key?(:device_name)
|
30089
|
+
@disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
|
30090
|
+
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
30091
|
+
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
30092
|
+
@guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
|
30093
|
+
@index = args[:index] if args.key?(:index)
|
30094
|
+
@interface = args[:interface] if args.key?(:interface)
|
30095
|
+
@kind = args[:kind] if args.key?(:kind)
|
30096
|
+
@licenses = args[:licenses] if args.key?(:licenses)
|
30097
|
+
@mode = args[:mode] if args.key?(:mode)
|
30098
|
+
@source = args[:source] if args.key?(:source)
|
30099
|
+
@storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
|
30100
|
+
@storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
|
30101
|
+
@type = args[:type] if args.key?(:type)
|
30102
|
+
end
|
30103
|
+
end
|
30104
|
+
|
30105
|
+
# An instance-attached disk resource.
|
30106
|
+
class SavedDisk
|
30107
|
+
include Google::Apis::Core::Hashable
|
30108
|
+
|
30109
|
+
# [Output Only] Type of the resource. Always compute#savedDisk for attached
|
30110
|
+
# disks.
|
30111
|
+
# Corresponds to the JSON property `kind`
|
30112
|
+
# @return [String]
|
30113
|
+
attr_accessor :kind
|
30114
|
+
|
30115
|
+
# Specifies a URL of the disk attached to the source instance.
|
30116
|
+
# Corresponds to the JSON property `sourceDisk`
|
30117
|
+
# @return [String]
|
30118
|
+
attr_accessor :source_disk
|
30119
|
+
|
30120
|
+
# [Output Only] Size of the individual disk snapshot used by this machine image.
|
30121
|
+
# Corresponds to the JSON property `storageBytes`
|
30122
|
+
# @return [Fixnum]
|
30123
|
+
attr_accessor :storage_bytes
|
30124
|
+
|
30125
|
+
# [Output Only] An indicator whether storageBytes is in a stable state or it is
|
30126
|
+
# being adjusted as a result of shared storage reallocation. This status can
|
30127
|
+
# either be UPDATING, meaning the size of the snapshot is being updated, or
|
30128
|
+
# UP_TO_DATE, meaning the size of the snapshot is up-to-date.
|
30129
|
+
# Corresponds to the JSON property `storageBytesStatus`
|
30130
|
+
# @return [String]
|
30131
|
+
attr_accessor :storage_bytes_status
|
30132
|
+
|
30133
|
+
def initialize(**args)
|
30134
|
+
update!(**args)
|
30135
|
+
end
|
30136
|
+
|
30137
|
+
# Update properties of this object
|
30138
|
+
def update!(**args)
|
30139
|
+
@kind = args[:kind] if args.key?(:kind)
|
30140
|
+
@source_disk = args[:source_disk] if args.key?(:source_disk)
|
30141
|
+
@storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
|
30142
|
+
@storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
|
30143
|
+
end
|
30144
|
+
end
|
30145
|
+
|
29619
30146
|
#
|
29620
30147
|
class ScalingScheduleStatus
|
29621
30148
|
include Google::Apis::Core::Hashable
|
@@ -29665,6 +30192,11 @@ module Google
|
|
29665
30192
|
attr_accessor :automatic_restart
|
29666
30193
|
alias_method :automatic_restart?, :automatic_restart
|
29667
30194
|
|
30195
|
+
# Specifies the termination action for the instance.
|
30196
|
+
# Corresponds to the JSON property `instanceTerminationAction`
|
30197
|
+
# @return [String]
|
30198
|
+
attr_accessor :instance_termination_action
|
30199
|
+
|
29668
30200
|
# An opaque location hint used to place the instance close to other resources.
|
29669
30201
|
# This field is for use by internal tools that use the public API.
|
29670
30202
|
# Corresponds to the JSON property `locationHint`
|
@@ -29700,6 +30232,11 @@ module Google
|
|
29700
30232
|
attr_accessor :preemptible
|
29701
30233
|
alias_method :preemptible?, :preemptible
|
29702
30234
|
|
30235
|
+
# Specifies the provisioning model of the instance.
|
30236
|
+
# Corresponds to the JSON property `provisioningModel`
|
30237
|
+
# @return [String]
|
30238
|
+
attr_accessor :provisioning_model
|
30239
|
+
|
29703
30240
|
def initialize(**args)
|
29704
30241
|
update!(**args)
|
29705
30242
|
end
|
@@ -29707,11 +30244,13 @@ module Google
|
|
29707
30244
|
# Update properties of this object
|
29708
30245
|
def update!(**args)
|
29709
30246
|
@automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
|
30247
|
+
@instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
|
29710
30248
|
@location_hint = args[:location_hint] if args.key?(:location_hint)
|
29711
30249
|
@min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
|
29712
30250
|
@node_affinities = args[:node_affinities] if args.key?(:node_affinities)
|
29713
30251
|
@on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
|
29714
30252
|
@preemptible = args[:preemptible] if args.key?(:preemptible)
|
30253
|
+
@provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
|
29715
30254
|
end
|
29716
30255
|
end
|
29717
30256
|
|
@@ -29873,6 +30412,11 @@ module Google
|
|
29873
30412
|
# @return [String]
|
29874
30413
|
attr_accessor :name
|
29875
30414
|
|
30415
|
+
#
|
30416
|
+
# Corresponds to the JSON property `recaptchaOptionsConfig`
|
30417
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRecaptchaOptionsConfig]
|
30418
|
+
attr_accessor :recaptcha_options_config
|
30419
|
+
|
29876
30420
|
# A list of rules that belong to this policy. There must always be a default
|
29877
30421
|
# rule (rule with priority 2147483647 and match "*"). If no rules are provided
|
29878
30422
|
# when creating a security policy, a default rule with action "allow" will be
|
@@ -29911,6 +30455,7 @@ module Google
|
|
29911
30455
|
@id = args[:id] if args.key?(:id)
|
29912
30456
|
@kind = args[:kind] if args.key?(:kind)
|
29913
30457
|
@name = args[:name] if args.key?(:name)
|
30458
|
+
@recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
|
29914
30459
|
@rules = args[:rules] if args.key?(:rules)
|
29915
30460
|
@self_link = args[:self_link] if args.key?(:self_link)
|
29916
30461
|
@type = args[:type] if args.key?(:type)
|
@@ -30100,6 +30645,29 @@ module Google
|
|
30100
30645
|
end
|
30101
30646
|
end
|
30102
30647
|
|
30648
|
+
#
|
30649
|
+
class SecurityPolicyRecaptchaOptionsConfig
|
30650
|
+
include Google::Apis::Core::Hashable
|
30651
|
+
|
30652
|
+
# An optional field to supply a reCAPTCHA site key to be used for all the rules
|
30653
|
+
# using the redirect action with the type of GOOGLE_RECAPTCHA under the security
|
30654
|
+
# policy. The specified site key needs to be created from the reCAPTCHA API. The
|
30655
|
+
# user is responsible for the validity of the specified site key. If not
|
30656
|
+
# specified, a Google-managed site key is used.
|
30657
|
+
# Corresponds to the JSON property `redirectSiteKey`
|
30658
|
+
# @return [String]
|
30659
|
+
attr_accessor :redirect_site_key
|
30660
|
+
|
30661
|
+
def initialize(**args)
|
30662
|
+
update!(**args)
|
30663
|
+
end
|
30664
|
+
|
30665
|
+
# Update properties of this object
|
30666
|
+
def update!(**args)
|
30667
|
+
@redirect_site_key = args[:redirect_site_key] if args.key?(:redirect_site_key)
|
30668
|
+
end
|
30669
|
+
end
|
30670
|
+
|
30103
30671
|
#
|
30104
30672
|
class SecurityPolicyReference
|
30105
30673
|
include Google::Apis::Core::Hashable
|
@@ -30124,9 +30692,17 @@ module Google
|
|
30124
30692
|
class SecurityPolicyRule
|
30125
30693
|
include Google::Apis::Core::Hashable
|
30126
30694
|
|
30127
|
-
# The Action to perform when the
|
30128
|
-
#
|
30129
|
-
# 404, and 502.
|
30695
|
+
# The Action to perform when the rule is matched. The following are the valid
|
30696
|
+
# actions: - allow: allow access to target. - deny(): deny access to target,
|
30697
|
+
# returns the HTTP response code specified (valid values are 403, 404, and 502).
|
30698
|
+
# - rate_based_ban: limit client traffic to the configured threshold and ban the
|
30699
|
+
# client if the traffic exceeds the threshold. Configure parameters for this
|
30700
|
+
# action in RateLimitOptions. Requires rate_limit_options to be set. - redirect:
|
30701
|
+
# redirect to a different target. This can either be an internal reCAPTCHA
|
30702
|
+
# redirect, or an external URL-based redirect via a 302 response. Parameters for
|
30703
|
+
# this action can be configured via redirectOptions. - throttle: limit client
|
30704
|
+
# traffic to the configured threshold. Configure parameters for this action in
|
30705
|
+
# rateLimitOptions. Requires rate_limit_options to be set for this.
|
30130
30706
|
# Corresponds to the JSON property `action`
|
30131
30707
|
# @return [String]
|
30132
30708
|
attr_accessor :action
|
@@ -30137,6 +30713,11 @@ module Google
|
|
30137
30713
|
# @return [String]
|
30138
30714
|
attr_accessor :description
|
30139
30715
|
|
30716
|
+
# Optional, additional actions that are performed on headers.
|
30717
|
+
# Corresponds to the JSON property `headerAction`
|
30718
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderAction]
|
30719
|
+
attr_accessor :header_action
|
30720
|
+
|
30140
30721
|
# [Output only] Type of the resource. Always compute#securityPolicyRule for
|
30141
30722
|
# security policy rules
|
30142
30723
|
# Corresponds to the JSON property `kind`
|
@@ -30163,6 +30744,18 @@ module Google
|
|
30163
30744
|
# @return [Fixnum]
|
30164
30745
|
attr_accessor :priority
|
30165
30746
|
|
30747
|
+
# Must be specified if the action is "rate_based_ban" or "throttle". Cannot be
|
30748
|
+
# specified for any other actions.
|
30749
|
+
# Corresponds to the JSON property `rateLimitOptions`
|
30750
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptions]
|
30751
|
+
attr_accessor :rate_limit_options
|
30752
|
+
|
30753
|
+
# Parameters defining the redirect action. Cannot be specified for any other
|
30754
|
+
# actions.
|
30755
|
+
# Corresponds to the JSON property `redirectOptions`
|
30756
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleRedirectOptions]
|
30757
|
+
attr_accessor :redirect_options
|
30758
|
+
|
30166
30759
|
def initialize(**args)
|
30167
30760
|
update!(**args)
|
30168
30761
|
end
|
@@ -30171,10 +30764,57 @@ module Google
|
|
30171
30764
|
def update!(**args)
|
30172
30765
|
@action = args[:action] if args.key?(:action)
|
30173
30766
|
@description = args[:description] if args.key?(:description)
|
30767
|
+
@header_action = args[:header_action] if args.key?(:header_action)
|
30174
30768
|
@kind = args[:kind] if args.key?(:kind)
|
30175
30769
|
@match = args[:match] if args.key?(:match)
|
30176
30770
|
@preview = args[:preview] if args.key?(:preview)
|
30177
30771
|
@priority = args[:priority] if args.key?(:priority)
|
30772
|
+
@rate_limit_options = args[:rate_limit_options] if args.key?(:rate_limit_options)
|
30773
|
+
@redirect_options = args[:redirect_options] if args.key?(:redirect_options)
|
30774
|
+
end
|
30775
|
+
end
|
30776
|
+
|
30777
|
+
#
|
30778
|
+
class SecurityPolicyRuleHttpHeaderAction
|
30779
|
+
include Google::Apis::Core::Hashable
|
30780
|
+
|
30781
|
+
# The list of request headers to add or overwrite if they're already present.
|
30782
|
+
# Corresponds to the JSON property `requestHeadersToAdds`
|
30783
|
+
# @return [Array<Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderActionHttpHeaderOption>]
|
30784
|
+
attr_accessor :request_headers_to_adds
|
30785
|
+
|
30786
|
+
def initialize(**args)
|
30787
|
+
update!(**args)
|
30788
|
+
end
|
30789
|
+
|
30790
|
+
# Update properties of this object
|
30791
|
+
def update!(**args)
|
30792
|
+
@request_headers_to_adds = args[:request_headers_to_adds] if args.key?(:request_headers_to_adds)
|
30793
|
+
end
|
30794
|
+
end
|
30795
|
+
|
30796
|
+
#
|
30797
|
+
class SecurityPolicyRuleHttpHeaderActionHttpHeaderOption
|
30798
|
+
include Google::Apis::Core::Hashable
|
30799
|
+
|
30800
|
+
# The name of the header to set.
|
30801
|
+
# Corresponds to the JSON property `headerName`
|
30802
|
+
# @return [String]
|
30803
|
+
attr_accessor :header_name
|
30804
|
+
|
30805
|
+
# The value to set the named header to.
|
30806
|
+
# Corresponds to the JSON property `headerValue`
|
30807
|
+
# @return [String]
|
30808
|
+
attr_accessor :header_value
|
30809
|
+
|
30810
|
+
def initialize(**args)
|
30811
|
+
update!(**args)
|
30812
|
+
end
|
30813
|
+
|
30814
|
+
# Update properties of this object
|
30815
|
+
def update!(**args)
|
30816
|
+
@header_name = args[:header_name] if args.key?(:header_name)
|
30817
|
+
@header_value = args[:header_value] if args.key?(:header_value)
|
30178
30818
|
end
|
30179
30819
|
end
|
30180
30820
|
|
@@ -30248,6 +30888,144 @@ module Google
|
|
30248
30888
|
end
|
30249
30889
|
end
|
30250
30890
|
|
30891
|
+
#
|
30892
|
+
class SecurityPolicyRuleRateLimitOptions
|
30893
|
+
include Google::Apis::Core::Hashable
|
30894
|
+
|
30895
|
+
# Can only be specified if the action for the rule is "rate_based_ban". If
|
30896
|
+
# specified, determines the time (in seconds) the traffic will continue to be
|
30897
|
+
# banned by the rate limit after the rate falls below the threshold.
|
30898
|
+
# Corresponds to the JSON property `banDurationSec`
|
30899
|
+
# @return [Fixnum]
|
30900
|
+
attr_accessor :ban_duration_sec
|
30901
|
+
|
30902
|
+
# Can only be specified if the action for the rule is "rate_based_ban". If
|
30903
|
+
# specified, the key will be banned for the configured 'ban_duration_sec' when
|
30904
|
+
# the number of requests that exceed the 'rate_limit_threshold' also exceed this
|
30905
|
+
# 'ban_threshold'.
|
30906
|
+
# Corresponds to the JSON property `banThreshold`
|
30907
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptionsThreshold]
|
30908
|
+
attr_accessor :ban_threshold
|
30909
|
+
|
30910
|
+
# Action to take for requests that are under the configured rate limit threshold.
|
30911
|
+
# Valid option is "allow" only.
|
30912
|
+
# Corresponds to the JSON property `conformAction`
|
30913
|
+
# @return [String]
|
30914
|
+
attr_accessor :conform_action
|
30915
|
+
|
30916
|
+
# Determines the key to enforce the rate_limit_threshold on. Possible values are:
|
30917
|
+
# - ALL: A single rate limit threshold is applied to all the requests matching
|
30918
|
+
# this rule. This is the default value if this field 'enforce_on_key' is not
|
30919
|
+
# configured. - IP: The source IP address of the request is the key. Each IP has
|
30920
|
+
# this limit enforced separately. - HTTP_HEADER: The value of the HTTP header
|
30921
|
+
# whose name is configured under "enforce_on_key_name". The key value is
|
30922
|
+
# truncated to the first 128 bytes of the header value. If no such header is
|
30923
|
+
# present in the request, the key type defaults to ALL. - XFF_IP: The first IP
|
30924
|
+
# address (i.e. the originating client IP address) specified in the list of IPs
|
30925
|
+
# under X-Forwarded-For HTTP header. If no such header is present or the value
|
30926
|
+
# is not a valid IP, the key type defaults to ALL. - HTTP_COOKIE: The value of
|
30927
|
+
# the HTTP cookie whose name is configured under "enforce_on_key_name". The key
|
30928
|
+
# value is truncated to the first 128 bytes of the cookie value. If no such
|
30929
|
+
# cookie is present in the request, the key type defaults to ALL.
|
30930
|
+
# Corresponds to the JSON property `enforceOnKey`
|
30931
|
+
# @return [String]
|
30932
|
+
attr_accessor :enforce_on_key
|
30933
|
+
|
30934
|
+
# Rate limit key name applicable only for the following key types: HTTP_HEADER --
|
30935
|
+
# Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE --
|
30936
|
+
# Name of the HTTP cookie whose value is taken as the key value.
|
30937
|
+
# Corresponds to the JSON property `enforceOnKeyName`
|
30938
|
+
# @return [String]
|
30939
|
+
attr_accessor :enforce_on_key_name
|
30940
|
+
|
30941
|
+
# Action to take for requests that are above the configured rate limit threshold,
|
30942
|
+
# to either deny with a specified HTTP response code, or redirect to a
|
30943
|
+
# different endpoint. Valid options are "deny()" where valid values for status
|
30944
|
+
# are 403, 404, 429, and 502, and "redirect" where the redirect parameters come
|
30945
|
+
# from exceed_redirect_options below.
|
30946
|
+
# Corresponds to the JSON property `exceedAction`
|
30947
|
+
# @return [String]
|
30948
|
+
attr_accessor :exceed_action
|
30949
|
+
|
30950
|
+
# Parameters defining the redirect action that is used as the exceed action.
|
30951
|
+
# Cannot be specified if the exceed action is not redirect.
|
30952
|
+
# Corresponds to the JSON property `exceedRedirectOptions`
|
30953
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleRedirectOptions]
|
30954
|
+
attr_accessor :exceed_redirect_options
|
30955
|
+
|
30956
|
+
# Threshold at which to begin ratelimiting.
|
30957
|
+
# Corresponds to the JSON property `rateLimitThreshold`
|
30958
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptionsThreshold]
|
30959
|
+
attr_accessor :rate_limit_threshold
|
30960
|
+
|
30961
|
+
def initialize(**args)
|
30962
|
+
update!(**args)
|
30963
|
+
end
|
30964
|
+
|
30965
|
+
# Update properties of this object
|
30966
|
+
def update!(**args)
|
30967
|
+
@ban_duration_sec = args[:ban_duration_sec] if args.key?(:ban_duration_sec)
|
30968
|
+
@ban_threshold = args[:ban_threshold] if args.key?(:ban_threshold)
|
30969
|
+
@conform_action = args[:conform_action] if args.key?(:conform_action)
|
30970
|
+
@enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
|
30971
|
+
@enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name)
|
30972
|
+
@exceed_action = args[:exceed_action] if args.key?(:exceed_action)
|
30973
|
+
@exceed_redirect_options = args[:exceed_redirect_options] if args.key?(:exceed_redirect_options)
|
30974
|
+
@rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold)
|
30975
|
+
end
|
30976
|
+
end
|
30977
|
+
|
30978
|
+
#
|
30979
|
+
class SecurityPolicyRuleRateLimitOptionsThreshold
|
30980
|
+
include Google::Apis::Core::Hashable
|
30981
|
+
|
30982
|
+
# Number of HTTP(S) requests for calculating the threshold.
|
30983
|
+
# Corresponds to the JSON property `count`
|
30984
|
+
# @return [Fixnum]
|
30985
|
+
attr_accessor :count
|
30986
|
+
|
30987
|
+
# Interval over which the threshold is computed.
|
30988
|
+
# Corresponds to the JSON property `intervalSec`
|
30989
|
+
# @return [Fixnum]
|
30990
|
+
attr_accessor :interval_sec
|
30991
|
+
|
30992
|
+
def initialize(**args)
|
30993
|
+
update!(**args)
|
30994
|
+
end
|
30995
|
+
|
30996
|
+
# Update properties of this object
|
30997
|
+
def update!(**args)
|
30998
|
+
@count = args[:count] if args.key?(:count)
|
30999
|
+
@interval_sec = args[:interval_sec] if args.key?(:interval_sec)
|
31000
|
+
end
|
31001
|
+
end
|
31002
|
+
|
31003
|
+
#
|
31004
|
+
class SecurityPolicyRuleRedirectOptions
|
31005
|
+
include Google::Apis::Core::Hashable
|
31006
|
+
|
31007
|
+
# Target for the redirect action. This is required if the type is EXTERNAL_302
|
31008
|
+
# and cannot be specified for GOOGLE_RECAPTCHA.
|
31009
|
+
# Corresponds to the JSON property `target`
|
31010
|
+
# @return [String]
|
31011
|
+
attr_accessor :target
|
31012
|
+
|
31013
|
+
# Type of the redirect action.
|
31014
|
+
# Corresponds to the JSON property `type`
|
31015
|
+
# @return [String]
|
31016
|
+
attr_accessor :type
|
31017
|
+
|
31018
|
+
def initialize(**args)
|
31019
|
+
update!(**args)
|
31020
|
+
end
|
31021
|
+
|
31022
|
+
# Update properties of this object
|
31023
|
+
def update!(**args)
|
31024
|
+
@target = args[:target] if args.key?(:target)
|
31025
|
+
@type = args[:type] if args.key?(:type)
|
31026
|
+
end
|
31027
|
+
end
|
31028
|
+
|
30251
31029
|
# The authentication and authorization settings for a BackendService.
|
30252
31030
|
class SecuritySettings
|
30253
31031
|
include Google::Apis::Core::Hashable
|
@@ -31426,6 +32204,35 @@ module Google
|
|
31426
32204
|
end
|
31427
32205
|
end
|
31428
32206
|
|
32207
|
+
#
|
32208
|
+
class SourceDiskEncryptionKey
|
32209
|
+
include Google::Apis::Core::Hashable
|
32210
|
+
|
32211
|
+
# The customer-supplied encryption key of the source disk. Required if the
|
32212
|
+
# source disk is protected by a customer-supplied encryption key.
|
32213
|
+
# Corresponds to the JSON property `diskEncryptionKey`
|
32214
|
+
# @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
|
32215
|
+
attr_accessor :disk_encryption_key
|
32216
|
+
|
32217
|
+
# URL of the disk attached to the source instance. This can be a full or valid
|
32218
|
+
# partial URL. For example, the following are valid values: - https://www.
|
32219
|
+
# googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/
|
32220
|
+
# project/zones/zone/disks/disk - zones/zone/disks/disk
|
32221
|
+
# Corresponds to the JSON property `sourceDisk`
|
32222
|
+
# @return [String]
|
32223
|
+
attr_accessor :source_disk
|
32224
|
+
|
32225
|
+
def initialize(**args)
|
32226
|
+
update!(**args)
|
32227
|
+
end
|
32228
|
+
|
32229
|
+
# Update properties of this object
|
32230
|
+
def update!(**args)
|
32231
|
+
@disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
|
32232
|
+
@source_disk = args[:source_disk] if args.key?(:source_disk)
|
32233
|
+
end
|
32234
|
+
end
|
32235
|
+
|
31429
32236
|
# A specification of the parameters to use when creating the instance template
|
31430
32237
|
# from a source instance.
|
31431
32238
|
class SourceInstanceParams
|
@@ -31449,6 +32256,116 @@ module Google
|
|
31449
32256
|
end
|
31450
32257
|
end
|
31451
32258
|
|
32259
|
+
# DEPRECATED: Please use compute#instanceProperties instead. New properties will
|
32260
|
+
# not be added to this field.
|
32261
|
+
class SourceInstanceProperties
|
32262
|
+
include Google::Apis::Core::Hashable
|
32263
|
+
|
32264
|
+
# Enables instances created based on this machine image to send packets with
|
32265
|
+
# source IP addresses other than their own and receive packets with destination
|
32266
|
+
# IP addresses other than their own. If these instances will be used as an IP
|
32267
|
+
# gateway or it will be set as the next-hop in a Route resource, specify true.
|
32268
|
+
# If unsure, leave this set to false. See the Enable IP forwarding documentation
|
32269
|
+
# for more information.
|
32270
|
+
# Corresponds to the JSON property `canIpForward`
|
32271
|
+
# @return [Boolean]
|
32272
|
+
attr_accessor :can_ip_forward
|
32273
|
+
alias_method :can_ip_forward?, :can_ip_forward
|
32274
|
+
|
32275
|
+
# Whether the instance created from this machine image should be protected
|
32276
|
+
# against deletion.
|
32277
|
+
# Corresponds to the JSON property `deletionProtection`
|
32278
|
+
# @return [Boolean]
|
32279
|
+
attr_accessor :deletion_protection
|
32280
|
+
alias_method :deletion_protection?, :deletion_protection
|
32281
|
+
|
32282
|
+
# An optional text description for the instances that are created from this
|
32283
|
+
# machine image.
|
32284
|
+
# Corresponds to the JSON property `description`
|
32285
|
+
# @return [String]
|
32286
|
+
attr_accessor :description
|
32287
|
+
|
32288
|
+
# An array of disks that are associated with the instances that are created from
|
32289
|
+
# this machine image.
|
32290
|
+
# Corresponds to the JSON property `disks`
|
32291
|
+
# @return [Array<Google::Apis::ComputeV1::SavedAttachedDisk>]
|
32292
|
+
attr_accessor :disks
|
32293
|
+
|
32294
|
+
# A list of guest accelerator cards' type and count to use for instances created
|
32295
|
+
# from this machine image.
|
32296
|
+
# Corresponds to the JSON property `guestAccelerators`
|
32297
|
+
# @return [Array<Google::Apis::ComputeV1::AcceleratorConfig>]
|
32298
|
+
attr_accessor :guest_accelerators
|
32299
|
+
|
32300
|
+
# Labels to apply to instances that are created from this machine image.
|
32301
|
+
# Corresponds to the JSON property `labels`
|
32302
|
+
# @return [Hash<String,String>]
|
32303
|
+
attr_accessor :labels
|
32304
|
+
|
32305
|
+
# The machine type to use for instances that are created from this machine image.
|
32306
|
+
# Corresponds to the JSON property `machineType`
|
32307
|
+
# @return [String]
|
32308
|
+
attr_accessor :machine_type
|
32309
|
+
|
32310
|
+
# A metadata key/value entry.
|
32311
|
+
# Corresponds to the JSON property `metadata`
|
32312
|
+
# @return [Google::Apis::ComputeV1::Metadata]
|
32313
|
+
attr_accessor :metadata
|
32314
|
+
|
32315
|
+
# Minimum cpu/platform to be used by instances created from this machine image.
|
32316
|
+
# The instance may be scheduled on the specified or newer cpu/platform.
|
32317
|
+
# Applicable values are the friendly names of CPU platforms, such as
|
32318
|
+
# minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge". For
|
32319
|
+
# more information, read Specifying a Minimum CPU Platform.
|
32320
|
+
# Corresponds to the JSON property `minCpuPlatform`
|
32321
|
+
# @return [String]
|
32322
|
+
attr_accessor :min_cpu_platform
|
32323
|
+
|
32324
|
+
# An array of network access configurations for this interface.
|
32325
|
+
# Corresponds to the JSON property `networkInterfaces`
|
32326
|
+
# @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
|
32327
|
+
attr_accessor :network_interfaces
|
32328
|
+
|
32329
|
+
# Sets the scheduling options for an Instance. NextID: 21
|
32330
|
+
# Corresponds to the JSON property `scheduling`
|
32331
|
+
# @return [Google::Apis::ComputeV1::Scheduling]
|
32332
|
+
attr_accessor :scheduling
|
32333
|
+
|
32334
|
+
# A list of service accounts with specified scopes. Access tokens for these
|
32335
|
+
# service accounts are available to the instances that are created from this
|
32336
|
+
# machine image. Use metadata queries to obtain the access tokens for these
|
32337
|
+
# instances.
|
32338
|
+
# Corresponds to the JSON property `serviceAccounts`
|
32339
|
+
# @return [Array<Google::Apis::ComputeV1::ServiceAccount>]
|
32340
|
+
attr_accessor :service_accounts
|
32341
|
+
|
32342
|
+
# A set of instance tags.
|
32343
|
+
# Corresponds to the JSON property `tags`
|
32344
|
+
# @return [Google::Apis::ComputeV1::Tags]
|
32345
|
+
attr_accessor :tags
|
32346
|
+
|
32347
|
+
def initialize(**args)
|
32348
|
+
update!(**args)
|
32349
|
+
end
|
32350
|
+
|
32351
|
+
# Update properties of this object
|
32352
|
+
def update!(**args)
|
32353
|
+
@can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward)
|
32354
|
+
@deletion_protection = args[:deletion_protection] if args.key?(:deletion_protection)
|
32355
|
+
@description = args[:description] if args.key?(:description)
|
32356
|
+
@disks = args[:disks] if args.key?(:disks)
|
32357
|
+
@guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
|
32358
|
+
@labels = args[:labels] if args.key?(:labels)
|
32359
|
+
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
32360
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
32361
|
+
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
32362
|
+
@network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
|
32363
|
+
@scheduling = args[:scheduling] if args.key?(:scheduling)
|
32364
|
+
@service_accounts = args[:service_accounts] if args.key?(:service_accounts)
|
32365
|
+
@tags = args[:tags] if args.key?(:tags)
|
32366
|
+
end
|
32367
|
+
end
|
32368
|
+
|
31452
32369
|
# Represents an SSL Certificate resource. Google Compute Engine has two SSL
|
31453
32370
|
# Certificate resources: * [Global](/compute/docs/reference/rest/v1/
|
31454
32371
|
# sslCertificates) * [Regional](/compute/docs/reference/rest/v1/
|
@@ -37575,6 +38492,12 @@ module Google
|
|
37575
38492
|
# @return [String]
|
37576
38493
|
attr_accessor :self_link
|
37577
38494
|
|
38495
|
+
# The stack type for this VPN gateway to identify the IP protocols that are
|
38496
|
+
# enabled. If not specified, IPV4_ONLY will be used.
|
38497
|
+
# Corresponds to the JSON property `stackType`
|
38498
|
+
# @return [String]
|
38499
|
+
attr_accessor :stack_type
|
38500
|
+
|
37578
38501
|
# The list of VPN interfaces associated with this VPN gateway.
|
37579
38502
|
# Corresponds to the JSON property `vpnInterfaces`
|
37580
38503
|
# @return [Array<Google::Apis::ComputeV1::VpnGatewayVpnGatewayInterface>]
|
@@ -37596,6 +38519,7 @@ module Google
|
|
37596
38519
|
@network = args[:network] if args.key?(:network)
|
37597
38520
|
@region = args[:region] if args.key?(:region)
|
37598
38521
|
@self_link = args[:self_link] if args.key?(:self_link)
|
38522
|
+
@stack_type = args[:stack_type] if args.key?(:stack_type)
|
37599
38523
|
@vpn_interfaces = args[:vpn_interfaces] if args.key?(:vpn_interfaces)
|
37600
38524
|
end
|
37601
38525
|
end
|