google-apis-compute_v1 0.20.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +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
|