google-apis-compute_v1 0.17.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 +17 -0
- data/OVERVIEW.md +2 -2
- data/lib/google/apis/compute_v1/classes.rb +2193 -477
- data/lib/google/apis/compute_v1/gem_version.rb +2 -2
- data/lib/google/apis/compute_v1/representations.rb +553 -1
- data/lib/google/apis/compute_v1/service.rb +2842 -1672
- metadata +5 -5
@@ -510,13 +510,17 @@ module Google
|
|
510
510
|
attr_accessor :network_tier
|
511
511
|
|
512
512
|
# The DNS domain name for the public PTR record. You can set this field only if
|
513
|
-
# the `setPublicPtr` field is enabled.
|
513
|
+
# the `setPublicPtr` field is enabled in accessConfig. If this field is
|
514
|
+
# unspecified in ipv6AccessConfig, a default PTR record will be createc for
|
515
|
+
# first IP in associated external IPv6 range.
|
514
516
|
# Corresponds to the JSON property `publicPtrDomainName`
|
515
517
|
# @return [String]
|
516
518
|
attr_accessor :public_ptr_domain_name
|
517
519
|
|
518
520
|
# Specifies whether a public DNS 'PTR' record should be created to map the
|
519
|
-
# external IP address of the instance to a DNS domain name.
|
521
|
+
# external IP address of the instance to a DNS domain name. This field is not
|
522
|
+
# used in ipv6AccessConfig. A default PTR record will be created if the VM has
|
523
|
+
# external IPv6 range associated.
|
520
524
|
# Corresponds to the JSON property `setPublicPtr`
|
521
525
|
# @return [Boolean]
|
522
526
|
attr_accessor :set_public_ptr
|
@@ -629,14 +633,14 @@ module Google
|
|
629
633
|
# regional internal IP address in a subnet of a VPC network) - VPC_PEERING for
|
630
634
|
# global internal IP addresses used for private services access allocated ranges.
|
631
635
|
# - NAT_AUTO for the regional external IP addresses used by Cloud NAT when
|
632
|
-
# allocating addresses using
|
633
|
-
#
|
634
|
-
#
|
635
|
-
#
|
636
|
-
# an internal IP address that is
|
637
|
-
#
|
638
|
-
#
|
639
|
-
# 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.
|
640
644
|
# Corresponds to the JSON property `purpose`
|
641
645
|
# @return [String]
|
642
646
|
attr_accessor :purpose
|
@@ -1311,7 +1315,8 @@ module Google
|
|
1311
1315
|
# initializeParams.sourceSnapshot or disks.source is required except for local
|
1312
1316
|
# SSD. If desired, you can also attach existing non-root persistent disks using
|
1313
1317
|
# this property. This field is only applicable for persistent disks. Note that
|
1314
|
-
# for InstanceTemplate, specify the disk name,
|
1318
|
+
# for InstanceTemplate, specify the disk name for zonal disk, and the URL for
|
1319
|
+
# regional disk.
|
1315
1320
|
# Corresponds to the JSON property `source`
|
1316
1321
|
# @return [String]
|
1317
1322
|
attr_accessor :source
|
@@ -2561,6 +2566,12 @@ module Google
|
|
2561
2566
|
# @return [String]
|
2562
2567
|
attr_accessor :description
|
2563
2568
|
|
2569
|
+
# [Output Only] The resource URL for the edge security policy associated with
|
2570
|
+
# this backend bucket.
|
2571
|
+
# Corresponds to the JSON property `edgeSecurityPolicy`
|
2572
|
+
# @return [String]
|
2573
|
+
attr_accessor :edge_security_policy
|
2574
|
+
|
2564
2575
|
# If true, enable Cloud CDN for this BackendBucket.
|
2565
2576
|
# Corresponds to the JSON property `enableCdn`
|
2566
2577
|
# @return [Boolean]
|
@@ -2603,6 +2614,7 @@ module Google
|
|
2603
2614
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
2604
2615
|
@custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
|
2605
2616
|
@description = args[:description] if args.key?(:description)
|
2617
|
+
@edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy)
|
2606
2618
|
@enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
|
2607
2619
|
@id = args[:id] if args.key?(:id)
|
2608
2620
|
@kind = args[:kind] if args.key?(:kind)
|
@@ -2622,6 +2634,12 @@ module Google
|
|
2622
2634
|
# @return [Array<Google::Apis::ComputeV1::BackendBucketCdnPolicyBypassCacheOnRequestHeader>]
|
2623
2635
|
attr_accessor :bypass_cache_on_request_headers
|
2624
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
|
+
|
2625
2643
|
# Specifies the cache setting for all responses from this backend. The possible
|
2626
2644
|
# values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching
|
2627
2645
|
# headers to cache content. Responses without these headers will not be cached
|
@@ -2646,7 +2664,7 @@ module Google
|
|
2646
2664
|
# specified), or else sets the response max-age directive to the lesser of the
|
2647
2665
|
# client_ttl and default_ttl, and also ensures a "public" cache-control
|
2648
2666
|
# directive is present. If a client TTL is not specified, a default value (1
|
2649
|
-
# hour) will be used. The maximum allowed value is
|
2667
|
+
# hour) will be used. The maximum allowed value is 31,622,400s (1 year).
|
2650
2668
|
# Corresponds to the JSON property `clientTtl`
|
2651
2669
|
# @return [Fixnum]
|
2652
2670
|
attr_accessor :client_ttl
|
@@ -2745,6 +2763,7 @@ module Google
|
|
2745
2763
|
# Update properties of this object
|
2746
2764
|
def update!(**args)
|
2747
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)
|
2748
2767
|
@cache_mode = args[:cache_mode] if args.key?(:cache_mode)
|
2749
2768
|
@client_ttl = args[:client_ttl] if args.key?(:client_ttl)
|
2750
2769
|
@default_ttl = args[:default_ttl] if args.key?(:default_ttl)
|
@@ -2780,6 +2799,34 @@ module Google
|
|
2780
2799
|
end
|
2781
2800
|
end
|
2782
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
|
+
|
2783
2830
|
# Specify CDN TTLs for response error codes.
|
2784
2831
|
class BackendBucketCdnPolicyNegativeCachingPolicy
|
2785
2832
|
include Google::Apis::Core::Hashable
|
@@ -2973,6 +3020,11 @@ module Google
|
|
2973
3020
|
# @return [Google::Apis::ComputeV1::ConnectionDraining]
|
2974
3021
|
attr_accessor :connection_draining
|
2975
3022
|
|
3023
|
+
# Connection Tracking configuration for this BackendService.
|
3024
|
+
# Corresponds to the JSON property `connectionTrackingPolicy`
|
3025
|
+
# @return [Google::Apis::ComputeV1::BackendServiceConnectionTrackingPolicy]
|
3026
|
+
attr_accessor :connection_tracking_policy
|
3027
|
+
|
2976
3028
|
# This message defines settings for a consistent hash style load balancer.
|
2977
3029
|
# Corresponds to the JSON property `consistentHash`
|
2978
3030
|
# @return [Google::Apis::ComputeV1::ConsistentHashLoadBalancerSettings]
|
@@ -3001,6 +3053,12 @@ module Google
|
|
3001
3053
|
# @return [String]
|
3002
3054
|
attr_accessor :description
|
3003
3055
|
|
3056
|
+
# [Output Only] The resource URL for the edge security policy associated with
|
3057
|
+
# this backend service.
|
3058
|
+
# Corresponds to the JSON property `edgeSecurityPolicy`
|
3059
|
+
# @return [String]
|
3060
|
+
attr_accessor :edge_security_policy
|
3061
|
+
|
3004
3062
|
# If true, enables Cloud CDN for the backend service of an external HTTP(S) load
|
3005
3063
|
# balancer.
|
3006
3064
|
# Corresponds to the JSON property `enableCDN`
|
@@ -3010,14 +3068,14 @@ module Google
|
|
3010
3068
|
|
3011
3069
|
# For load balancers that have configurable failover: [Internal TCP/UDP Load
|
3012
3070
|
# Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
|
3013
|
-
# overview) and [external TCP/UDP Load Balancing](/
|
3014
|
-
# overview). On failover or failback,
|
3015
|
-
# draining will be honored. Google Cloud
|
3016
|
-
# of 10 minutes. A setting of true
|
3017
|
-
# active pool during failover and
|
3018
|
-
# setting of false allows existing TCP
|
3019
|
-
# longer in the active pool, for up to
|
3020
|
-
# 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).
|
3021
3079
|
# Corresponds to the JSON property `failoverPolicy`
|
3022
3080
|
# @return [Google::Apis::ComputeV1::BackendServiceFailoverPolicy]
|
3023
3081
|
attr_accessor :failover_policy
|
@@ -3088,8 +3146,8 @@ module Google
|
|
3088
3146
|
# INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
|
3089
3147
|
# set to INTERNAL_SELF_MANAGED. If sessionAffinity is not NONE, and this field
|
3090
3148
|
# is not set to MAGLEV or RING_HASH, session affinity settings will not take
|
3091
|
-
# effect. Only
|
3092
|
-
#
|
3149
|
+
# effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service
|
3150
|
+
# is referenced by a URL map that is bound to target gRPC proxy that has
|
3093
3151
|
# validateForProxyless field set to true.
|
3094
3152
|
# Corresponds to the JSON property `localityLbPolicy`
|
3095
3153
|
# @return [String]
|
@@ -3182,15 +3240,22 @@ module Google
|
|
3182
3240
|
# @return [String]
|
3183
3241
|
attr_accessor :self_link
|
3184
3242
|
|
3185
|
-
# Type of session affinity to use. The default is NONE.
|
3186
|
-
#
|
3187
|
-
#
|
3188
|
-
#
|
3189
|
-
#
|
3243
|
+
# Type of session affinity to use. The default is NONE. Only NONE and
|
3244
|
+
# HEADER_FIELD are supported when the backend service is referenced by a URL map
|
3245
|
+
# that is bound to target gRPC proxy that has validateForProxyless field set to
|
3246
|
+
# true. For more details, see: [Session Affinity](https://cloud.google.com/load-
|
3247
|
+
# balancing/docs/backend-service#session_affinity).
|
3190
3248
|
# Corresponds to the JSON property `sessionAffinity`
|
3191
3249
|
# @return [String]
|
3192
3250
|
attr_accessor :session_affinity
|
3193
3251
|
|
3252
|
+
# Subsetting configuration for this BackendService. Currently this is applicable
|
3253
|
+
# only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and
|
3254
|
+
# Traffic Director.
|
3255
|
+
# Corresponds to the JSON property `subsetting`
|
3256
|
+
# @return [Google::Apis::ComputeV1::Subsetting]
|
3257
|
+
attr_accessor :subsetting
|
3258
|
+
|
3194
3259
|
# Not supported when the backend service is referenced by a URL map that is
|
3195
3260
|
# bound to target gRPC proxy that has validateForProxyless field set to true.
|
3196
3261
|
# Instead, use maxStreamDuration.
|
@@ -3209,11 +3274,13 @@ module Google
|
|
3209
3274
|
@cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
|
3210
3275
|
@circuit_breakers = args[:circuit_breakers] if args.key?(:circuit_breakers)
|
3211
3276
|
@connection_draining = args[:connection_draining] if args.key?(:connection_draining)
|
3277
|
+
@connection_tracking_policy = args[:connection_tracking_policy] if args.key?(:connection_tracking_policy)
|
3212
3278
|
@consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
|
3213
3279
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
3214
3280
|
@custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers)
|
3215
3281
|
@custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
|
3216
3282
|
@description = args[:description] if args.key?(:description)
|
3283
|
+
@edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy)
|
3217
3284
|
@enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
|
3218
3285
|
@failover_policy = args[:failover_policy] if args.key?(:failover_policy)
|
3219
3286
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
@@ -3236,6 +3303,7 @@ module Google
|
|
3236
3303
|
@security_settings = args[:security_settings] if args.key?(:security_settings)
|
3237
3304
|
@self_link = args[:self_link] if args.key?(:self_link)
|
3238
3305
|
@session_affinity = args[:session_affinity] if args.key?(:session_affinity)
|
3306
|
+
@subsetting = args[:subsetting] if args.key?(:subsetting)
|
3239
3307
|
@timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
|
3240
3308
|
end
|
3241
3309
|
end
|
@@ -3404,7 +3472,7 @@ module Google
|
|
3404
3472
|
# specified), or else sets the response max-age directive to the lesser of the
|
3405
3473
|
# client_ttl and default_ttl, and also ensures a "public" cache-control
|
3406
3474
|
# directive is present. If a client TTL is not specified, a default value (1
|
3407
|
-
# hour) will be used. The maximum allowed value is
|
3475
|
+
# hour) will be used. The maximum allowed value is 31,622,400s (1 year).
|
3408
3476
|
# Corresponds to the JSON property `clientTtl`
|
3409
3477
|
# @return [Fixnum]
|
3410
3478
|
attr_accessor :client_ttl
|
@@ -3569,16 +3637,76 @@ module Google
|
|
3569
3637
|
end
|
3570
3638
|
end
|
3571
3639
|
|
3640
|
+
# Connection Tracking configuration for this BackendService.
|
3641
|
+
class BackendServiceConnectionTrackingPolicy
|
3642
|
+
include Google::Apis::Core::Hashable
|
3643
|
+
|
3644
|
+
# Specifies connection persistence when backends are unhealthy. The default
|
3645
|
+
# value is DEFAULT_FOR_PROTOCOL. If set to DEFAULT_FOR_PROTOCOL, the existing
|
3646
|
+
# connections persist on unhealthy backends only for connection-oriented
|
3647
|
+
# protocols (TCP and SCTP) and only if the Tracking Mode is PER_CONNECTION (
|
3648
|
+
# default tracking mode) or the Session Affinity is configured for 5-tuple. They
|
3649
|
+
# do not persist for UDP. If set to NEVER_PERSIST, after a backend becomes
|
3650
|
+
# unhealthy, the existing connections on the unhealthy backend are never
|
3651
|
+
# persisted on the unhealthy backend. They are always diverted to newly selected
|
3652
|
+
# healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST,
|
3653
|
+
# existing connections always persist on unhealthy backends regardless of
|
3654
|
+
# protocol and session affinity. It is generally not recommended to use this
|
3655
|
+
# mode overriding the default. For more details, see [Connection Persistence for
|
3656
|
+
# Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/
|
3657
|
+
# networklb-backend-service#connection-persistence) and [Connection Persistence
|
3658
|
+
# for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/
|
3659
|
+
# docs/internal#connection-persistence).
|
3660
|
+
# Corresponds to the JSON property `connectionPersistenceOnUnhealthyBackends`
|
3661
|
+
# @return [String]
|
3662
|
+
attr_accessor :connection_persistence_on_unhealthy_backends
|
3663
|
+
|
3664
|
+
# Specifies how long to keep a Connection Tracking entry while there is no
|
3665
|
+
# matching traffic (in seconds). For Internal TCP/UDP Load Balancing: - The
|
3666
|
+
# minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set
|
3667
|
+
# only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is
|
3668
|
+
# CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is
|
3669
|
+
# PER_SESSION). For Network Load Balancer the default is 60 seconds. This option
|
3670
|
+
# is not available publicly.
|
3671
|
+
# Corresponds to the JSON property `idleTimeoutSec`
|
3672
|
+
# @return [Fixnum]
|
3673
|
+
attr_accessor :idle_timeout_sec
|
3674
|
+
|
3675
|
+
# Specifies the key used for connection tracking. There are two options: -
|
3676
|
+
# PER_CONNECTION: This is the default mode. The Connection Tracking is performed
|
3677
|
+
# as per the Connection Key (default Hash Method) for the specific protocol. -
|
3678
|
+
# PER_SESSION: The Connection Tracking is performed as per the configured
|
3679
|
+
# Session Affinity. It matches the configured Session Affinity. For more details,
|
3680
|
+
# see [Tracking Mode for Network Load Balancing](https://cloud.google.com/load-
|
3681
|
+
# balancing/docs/network/networklb-backend-service#tracking-mode) and [Tracking
|
3682
|
+
# Mode for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-
|
3683
|
+
# balancing/docs/internal#tracking-mode).
|
3684
|
+
# Corresponds to the JSON property `trackingMode`
|
3685
|
+
# @return [String]
|
3686
|
+
attr_accessor :tracking_mode
|
3687
|
+
|
3688
|
+
def initialize(**args)
|
3689
|
+
update!(**args)
|
3690
|
+
end
|
3691
|
+
|
3692
|
+
# Update properties of this object
|
3693
|
+
def update!(**args)
|
3694
|
+
@connection_persistence_on_unhealthy_backends = args[:connection_persistence_on_unhealthy_backends] if args.key?(:connection_persistence_on_unhealthy_backends)
|
3695
|
+
@idle_timeout_sec = args[:idle_timeout_sec] if args.key?(:idle_timeout_sec)
|
3696
|
+
@tracking_mode = args[:tracking_mode] if args.key?(:tracking_mode)
|
3697
|
+
end
|
3698
|
+
end
|
3699
|
+
|
3572
3700
|
# For load balancers that have configurable failover: [Internal TCP/UDP Load
|
3573
3701
|
# Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
|
3574
|
-
# overview) and [external TCP/UDP Load Balancing](/
|
3575
|
-
# overview). On failover or failback,
|
3576
|
-
# draining will be honored. Google Cloud
|
3577
|
-
# of 10 minutes. A setting of true
|
3578
|
-
# active pool during failover and
|
3579
|
-
# setting of false allows existing TCP
|
3580
|
-
# longer in the active pool, for up to
|
3581
|
-
# 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).
|
3582
3710
|
class BackendServiceFailoverPolicy
|
3583
3711
|
include Google::Apis::Core::Hashable
|
3584
3712
|
|
@@ -3593,8 +3721,9 @@ module Google
|
|
3593
3721
|
# distributed among all primary VMs when all primary and all backup backend VMs
|
3594
3722
|
# are unhealthy. For load balancers that have configurable failover: [Internal
|
3595
3723
|
# TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/
|
3596
|
-
# failover-overview) and [external TCP/UDP Load Balancing](
|
3597
|
-
# 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.
|
3598
3727
|
# Corresponds to the JSON property `dropTrafficIfUnhealthy`
|
3599
3728
|
# @return [Boolean]
|
3600
3729
|
attr_accessor :drop_traffic_if_unhealthy
|
@@ -3606,7 +3735,8 @@ module Google
|
|
3606
3735
|
# the total number of healthy primary VMs is less than this ratio. For load
|
3607
3736
|
# balancers that have configurable failover: [Internal TCP/UDP Load Balancing](
|
3608
3737
|
# https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [
|
3609
|
-
# external TCP/UDP Load Balancing](/
|
3738
|
+
# external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/
|
3739
|
+
# network/networklb-failover-overview).
|
3610
3740
|
# Corresponds to the JSON property `failoverRatio`
|
3611
3741
|
# @return [Float]
|
3612
3742
|
attr_accessor :failover_ratio
|
@@ -3958,7 +4088,256 @@ module Google
|
|
3958
4088
|
end
|
3959
4089
|
end
|
3960
4090
|
|
3961
|
-
#
|
4091
|
+
#
|
4092
|
+
class BfdPacket
|
4093
|
+
include Google::Apis::Core::Hashable
|
4094
|
+
|
4095
|
+
# The Authentication Present bit of the BFD packet. This is specified in section
|
4096
|
+
# 4.1 of RFC5880
|
4097
|
+
# Corresponds to the JSON property `authenticationPresent`
|
4098
|
+
# @return [Boolean]
|
4099
|
+
attr_accessor :authentication_present
|
4100
|
+
alias_method :authentication_present?, :authentication_present
|
4101
|
+
|
4102
|
+
# The Control Plane Independent bit of the BFD packet. This is specified in
|
4103
|
+
# section 4.1 of RFC5880
|
4104
|
+
# Corresponds to the JSON property `controlPlaneIndependent`
|
4105
|
+
# @return [Boolean]
|
4106
|
+
attr_accessor :control_plane_independent
|
4107
|
+
alias_method :control_plane_independent?, :control_plane_independent
|
4108
|
+
|
4109
|
+
# The demand bit of the BFD packet. This is specified in section 4.1 of RFC5880
|
4110
|
+
# Corresponds to the JSON property `demand`
|
4111
|
+
# @return [Boolean]
|
4112
|
+
attr_accessor :demand
|
4113
|
+
alias_method :demand?, :demand
|
4114
|
+
|
4115
|
+
# The diagnostic code specifies the local system's reason for the last change in
|
4116
|
+
# session state. This allows remote systems to determine the reason that the
|
4117
|
+
# previous session failed, for example. These diagnostic codes are specified in
|
4118
|
+
# section 4.1 of RFC5880
|
4119
|
+
# Corresponds to the JSON property `diagnostic`
|
4120
|
+
# @return [String]
|
4121
|
+
attr_accessor :diagnostic
|
4122
|
+
|
4123
|
+
# The Final bit of the BFD packet. This is specified in section 4.1 of RFC5880
|
4124
|
+
# Corresponds to the JSON property `final`
|
4125
|
+
# @return [Boolean]
|
4126
|
+
attr_accessor :final
|
4127
|
+
alias_method :final?, :final
|
4128
|
+
|
4129
|
+
# The length of the BFD Control packet in bytes. This is specified in section 4.
|
4130
|
+
# 1 of RFC5880
|
4131
|
+
# Corresponds to the JSON property `length`
|
4132
|
+
# @return [Fixnum]
|
4133
|
+
attr_accessor :length
|
4134
|
+
|
4135
|
+
# The Required Min Echo RX Interval value in the BFD packet. This is specified
|
4136
|
+
# in section 4.1 of RFC5880
|
4137
|
+
# Corresponds to the JSON property `minEchoRxIntervalMs`
|
4138
|
+
# @return [Fixnum]
|
4139
|
+
attr_accessor :min_echo_rx_interval_ms
|
4140
|
+
|
4141
|
+
# The Required Min RX Interval value in the BFD packet. This is specified in
|
4142
|
+
# section 4.1 of RFC5880
|
4143
|
+
# Corresponds to the JSON property `minRxIntervalMs`
|
4144
|
+
# @return [Fixnum]
|
4145
|
+
attr_accessor :min_rx_interval_ms
|
4146
|
+
|
4147
|
+
# The Desired Min TX Interval value in the BFD packet. This is specified in
|
4148
|
+
# section 4.1 of RFC5880
|
4149
|
+
# Corresponds to the JSON property `minTxIntervalMs`
|
4150
|
+
# @return [Fixnum]
|
4151
|
+
attr_accessor :min_tx_interval_ms
|
4152
|
+
|
4153
|
+
# The detection time multiplier of the BFD packet. This is specified in section
|
4154
|
+
# 4.1 of RFC5880
|
4155
|
+
# Corresponds to the JSON property `multiplier`
|
4156
|
+
# @return [Fixnum]
|
4157
|
+
attr_accessor :multiplier
|
4158
|
+
|
4159
|
+
# The multipoint bit of the BFD packet. This is specified in section 4.1 of
|
4160
|
+
# RFC5880
|
4161
|
+
# Corresponds to the JSON property `multipoint`
|
4162
|
+
# @return [Boolean]
|
4163
|
+
attr_accessor :multipoint
|
4164
|
+
alias_method :multipoint?, :multipoint
|
4165
|
+
|
4166
|
+
# The My Discriminator value in the BFD packet. This is specified in section 4.1
|
4167
|
+
# of RFC5880
|
4168
|
+
# Corresponds to the JSON property `myDiscriminator`
|
4169
|
+
# @return [Fixnum]
|
4170
|
+
attr_accessor :my_discriminator
|
4171
|
+
|
4172
|
+
# The Poll bit of the BFD packet. This is specified in section 4.1 of RFC5880
|
4173
|
+
# Corresponds to the JSON property `poll`
|
4174
|
+
# @return [Boolean]
|
4175
|
+
attr_accessor :poll
|
4176
|
+
alias_method :poll?, :poll
|
4177
|
+
|
4178
|
+
# The current BFD session state as seen by the transmitting system. These states
|
4179
|
+
# are specified in section 4.1 of RFC5880
|
4180
|
+
# Corresponds to the JSON property `state`
|
4181
|
+
# @return [String]
|
4182
|
+
attr_accessor :state
|
4183
|
+
|
4184
|
+
# The version number of the BFD protocol, as specified in section 4.1 of RFC5880.
|
4185
|
+
# Corresponds to the JSON property `version`
|
4186
|
+
# @return [Fixnum]
|
4187
|
+
attr_accessor :version
|
4188
|
+
|
4189
|
+
# The Your Discriminator value in the BFD packet. This is specified in section 4.
|
4190
|
+
# 1 of RFC5880
|
4191
|
+
# Corresponds to the JSON property `yourDiscriminator`
|
4192
|
+
# @return [Fixnum]
|
4193
|
+
attr_accessor :your_discriminator
|
4194
|
+
|
4195
|
+
def initialize(**args)
|
4196
|
+
update!(**args)
|
4197
|
+
end
|
4198
|
+
|
4199
|
+
# Update properties of this object
|
4200
|
+
def update!(**args)
|
4201
|
+
@authentication_present = args[:authentication_present] if args.key?(:authentication_present)
|
4202
|
+
@control_plane_independent = args[:control_plane_independent] if args.key?(:control_plane_independent)
|
4203
|
+
@demand = args[:demand] if args.key?(:demand)
|
4204
|
+
@diagnostic = args[:diagnostic] if args.key?(:diagnostic)
|
4205
|
+
@final = args[:final] if args.key?(:final)
|
4206
|
+
@length = args[:length] if args.key?(:length)
|
4207
|
+
@min_echo_rx_interval_ms = args[:min_echo_rx_interval_ms] if args.key?(:min_echo_rx_interval_ms)
|
4208
|
+
@min_rx_interval_ms = args[:min_rx_interval_ms] if args.key?(:min_rx_interval_ms)
|
4209
|
+
@min_tx_interval_ms = args[:min_tx_interval_ms] if args.key?(:min_tx_interval_ms)
|
4210
|
+
@multiplier = args[:multiplier] if args.key?(:multiplier)
|
4211
|
+
@multipoint = args[:multipoint] if args.key?(:multipoint)
|
4212
|
+
@my_discriminator = args[:my_discriminator] if args.key?(:my_discriminator)
|
4213
|
+
@poll = args[:poll] if args.key?(:poll)
|
4214
|
+
@state = args[:state] if args.key?(:state)
|
4215
|
+
@version = args[:version] if args.key?(:version)
|
4216
|
+
@your_discriminator = args[:your_discriminator] if args.key?(:your_discriminator)
|
4217
|
+
end
|
4218
|
+
end
|
4219
|
+
|
4220
|
+
# Next free: 15
|
4221
|
+
class BfdStatus
|
4222
|
+
include Google::Apis::Core::Hashable
|
4223
|
+
|
4224
|
+
# The BFD session initialization mode for this BGP peer. If set to ACTIVE, the
|
4225
|
+
# Cloud Router will initiate the BFD session for this BGP peer. If set to
|
4226
|
+
# PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD
|
4227
|
+
# session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP
|
4228
|
+
# peer.
|
4229
|
+
# Corresponds to the JSON property `bfdSessionInitializationMode`
|
4230
|
+
# @return [String]
|
4231
|
+
attr_accessor :bfd_session_initialization_mode
|
4232
|
+
|
4233
|
+
# Unix timestamp of the most recent config update.
|
4234
|
+
# Corresponds to the JSON property `configUpdateTimestampMicros`
|
4235
|
+
# @return [Fixnum]
|
4236
|
+
attr_accessor :config_update_timestamp_micros
|
4237
|
+
|
4238
|
+
# Control packet counts for the current BFD session.
|
4239
|
+
# Corresponds to the JSON property `controlPacketCounts`
|
4240
|
+
# @return [Google::Apis::ComputeV1::BfdStatusPacketCounts]
|
4241
|
+
attr_accessor :control_packet_counts
|
4242
|
+
|
4243
|
+
# Inter-packet time interval statistics for control packets.
|
4244
|
+
# Corresponds to the JSON property `controlPacketIntervals`
|
4245
|
+
# @return [Array<Google::Apis::ComputeV1::PacketIntervals>]
|
4246
|
+
attr_accessor :control_packet_intervals
|
4247
|
+
|
4248
|
+
# The diagnostic code specifies the local system's reason for the last change in
|
4249
|
+
# session state. This allows remote systems to determine the reason that the
|
4250
|
+
# previous session failed, for example. These diagnostic codes are specified in
|
4251
|
+
# section 4.1 of RFC5880
|
4252
|
+
# Corresponds to the JSON property `localDiagnostic`
|
4253
|
+
# @return [String]
|
4254
|
+
attr_accessor :local_diagnostic
|
4255
|
+
|
4256
|
+
# The current BFD session state as seen by the transmitting system. These states
|
4257
|
+
# are specified in section 4.1 of RFC5880
|
4258
|
+
# Corresponds to the JSON property `localState`
|
4259
|
+
# @return [String]
|
4260
|
+
attr_accessor :local_state
|
4261
|
+
|
4262
|
+
# Negotiated transmit interval for control packets.
|
4263
|
+
# Corresponds to the JSON property `negotiatedLocalControlTxIntervalMs`
|
4264
|
+
# @return [Fixnum]
|
4265
|
+
attr_accessor :negotiated_local_control_tx_interval_ms
|
4266
|
+
|
4267
|
+
# The most recent Rx control packet for this BFD session.
|
4268
|
+
# Corresponds to the JSON property `rxPacket`
|
4269
|
+
# @return [Google::Apis::ComputeV1::BfdPacket]
|
4270
|
+
attr_accessor :rx_packet
|
4271
|
+
|
4272
|
+
# The most recent Tx control packet for this BFD session.
|
4273
|
+
# Corresponds to the JSON property `txPacket`
|
4274
|
+
# @return [Google::Apis::ComputeV1::BfdPacket]
|
4275
|
+
attr_accessor :tx_packet
|
4276
|
+
|
4277
|
+
# Session uptime in milliseconds. Value will be 0 if session is not up.
|
4278
|
+
# Corresponds to the JSON property `uptimeMs`
|
4279
|
+
# @return [Fixnum]
|
4280
|
+
attr_accessor :uptime_ms
|
4281
|
+
|
4282
|
+
def initialize(**args)
|
4283
|
+
update!(**args)
|
4284
|
+
end
|
4285
|
+
|
4286
|
+
# Update properties of this object
|
4287
|
+
def update!(**args)
|
4288
|
+
@bfd_session_initialization_mode = args[:bfd_session_initialization_mode] if args.key?(:bfd_session_initialization_mode)
|
4289
|
+
@config_update_timestamp_micros = args[:config_update_timestamp_micros] if args.key?(:config_update_timestamp_micros)
|
4290
|
+
@control_packet_counts = args[:control_packet_counts] if args.key?(:control_packet_counts)
|
4291
|
+
@control_packet_intervals = args[:control_packet_intervals] if args.key?(:control_packet_intervals)
|
4292
|
+
@local_diagnostic = args[:local_diagnostic] if args.key?(:local_diagnostic)
|
4293
|
+
@local_state = args[:local_state] if args.key?(:local_state)
|
4294
|
+
@negotiated_local_control_tx_interval_ms = args[:negotiated_local_control_tx_interval_ms] if args.key?(:negotiated_local_control_tx_interval_ms)
|
4295
|
+
@rx_packet = args[:rx_packet] if args.key?(:rx_packet)
|
4296
|
+
@tx_packet = args[:tx_packet] if args.key?(:tx_packet)
|
4297
|
+
@uptime_ms = args[:uptime_ms] if args.key?(:uptime_ms)
|
4298
|
+
end
|
4299
|
+
end
|
4300
|
+
|
4301
|
+
#
|
4302
|
+
class BfdStatusPacketCounts
|
4303
|
+
include Google::Apis::Core::Hashable
|
4304
|
+
|
4305
|
+
# Number of packets received since the beginning of the current BFD session.
|
4306
|
+
# Corresponds to the JSON property `numRx`
|
4307
|
+
# @return [Fixnum]
|
4308
|
+
attr_accessor :num_rx
|
4309
|
+
|
4310
|
+
# Number of packets received that were rejected because of errors since the
|
4311
|
+
# beginning of the current BFD session.
|
4312
|
+
# Corresponds to the JSON property `numRxRejected`
|
4313
|
+
# @return [Fixnum]
|
4314
|
+
attr_accessor :num_rx_rejected
|
4315
|
+
|
4316
|
+
# Number of packets received that were successfully processed since the
|
4317
|
+
# beginning of the current BFD session.
|
4318
|
+
# Corresponds to the JSON property `numRxSuccessful`
|
4319
|
+
# @return [Fixnum]
|
4320
|
+
attr_accessor :num_rx_successful
|
4321
|
+
|
4322
|
+
# Number of packets transmitted since the beginning of the current BFD session.
|
4323
|
+
# Corresponds to the JSON property `numTx`
|
4324
|
+
# @return [Fixnum]
|
4325
|
+
attr_accessor :num_tx
|
4326
|
+
|
4327
|
+
def initialize(**args)
|
4328
|
+
update!(**args)
|
4329
|
+
end
|
4330
|
+
|
4331
|
+
# Update properties of this object
|
4332
|
+
def update!(**args)
|
4333
|
+
@num_rx = args[:num_rx] if args.key?(:num_rx)
|
4334
|
+
@num_rx_rejected = args[:num_rx_rejected] if args.key?(:num_rx_rejected)
|
4335
|
+
@num_rx_successful = args[:num_rx_successful] if args.key?(:num_rx_successful)
|
4336
|
+
@num_tx = args[:num_tx] if args.key?(:num_tx)
|
4337
|
+
end
|
4338
|
+
end
|
4339
|
+
|
4340
|
+
# Associates `members`, or principals, with a `role`.
|
3962
4341
|
class Binding
|
3963
4342
|
include Google::Apis::Core::Hashable
|
3964
4343
|
|
@@ -3986,7 +4365,7 @@ module Google
|
|
3986
4365
|
# @return [Google::Apis::ComputeV1::Expr]
|
3987
4366
|
attr_accessor :condition
|
3988
4367
|
|
3989
|
-
# Specifies the
|
4368
|
+
# Specifies the principals requesting access for a Cloud Platform resource. `
|
3990
4369
|
# members` can have the following values: * `allUsers`: A special identifier
|
3991
4370
|
# that represents anyone who is on the internet; with or without a Google
|
3992
4371
|
# account. * `allAuthenticatedUsers`: A special identifier that represents
|
@@ -4016,8 +4395,8 @@ module Google
|
|
4016
4395
|
# @return [Array<String>]
|
4017
4396
|
attr_accessor :members
|
4018
4397
|
|
4019
|
-
# Role that is assigned to `members
|
4020
|
-
#
|
4398
|
+
# Role that is assigned to the list of `members`, or principals. For example, `
|
4399
|
+
# roles/viewer`, `roles/editor`, or `roles/owner`.
|
4021
4400
|
# Corresponds to the JSON property `role`
|
4022
4401
|
# @return [String]
|
4023
4402
|
attr_accessor :role
|
@@ -4171,6 +4550,17 @@ module Google
|
|
4171
4550
|
attr_accessor :include_host
|
4172
4551
|
alias_method :include_host?, :include_host
|
4173
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
|
+
|
4174
4564
|
# If true, http and https requests will be cached separately.
|
4175
4565
|
# Corresponds to the JSON property `includeProtocol`
|
4176
4566
|
# @return [Boolean]
|
@@ -4209,6 +4599,8 @@ module Google
|
|
4209
4599
|
# Update properties of this object
|
4210
4600
|
def update!(**args)
|
4211
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)
|
4212
4604
|
@include_protocol = args[:include_protocol] if args.key?(:include_protocol)
|
4213
4605
|
@include_query_string = args[:include_query_string] if args.key?(:include_query_string)
|
4214
4606
|
@query_string_blacklist = args[:query_string_blacklist] if args.key?(:query_string_blacklist)
|
@@ -4273,6 +4665,16 @@ module Google
|
|
4273
4665
|
class Commitment
|
4274
4666
|
include Google::Apis::Core::Hashable
|
4275
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
|
+
|
4276
4678
|
# The category of the commitment. Category MACHINE specifies commitments
|
4277
4679
|
# composed of machine resources such as VCPU or MEMORY, listed in resources.
|
4278
4680
|
# Category LICENSE specifies commitments composed of software licenses, listed
|
@@ -4383,6 +4785,7 @@ module Google
|
|
4383
4785
|
|
4384
4786
|
# Update properties of this object
|
4385
4787
|
def update!(**args)
|
4788
|
+
@auto_renew = args[:auto_renew] if args.key?(:auto_renew)
|
4386
4789
|
@category = args[:category] if args.key?(:category)
|
4387
4790
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
4388
4791
|
@description = args[:description] if args.key?(:description)
|
@@ -4891,14 +5294,15 @@ module Google
|
|
4891
5294
|
end
|
4892
5295
|
end
|
4893
5296
|
|
4894
|
-
# The specification for allowing client
|
4895
|
-
# W3C
|
5297
|
+
# The specification for allowing client-side cross-origin requests. For more
|
5298
|
+
# information about the W3C recommendation for cross-origin resource sharing (
|
5299
|
+
# CORS), see Fetch API Living Standard.
|
4896
5300
|
class CorsPolicy
|
4897
5301
|
include Google::Apis::Core::Hashable
|
4898
5302
|
|
4899
5303
|
# In response to a preflight request, setting this to true indicates that the
|
4900
|
-
# actual request can include user credentials. This translates to the
|
4901
|
-
# Control-Allow-Credentials header. Default is false.
|
5304
|
+
# actual request can include user credentials. This field translates to the
|
5305
|
+
# Access-Control-Allow-Credentials header. Default is false.
|
4902
5306
|
# Corresponds to the JSON property `allowCredentials`
|
4903
5307
|
# @return [Boolean]
|
4904
5308
|
attr_accessor :allow_credentials
|
@@ -4914,23 +5318,23 @@ module Google
|
|
4914
5318
|
# @return [Array<String>]
|
4915
5319
|
attr_accessor :allow_methods
|
4916
5320
|
|
4917
|
-
# Specifies
|
4918
|
-
# regular expression
|
4919
|
-
#
|
5321
|
+
# Specifies a regular expression that matches allowed origins. For more
|
5322
|
+
# information about the regular expression syntax, see Syntax. An origin is
|
5323
|
+
# allowed if it matches either an item in allowOrigins or an item in
|
4920
5324
|
# allowOriginRegexes.
|
4921
5325
|
# Corresponds to the JSON property `allowOriginRegexes`
|
4922
5326
|
# @return [Array<String>]
|
4923
5327
|
attr_accessor :allow_origin_regexes
|
4924
5328
|
|
4925
|
-
# Specifies the list of origins that
|
4926
|
-
#
|
5329
|
+
# Specifies the list of origins that is allowed to do CORS requests. An origin
|
5330
|
+
# is allowed if it matches either an item in allowOrigins or an item in
|
4927
5331
|
# allowOriginRegexes.
|
4928
5332
|
# Corresponds to the JSON property `allowOrigins`
|
4929
5333
|
# @return [Array<String>]
|
4930
5334
|
attr_accessor :allow_origins
|
4931
5335
|
|
4932
|
-
# If true, specifies the CORS policy is disabled. The default value
|
4933
|
-
# which indicates that the CORS policy is in effect.
|
5336
|
+
# If true, the setting specifies the CORS policy is disabled. The default value
|
5337
|
+
# of false, which indicates that the CORS policy is in effect.
|
4934
5338
|
# Corresponds to the JSON property `disabled`
|
4935
5339
|
# @return [Boolean]
|
4936
5340
|
attr_accessor :disabled
|
@@ -4942,7 +5346,7 @@ module Google
|
|
4942
5346
|
attr_accessor :expose_headers
|
4943
5347
|
|
4944
5348
|
# Specifies how long results of a preflight request can be cached in seconds.
|
4945
|
-
# This translates to the Access-Control-Max-Age header.
|
5349
|
+
# This field translates to the Access-Control-Max-Age header.
|
4946
5350
|
# Corresponds to the JSON property `maxAge`
|
4947
5351
|
# @return [Fixnum]
|
4948
5352
|
attr_accessor :max_age
|
@@ -4968,30 +5372,39 @@ module Google
|
|
4968
5372
|
class CustomerEncryptionKey
|
4969
5373
|
include Google::Apis::Core::Hashable
|
4970
5374
|
|
4971
|
-
# The name of the encryption key that is stored in Google Cloud KMS.
|
5375
|
+
# The name of the encryption key that is stored in Google Cloud KMS. For example:
|
5376
|
+
# "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/
|
5377
|
+
# cryptoKeys/key
|
4972
5378
|
# Corresponds to the JSON property `kmsKeyName`
|
4973
5379
|
# @return [String]
|
4974
5380
|
attr_accessor :kms_key_name
|
4975
5381
|
|
4976
5382
|
# The service account being used for the encryption request for the given KMS
|
4977
|
-
# key. If absent, the Compute Engine default service account is used.
|
5383
|
+
# key. If absent, the Compute Engine default service account is used. For
|
5384
|
+
# example: "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/
|
4978
5385
|
# Corresponds to the JSON property `kmsKeyServiceAccount`
|
4979
5386
|
# @return [String]
|
4980
5387
|
attr_accessor :kms_key_service_account
|
4981
5388
|
|
4982
5389
|
# Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
|
4983
|
-
# base64 to either encrypt or decrypt this resource.
|
5390
|
+
# base64 to either encrypt or decrypt this resource. You can provide either the
|
5391
|
+
# rawKey or the rsaEncryptedKey. For example: "rawKey": "
|
5392
|
+
# SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0="
|
4984
5393
|
# Corresponds to the JSON property `rawKey`
|
4985
5394
|
# @return [String]
|
4986
5395
|
attr_accessor :raw_key
|
4987
5396
|
|
4988
5397
|
# Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied
|
4989
|
-
# encryption key to either encrypt or decrypt this resource.
|
4990
|
-
# the
|
4991
|
-
#
|
4992
|
-
#
|
4993
|
-
#
|
4994
|
-
#
|
5398
|
+
# encryption key to either encrypt or decrypt this resource. You can provide
|
5399
|
+
# either the rawKey or the rsaEncryptedKey. For example: "rsaEncryptedKey": "
|
5400
|
+
# ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH
|
5401
|
+
# z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD
|
5402
|
+
# D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" The
|
5403
|
+
# key must meet the following requirements before you can provide it to Compute
|
5404
|
+
# Engine: 1. The key is wrapped using a RSA public key certificate provided by
|
5405
|
+
# Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64
|
5406
|
+
# encoding. Gets the RSA public key certificate provided by Google at: https://
|
5407
|
+
# cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem
|
4995
5408
|
# Corresponds to the JSON property `rsaEncryptedKey`
|
4996
5409
|
# @return [String]
|
4997
5410
|
attr_accessor :rsa_encrypted_key
|
@@ -5026,7 +5439,8 @@ module Google
|
|
5026
5439
|
attr_accessor :disk_encryption_key
|
5027
5440
|
|
5028
5441
|
# Specifies a valid partial or full URL to an existing Persistent Disk resource.
|
5029
|
-
# This field is only applicable for persistent disks.
|
5442
|
+
# This field is only applicable for persistent disks. For example: "source": "/
|
5443
|
+
# compute/v1/projects/project_id/zones/zone/disks/ disk_name
|
5030
5444
|
# Corresponds to the JSON property `source`
|
5031
5445
|
# @return [String]
|
5032
5446
|
attr_accessor :source
|
@@ -6989,7 +7403,7 @@ module Google
|
|
6989
7403
|
# Name of the resource; provided by the client when the resource is created. The
|
6990
7404
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
6991
7405
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
6992
|
-
# z0-9]*[a-z0-9])
|
7406
|
+
# z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
|
6993
7407
|
# following characters (except for the last character) must be a dash, lowercase
|
6994
7408
|
# letter, or digit. The last character must be a lowercase letter or digit.
|
6995
7409
|
# Corresponds to the JSON property `name`
|
@@ -8066,8 +8480,7 @@ module Google
|
|
8066
8480
|
attr_accessor :self_link
|
8067
8481
|
|
8068
8482
|
# Service Directory resources to register this forwarding rule with. Currently,
|
8069
|
-
# only supports a single Service Directory resource.
|
8070
|
-
# internal load balancing.
|
8483
|
+
# only supports a single Service Directory resource.
|
8071
8484
|
# Corresponds to the JSON property `serviceDirectoryRegistrations`
|
8072
8485
|
# @return [Array<Google::Apis::ComputeV1::ForwardingRuleServiceDirectoryRegistration>]
|
8073
8486
|
attr_accessor :service_directory_registrations
|
@@ -8638,31 +9051,31 @@ module Google
|
|
8638
9051
|
|
8639
9052
|
# An Identity and Access Management (IAM) policy, which specifies access
|
8640
9053
|
# controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
|
8641
|
-
# A `binding` binds one or more `members
|
8642
|
-
# user accounts, service accounts, Google groups, and domains (
|
8643
|
-
# A `role` is a named list of permissions; each `role` can be
|
8644
|
-
# role or a user-created custom role. For some types of Google
|
8645
|
-
# a `binding` can also specify a `condition`, which is a
|
8646
|
-
# allows access to a resource only if the expression
|
8647
|
-
# condition can add constraints based on attributes of
|
8648
|
-
# or both. To learn which resources support
|
8649
|
-
# see the [IAM documentation](https://cloud.
|
8650
|
-
# resource-policies). **JSON example:** ` "
|
8651
|
-
# resourcemanager.organizationAdmin", "members": [
|
8652
|
-
# group:admins@example.com", "domain:google.com", "
|
8653
|
-
# appspot.gserviceaccount.com" ] `, ` "role": "
|
8654
|
-
# organizationViewer", "members": [ "user:eve@example.com"
|
8655
|
-
# title": "expirable access", "description": "Does not grant
|
8656
|
-
# 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
8657
|
-
# ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
8658
|
-
# members: - user:mike@example.com - group:admins@example.com -
|
8659
|
-
# com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
8660
|
-
# resourcemanager.organizationAdmin - members: - user:eve@example.
|
8661
|
-
# roles/resourcemanager.organizationViewer condition: title: expirable
|
8662
|
-
# description: Does not grant access after Sep 2020 expression: request.
|
8663
|
-
# timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
8664
|
-
# description of IAM and its features, see the [IAM documentation](https://
|
8665
|
-
# google.com/iam/docs/).
|
9054
|
+
# A `binding` binds one or more `members`, or principals, to a single `role`.
|
9055
|
+
# Principals can be user accounts, service accounts, Google groups, and domains (
|
9056
|
+
# such as G Suite). A `role` is a named list of permissions; each `role` can be
|
9057
|
+
# an IAM predefined role or a user-created custom role. For some types of Google
|
9058
|
+
# Cloud resources, a `binding` can also specify a `condition`, which is a
|
9059
|
+
# logical expression that allows access to a resource only if the expression
|
9060
|
+
# evaluates to `true`. A condition can add constraints based on attributes of
|
9061
|
+
# the request, the resource, or both. To learn which resources support
|
9062
|
+
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
9063
|
+
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
9064
|
+
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
9065
|
+
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
9066
|
+
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
9067
|
+
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
9068
|
+
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
9069
|
+
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
9070
|
+
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
9071
|
+
# bindings: - members: - user:mike@example.com - group:admins@example.com -
|
9072
|
+
# domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
9073
|
+
# role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
|
9074
|
+
# com role: roles/resourcemanager.organizationViewer condition: title: expirable
|
9075
|
+
# access description: Does not grant access after Sep 2020 expression: request.
|
9076
|
+
# time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
9077
|
+
# a description of IAM and its features, see the [IAM documentation](https://
|
9078
|
+
# cloud.google.com/iam/docs/).
|
8666
9079
|
# Corresponds to the JSON property `policy`
|
8667
9080
|
# @return [Google::Apis::ComputeV1::Policy]
|
8668
9081
|
attr_accessor :policy
|
@@ -8735,31 +9148,31 @@ module Google
|
|
8735
9148
|
|
8736
9149
|
# An Identity and Access Management (IAM) policy, which specifies access
|
8737
9150
|
# controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
|
8738
|
-
# A `binding` binds one or more `members
|
8739
|
-
# user accounts, service accounts, Google groups, and domains (
|
8740
|
-
# A `role` is a named list of permissions; each `role` can be
|
8741
|
-
# role or a user-created custom role. For some types of Google
|
8742
|
-
# a `binding` can also specify a `condition`, which is a
|
8743
|
-
# allows access to a resource only if the expression
|
8744
|
-
# condition can add constraints based on attributes of
|
8745
|
-
# or both. To learn which resources support
|
8746
|
-
# see the [IAM documentation](https://cloud.
|
8747
|
-
# resource-policies). **JSON example:** ` "
|
8748
|
-
# resourcemanager.organizationAdmin", "members": [
|
8749
|
-
# group:admins@example.com", "domain:google.com", "
|
8750
|
-
# appspot.gserviceaccount.com" ] `, ` "role": "
|
8751
|
-
# organizationViewer", "members": [ "user:eve@example.com"
|
8752
|
-
# title": "expirable access", "description": "Does not grant
|
8753
|
-
# 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
8754
|
-
# ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
8755
|
-
# members: - user:mike@example.com - group:admins@example.com -
|
8756
|
-
# com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
8757
|
-
# resourcemanager.organizationAdmin - members: - user:eve@example.
|
8758
|
-
# roles/resourcemanager.organizationViewer condition: title: expirable
|
8759
|
-
# description: Does not grant access after Sep 2020 expression: request.
|
8760
|
-
# timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
8761
|
-
# description of IAM and its features, see the [IAM documentation](https://
|
8762
|
-
# google.com/iam/docs/).
|
9151
|
+
# A `binding` binds one or more `members`, or principals, to a single `role`.
|
9152
|
+
# Principals can be user accounts, service accounts, Google groups, and domains (
|
9153
|
+
# such as G Suite). A `role` is a named list of permissions; each `role` can be
|
9154
|
+
# an IAM predefined role or a user-created custom role. For some types of Google
|
9155
|
+
# Cloud resources, a `binding` can also specify a `condition`, which is a
|
9156
|
+
# logical expression that allows access to a resource only if the expression
|
9157
|
+
# evaluates to `true`. A condition can add constraints based on attributes of
|
9158
|
+
# the request, the resource, or both. To learn which resources support
|
9159
|
+
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
9160
|
+
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
9161
|
+
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
9162
|
+
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
9163
|
+
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
9164
|
+
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
9165
|
+
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
9166
|
+
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
9167
|
+
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
9168
|
+
# bindings: - members: - user:mike@example.com - group:admins@example.com -
|
9169
|
+
# domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
9170
|
+
# role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
|
9171
|
+
# com role: roles/resourcemanager.organizationViewer condition: title: expirable
|
9172
|
+
# access description: Does not grant access after Sep 2020 expression: request.
|
9173
|
+
# time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
9174
|
+
# a description of IAM and its features, see the [IAM documentation](https://
|
9175
|
+
# cloud.google.com/iam/docs/).
|
8763
9176
|
# Corresponds to the JSON property `policy`
|
8764
9177
|
# @return [Google::Apis::ComputeV1::Policy]
|
8765
9178
|
attr_accessor :policy
|
@@ -8881,8 +9294,11 @@ module Google
|
|
8881
9294
|
class GuestOsFeature
|
8882
9295
|
include Google::Apis::Core::Hashable
|
8883
9296
|
|
8884
|
-
# The ID of a supported feature.
|
8885
|
-
# to
|
9297
|
+
# The ID of a supported feature. To add multiple values, use commas to separate
|
9298
|
+
# values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
|
9299
|
+
# WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - SECURE_BOOT - GVNIC -
|
9300
|
+
# SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE For more information, see Enabling
|
9301
|
+
# guest operating system features.
|
8886
9302
|
# Corresponds to the JSON property `type`
|
8887
9303
|
# @return [String]
|
8888
9304
|
attr_accessor :type
|
@@ -9216,8 +9632,8 @@ module Google
|
|
9216
9632
|
attr_accessor :timeout_sec
|
9217
9633
|
|
9218
9634
|
# Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2.
|
9219
|
-
#
|
9220
|
-
#
|
9635
|
+
# Exactly one of the protocol-specific health check field must be specified,
|
9636
|
+
# which must match type field.
|
9221
9637
|
# Corresponds to the JSON property `type`
|
9222
9638
|
# @return [String]
|
9223
9639
|
attr_accessor :type
|
@@ -10030,7 +10446,8 @@ module Google
|
|
10030
10446
|
# port numbers in the format host:port. * matches any string of ([a-z0-9-.]*).
|
10031
10447
|
# In that case, * must be the first character and must be followed in the
|
10032
10448
|
# pattern by either - or .. * based matching is not supported when the URL map
|
10033
|
-
# is bound to target gRPC proxy that has validateForProxyless field set to
|
10449
|
+
# is bound to a target gRPC proxy that has the validateForProxyless field set to
|
10450
|
+
# true.
|
10034
10451
|
# Corresponds to the JSON property `hosts`
|
10035
10452
|
# @return [Array<String>]
|
10036
10453
|
attr_accessor :hosts
|
@@ -10057,8 +10474,8 @@ module Google
|
|
10057
10474
|
class HttpFaultAbort
|
10058
10475
|
include Google::Apis::Core::Hashable
|
10059
10476
|
|
10060
|
-
# The HTTP status code used to abort the request. The value must be
|
10061
|
-
#
|
10477
|
+
# The HTTP status code used to abort the request. The value must be from 200 to
|
10478
|
+
# 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP
|
10062
10479
|
# status code according to this mapping table. HTTP status 200 is mapped to gRPC
|
10063
10480
|
# status UNKNOWN. Injecting an OK status is currently not supported by Traffic
|
10064
10481
|
# Director.
|
@@ -10066,8 +10483,8 @@ module Google
|
|
10066
10483
|
# @return [Fixnum]
|
10067
10484
|
attr_accessor :http_status
|
10068
10485
|
|
10069
|
-
# The percentage of traffic
|
10070
|
-
# aborted as part of fault injection. The value must be
|
10486
|
+
# The percentage of traffic for connections, operations, or requests that is
|
10487
|
+
# aborted as part of fault injection. The value must be from 0.0 to 100.0
|
10071
10488
|
# inclusive.
|
10072
10489
|
# Corresponds to the JSON property `percentage`
|
10073
10490
|
# @return [Float]
|
@@ -10084,8 +10501,8 @@ module Google
|
|
10084
10501
|
end
|
10085
10502
|
end
|
10086
10503
|
|
10087
|
-
# Specifies the delay introduced by
|
10088
|
-
# to the backend service as part of fault injection.
|
10504
|
+
# Specifies the delay introduced by the load balancer before forwarding the
|
10505
|
+
# request to the backend service as part of fault injection.
|
10089
10506
|
class HttpFaultDelay
|
10090
10507
|
include Google::Apis::Core::Hashable
|
10091
10508
|
|
@@ -10097,9 +10514,9 @@ module Google
|
|
10097
10514
|
# @return [Google::Apis::ComputeV1::Duration]
|
10098
10515
|
attr_accessor :fixed_delay
|
10099
10516
|
|
10100
|
-
# The percentage of traffic
|
10101
|
-
#
|
10102
|
-
#
|
10517
|
+
# The percentage of traffic for connections, operations, or requests for which a
|
10518
|
+
# delay is introduced as part of fault injection. The value must be from 0.0 to
|
10519
|
+
# 100.0 inclusive.
|
10103
10520
|
# Corresponds to the JSON property `percentage`
|
10104
10521
|
# @return [Float]
|
10105
10522
|
attr_accessor :percentage
|
@@ -10118,9 +10535,9 @@ module Google
|
|
10118
10535
|
# The specification for fault injection introduced into traffic to test the
|
10119
10536
|
# resiliency of clients to backend service failure. As part of fault injection,
|
10120
10537
|
# when clients send requests to a backend service, delays can be introduced by
|
10121
|
-
#
|
10122
|
-
# backend service. Similarly requests from clients can be aborted by the
|
10123
|
-
#
|
10538
|
+
# the load balancer on a percentage of requests before sending those request to
|
10539
|
+
# the backend service. Similarly requests from clients can be aborted by the
|
10540
|
+
# load balancer for a percentage of requests.
|
10124
10541
|
class HttpFaultInjection
|
10125
10542
|
include Google::Apis::Core::Hashable
|
10126
10543
|
|
@@ -10129,8 +10546,8 @@ module Google
|
|
10129
10546
|
# @return [Google::Apis::ComputeV1::HttpFaultAbort]
|
10130
10547
|
attr_accessor :abort
|
10131
10548
|
|
10132
|
-
# Specifies the delay introduced by
|
10133
|
-
# to the backend service as part of fault injection.
|
10549
|
+
# Specifies the delay introduced by the load balancer before forwarding the
|
10550
|
+
# request to the backend service as part of fault injection.
|
10134
10551
|
# Corresponds to the JSON property `delay`
|
10135
10552
|
# @return [Google::Apis::ComputeV1::HttpFaultDelay]
|
10136
10553
|
attr_accessor :delay
|
@@ -10151,25 +10568,25 @@ module Google
|
|
10151
10568
|
class HttpHeaderAction
|
10152
10569
|
include Google::Apis::Core::Hashable
|
10153
10570
|
|
10154
|
-
# Headers to add to a matching request
|
10571
|
+
# Headers to add to a matching request before forwarding the request to the
|
10155
10572
|
# backendService.
|
10156
10573
|
# Corresponds to the JSON property `requestHeadersToAdd`
|
10157
10574
|
# @return [Array<Google::Apis::ComputeV1::HttpHeaderOption>]
|
10158
10575
|
attr_accessor :request_headers_to_add
|
10159
10576
|
|
10160
10577
|
# A list of header names for headers that need to be removed from the request
|
10161
|
-
#
|
10578
|
+
# before forwarding the request to the backendService.
|
10162
10579
|
# Corresponds to the JSON property `requestHeadersToRemove`
|
10163
10580
|
# @return [Array<String>]
|
10164
10581
|
attr_accessor :request_headers_to_remove
|
10165
10582
|
|
10166
|
-
# Headers to add the response
|
10583
|
+
# Headers to add the response before sending the response back to the client.
|
10167
10584
|
# Corresponds to the JSON property `responseHeadersToAdd`
|
10168
10585
|
# @return [Array<Google::Apis::ComputeV1::HttpHeaderOption>]
|
10169
10586
|
attr_accessor :response_headers_to_add
|
10170
10587
|
|
10171
10588
|
# A list of header names for headers that need to be removed from the response
|
10172
|
-
#
|
10589
|
+
# before sending the response back to the client.
|
10173
10590
|
# Corresponds to the JSON property `responseHeadersToRemove`
|
10174
10591
|
# @return [Array<String>]
|
10175
10592
|
attr_accessor :response_headers_to_remove
|
@@ -10199,21 +10616,21 @@ module Google
|
|
10199
10616
|
|
10200
10617
|
# The name of the HTTP header to match. For matching against the HTTP request's
|
10201
10618
|
# authority, use a headerMatch with the header name ":authority". For matching a
|
10202
|
-
# request's method, use the headerName ":method". When the URL map is bound to
|
10203
|
-
# target gRPC proxy that has validateForProxyless field set to true, only
|
10204
|
-
# binary user-specified custom metadata and the `content-type` header are
|
10619
|
+
# request's method, use the headerName ":method". When the URL map is bound to a
|
10620
|
+
# target gRPC proxy that has the validateForProxyless field set to true, only
|
10621
|
+
# non-binary user-specified custom metadata and the `content-type` header are
|
10205
10622
|
# supported. The following transport-level headers cannot be used in header
|
10206
10623
|
# matching rules: `:authority`, `:method`, `:path`, `:scheme`, `user-agent`, `
|
10207
10624
|
# accept-encoding`, `content-encoding`, `grpc-accept-encoding`, `grpc-encoding`,
|
10208
10625
|
# `grpc-previous-rpc-attempts`, `grpc-tags-bin`, `grpc-timeout` and `grpc-trace-
|
10209
|
-
# bin
|
10626
|
+
# bin`.
|
10210
10627
|
# Corresponds to the JSON property `headerName`
|
10211
10628
|
# @return [String]
|
10212
10629
|
attr_accessor :header_name
|
10213
10630
|
|
10214
|
-
# If set to false, the headerMatch is considered a match if the match
|
10215
|
-
#
|
10216
|
-
# match criteria
|
10631
|
+
# If set to false, the headerMatch is considered a match if the preceding match
|
10632
|
+
# criteria are met. If set to true, the headerMatch is considered a match if the
|
10633
|
+
# preceding match criteria are NOT met. The default setting is false.
|
10217
10634
|
# Corresponds to the JSON property `invertMatch`
|
10218
10635
|
# @return [Boolean]
|
10219
10636
|
attr_accessor :invert_match
|
@@ -10241,13 +10658,13 @@ module Google
|
|
10241
10658
|
attr_accessor :range_match
|
10242
10659
|
|
10243
10660
|
# The value of the header must match the regular expression specified in
|
10244
|
-
# regexMatch. For regular expression
|
10245
|
-
#
|
10246
|
-
#
|
10247
|
-
#
|
10248
|
-
#
|
10249
|
-
#
|
10250
|
-
#
|
10661
|
+
# regexMatch. For more information about regular expression syntax, see Syntax.
|
10662
|
+
# For matching against a port specified in the HTTP request, use a headerMatch
|
10663
|
+
# with headerName set to PORT and a regular expression that satisfies the
|
10664
|
+
# RFC2616 Host header's port specifier. Only one of exactMatch, prefixMatch,
|
10665
|
+
# suffixMatch, regexMatch, presentMatch or rangeMatch must be set. regexMatch
|
10666
|
+
# only applies to load balancers that have loadBalancingScheme set to
|
10667
|
+
# INTERNAL_SELF_MANAGED.
|
10251
10668
|
# Corresponds to the JSON property `regexMatch`
|
10252
10669
|
# @return [String]
|
10253
10670
|
attr_accessor :regex_match
|
@@ -10542,8 +10959,8 @@ module Google
|
|
10542
10959
|
include Google::Apis::Core::Hashable
|
10543
10960
|
|
10544
10961
|
# The queryParameterMatch matches if the value of the parameter exactly matches
|
10545
|
-
# the contents of exactMatch. Only one of presentMatch, exactMatch or
|
10546
|
-
# must be set.
|
10962
|
+
# the contents of exactMatch. Only one of presentMatch, exactMatch, or
|
10963
|
+
# regexMatch must be set.
|
10547
10964
|
# Corresponds to the JSON property `exactMatch`
|
10548
10965
|
# @return [String]
|
10549
10966
|
attr_accessor :exact_match
|
@@ -10556,17 +10973,17 @@ module Google
|
|
10556
10973
|
|
10557
10974
|
# Specifies that the queryParameterMatch matches if the request contains the
|
10558
10975
|
# query parameter, irrespective of whether the parameter has a value or not.
|
10559
|
-
# Only one of presentMatch, exactMatch or regexMatch must be set.
|
10976
|
+
# Only one of presentMatch, exactMatch, or regexMatch must be set.
|
10560
10977
|
# Corresponds to the JSON property `presentMatch`
|
10561
10978
|
# @return [Boolean]
|
10562
10979
|
attr_accessor :present_match
|
10563
10980
|
alias_method :present_match?, :present_match
|
10564
10981
|
|
10565
10982
|
# The queryParameterMatch matches if the value of the parameter matches the
|
10566
|
-
# regular expression specified by regexMatch. For
|
10567
|
-
#
|
10568
|
-
#
|
10569
|
-
#
|
10983
|
+
# regular expression specified by regexMatch. For more information about regular
|
10984
|
+
# expression syntax, see Syntax. Only one of presentMatch, exactMatch, or
|
10985
|
+
# regexMatch must be set. regexMatch only applies when the loadBalancingScheme
|
10986
|
+
# is set to INTERNAL_SELF_MANAGED.
|
10570
10987
|
# Corresponds to the JSON property `regexMatch`
|
10571
10988
|
# @return [String]
|
10572
10989
|
attr_accessor :regex_match
|
@@ -10588,15 +11005,15 @@ module Google
|
|
10588
11005
|
class HttpRedirectAction
|
10589
11006
|
include Google::Apis::Core::Hashable
|
10590
11007
|
|
10591
|
-
# The host that
|
10592
|
-
#
|
11008
|
+
# The host that is used in the redirect response instead of the one that was
|
11009
|
+
# supplied in the request. The value must be from 1 to 255 characters.
|
10593
11010
|
# Corresponds to the JSON property `hostRedirect`
|
10594
11011
|
# @return [String]
|
10595
11012
|
attr_accessor :host_redirect
|
10596
11013
|
|
10597
|
-
# If set to true, the URL scheme in the redirected request is set to
|
10598
|
-
# set to false, the URL scheme of the redirected request
|
10599
|
-
# that of the request. This must only be set for
|
11014
|
+
# If set to true, the URL scheme in the redirected request is set to HTTPS. If
|
11015
|
+
# set to false, the URL scheme of the redirected request remains the same as
|
11016
|
+
# that of the request. This must only be set for URL maps used in
|
10600
11017
|
# TargetHttpProxys. Setting this true for TargetHttpsProxy is not permitted. The
|
10601
11018
|
# default is set to false.
|
10602
11019
|
# Corresponds to the JSON property `httpsRedirect`
|
@@ -10604,11 +11021,11 @@ module Google
|
|
10604
11021
|
attr_accessor :https_redirect
|
10605
11022
|
alias_method :https_redirect?, :https_redirect
|
10606
11023
|
|
10607
|
-
# The path that
|
10608
|
-
#
|
11024
|
+
# The path that is used in the redirect response instead of the one that was
|
11025
|
+
# supplied in the request. pathRedirect cannot be supplied together with
|
10609
11026
|
# prefixRedirect. Supply one alone or neither. If neither is supplied, the path
|
10610
|
-
# of the original request
|
10611
|
-
#
|
11027
|
+
# of the original request is used for the redirect. The value must be from 1 to
|
11028
|
+
# 1024 characters.
|
10612
11029
|
# Corresponds to the JSON property `pathRedirect`
|
10613
11030
|
# @return [String]
|
10614
11031
|
attr_accessor :path_redirect
|
@@ -10616,8 +11033,8 @@ module Google
|
|
10616
11033
|
# The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
|
10617
11034
|
# retaining the remaining portion of the URL before redirecting the request.
|
10618
11035
|
# prefixRedirect cannot be supplied together with pathRedirect. Supply one alone
|
10619
|
-
# or neither. If neither is supplied, the path of the original request
|
10620
|
-
#
|
11036
|
+
# or neither. If neither is supplied, the path of the original request is used
|
11037
|
+
# for the redirect. The value must be from 1 to 1024 characters.
|
10621
11038
|
# Corresponds to the JSON property `prefixRedirect`
|
10622
11039
|
# @return [String]
|
10623
11040
|
attr_accessor :prefix_redirect
|
@@ -10626,14 +11043,14 @@ module Google
|
|
10626
11043
|
# MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. -
|
10627
11044
|
# FOUND, which corresponds to 302. - SEE_OTHER which corresponds to 303. -
|
10628
11045
|
# TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
|
10629
|
-
#
|
10630
|
-
#
|
11046
|
+
# is retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the
|
11047
|
+
# request method is retained.
|
10631
11048
|
# Corresponds to the JSON property `redirectResponseCode`
|
10632
11049
|
# @return [String]
|
10633
11050
|
attr_accessor :redirect_response_code
|
10634
11051
|
|
10635
11052
|
# If set to true, any accompanying query portion of the original URL is removed
|
10636
|
-
#
|
11053
|
+
# before redirecting the request. If set to false, the query portion of the
|
10637
11054
|
# original URL is retained. The default is set to false.
|
10638
11055
|
# Corresponds to the JSON property `stripQuery`
|
10639
11056
|
# @return [Boolean]
|
@@ -10674,25 +11091,27 @@ module Google
|
|
10674
11091
|
attr_accessor :per_try_timeout
|
10675
11092
|
|
10676
11093
|
# Specifies one or more conditions when this retry policy applies. Valid values
|
10677
|
-
# are: - 5xx:
|
10678
|
-
#
|
10679
|
-
# example
|
11094
|
+
# are: - 5xx: retry is attempted if the instance or endpoint responds with any
|
11095
|
+
# 5xx response code, or if the instance or endpoint does not respond at all. For
|
11096
|
+
# example, disconnects, reset, read timeout, connection failure, and refused
|
10680
11097
|
# streams. - gateway-error: Similar to 5xx, but only applies to response codes
|
10681
|
-
# 502, 503 or 504. -
|
10682
|
-
# connecting to the instance or endpoint
|
10683
|
-
#
|
10684
|
-
#
|
10685
|
-
#
|
10686
|
-
#
|
10687
|
-
#
|
10688
|
-
#
|
10689
|
-
#
|
10690
|
-
#
|
10691
|
-
#
|
10692
|
-
#
|
10693
|
-
#
|
10694
|
-
#
|
10695
|
-
#
|
11098
|
+
# 502, 503 or 504. - connect-failure: a retry is attempted on failures
|
11099
|
+
# connecting to the instance or endpoint. For example, connection timeouts. -
|
11100
|
+
# retriable-4xx: a retry is attempted if the instance or endpoint responds with
|
11101
|
+
# a 4xx response code. The only error that you can retry is error code 409. -
|
11102
|
+
# refused-stream: a retry is attempted if the instance or endpoint resets the
|
11103
|
+
# stream with a REFUSED_STREAM error code. This reset type indicates that it is
|
11104
|
+
# safe to retry. - cancelled: a retry is attempted if the gRPC status code in
|
11105
|
+
# the response header is set to cancelled. - deadline-exceeded: a retry is
|
11106
|
+
# attempted if the gRPC status code in the response header is set to deadline-
|
11107
|
+
# exceeded. - internal: a retry is attempted if the gRPC status code in the
|
11108
|
+
# response header is set to internal. - resource-exhausted: a retry is attempted
|
11109
|
+
# if the gRPC status code in the response header is set to resource-exhausted. -
|
11110
|
+
# unavailable: a retry is attempted if the gRPC status code in the response
|
11111
|
+
# header is set to unavailable. Only the following codes are supported when the
|
11112
|
+
# URL map is bound to target gRPC proxy that has validateForProxyless field set
|
11113
|
+
# to true. - cancelled - deadline-exceeded - internal - resource-exhausted -
|
11114
|
+
# unavailable
|
10696
11115
|
# Corresponds to the JSON property `retryConditions`
|
10697
11116
|
# @return [Array<String>]
|
10698
11117
|
attr_accessor :retry_conditions
|
@@ -10713,8 +11132,9 @@ module Google
|
|
10713
11132
|
class HttpRouteAction
|
10714
11133
|
include Google::Apis::Core::Hashable
|
10715
11134
|
|
10716
|
-
# The specification for allowing client
|
10717
|
-
# W3C
|
11135
|
+
# The specification for allowing client-side cross-origin requests. For more
|
11136
|
+
# information about the W3C recommendation for cross-origin resource sharing (
|
11137
|
+
# CORS), see Fetch API Living Standard.
|
10718
11138
|
# Corresponds to the JSON property `corsPolicy`
|
10719
11139
|
# @return [Google::Apis::ComputeV1::CorsPolicy]
|
10720
11140
|
attr_accessor :cors_policy
|
@@ -10722,9 +11142,9 @@ module Google
|
|
10722
11142
|
# The specification for fault injection introduced into traffic to test the
|
10723
11143
|
# resiliency of clients to backend service failure. As part of fault injection,
|
10724
11144
|
# when clients send requests to a backend service, delays can be introduced by
|
10725
|
-
#
|
10726
|
-
# backend service. Similarly requests from clients can be aborted by the
|
10727
|
-
#
|
11145
|
+
# the load balancer on a percentage of requests before sending those request to
|
11146
|
+
# the backend service. Similarly requests from clients can be aborted by the
|
11147
|
+
# load balancer for a percentage of requests.
|
10728
11148
|
# Corresponds to the JSON property `faultInjectionPolicy`
|
10729
11149
|
# @return [Google::Apis::ComputeV1::HttpFaultInjection]
|
10730
11150
|
attr_accessor :fault_injection_policy
|
@@ -10738,9 +11158,9 @@ module Google
|
|
10738
11158
|
attr_accessor :max_stream_duration
|
10739
11159
|
|
10740
11160
|
# A policy that specifies how requests intended for the route's backends are
|
10741
|
-
# shadowed to a separate mirrored backend service.
|
10742
|
-
# for responses from the shadow service.
|
10743
|
-
# service, the host
|
11161
|
+
# shadowed to a separate mirrored backend service. The load balancer doesn't
|
11162
|
+
# wait for responses from the shadow service. Before sending traffic to the
|
11163
|
+
# shadow service, the host or authority header is suffixed with -shadow.
|
10744
11164
|
# Corresponds to the JSON property `requestMirrorPolicy`
|
10745
11165
|
# @return [Google::Apis::ComputeV1::RequestMirrorPolicy]
|
10746
11166
|
attr_accessor :request_mirror_policy
|
@@ -10768,7 +11188,7 @@ module Google
|
|
10768
11188
|
# occurs. The weights determine the fraction of traffic that flows to their
|
10769
11189
|
# corresponding backend service. If all traffic needs to go to a single backend
|
10770
11190
|
# service, there must be one weightedBackendService with weight set to a non-
|
10771
|
-
# zero number.
|
11191
|
+
# zero number. After a backend service is identified and before forwarding the
|
10772
11192
|
# request to the backend service, advanced routing actions such as URL rewrites
|
10773
11193
|
# and header transformations are applied depending on additional settings
|
10774
11194
|
# specified in this HttpRouteAction.
|
@@ -10793,8 +11213,8 @@ module Google
|
|
10793
11213
|
end
|
10794
11214
|
end
|
10795
11215
|
|
10796
|
-
#
|
10797
|
-
# routing action that load balancing proxies
|
11216
|
+
# The HttpRouteRule setting specifies how to match an HTTP request and the
|
11217
|
+
# corresponding routing action that load balancing proxies perform.
|
10798
11218
|
class HttpRouteRule
|
10799
11219
|
include Google::Apis::Core::Hashable
|
10800
11220
|
|
@@ -10820,11 +11240,11 @@ module Google
|
|
10820
11240
|
attr_accessor :match_rules
|
10821
11241
|
|
10822
11242
|
# For routeRules within a given pathMatcher, priority determines the order in
|
10823
|
-
# which load balancer
|
10824
|
-
#
|
11243
|
+
# which a load balancer interprets routeRules. RouteRules are evaluated in order
|
11244
|
+
# of priority, from the lowest to highest number. The priority of a rule
|
10825
11245
|
# decreases as its number increases (1, 2, 3, N+1). The first rule that matches
|
10826
11246
|
# the request is applied. You cannot configure two or more routeRules with the
|
10827
|
-
# same priority. Priority for each rule must be set to a number
|
11247
|
+
# same priority. Priority for each rule must be set to a number from 0 to
|
10828
11248
|
# 2147483647 inclusive. Priority numbers can have gaps, which enable you to add
|
10829
11249
|
# or remove rules in the future without affecting the rest of the rules. For
|
10830
11250
|
# example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to
|
@@ -10835,24 +11255,24 @@ module Google
|
|
10835
11255
|
attr_accessor :priority
|
10836
11256
|
|
10837
11257
|
# In response to a matching matchRule, the load balancer performs advanced
|
10838
|
-
# routing actions
|
11258
|
+
# routing actions, such as URL rewrites and header transformations, before
|
10839
11259
|
# forwarding the request to the selected backend. If routeAction specifies any
|
10840
11260
|
# weightedBackendServices, service must not be set. Conversely if service is set,
|
10841
11261
|
# routeAction cannot contain any weightedBackendServices. Only one of
|
10842
11262
|
# urlRedirect, service or routeAction.weightedBackendService must be set.
|
10843
11263
|
# UrlMaps for external HTTP(S) load balancers support only the urlRewrite action
|
10844
|
-
# within a
|
11264
|
+
# within a route rule's routeAction.
|
10845
11265
|
# Corresponds to the JSON property `routeAction`
|
10846
11266
|
# @return [Google::Apis::ComputeV1::HttpRouteAction]
|
10847
11267
|
attr_accessor :route_action
|
10848
11268
|
|
10849
11269
|
# The full or partial URL of the backend service resource to which traffic is
|
10850
|
-
# directed if this rule is matched. If routeAction is
|
10851
|
-
#
|
10852
|
-
#
|
10853
|
-
#
|
10854
|
-
#
|
10855
|
-
#
|
11270
|
+
# directed if this rule is matched. If routeAction is also specified, advanced
|
11271
|
+
# routing actions, such as URL rewrites, take effect before sending the request
|
11272
|
+
# to the backend. However, if service is specified, routeAction cannot contain
|
11273
|
+
# any weightedBackendServices. Conversely, if routeAction specifies any
|
11274
|
+
# weightedBackendServices, service must not be specified. Only one of
|
11275
|
+
# urlRedirect, service or routeAction.weightedBackendService must be set.
|
10856
11276
|
# Corresponds to the JSON property `service`
|
10857
11277
|
# @return [String]
|
10858
11278
|
attr_accessor :service
|
@@ -10885,9 +11305,9 @@ module Google
|
|
10885
11305
|
|
10886
11306
|
# For satisfying the matchRule condition, the path of the request must exactly
|
10887
11307
|
# match the value specified in fullPathMatch after removing any query parameters
|
10888
|
-
# and anchor that may be part of the original URL. fullPathMatch must be
|
10889
|
-
#
|
10890
|
-
#
|
11308
|
+
# and anchor that may be part of the original URL. fullPathMatch must be from 1
|
11309
|
+
# to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
|
11310
|
+
# be specified.
|
10891
11311
|
# Corresponds to the JSON property `fullPathMatch`
|
10892
11312
|
# @return [String]
|
10893
11313
|
attr_accessor :full_path_match
|
@@ -10900,53 +11320,52 @@ module Google
|
|
10900
11320
|
|
10901
11321
|
# Specifies that prefixMatch and fullPathMatch matches are case sensitive. The
|
10902
11322
|
# default value is false. ignoreCase must not be used with regexMatch. Not
|
10903
|
-
# supported when the URL map is bound to target gRPC proxy.
|
11323
|
+
# supported when the URL map is bound to a target gRPC proxy.
|
10904
11324
|
# Corresponds to the JSON property `ignoreCase`
|
10905
11325
|
# @return [Boolean]
|
10906
11326
|
attr_accessor :ignore_case
|
10907
11327
|
alias_method :ignore_case?, :ignore_case
|
10908
11328
|
|
10909
|
-
# Opaque filter criteria used by
|
10910
|
-
# to a limited set of xDS compliant clients. In their xDS requests
|
10911
|
-
#
|
10912
|
-
# relevant routing configuration is made available to those proxies. For
|
10913
|
-
# metadataFilter in this list, if its filterMatchCriteria is set to
|
10914
|
-
# at least one of the filterLabels must match the corresponding label
|
10915
|
-
# in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
|
10916
|
-
# its filterLabels must match with corresponding labels provided in the
|
10917
|
-
# If multiple
|
10918
|
-
# in order to be considered a match. metadataFilters specified here
|
11329
|
+
# Opaque filter criteria used by the load balancer to restrict routing
|
11330
|
+
# configuration to a limited set of xDS compliant clients. In their xDS requests
|
11331
|
+
# to the load balancer, xDS clients present node metadata. When there is a match,
|
11332
|
+
# the relevant routing configuration is made available to those proxies. For
|
11333
|
+
# each metadataFilter in this list, if its filterMatchCriteria is set to
|
11334
|
+
# MATCH_ANY, at least one of the filterLabels must match the corresponding label
|
11335
|
+
# provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
|
11336
|
+
# all of its filterLabels must match with corresponding labels provided in the
|
11337
|
+
# metadata. If multiple metadata filters are specified, all of them need to be
|
11338
|
+
# satisfied in order to be considered a match. metadataFilters specified here is
|
10919
11339
|
# applied after those specified in ForwardingRule that refers to the UrlMap this
|
10920
|
-
# HttpRouteRuleMatch belongs to. metadataFilters only applies to
|
10921
|
-
# that have
|
10922
|
-
#
|
10923
|
-
#
|
11340
|
+
# HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers
|
11341
|
+
# that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when
|
11342
|
+
# the URL map is bound to a target gRPC proxy that has validateForProxyless
|
11343
|
+
# field set to true.
|
10924
11344
|
# Corresponds to the JSON property `metadataFilters`
|
10925
11345
|
# @return [Array<Google::Apis::ComputeV1::MetadataFilter>]
|
10926
11346
|
attr_accessor :metadata_filters
|
10927
11347
|
|
10928
11348
|
# For satisfying the matchRule condition, the request's path must begin with the
|
10929
|
-
# specified prefixMatch. prefixMatch must begin with a /. The value must be
|
10930
|
-
#
|
10931
|
-
#
|
11349
|
+
# specified prefixMatch. prefixMatch must begin with a /. The value must be from
|
11350
|
+
# 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
|
11351
|
+
# must be specified.
|
10932
11352
|
# Corresponds to the JSON property `prefixMatch`
|
10933
11353
|
# @return [String]
|
10934
11354
|
attr_accessor :prefix_match
|
10935
11355
|
|
10936
11356
|
# Specifies a list of query parameter match criteria, all of which must match
|
10937
11357
|
# corresponding query parameters in the request. Not supported when the URL map
|
10938
|
-
# is bound to target gRPC proxy.
|
11358
|
+
# is bound to a target gRPC proxy.
|
10939
11359
|
# Corresponds to the JSON property `queryParameterMatches`
|
10940
11360
|
# @return [Array<Google::Apis::ComputeV1::HttpQueryParameterMatch>]
|
10941
11361
|
attr_accessor :query_parameter_matches
|
10942
11362
|
|
10943
11363
|
# For satisfying the matchRule condition, the path of the request must satisfy
|
10944
11364
|
# the regular expression specified in regexMatch after removing any query
|
10945
|
-
# parameters and anchor supplied with the original URL. For
|
10946
|
-
#
|
10947
|
-
# fullPathMatch or regexMatch must be specified.
|
10948
|
-
#
|
10949
|
-
# INTERNAL_SELF_MANAGED.
|
11365
|
+
# parameters and anchor supplied with the original URL. For more information
|
11366
|
+
# about regular expression syntax, see Syntax. Only one of prefixMatch,
|
11367
|
+
# fullPathMatch or regexMatch must be specified. regexMatch only applies to load
|
11368
|
+
# balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED.
|
10950
11369
|
# Corresponds to the JSON property `regexMatch`
|
10951
11370
|
# @return [String]
|
10952
11371
|
attr_accessor :regex_match
|
@@ -11234,8 +11653,8 @@ module Google
|
|
11234
11653
|
attr_accessor :family
|
11235
11654
|
|
11236
11655
|
# A list of features to enable on the guest operating system. Applicable only
|
11237
|
-
# for bootable images.
|
11238
|
-
#
|
11656
|
+
# for bootable images. To see a list of available options, see the
|
11657
|
+
# guestOSfeatures[].type parameter.
|
11239
11658
|
# Corresponds to the JSON property `guestOsFeatures`
|
11240
11659
|
# @return [Array<Google::Apis::ComputeV1::GuestOsFeature>]
|
11241
11660
|
attr_accessor :guest_os_features
|
@@ -11838,6 +12257,11 @@ module Google
|
|
11838
12257
|
# @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
|
11839
12258
|
attr_accessor :network_interfaces
|
11840
12259
|
|
12260
|
+
#
|
12261
|
+
# Corresponds to the JSON property `networkPerformanceConfig`
|
12262
|
+
# @return [Google::Apis::ComputeV1::NetworkPerformanceConfig]
|
12263
|
+
attr_accessor :network_performance_config
|
12264
|
+
|
11841
12265
|
# The private IPv6 google access type for the VM. If not specified, use
|
11842
12266
|
# INHERIT_FROM_SUBNETWORK as default.
|
11843
12267
|
# Corresponds to the JSON property `privateIpv6GoogleAccess`
|
@@ -11890,6 +12314,17 @@ module Google
|
|
11890
12314
|
# @return [Google::Apis::ComputeV1::ShieldedInstanceIntegrityPolicy]
|
11891
12315
|
attr_accessor :shielded_instance_integrity_policy
|
11892
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
|
+
|
11893
12328
|
# [Output Only] Whether a VM has been restricted for start because Compute
|
11894
12329
|
# Engine has detected suspicious activity.
|
11895
12330
|
# Corresponds to the JSON property `startRestricted`
|
@@ -11952,6 +12387,7 @@ module Google
|
|
11952
12387
|
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
11953
12388
|
@name = args[:name] if args.key?(:name)
|
11954
12389
|
@network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
|
12390
|
+
@network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
|
11955
12391
|
@private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
|
11956
12392
|
@reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
|
11957
12393
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
@@ -11961,6 +12397,8 @@ module Google
|
|
11961
12397
|
@service_accounts = args[:service_accounts] if args.key?(:service_accounts)
|
11962
12398
|
@shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
|
11963
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)
|
11964
12402
|
@start_restricted = args[:start_restricted] if args.key?(:start_restricted)
|
11965
12403
|
@status = args[:status] if args.key?(:status)
|
11966
12404
|
@status_message = args[:status_message] if args.key?(:status_message)
|
@@ -13145,6 +13583,17 @@ module Google
|
|
13145
13583
|
# @return [String]
|
13146
13584
|
attr_accessor :minimal_action
|
13147
13585
|
|
13586
|
+
# Most disruptive action that is allowed to be taken on an instance. You can
|
13587
|
+
# specify either NONE to forbid any actions, REFRESH to allow actions that do
|
13588
|
+
# not need instance restart, RESTART to allow actions that can be applied
|
13589
|
+
# without instance replacing or REPLACE to allow all possible actions. If the
|
13590
|
+
# Updater determines that the minimal update action needed is more disruptive
|
13591
|
+
# than most disruptive allowed action you specify it will not perform the update
|
13592
|
+
# at all.
|
13593
|
+
# Corresponds to the JSON property `mostDisruptiveAllowedAction`
|
13594
|
+
# @return [String]
|
13595
|
+
attr_accessor :most_disruptive_allowed_action
|
13596
|
+
|
13148
13597
|
# What action should be used to replace instances. See minimal_action.REPLACE
|
13149
13598
|
# Corresponds to the JSON property `replacementMethod`
|
13150
13599
|
# @return [String]
|
@@ -13169,6 +13618,7 @@ module Google
|
|
13169
13618
|
@max_surge = args[:max_surge] if args.key?(:max_surge)
|
13170
13619
|
@max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
|
13171
13620
|
@minimal_action = args[:minimal_action] if args.key?(:minimal_action)
|
13621
|
+
@most_disruptive_allowed_action = args[:most_disruptive_allowed_action] if args.key?(:most_disruptive_allowed_action)
|
13172
13622
|
@replacement_method = args[:replacement_method] if args.key?(:replacement_method)
|
13173
13623
|
@type = args[:type] if args.key?(:type)
|
13174
13624
|
end
|
@@ -14459,8 +14909,14 @@ module Google
|
|
14459
14909
|
# @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
|
14460
14910
|
attr_accessor :network_interfaces
|
14461
14911
|
|
14912
|
+
# Note that for MachineImage, this is not supported yet.
|
14913
|
+
# Corresponds to the JSON property `networkPerformanceConfig`
|
14914
|
+
# @return [Google::Apis::ComputeV1::NetworkPerformanceConfig]
|
14915
|
+
attr_accessor :network_performance_config
|
14916
|
+
|
14462
14917
|
# The private IPv6 google access type for VMs. If not specified, use
|
14463
|
-
# INHERIT_FROM_SUBNETWORK as default.
|
14918
|
+
# INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not
|
14919
|
+
# supported yet.
|
14464
14920
|
# Corresponds to the JSON property `privateIpv6GoogleAccess`
|
14465
14921
|
# @return [String]
|
14466
14922
|
attr_accessor :private_ipv6_google_access
|
@@ -14471,7 +14927,7 @@ module Google
|
|
14471
14927
|
attr_accessor :reservation_affinity
|
14472
14928
|
|
14473
14929
|
# Resource policies (names, not ULRs) applied to instances created from these
|
14474
|
-
# properties.
|
14930
|
+
# properties. Note that for MachineImage, this is not supported yet.
|
14475
14931
|
# Corresponds to the JSON property `resourcePolicies`
|
14476
14932
|
# @return [Array<String>]
|
14477
14933
|
attr_accessor :resource_policies
|
@@ -14516,6 +14972,7 @@ module Google
|
|
14516
14972
|
@metadata = args[:metadata] if args.key?(:metadata)
|
14517
14973
|
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
14518
14974
|
@network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
|
14975
|
+
@network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
|
14519
14976
|
@private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
|
14520
14977
|
@reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
|
14521
14978
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
@@ -15278,6 +15735,14 @@ module Google
|
|
15278
15735
|
# @return [Fixnum]
|
15279
15736
|
attr_accessor :requested_link_count
|
15280
15737
|
|
15738
|
+
# [Output Only] Set to true if the resource satisfies the zone separation
|
15739
|
+
# organization policy constraints and false otherwise. Defaults to false if the
|
15740
|
+
# field is not present.
|
15741
|
+
# Corresponds to the JSON property `satisfiesPzs`
|
15742
|
+
# @return [Boolean]
|
15743
|
+
attr_accessor :satisfies_pzs
|
15744
|
+
alias_method :satisfies_pzs?, :satisfies_pzs
|
15745
|
+
|
15281
15746
|
# [Output Only] Server-defined URL for the resource.
|
15282
15747
|
# Corresponds to the JSON property `selfLink`
|
15283
15748
|
# @return [String]
|
@@ -15320,6 +15785,7 @@ module Google
|
|
15320
15785
|
@peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
|
15321
15786
|
@provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count)
|
15322
15787
|
@requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
|
15788
|
+
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
15323
15789
|
@self_link = args[:self_link] if args.key?(:self_link)
|
15324
15790
|
@state = args[:state] if args.key?(:state)
|
15325
15791
|
end
|
@@ -15380,7 +15846,10 @@ module Google
|
|
15380
15846
|
# @return [String]
|
15381
15847
|
attr_accessor :customer_router_ip_address
|
15382
15848
|
|
15383
|
-
# [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.
|
15384
15853
|
# Corresponds to the JSON property `dataplaneVersion`
|
15385
15854
|
# @return [Fixnum]
|
15386
15855
|
attr_accessor :dataplane_version
|
@@ -15526,6 +15995,14 @@ module Google
|
|
15526
15995
|
# @return [String]
|
15527
15996
|
attr_accessor :router
|
15528
15997
|
|
15998
|
+
# [Output Only] Set to true if the resource satisfies the zone separation
|
15999
|
+
# organization policy constraints and false otherwise. Defaults to false if the
|
16000
|
+
# field is not present.
|
16001
|
+
# Corresponds to the JSON property `satisfiesPzs`
|
16002
|
+
# @return [Boolean]
|
16003
|
+
attr_accessor :satisfies_pzs
|
16004
|
+
alias_method :satisfies_pzs?, :satisfies_pzs
|
16005
|
+
|
15529
16006
|
# [Output Only] Server-defined URL for the resource.
|
15530
16007
|
# Corresponds to the JSON property `selfLink`
|
15531
16008
|
# @return [String]
|
@@ -15595,6 +16072,7 @@ module Google
|
|
15595
16072
|
@private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
|
15596
16073
|
@region = args[:region] if args.key?(:region)
|
15597
16074
|
@router = args[:router] if args.key?(:router)
|
16075
|
+
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
15598
16076
|
@self_link = args[:self_link] if args.key?(:self_link)
|
15599
16077
|
@state = args[:state] if args.key?(:state)
|
15600
16078
|
@type = args[:type] if args.key?(:type)
|
@@ -16422,6 +16900,13 @@ module Google
|
|
16422
16900
|
# @return [String]
|
16423
16901
|
attr_accessor :status
|
16424
16902
|
|
16903
|
+
# [Output Only] Set to true for locations that support physical zone separation.
|
16904
|
+
# Defaults to false if the field is not present.
|
16905
|
+
# Corresponds to the JSON property `supportsPzs`
|
16906
|
+
# @return [Boolean]
|
16907
|
+
attr_accessor :supports_pzs
|
16908
|
+
alias_method :supports_pzs?, :supports_pzs
|
16909
|
+
|
16425
16910
|
def initialize(**args)
|
16426
16911
|
update!(**args)
|
16427
16912
|
end
|
@@ -16443,6 +16928,7 @@ module Google
|
|
16443
16928
|
@region_infos = args[:region_infos] if args.key?(:region_infos)
|
16444
16929
|
@self_link = args[:self_link] if args.key?(:self_link)
|
16445
16930
|
@status = args[:status] if args.key?(:status)
|
16931
|
+
@supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
|
16446
16932
|
end
|
16447
16933
|
end
|
16448
16934
|
|
@@ -17249,6 +17735,272 @@ module Google
|
|
17249
17735
|
end
|
17250
17736
|
end
|
17251
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
|
+
|
17252
18004
|
# Represents a Machine Type resource. You can use specific machine types for
|
17253
18005
|
# your VM instances based on performance and pricing requirements. For more
|
17254
18006
|
# information, read Machine Types.
|
@@ -18027,18 +18779,18 @@ module Google
|
|
18027
18779
|
end
|
18028
18780
|
end
|
18029
18781
|
|
18030
|
-
# Opaque filter criteria used by
|
18031
|
-
# to a limited set of
|
18032
|
-
#
|
18033
|
-
# to match criteria specified here. If a match takes place,
|
18034
|
-
# configuration is made available to those proxies. For each
|
18035
|
-
# this list, if its filterMatchCriteria is set to MATCH_ANY,
|
18036
|
-
# filterLabels must match the corresponding label provided
|
18037
|
-
# its filterMatchCriteria is set to MATCH_ALL, then all of
|
18038
|
-
# match with corresponding labels provided in the metadata.
|
18039
|
-
# metadataFilters would be: if
|
18040
|
-
# receive routing configuration when values in metadataFilters
|
18041
|
-
# supplied in of their XDS requests to loadbalancers.
|
18782
|
+
# Opaque filter criteria used by load balancers to restrict routing
|
18783
|
+
# configuration to a limited set of load balancing proxies. Proxies and sidecars
|
18784
|
+
# involved in load balancing would typically present metadata to the load
|
18785
|
+
# balancers that need to match criteria specified here. If a match takes place,
|
18786
|
+
# the relevant configuration is made available to those proxies. For each
|
18787
|
+
# metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY,
|
18788
|
+
# at least one of the filterLabels must match the corresponding label provided
|
18789
|
+
# in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of
|
18790
|
+
# its filterLabels must match with corresponding labels provided in the metadata.
|
18791
|
+
# An example for using metadataFilters would be: if load balancing involves
|
18792
|
+
# Envoys, they receive routing configuration when values in metadataFilters
|
18793
|
+
# match values supplied in of their XDS requests to loadbalancers.
|
18042
18794
|
class MetadataFilter
|
18043
18795
|
include Google::Apis::Core::Hashable
|
18044
18796
|
|
@@ -18049,11 +18801,11 @@ module Google
|
|
18049
18801
|
# @return [Array<Google::Apis::ComputeV1::MetadataFilterLabelMatch>]
|
18050
18802
|
attr_accessor :filter_labels
|
18051
18803
|
|
18052
|
-
# Specifies how individual
|
18053
|
-
#
|
18054
|
-
# MATCH_ANY:
|
18055
|
-
# provided metadata. - MATCH_ALL:
|
18056
|
-
# the provided metadata.
|
18804
|
+
# Specifies how individual filter label matches within the list of filterLabels
|
18805
|
+
# and contributes toward the overall metadataFilter match. Supported values are:
|
18806
|
+
# - MATCH_ANY: at least one of the filterLabels must have a matching label in
|
18807
|
+
# the provided metadata. - MATCH_ALL: all filterLabels must have matching labels
|
18808
|
+
# in the provided metadata.
|
18057
18809
|
# Corresponds to the JSON property `filterMatchCriteria`
|
18058
18810
|
# @return [String]
|
18059
18811
|
attr_accessor :filter_match_criteria
|
@@ -18070,7 +18822,7 @@ module Google
|
|
18070
18822
|
end
|
18071
18823
|
|
18072
18824
|
# MetadataFilter label name value pairs that are expected to match corresponding
|
18073
|
-
# labels presented as metadata to the
|
18825
|
+
# labels presented as metadata to the load balancer.
|
18074
18826
|
class MetadataFilterLabelMatch
|
18075
18827
|
include Google::Apis::Core::Hashable
|
18076
18828
|
|
@@ -19139,14 +19891,15 @@ module Google
|
|
19139
19891
|
# @return [String]
|
19140
19892
|
attr_accessor :name
|
19141
19893
|
|
19142
|
-
# URL of the network resource for this instance. When creating an instance,
|
19143
|
-
# neither the network nor the subnetwork is specified, the default network
|
19144
|
-
# global/networks/default is used
|
19145
|
-
#
|
19146
|
-
#
|
19147
|
-
#
|
19148
|
-
#
|
19149
|
-
# global/networks/
|
19894
|
+
# URL of the VPC network resource for this instance. When creating an instance,
|
19895
|
+
# if neither the network nor the subnetwork is specified, the default network
|
19896
|
+
# global/networks/default is used. If the selected project doesn't have the
|
19897
|
+
# default network, you must specify a network or subnet. If the network is not
|
19898
|
+
# specified but the subnetwork is specified, the network is inferred. If you
|
19899
|
+
# specify this property, you can specify the network as a full or partial URL.
|
19900
|
+
# For example, the following are all valid URLs: - https://www.googleapis.com/
|
19901
|
+
# compute/v1/projects/project/global/networks/ network - projects/project/global/
|
19902
|
+
# networks/network - global/networks/default
|
19150
19903
|
# Corresponds to the JSON property `network`
|
19151
19904
|
# @return [String]
|
19152
19905
|
attr_accessor :network
|
@@ -19355,7 +20108,8 @@ module Google
|
|
19355
20108
|
attr_accessor :exchange_subnet_routes
|
19356
20109
|
alias_method :exchange_subnet_routes?, :exchange_subnet_routes
|
19357
20110
|
|
19358
|
-
# Whether to export the custom routes to peer network.
|
20111
|
+
# Whether to export the custom routes to peer network. The default value is
|
20112
|
+
# false.
|
19359
20113
|
# Corresponds to the JSON property `exportCustomRoutes`
|
19360
20114
|
# @return [Boolean]
|
19361
20115
|
attr_accessor :export_custom_routes
|
@@ -19369,7 +20123,8 @@ module Google
|
|
19369
20123
|
attr_accessor :export_subnet_routes_with_public_ip
|
19370
20124
|
alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip
|
19371
20125
|
|
19372
|
-
# Whether to import the custom routes from peer network.
|
20126
|
+
# Whether to import the custom routes from peer network. The default value is
|
20127
|
+
# false.
|
19373
20128
|
# Corresponds to the JSON property `importCustomRoutes`
|
19374
20129
|
# @return [Boolean]
|
19375
20130
|
attr_accessor :import_custom_routes
|
@@ -19437,6 +20192,25 @@ module Google
|
|
19437
20192
|
end
|
19438
20193
|
end
|
19439
20194
|
|
20195
|
+
#
|
20196
|
+
class NetworkPerformanceConfig
|
20197
|
+
include Google::Apis::Core::Hashable
|
20198
|
+
|
20199
|
+
#
|
20200
|
+
# Corresponds to the JSON property `totalEgressBandwidthTier`
|
20201
|
+
# @return [String]
|
20202
|
+
attr_accessor :total_egress_bandwidth_tier
|
20203
|
+
|
20204
|
+
def initialize(**args)
|
20205
|
+
update!(**args)
|
20206
|
+
end
|
20207
|
+
|
20208
|
+
# Update properties of this object
|
20209
|
+
def update!(**args)
|
20210
|
+
@total_egress_bandwidth_tier = args[:total_egress_bandwidth_tier] if args.key?(:total_egress_bandwidth_tier)
|
20211
|
+
end
|
20212
|
+
end
|
20213
|
+
|
19440
20214
|
# A routing configuration attached to a network resource. The message includes
|
19441
20215
|
# the list of routers associated with the network, and a flag indicating the
|
19442
20216
|
# type of routing behavior to enforce network-wide.
|
@@ -22303,6 +23077,55 @@ module Google
|
|
22303
23077
|
end
|
22304
23078
|
end
|
22305
23079
|
|
23080
|
+
# Next free: 7
|
23081
|
+
class PacketIntervals
|
23082
|
+
include Google::Apis::Core::Hashable
|
23083
|
+
|
23084
|
+
# Average observed inter-packet interval in milliseconds.
|
23085
|
+
# Corresponds to the JSON property `avgMs`
|
23086
|
+
# @return [Fixnum]
|
23087
|
+
attr_accessor :avg_ms
|
23088
|
+
|
23089
|
+
# From how long ago in the past these intervals were observed.
|
23090
|
+
# Corresponds to the JSON property `duration`
|
23091
|
+
# @return [String]
|
23092
|
+
attr_accessor :duration
|
23093
|
+
|
23094
|
+
# Maximum observed inter-packet interval in milliseconds.
|
23095
|
+
# Corresponds to the JSON property `maxMs`
|
23096
|
+
# @return [Fixnum]
|
23097
|
+
attr_accessor :max_ms
|
23098
|
+
|
23099
|
+
# Minimum observed inter-packet interval in milliseconds.
|
23100
|
+
# Corresponds to the JSON property `minMs`
|
23101
|
+
# @return [Fixnum]
|
23102
|
+
attr_accessor :min_ms
|
23103
|
+
|
23104
|
+
# Number of inter-packet intervals from which these statistics were derived.
|
23105
|
+
# Corresponds to the JSON property `numIntervals`
|
23106
|
+
# @return [Fixnum]
|
23107
|
+
attr_accessor :num_intervals
|
23108
|
+
|
23109
|
+
# The type of packets for which inter-packet intervals were computed.
|
23110
|
+
# Corresponds to the JSON property `type`
|
23111
|
+
# @return [String]
|
23112
|
+
attr_accessor :type
|
23113
|
+
|
23114
|
+
def initialize(**args)
|
23115
|
+
update!(**args)
|
23116
|
+
end
|
23117
|
+
|
23118
|
+
# Update properties of this object
|
23119
|
+
def update!(**args)
|
23120
|
+
@avg_ms = args[:avg_ms] if args.key?(:avg_ms)
|
23121
|
+
@duration = args[:duration] if args.key?(:duration)
|
23122
|
+
@max_ms = args[:max_ms] if args.key?(:max_ms)
|
23123
|
+
@min_ms = args[:min_ms] if args.key?(:min_ms)
|
23124
|
+
@num_intervals = args[:num_intervals] if args.key?(:num_intervals)
|
23125
|
+
@type = args[:type] if args.key?(:type)
|
23126
|
+
end
|
23127
|
+
end
|
23128
|
+
|
22306
23129
|
# Represents a Packet Mirroring resource. Packet Mirroring clones the traffic of
|
22307
23130
|
# specified instances in your Virtual Private Cloud (VPC) network and forwards
|
22308
23131
|
# it to a collector destination, such as an instance group of an internal TCP/
|
@@ -22928,37 +23751,37 @@ module Google
|
|
22928
23751
|
|
22929
23752
|
# A matcher for the path portion of the URL. The BackendService from the longest-
|
22930
23753
|
# matched rule will serve the URL. If no rule was matched, the default service
|
22931
|
-
#
|
23754
|
+
# is used.
|
22932
23755
|
class PathMatcher
|
22933
23756
|
include Google::Apis::Core::Hashable
|
22934
23757
|
|
22935
23758
|
# defaultRouteAction takes effect when none of the pathRules or routeRules match.
|
22936
|
-
# The load balancer performs advanced routing actions
|
22937
|
-
# transformations,
|
23759
|
+
# The load balancer performs advanced routing actions, such as URL rewrites and
|
23760
|
+
# header transformations, before forwarding the request to the selected backend.
|
22938
23761
|
# If defaultRouteAction specifies any weightedBackendServices, defaultService
|
22939
23762
|
# must not be set. Conversely if defaultService is set, defaultRouteAction
|
22940
23763
|
# cannot contain any weightedBackendServices. Only one of defaultRouteAction or
|
22941
23764
|
# defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
|
22942
|
-
# support only the urlRewrite action within a
|
23765
|
+
# support only the urlRewrite action within a path matcher's defaultRouteAction.
|
22943
23766
|
# Corresponds to the JSON property `defaultRouteAction`
|
22944
23767
|
# @return [Google::Apis::ComputeV1::HttpRouteAction]
|
22945
23768
|
attr_accessor :default_route_action
|
22946
23769
|
|
22947
|
-
# The full or partial URL to the BackendService resource. This
|
23770
|
+
# The full or partial URL to the BackendService resource. This URL is used if
|
22948
23771
|
# none of the pathRules or routeRules defined by this PathMatcher are matched.
|
22949
23772
|
# For example, the following are all valid URLs to a BackendService resource: -
|
22950
23773
|
# https://www.googleapis.com/compute/v1/projects/project /global/backendServices/
|
22951
23774
|
# backendService - compute/v1/projects/project/global/backendServices/
|
22952
23775
|
# backendService - global/backendServices/backendService If defaultRouteAction
|
22953
|
-
# is
|
22954
|
-
#
|
22955
|
-
#
|
22956
|
-
#
|
22957
|
-
#
|
22958
|
-
#
|
22959
|
-
#
|
22960
|
-
#
|
22961
|
-
#
|
23776
|
+
# is also specified, advanced routing actions, such as URL rewrites, take effect
|
23777
|
+
# before sending the request to the backend. However, if defaultService is
|
23778
|
+
# specified, defaultRouteAction cannot contain any weightedBackendServices.
|
23779
|
+
# Conversely, if defaultRouteAction specifies any weightedBackendServices,
|
23780
|
+
# defaultService must not be specified. Only one of defaultService,
|
23781
|
+
# defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set.
|
23782
|
+
# Authorization requires one or more of the following Google IAM permissions on
|
23783
|
+
# the specified resource default_service: - compute.backendBuckets.use - compute.
|
23784
|
+
# backendServices.use
|
22962
23785
|
# Corresponds to the JSON property `defaultService`
|
22963
23786
|
# @return [String]
|
22964
23787
|
attr_accessor :default_service
|
@@ -23034,23 +23857,23 @@ module Google
|
|
23034
23857
|
attr_accessor :paths
|
23035
23858
|
|
23036
23859
|
# In response to a matching path, the load balancer performs advanced routing
|
23037
|
-
# actions
|
23860
|
+
# actions, such as URL rewrites and header transformations, before forwarding
|
23038
23861
|
# the request to the selected backend. If routeAction specifies any
|
23039
23862
|
# weightedBackendServices, service must not be set. Conversely if service is set,
|
23040
23863
|
# routeAction cannot contain any weightedBackendServices. Only one of
|
23041
|
-
# routeAction or urlRedirect must be set.
|
23042
|
-
# balancers support only the urlRewrite action within a
|
23864
|
+
# routeAction or urlRedirect must be set. URL maps for external HTTP(S) load
|
23865
|
+
# balancers support only the urlRewrite action within a path rule's routeAction.
|
23043
23866
|
# Corresponds to the JSON property `routeAction`
|
23044
23867
|
# @return [Google::Apis::ComputeV1::HttpRouteAction]
|
23045
23868
|
attr_accessor :route_action
|
23046
23869
|
|
23047
23870
|
# The full or partial URL of the backend service resource to which traffic is
|
23048
|
-
# directed if this rule is matched. If routeAction is
|
23049
|
-
#
|
23050
|
-
#
|
23051
|
-
#
|
23052
|
-
#
|
23053
|
-
#
|
23871
|
+
# directed if this rule is matched. If routeAction is also specified, advanced
|
23872
|
+
# routing actions, such as URL rewrites, take effect before sending the request
|
23873
|
+
# to the backend. However, if service is specified, routeAction cannot contain
|
23874
|
+
# any weightedBackendServices. Conversely, if routeAction specifies any
|
23875
|
+
# weightedBackendServices, service must not be specified. Only one of
|
23876
|
+
# urlRedirect, service or routeAction.weightedBackendService must be set.
|
23054
23877
|
# Corresponds to the JSON property `service`
|
23055
23878
|
# @return [String]
|
23056
23879
|
attr_accessor :service
|
@@ -23122,31 +23945,31 @@ module Google
|
|
23122
23945
|
|
23123
23946
|
# An Identity and Access Management (IAM) policy, which specifies access
|
23124
23947
|
# controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
|
23125
|
-
# A `binding` binds one or more `members
|
23126
|
-
# user accounts, service accounts, Google groups, and domains (
|
23127
|
-
# A `role` is a named list of permissions; each `role` can be
|
23128
|
-
# role or a user-created custom role. For some types of Google
|
23129
|
-
# a `binding` can also specify a `condition`, which is a
|
23130
|
-
# allows access to a resource only if the expression
|
23131
|
-
# condition can add constraints based on attributes of
|
23132
|
-
# or both. To learn which resources support
|
23133
|
-
# see the [IAM documentation](https://cloud.
|
23134
|
-
# resource-policies). **JSON example:** ` "
|
23135
|
-
# resourcemanager.organizationAdmin", "members": [
|
23136
|
-
# group:admins@example.com", "domain:google.com", "
|
23137
|
-
# appspot.gserviceaccount.com" ] `, ` "role": "
|
23138
|
-
# organizationViewer", "members": [ "user:eve@example.com"
|
23139
|
-
# title": "expirable access", "description": "Does not grant
|
23140
|
-
# 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
23141
|
-
# ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
23142
|
-
# members: - user:mike@example.com - group:admins@example.com -
|
23143
|
-
# com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
23144
|
-
# resourcemanager.organizationAdmin - members: - user:eve@example.
|
23145
|
-
# roles/resourcemanager.organizationViewer condition: title: expirable
|
23146
|
-
# description: Does not grant access after Sep 2020 expression: request.
|
23147
|
-
# timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
23148
|
-
# description of IAM and its features, see the [IAM documentation](https://
|
23149
|
-
# google.com/iam/docs/).
|
23948
|
+
# A `binding` binds one or more `members`, or principals, to a single `role`.
|
23949
|
+
# Principals can be user accounts, service accounts, Google groups, and domains (
|
23950
|
+
# such as G Suite). A `role` is a named list of permissions; each `role` can be
|
23951
|
+
# an IAM predefined role or a user-created custom role. For some types of Google
|
23952
|
+
# Cloud resources, a `binding` can also specify a `condition`, which is a
|
23953
|
+
# logical expression that allows access to a resource only if the expression
|
23954
|
+
# evaluates to `true`. A condition can add constraints based on attributes of
|
23955
|
+
# the request, the resource, or both. To learn which resources support
|
23956
|
+
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
23957
|
+
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
23958
|
+
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
23959
|
+
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
23960
|
+
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
23961
|
+
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
23962
|
+
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
23963
|
+
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
23964
|
+
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
23965
|
+
# bindings: - members: - user:mike@example.com - group:admins@example.com -
|
23966
|
+
# domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
23967
|
+
# role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
|
23968
|
+
# com role: roles/resourcemanager.organizationViewer condition: title: expirable
|
23969
|
+
# access description: Does not grant access after Sep 2020 expression: request.
|
23970
|
+
# time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
23971
|
+
# a description of IAM and its features, see the [IAM documentation](https://
|
23972
|
+
# cloud.google.com/iam/docs/).
|
23150
23973
|
class Policy
|
23151
23974
|
include Google::Apis::Core::Hashable
|
23152
23975
|
|
@@ -23155,9 +23978,14 @@ module Google
|
|
23155
23978
|
# @return [Array<Google::Apis::ComputeV1::AuditConfig>]
|
23156
23979
|
attr_accessor :audit_configs
|
23157
23980
|
|
23158
|
-
# Associates a list of `members
|
23159
|
-
# condition` that determines how and when the `bindings` are applied.
|
23160
|
-
# the `bindings` must contain at least one
|
23981
|
+
# Associates a list of `members`, or principals, with a `role`. Optionally, may
|
23982
|
+
# specify a `condition` that determines how and when the `bindings` are applied.
|
23983
|
+
# Each of the `bindings` must contain at least one principal. The `bindings` in
|
23984
|
+
# a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
|
23985
|
+
# can be Google groups. Each occurrence of a principal counts towards these
|
23986
|
+
# limits. For example, if the `bindings` grant 50 different roles to `user:alice@
|
23987
|
+
# example.com`, and not to any other principal, then you can add another 1,450
|
23988
|
+
# principals to the `bindings` in the `Policy`.
|
23161
23989
|
# Corresponds to the JSON property `bindings`
|
23162
23990
|
# @return [Array<Google::Apis::ComputeV1::Binding>]
|
23163
23991
|
attr_accessor :bindings
|
@@ -23178,12 +24006,6 @@ module Google
|
|
23178
24006
|
# @return [String]
|
23179
24007
|
attr_accessor :etag
|
23180
24008
|
|
23181
|
-
# This is deprecated and has no effect. Do not use.
|
23182
|
-
# Corresponds to the JSON property `iamOwned`
|
23183
|
-
# @return [Boolean]
|
23184
|
-
attr_accessor :iam_owned
|
23185
|
-
alias_method :iam_owned?, :iam_owned
|
23186
|
-
|
23187
24009
|
# This is deprecated and has no effect. Do not use.
|
23188
24010
|
# Corresponds to the JSON property `rules`
|
23189
24011
|
# @return [Array<Google::Apis::ComputeV1::Rule>]
|
@@ -23217,7 +24039,6 @@ module Google
|
|
23217
24039
|
@audit_configs = args[:audit_configs] if args.key?(:audit_configs)
|
23218
24040
|
@bindings = args[:bindings] if args.key?(:bindings)
|
23219
24041
|
@etag = args[:etag] if args.key?(:etag)
|
23220
|
-
@iam_owned = args[:iam_owned] if args.key?(:iam_owned)
|
23221
24042
|
@rules = args[:rules] if args.key?(:rules)
|
23222
24043
|
@version = args[:version] if args.key?(:version)
|
23223
24044
|
end
|
@@ -23598,7 +24419,13 @@ module Google
|
|
23598
24419
|
# @return [String]
|
23599
24420
|
attr_accessor :shared_secret
|
23600
24421
|
|
23601
|
-
# The status of the public advertised prefix.
|
24422
|
+
# The status of the public advertised prefix. Possible values include: - `
|
24423
|
+
# INITIAL`: RPKI validation is complete. - `PTR_CONFIGURED`: User has configured
|
24424
|
+
# the PTR. - `VALIDATED`: Reverse DNS lookup is successful. - `
|
24425
|
+
# REVERSE_DNS_LOOKUP_FAILED`: Reverse DNS lookup failed. - `
|
24426
|
+
# PREFIX_CONFIGURATION_IN_PROGRESS`: The prefix is being configured. - `
|
24427
|
+
# PREFIX_CONFIGURATION_COMPLETE`: The prefix is fully configured. - `
|
24428
|
+
# PREFIX_REMOVAL_IN_PROGRESS`: The prefix is being removed.
|
23602
24429
|
# Corresponds to the JSON property `status`
|
23603
24430
|
# @return [String]
|
23604
24431
|
attr_accessor :status
|
@@ -23877,7 +24704,12 @@ module Google
|
|
23877
24704
|
# @return [String]
|
23878
24705
|
attr_accessor :self_link
|
23879
24706
|
|
23880
|
-
# [Output Only] The status of the public delegated prefix
|
24707
|
+
# [Output Only] The status of the public delegated prefix, which can be one of
|
24708
|
+
# following values: - `INITIALIZING` The public delegated prefix is being
|
24709
|
+
# initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The
|
24710
|
+
# public delegated prefix is a live migration prefix and is active. - `ANNOUNCED`
|
24711
|
+
# The public delegated prefix is active. - `DELETING` The public delegated
|
24712
|
+
# prefix is being deprovsioned.
|
23881
24713
|
# Corresponds to the JSON property `status`
|
23882
24714
|
# @return [String]
|
23883
24715
|
attr_accessor :status
|
@@ -25737,31 +26569,31 @@ module Google
|
|
25737
26569
|
|
25738
26570
|
# An Identity and Access Management (IAM) policy, which specifies access
|
25739
26571
|
# controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
|
25740
|
-
# A `binding` binds one or more `members
|
25741
|
-
# user accounts, service accounts, Google groups, and domains (
|
25742
|
-
# A `role` is a named list of permissions; each `role` can be
|
25743
|
-
# role or a user-created custom role. For some types of Google
|
25744
|
-
# a `binding` can also specify a `condition`, which is a
|
25745
|
-
# allows access to a resource only if the expression
|
25746
|
-
# condition can add constraints based on attributes of
|
25747
|
-
# or both. To learn which resources support
|
25748
|
-
# see the [IAM documentation](https://cloud.
|
25749
|
-
# resource-policies). **JSON example:** ` "
|
25750
|
-
# resourcemanager.organizationAdmin", "members": [
|
25751
|
-
# group:admins@example.com", "domain:google.com", "
|
25752
|
-
# appspot.gserviceaccount.com" ] `, ` "role": "
|
25753
|
-
# organizationViewer", "members": [ "user:eve@example.com"
|
25754
|
-
# title": "expirable access", "description": "Does not grant
|
25755
|
-
# 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
25756
|
-
# ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
25757
|
-
# members: - user:mike@example.com - group:admins@example.com -
|
25758
|
-
# com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
25759
|
-
# resourcemanager.organizationAdmin - members: - user:eve@example.
|
25760
|
-
# roles/resourcemanager.organizationViewer condition: title: expirable
|
25761
|
-
# description: Does not grant access after Sep 2020 expression: request.
|
25762
|
-
# timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
25763
|
-
# description of IAM and its features, see the [IAM documentation](https://
|
25764
|
-
# google.com/iam/docs/).
|
26572
|
+
# A `binding` binds one or more `members`, or principals, to a single `role`.
|
26573
|
+
# Principals can be user accounts, service accounts, Google groups, and domains (
|
26574
|
+
# such as G Suite). A `role` is a named list of permissions; each `role` can be
|
26575
|
+
# an IAM predefined role or a user-created custom role. For some types of Google
|
26576
|
+
# Cloud resources, a `binding` can also specify a `condition`, which is a
|
26577
|
+
# logical expression that allows access to a resource only if the expression
|
26578
|
+
# evaluates to `true`. A condition can add constraints based on attributes of
|
26579
|
+
# the request, the resource, or both. To learn which resources support
|
26580
|
+
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
26581
|
+
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
26582
|
+
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
26583
|
+
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
26584
|
+
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
26585
|
+
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
26586
|
+
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
26587
|
+
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
26588
|
+
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
26589
|
+
# bindings: - members: - user:mike@example.com - group:admins@example.com -
|
26590
|
+
# domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
26591
|
+
# role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
|
26592
|
+
# com role: roles/resourcemanager.organizationViewer condition: title: expirable
|
26593
|
+
# access description: Does not grant access after Sep 2020 expression: request.
|
26594
|
+
# time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
26595
|
+
# a description of IAM and its features, see the [IAM documentation](https://
|
26596
|
+
# cloud.google.com/iam/docs/).
|
25765
26597
|
# Corresponds to the JSON property `policy`
|
25766
26598
|
# @return [Google::Apis::ComputeV1::Policy]
|
25767
26599
|
attr_accessor :policy
|
@@ -25802,17 +26634,17 @@ module Google
|
|
25802
26634
|
class RegionUrlMapsValidateRequest
|
25803
26635
|
include Google::Apis::Core::Hashable
|
25804
26636
|
|
25805
|
-
# Represents a URL Map resource.
|
25806
|
-
#
|
25807
|
-
#
|
25808
|
-
#
|
25809
|
-
#
|
25810
|
-
#
|
25811
|
-
#
|
26637
|
+
# Represents a URL Map resource. Compute Engine has two URL Map resources: * [
|
26638
|
+
# Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/
|
26639
|
+
# reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain
|
26640
|
+
# types of cloud load balancers and Traffic Director: * urlMaps are used by
|
26641
|
+
# external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used
|
26642
|
+
# by internal HTTP(S) load balancers. For a list of supported URL map features
|
26643
|
+
# by the load balancer type, see the Load balancing features: Routing and
|
25812
26644
|
# traffic management table. For a list of supported URL map features for Traffic
|
25813
26645
|
# Director, see the Traffic Director features: Routing and traffic management
|
25814
|
-
# table. This resource defines mappings from
|
25815
|
-
#
|
26646
|
+
# table. This resource defines mappings from hostnames and URL paths to either a
|
26647
|
+
# backend service or a backend bucket. To use the global urlMaps resource, the
|
25816
26648
|
# backend service must have a loadBalancingScheme of either EXTERNAL or
|
25817
26649
|
# INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
|
25818
26650
|
# must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
|
@@ -25832,9 +26664,9 @@ module Google
|
|
25832
26664
|
end
|
25833
26665
|
|
25834
26666
|
# A policy that specifies how requests intended for the route's backends are
|
25835
|
-
# shadowed to a separate mirrored backend service.
|
25836
|
-
# for responses from the shadow service.
|
25837
|
-
# service, the host
|
26667
|
+
# shadowed to a separate mirrored backend service. The load balancer doesn't
|
26668
|
+
# wait for responses from the shadow service. Before sending traffic to the
|
26669
|
+
# shadow service, the host or authority header is suffixed with -shadow.
|
25838
26670
|
class RequestMirrorPolicy
|
25839
26671
|
include Google::Apis::Core::Hashable
|
25840
26672
|
|
@@ -25910,6 +26742,11 @@ module Google
|
|
25910
26742
|
# @return [String]
|
25911
26743
|
attr_accessor :self_link
|
25912
26744
|
|
26745
|
+
# The share setting for reservations and sole tenancy node groups.
|
26746
|
+
# Corresponds to the JSON property `shareSettings`
|
26747
|
+
# @return [Google::Apis::ComputeV1::ShareSettings]
|
26748
|
+
attr_accessor :share_settings
|
26749
|
+
|
25913
26750
|
# This reservation type allows to pre allocate specific instance configuration.
|
25914
26751
|
# Next ID: 5
|
25915
26752
|
# Corresponds to the JSON property `specificReservation`
|
@@ -25949,6 +26786,7 @@ module Google
|
|
25949
26786
|
@name = args[:name] if args.key?(:name)
|
25950
26787
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
25951
26788
|
@self_link = args[:self_link] if args.key?(:self_link)
|
26789
|
+
@share_settings = args[:share_settings] if args.key?(:share_settings)
|
25952
26790
|
@specific_reservation = args[:specific_reservation] if args.key?(:specific_reservation)
|
25953
26791
|
@specific_reservation_required = args[:specific_reservation_required] if args.key?(:specific_reservation_required)
|
25954
26792
|
@status = args[:status] if args.key?(:status)
|
@@ -27258,6 +28096,11 @@ module Google
|
|
27258
28096
|
class Route
|
27259
28097
|
include Google::Apis::Core::Hashable
|
27260
28098
|
|
28099
|
+
# [Output Only] AS path.
|
28100
|
+
# Corresponds to the JSON property `asPaths`
|
28101
|
+
# @return [Array<Google::Apis::ComputeV1::RouteAsPath>]
|
28102
|
+
attr_accessor :as_paths
|
28103
|
+
|
27261
28104
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
27262
28105
|
# Corresponds to the JSON property `creationTimestamp`
|
27263
28106
|
# @return [String]
|
@@ -27355,6 +28198,15 @@ module Google
|
|
27355
28198
|
# @return [Fixnum]
|
27356
28199
|
attr_accessor :priority
|
27357
28200
|
|
28201
|
+
# [Output Only] The type of this route, which can be one of the following values:
|
28202
|
+
# - 'TRANSIT' for a transit route that this router learned from another Cloud
|
28203
|
+
# Router and will readvertise to one of its BGP peers - 'SUBNET' for a route
|
28204
|
+
# from a subnet of the VPC - 'BGP' for a route learned from a BGP peer of this
|
28205
|
+
# router - 'STATIC' for a static route
|
28206
|
+
# Corresponds to the JSON property `routeType`
|
28207
|
+
# @return [String]
|
28208
|
+
attr_accessor :route_type
|
28209
|
+
|
27358
28210
|
# [Output Only] Server-defined fully-qualified URL for this resource.
|
27359
28211
|
# Corresponds to the JSON property `selfLink`
|
27360
28212
|
# @return [String]
|
@@ -27377,6 +28229,7 @@ module Google
|
|
27377
28229
|
|
27378
28230
|
# Update properties of this object
|
27379
28231
|
def update!(**args)
|
28232
|
+
@as_paths = args[:as_paths] if args.key?(:as_paths)
|
27380
28233
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
27381
28234
|
@description = args[:description] if args.key?(:description)
|
27382
28235
|
@dest_range = args[:dest_range] if args.key?(:dest_range)
|
@@ -27392,6 +28245,7 @@ module Google
|
|
27392
28245
|
@next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
|
27393
28246
|
@next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
|
27394
28247
|
@priority = args[:priority] if args.key?(:priority)
|
28248
|
+
@route_type = args[:route_type] if args.key?(:route_type)
|
27395
28249
|
@self_link = args[:self_link] if args.key?(:self_link)
|
27396
28250
|
@tags = args[:tags] if args.key?(:tags)
|
27397
28251
|
@warnings = args[:warnings] if args.key?(:warnings)
|
@@ -27462,6 +28316,37 @@ module Google
|
|
27462
28316
|
end
|
27463
28317
|
end
|
27464
28318
|
|
28319
|
+
#
|
28320
|
+
class RouteAsPath
|
28321
|
+
include Google::Apis::Core::Hashable
|
28322
|
+
|
28323
|
+
# [Output Only] The AS numbers of the AS Path.
|
28324
|
+
# Corresponds to the JSON property `asLists`
|
28325
|
+
# @return [Array<Fixnum>]
|
28326
|
+
attr_accessor :as_lists
|
28327
|
+
|
28328
|
+
# [Output Only] The type of the AS Path, which can be one of the following
|
28329
|
+
# values: - 'AS_SET': unordered set of autonomous systems that the route in has
|
28330
|
+
# traversed - 'AS_SEQUENCE': ordered set of autonomous systems that the route
|
28331
|
+
# has traversed - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems
|
28332
|
+
# in the local confederation that the route has traversed - 'AS_CONFED_SET':
|
28333
|
+
# unordered set of Member Autonomous Systems in the local confederation that the
|
28334
|
+
# route has traversed
|
28335
|
+
# Corresponds to the JSON property `pathSegmentType`
|
28336
|
+
# @return [String]
|
28337
|
+
attr_accessor :path_segment_type
|
28338
|
+
|
28339
|
+
def initialize(**args)
|
28340
|
+
update!(**args)
|
28341
|
+
end
|
28342
|
+
|
28343
|
+
# Update properties of this object
|
28344
|
+
def update!(**args)
|
28345
|
+
@as_lists = args[:as_lists] if args.key?(:as_lists)
|
28346
|
+
@path_segment_type = args[:path_segment_type] if args.key?(:path_segment_type)
|
28347
|
+
end
|
28348
|
+
end
|
28349
|
+
|
27465
28350
|
# Contains a list of Route resources.
|
27466
28351
|
class RouteList
|
27467
28352
|
include Google::Apis::Core::Hashable
|
@@ -27941,6 +28826,12 @@ module Google
|
|
27941
28826
|
# @return [String]
|
27942
28827
|
attr_accessor :enable
|
27943
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
|
+
|
27944
28835
|
# Name of the interface the BGP peer is associated with.
|
27945
28836
|
# Corresponds to the JSON property `interfaceName`
|
27946
28837
|
# @return [String]
|
@@ -27952,6 +28843,11 @@ module Google
|
|
27952
28843
|
# @return [String]
|
27953
28844
|
attr_accessor :ip_address
|
27954
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
|
+
|
27955
28851
|
# [Output Only] The resource that configures and manages this BGP peer. -
|
27956
28852
|
# MANAGED_BY_USER is the default value and can be managed by you or other users -
|
27957
28853
|
# MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud
|
@@ -27984,6 +28880,11 @@ module Google
|
|
27984
28880
|
# @return [String]
|
27985
28881
|
attr_accessor :peer_ip_address
|
27986
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
|
+
|
27987
28888
|
# URI of the VM instance that is used as third-party router appliances such as
|
27988
28889
|
# Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
|
27989
28890
|
# must be located in zones contained in the same region as this Cloud Router.
|
@@ -28004,12 +28905,15 @@ module Google
|
|
28004
28905
|
@advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
|
28005
28906
|
@bfd = args[:bfd] if args.key?(:bfd)
|
28006
28907
|
@enable = args[:enable] if args.key?(:enable)
|
28908
|
+
@enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
|
28007
28909
|
@interface_name = args[:interface_name] if args.key?(:interface_name)
|
28008
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)
|
28009
28912
|
@management_type = args[:management_type] if args.key?(:management_type)
|
28010
28913
|
@name = args[:name] if args.key?(:name)
|
28011
28914
|
@peer_asn = args[:peer_asn] if args.key?(:peer_asn)
|
28012
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)
|
28013
28917
|
@router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
|
28014
28918
|
end
|
28015
28919
|
end
|
@@ -28289,6 +29193,17 @@ module Google
|
|
28289
29193
|
# @return [Array<String>]
|
28290
29194
|
attr_accessor :drain_nat_ips
|
28291
29195
|
|
29196
|
+
# Enable Dynamic Port Allocation. If not specified, it is disabled by default.
|
29197
|
+
# If set to true, - Dynamic Port Allocation will be enabled on this NAT config. -
|
29198
|
+
# enableEndpointIndependentMapping cannot be set to true. - If minPorts is set,
|
29199
|
+
# minPortsPerVm must be set to a power of two greater than or equal to 32. If
|
29200
|
+
# minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from
|
29201
|
+
# this NAT config.
|
29202
|
+
# Corresponds to the JSON property `enableDynamicPortAllocation`
|
29203
|
+
# @return [Boolean]
|
29204
|
+
attr_accessor :enable_dynamic_port_allocation
|
29205
|
+
alias_method :enable_dynamic_port_allocation?, :enable_dynamic_port_allocation
|
29206
|
+
|
28292
29207
|
#
|
28293
29208
|
# Corresponds to the JSON property `enableEndpointIndependentMapping`
|
28294
29209
|
# @return [Boolean]
|
@@ -28305,6 +29220,17 @@ module Google
|
|
28305
29220
|
# @return [Google::Apis::ComputeV1::RouterNatLogConfig]
|
28306
29221
|
attr_accessor :log_config
|
28307
29222
|
|
29223
|
+
# Maximum number of ports allocated to a VM from this NAT config when Dynamic
|
29224
|
+
# Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this
|
29225
|
+
# field has no effect. If Dynamic Port Allocation is enabled, and this field is
|
29226
|
+
# set, it must be set to a power of two greater than minPortsPerVm, or 64 if
|
29227
|
+
# minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field
|
29228
|
+
# is not set, a maximum of 65536 ports will be allocated to a VM from this NAT
|
29229
|
+
# config.
|
29230
|
+
# Corresponds to the JSON property `maxPortsPerVm`
|
29231
|
+
# @return [Fixnum]
|
29232
|
+
attr_accessor :max_ports_per_vm
|
29233
|
+
|
28308
29234
|
# Minimum number of ports allocated to a VM from this NAT config. If not set, a
|
28309
29235
|
# default number of ports is allocated to a VM. This is rounded up to the
|
28310
29236
|
# nearest power of 2. For example, if the value of this field is 50, at least 64
|
@@ -28334,6 +29260,11 @@ module Google
|
|
28334
29260
|
# @return [Array<String>]
|
28335
29261
|
attr_accessor :nat_ips
|
28336
29262
|
|
29263
|
+
# A list of rules associated with this NAT.
|
29264
|
+
# Corresponds to the JSON property `rules`
|
29265
|
+
# @return [Array<Google::Apis::ComputeV1::RouterNatRule>]
|
29266
|
+
attr_accessor :rules
|
29267
|
+
|
28337
29268
|
# Specify the Nat option, which can take one of the following values: -
|
28338
29269
|
# ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are
|
28339
29270
|
# allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP
|
@@ -28360,6 +29291,12 @@ module Google
|
|
28360
29291
|
# @return [Fixnum]
|
28361
29292
|
attr_accessor :tcp_established_idle_timeout_sec
|
28362
29293
|
|
29294
|
+
# Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults
|
29295
|
+
# to 120s if not set.
|
29296
|
+
# Corresponds to the JSON property `tcpTimeWaitTimeoutSec`
|
29297
|
+
# @return [Fixnum]
|
29298
|
+
attr_accessor :tcp_time_wait_timeout_sec
|
29299
|
+
|
28363
29300
|
# Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not
|
28364
29301
|
# set.
|
28365
29302
|
# Corresponds to the JSON property `tcpTransitoryIdleTimeoutSec`
|
@@ -28378,16 +29315,20 @@ module Google
|
|
28378
29315
|
# Update properties of this object
|
28379
29316
|
def update!(**args)
|
28380
29317
|
@drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
|
29318
|
+
@enable_dynamic_port_allocation = args[:enable_dynamic_port_allocation] if args.key?(:enable_dynamic_port_allocation)
|
28381
29319
|
@enable_endpoint_independent_mapping = args[:enable_endpoint_independent_mapping] if args.key?(:enable_endpoint_independent_mapping)
|
28382
29320
|
@icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
|
28383
29321
|
@log_config = args[:log_config] if args.key?(:log_config)
|
29322
|
+
@max_ports_per_vm = args[:max_ports_per_vm] if args.key?(:max_ports_per_vm)
|
28384
29323
|
@min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
|
28385
29324
|
@name = args[:name] if args.key?(:name)
|
28386
29325
|
@nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
|
28387
29326
|
@nat_ips = args[:nat_ips] if args.key?(:nat_ips)
|
29327
|
+
@rules = args[:rules] if args.key?(:rules)
|
28388
29328
|
@source_subnetwork_ip_ranges_to_nat = args[:source_subnetwork_ip_ranges_to_nat] if args.key?(:source_subnetwork_ip_ranges_to_nat)
|
28389
29329
|
@subnetworks = args[:subnetworks] if args.key?(:subnetworks)
|
28390
29330
|
@tcp_established_idle_timeout_sec = args[:tcp_established_idle_timeout_sec] if args.key?(:tcp_established_idle_timeout_sec)
|
29331
|
+
@tcp_time_wait_timeout_sec = args[:tcp_time_wait_timeout_sec] if args.key?(:tcp_time_wait_timeout_sec)
|
28391
29332
|
@tcp_transitory_idle_timeout_sec = args[:tcp_transitory_idle_timeout_sec] if args.key?(:tcp_transitory_idle_timeout_sec)
|
28392
29333
|
@udp_idle_timeout_sec = args[:udp_idle_timeout_sec] if args.key?(:udp_idle_timeout_sec)
|
28393
29334
|
end
|
@@ -28423,6 +29364,81 @@ module Google
|
|
28423
29364
|
end
|
28424
29365
|
end
|
28425
29366
|
|
29367
|
+
#
|
29368
|
+
class RouterNatRule
|
29369
|
+
include Google::Apis::Core::Hashable
|
29370
|
+
|
29371
|
+
# The action to be enforced for traffic that matches this rule.
|
29372
|
+
# Corresponds to the JSON property `action`
|
29373
|
+
# @return [Google::Apis::ComputeV1::RouterNatRuleAction]
|
29374
|
+
attr_accessor :action
|
29375
|
+
|
29376
|
+
# An optional description of this rule.
|
29377
|
+
# Corresponds to the JSON property `description`
|
29378
|
+
# @return [String]
|
29379
|
+
attr_accessor :description
|
29380
|
+
|
29381
|
+
# CEL expression that specifies the match condition that egress traffic from a
|
29382
|
+
# VM is evaluated against. If it evaluates to true, the corresponding `action`
|
29383
|
+
# is enforced. The following examples are valid match expressions for public NAT:
|
29384
|
+
# "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
|
29385
|
+
# 0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The
|
29386
|
+
# following example is a valid match expression for private NAT: "nexthop.hub ==
|
29387
|
+
# 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/
|
29388
|
+
# global/hub/hub-1'"
|
29389
|
+
# Corresponds to the JSON property `match`
|
29390
|
+
# @return [String]
|
29391
|
+
attr_accessor :match
|
29392
|
+
|
29393
|
+
# An integer uniquely identifying a rule in the list. The rule number must be a
|
29394
|
+
# positive value between 0 and 65000, and must be unique among rules within a
|
29395
|
+
# NAT.
|
29396
|
+
# Corresponds to the JSON property `ruleNumber`
|
29397
|
+
# @return [Fixnum]
|
29398
|
+
attr_accessor :rule_number
|
29399
|
+
|
29400
|
+
def initialize(**args)
|
29401
|
+
update!(**args)
|
29402
|
+
end
|
29403
|
+
|
29404
|
+
# Update properties of this object
|
29405
|
+
def update!(**args)
|
29406
|
+
@action = args[:action] if args.key?(:action)
|
29407
|
+
@description = args[:description] if args.key?(:description)
|
29408
|
+
@match = args[:match] if args.key?(:match)
|
29409
|
+
@rule_number = args[:rule_number] if args.key?(:rule_number)
|
29410
|
+
end
|
29411
|
+
end
|
29412
|
+
|
29413
|
+
#
|
29414
|
+
class RouterNatRuleAction
|
29415
|
+
include Google::Apis::Core::Hashable
|
29416
|
+
|
29417
|
+
# A list of URLs of the IP resources used for this NAT rule. These IP addresses
|
29418
|
+
# must be valid static external IP addresses assigned to the project. This field
|
29419
|
+
# is used for public NAT.
|
29420
|
+
# Corresponds to the JSON property `sourceNatActiveIps`
|
29421
|
+
# @return [Array<String>]
|
29422
|
+
attr_accessor :source_nat_active_ips
|
29423
|
+
|
29424
|
+
# A list of URLs of the IP resources to be drained. These IPs must be valid
|
29425
|
+
# static external IPs that have been assigned to the NAT. These IPs should be
|
29426
|
+
# used for updating/patching a NAT rule only. This field is used for public NAT.
|
29427
|
+
# Corresponds to the JSON property `sourceNatDrainIps`
|
29428
|
+
# @return [Array<String>]
|
29429
|
+
attr_accessor :source_nat_drain_ips
|
29430
|
+
|
29431
|
+
def initialize(**args)
|
29432
|
+
update!(**args)
|
29433
|
+
end
|
29434
|
+
|
29435
|
+
# Update properties of this object
|
29436
|
+
def update!(**args)
|
29437
|
+
@source_nat_active_ips = args[:source_nat_active_ips] if args.key?(:source_nat_active_ips)
|
29438
|
+
@source_nat_drain_ips = args[:source_nat_drain_ips] if args.key?(:source_nat_drain_ips)
|
29439
|
+
end
|
29440
|
+
end
|
29441
|
+
|
28426
29442
|
# Defines the IP ranges that want to use NAT for a subnetwork.
|
28427
29443
|
class RouterNatSubnetworkToNat
|
28428
29444
|
include Google::Apis::Core::Hashable
|
@@ -28511,6 +29527,11 @@ module Google
|
|
28511
29527
|
# @return [Array<Google::Apis::ComputeV1::Route>]
|
28512
29528
|
attr_accessor :advertised_routes
|
28513
29529
|
|
29530
|
+
# Next free: 15
|
29531
|
+
# Corresponds to the JSON property `bfdStatus`
|
29532
|
+
# @return [Google::Apis::ComputeV1::BfdStatus]
|
29533
|
+
attr_accessor :bfd_status
|
29534
|
+
|
28514
29535
|
# IP address of the local BGP interface.
|
28515
29536
|
# Corresponds to the JSON property `ipAddress`
|
28516
29537
|
# @return [String]
|
@@ -28571,6 +29592,7 @@ module Google
|
|
28571
29592
|
# Update properties of this object
|
28572
29593
|
def update!(**args)
|
28573
29594
|
@advertised_routes = args[:advertised_routes] if args.key?(:advertised_routes)
|
29595
|
+
@bfd_status = args[:bfd_status] if args.key?(:bfd_status)
|
28574
29596
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
28575
29597
|
@linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
|
28576
29598
|
@name = args[:name] if args.key?(:name)
|
@@ -28622,6 +29644,11 @@ module Google
|
|
28622
29644
|
# @return [Fixnum]
|
28623
29645
|
attr_accessor :num_vm_endpoints_with_nat_mappings
|
28624
29646
|
|
29647
|
+
# Status of rules in this NAT.
|
29648
|
+
# Corresponds to the JSON property `ruleStatus`
|
29649
|
+
# @return [Array<Google::Apis::ComputeV1::RouterStatusNatStatusNatRuleStatus>]
|
29650
|
+
attr_accessor :rule_status
|
29651
|
+
|
28625
29652
|
# A list of fully qualified URLs of reserved IP address resources.
|
28626
29653
|
# Corresponds to the JSON property `userAllocatedNatIpResources`
|
28627
29654
|
# @return [Array<String>]
|
@@ -28645,11 +29672,58 @@ module Google
|
|
28645
29672
|
@min_extra_nat_ips_needed = args[:min_extra_nat_ips_needed] if args.key?(:min_extra_nat_ips_needed)
|
28646
29673
|
@name = args[:name] if args.key?(:name)
|
28647
29674
|
@num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
|
29675
|
+
@rule_status = args[:rule_status] if args.key?(:rule_status)
|
28648
29676
|
@user_allocated_nat_ip_resources = args[:user_allocated_nat_ip_resources] if args.key?(:user_allocated_nat_ip_resources)
|
28649
29677
|
@user_allocated_nat_ips = args[:user_allocated_nat_ips] if args.key?(:user_allocated_nat_ips)
|
28650
29678
|
end
|
28651
29679
|
end
|
28652
29680
|
|
29681
|
+
# Status of a NAT Rule contained in this NAT.
|
29682
|
+
class RouterStatusNatStatusNatRuleStatus
|
29683
|
+
include Google::Apis::Core::Hashable
|
29684
|
+
|
29685
|
+
# A list of active IPs for NAT. Example: ["1.1.1.1", "179.12.26.133"].
|
29686
|
+
# Corresponds to the JSON property `activeNatIps`
|
29687
|
+
# @return [Array<String>]
|
29688
|
+
attr_accessor :active_nat_ips
|
29689
|
+
|
29690
|
+
# A list of IPs for NAT that are in drain mode. Example: ["1.1.1.1", "179.12.26.
|
29691
|
+
# 133"].
|
29692
|
+
# Corresponds to the JSON property `drainNatIps`
|
29693
|
+
# @return [Array<String>]
|
29694
|
+
attr_accessor :drain_nat_ips
|
29695
|
+
|
29696
|
+
# The number of extra IPs to allocate. This will be greater than 0 only if the
|
29697
|
+
# existing IPs in this NAT Rule are NOT enough to allow all configured VMs to
|
29698
|
+
# use NAT.
|
29699
|
+
# Corresponds to the JSON property `minExtraIpsNeeded`
|
29700
|
+
# @return [Fixnum]
|
29701
|
+
attr_accessor :min_extra_ips_needed
|
29702
|
+
|
29703
|
+
# Number of VM endpoints (i.e., NICs) that have NAT Mappings from this NAT Rule.
|
29704
|
+
# Corresponds to the JSON property `numVmEndpointsWithNatMappings`
|
29705
|
+
# @return [Fixnum]
|
29706
|
+
attr_accessor :num_vm_endpoints_with_nat_mappings
|
29707
|
+
|
29708
|
+
# Rule number of the rule.
|
29709
|
+
# Corresponds to the JSON property `ruleNumber`
|
29710
|
+
# @return [Fixnum]
|
29711
|
+
attr_accessor :rule_number
|
29712
|
+
|
29713
|
+
def initialize(**args)
|
29714
|
+
update!(**args)
|
29715
|
+
end
|
29716
|
+
|
29717
|
+
# Update properties of this object
|
29718
|
+
def update!(**args)
|
29719
|
+
@active_nat_ips = args[:active_nat_ips] if args.key?(:active_nat_ips)
|
29720
|
+
@drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
|
29721
|
+
@min_extra_ips_needed = args[:min_extra_ips_needed] if args.key?(:min_extra_ips_needed)
|
29722
|
+
@num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
|
29723
|
+
@rule_number = args[:rule_number] if args.key?(:rule_number)
|
29724
|
+
end
|
29725
|
+
end
|
29726
|
+
|
28653
29727
|
#
|
28654
29728
|
class RouterStatusResponse
|
28655
29729
|
include Google::Apis::Core::Hashable
|
@@ -28904,6 +29978,171 @@ module Google
|
|
28904
29978
|
end
|
28905
29979
|
end
|
28906
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
|
+
|
28907
30146
|
#
|
28908
30147
|
class ScalingScheduleStatus
|
28909
30148
|
include Google::Apis::Core::Hashable
|
@@ -28953,6 +30192,11 @@ module Google
|
|
28953
30192
|
attr_accessor :automatic_restart
|
28954
30193
|
alias_method :automatic_restart?, :automatic_restart
|
28955
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
|
+
|
28956
30200
|
# An opaque location hint used to place the instance close to other resources.
|
28957
30201
|
# This field is for use by internal tools that use the public API.
|
28958
30202
|
# Corresponds to the JSON property `locationHint`
|
@@ -28988,6 +30232,11 @@ module Google
|
|
28988
30232
|
attr_accessor :preemptible
|
28989
30233
|
alias_method :preemptible?, :preemptible
|
28990
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
|
+
|
28991
30240
|
def initialize(**args)
|
28992
30241
|
update!(**args)
|
28993
30242
|
end
|
@@ -28995,11 +30244,13 @@ module Google
|
|
28995
30244
|
# Update properties of this object
|
28996
30245
|
def update!(**args)
|
28997
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)
|
28998
30248
|
@location_hint = args[:location_hint] if args.key?(:location_hint)
|
28999
30249
|
@min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
|
29000
30250
|
@node_affinities = args[:node_affinities] if args.key?(:node_affinities)
|
29001
30251
|
@on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
|
29002
30252
|
@preemptible = args[:preemptible] if args.key?(:preemptible)
|
30253
|
+
@provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
|
29003
30254
|
end
|
29004
30255
|
end
|
29005
30256
|
|
@@ -29161,6 +30412,11 @@ module Google
|
|
29161
30412
|
# @return [String]
|
29162
30413
|
attr_accessor :name
|
29163
30414
|
|
30415
|
+
#
|
30416
|
+
# Corresponds to the JSON property `recaptchaOptionsConfig`
|
30417
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRecaptchaOptionsConfig]
|
30418
|
+
attr_accessor :recaptcha_options_config
|
30419
|
+
|
29164
30420
|
# A list of rules that belong to this policy. There must always be a default
|
29165
30421
|
# rule (rule with priority 2147483647 and match "*"). If no rules are provided
|
29166
30422
|
# when creating a security policy, a default rule with action "allow" will be
|
@@ -29174,6 +30430,17 @@ module Google
|
|
29174
30430
|
# @return [String]
|
29175
30431
|
attr_accessor :self_link
|
29176
30432
|
|
30433
|
+
# The type indicates the intended use of the security policy. CLOUD_ARMOR -
|
30434
|
+
# Cloud Armor backend security policies can be configured to filter incoming
|
30435
|
+
# HTTP requests targeting backend services. They filter requests before they hit
|
30436
|
+
# the origin servers. CLOUD_ARMOR_EDGE - Cloud Armor edge security policies can
|
30437
|
+
# be configured to filter incoming HTTP requests targeting backend services (
|
30438
|
+
# including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They
|
30439
|
+
# filter requests before the request is served from Google's cache.
|
30440
|
+
# Corresponds to the JSON property `type`
|
30441
|
+
# @return [String]
|
30442
|
+
attr_accessor :type
|
30443
|
+
|
29177
30444
|
def initialize(**args)
|
29178
30445
|
update!(**args)
|
29179
30446
|
end
|
@@ -29188,8 +30455,10 @@ module Google
|
|
29188
30455
|
@id = args[:id] if args.key?(:id)
|
29189
30456
|
@kind = args[:kind] if args.key?(:kind)
|
29190
30457
|
@name = args[:name] if args.key?(:name)
|
30458
|
+
@recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
|
29191
30459
|
@rules = args[:rules] if args.key?(:rules)
|
29192
30460
|
@self_link = args[:self_link] if args.key?(:self_link)
|
30461
|
+
@type = args[:type] if args.key?(:type)
|
29193
30462
|
end
|
29194
30463
|
end
|
29195
30464
|
|
@@ -29376,6 +30645,29 @@ module Google
|
|
29376
30645
|
end
|
29377
30646
|
end
|
29378
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
|
+
|
29379
30671
|
#
|
29380
30672
|
class SecurityPolicyReference
|
29381
30673
|
include Google::Apis::Core::Hashable
|
@@ -29400,9 +30692,17 @@ module Google
|
|
29400
30692
|
class SecurityPolicyRule
|
29401
30693
|
include Google::Apis::Core::Hashable
|
29402
30694
|
|
29403
|
-
# The Action to perform when the
|
29404
|
-
#
|
29405
|
-
# 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.
|
29406
30706
|
# Corresponds to the JSON property `action`
|
29407
30707
|
# @return [String]
|
29408
30708
|
attr_accessor :action
|
@@ -29413,6 +30713,11 @@ module Google
|
|
29413
30713
|
# @return [String]
|
29414
30714
|
attr_accessor :description
|
29415
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
|
+
|
29416
30721
|
# [Output only] Type of the resource. Always compute#securityPolicyRule for
|
29417
30722
|
# security policy rules
|
29418
30723
|
# Corresponds to the JSON property `kind`
|
@@ -29439,6 +30744,18 @@ module Google
|
|
29439
30744
|
# @return [Fixnum]
|
29440
30745
|
attr_accessor :priority
|
29441
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
|
+
|
29442
30759
|
def initialize(**args)
|
29443
30760
|
update!(**args)
|
29444
30761
|
end
|
@@ -29447,10 +30764,57 @@ module Google
|
|
29447
30764
|
def update!(**args)
|
29448
30765
|
@action = args[:action] if args.key?(:action)
|
29449
30766
|
@description = args[:description] if args.key?(:description)
|
30767
|
+
@header_action = args[:header_action] if args.key?(:header_action)
|
29450
30768
|
@kind = args[:kind] if args.key?(:kind)
|
29451
30769
|
@match = args[:match] if args.key?(:match)
|
29452
30770
|
@preview = args[:preview] if args.key?(:preview)
|
29453
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)
|
29454
30818
|
end
|
29455
30819
|
end
|
29456
30820
|
|
@@ -29524,6 +30888,144 @@ module Google
|
|
29524
30888
|
end
|
29525
30889
|
end
|
29526
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
|
+
|
29527
31029
|
# The authentication and authorization settings for a BackendService.
|
29528
31030
|
class SecuritySettings
|
29529
31031
|
include Google::Apis::Core::Hashable
|
@@ -30191,6 +31693,52 @@ module Google
|
|
30191
31693
|
end
|
30192
31694
|
end
|
30193
31695
|
|
31696
|
+
# The share setting for reservations and sole tenancy node groups.
|
31697
|
+
class ShareSettings
|
31698
|
+
include Google::Apis::Core::Hashable
|
31699
|
+
|
31700
|
+
# A map of project id and project config. This is only valid when share_type's
|
31701
|
+
# value is SPECIFIC_PROJECTS.
|
31702
|
+
# Corresponds to the JSON property `projectMap`
|
31703
|
+
# @return [Hash<String,Google::Apis::ComputeV1::ShareSettingsProjectConfig>]
|
31704
|
+
attr_accessor :project_map
|
31705
|
+
|
31706
|
+
# Type of sharing for this shared-reservation
|
31707
|
+
# Corresponds to the JSON property `shareType`
|
31708
|
+
# @return [String]
|
31709
|
+
attr_accessor :share_type
|
31710
|
+
|
31711
|
+
def initialize(**args)
|
31712
|
+
update!(**args)
|
31713
|
+
end
|
31714
|
+
|
31715
|
+
# Update properties of this object
|
31716
|
+
def update!(**args)
|
31717
|
+
@project_map = args[:project_map] if args.key?(:project_map)
|
31718
|
+
@share_type = args[:share_type] if args.key?(:share_type)
|
31719
|
+
end
|
31720
|
+
end
|
31721
|
+
|
31722
|
+
# Config for each project in the share settings.
|
31723
|
+
class ShareSettingsProjectConfig
|
31724
|
+
include Google::Apis::Core::Hashable
|
31725
|
+
|
31726
|
+
# The project ID, should be same as the key of this project config in the parent
|
31727
|
+
# map.
|
31728
|
+
# Corresponds to the JSON property `projectId`
|
31729
|
+
# @return [String]
|
31730
|
+
attr_accessor :project_id
|
31731
|
+
|
31732
|
+
def initialize(**args)
|
31733
|
+
update!(**args)
|
31734
|
+
end
|
31735
|
+
|
31736
|
+
# Update properties of this object
|
31737
|
+
def update!(**args)
|
31738
|
+
@project_id = args[:project_id] if args.key?(:project_id)
|
31739
|
+
end
|
31740
|
+
end
|
31741
|
+
|
30194
31742
|
# A set of Shielded Instance options.
|
30195
31743
|
class ShieldedInstanceConfig
|
30196
31744
|
include Google::Apis::Core::Hashable
|
@@ -30656,6 +32204,35 @@ module Google
|
|
30656
32204
|
end
|
30657
32205
|
end
|
30658
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
|
+
|
30659
32236
|
# A specification of the parameters to use when creating the instance template
|
30660
32237
|
# from a source instance.
|
30661
32238
|
class SourceInstanceParams
|
@@ -30679,6 +32256,116 @@ module Google
|
|
30679
32256
|
end
|
30680
32257
|
end
|
30681
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
|
+
|
30682
32369
|
# Represents an SSL Certificate resource. Google Compute Engine has two SSL
|
30683
32370
|
# Certificate resources: * [Global](/compute/docs/reference/rest/v1/
|
30684
32371
|
# sslCertificates) * [Regional](/compute/docs/reference/rest/v1/
|
@@ -31607,8 +33294,9 @@ module Google
|
|
31607
33294
|
|
31608
33295
|
# Whether to enable flow logging for this subnetwork. If this field is not
|
31609
33296
|
# explicitly set, it will not appear in get listings. If not set the default
|
31610
|
-
# behavior is
|
31611
|
-
#
|
33297
|
+
# behavior is determined by the org policy, if there is no org policy specified,
|
33298
|
+
# then it will default to disabled. This field isn't supported with the purpose
|
33299
|
+
# field set to INTERNAL_HTTPS_LOAD_BALANCER.
|
31612
33300
|
# Corresponds to the JSON property `enableFlowLogs`
|
31613
33301
|
# @return [Boolean]
|
31614
33302
|
attr_accessor :enable_flow_logs
|
@@ -32055,7 +33743,8 @@ module Google
|
|
32055
33743
|
|
32056
33744
|
# Whether to enable flow logging for this subnetwork. If this field is not
|
32057
33745
|
# explicitly set, it will not appear in get listings. If not set the default
|
32058
|
-
# behavior is
|
33746
|
+
# behavior is determined by the org policy, if there is no org policy specified,
|
33747
|
+
# then it will default to disabled.
|
32059
33748
|
# Corresponds to the JSON property `enable`
|
32060
33749
|
# @return [Boolean]
|
32061
33750
|
attr_accessor :enable
|
@@ -32070,8 +33759,8 @@ module Google
|
|
32070
33759
|
# Can only be specified if VPC flow logging for this subnetwork is enabled. The
|
32071
33760
|
# value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
|
32072
33761
|
# within the subnetwork where 1.0 means all collected logs are reported and 0.0
|
32073
|
-
# means no logs are reported. Default is 0.5
|
32074
|
-
# logs are reported.
|
33762
|
+
# means no logs are reported. Default is 0.5 unless otherwise specified by the
|
33763
|
+
# org policy, which means half of all collected logs are reported.
|
32075
33764
|
# Corresponds to the JSON property `flowSampling`
|
32076
33765
|
# @return [Float]
|
32077
33766
|
attr_accessor :flow_sampling
|
@@ -32266,6 +33955,27 @@ module Google
|
|
32266
33955
|
end
|
32267
33956
|
end
|
32268
33957
|
|
33958
|
+
# Subsetting configuration for this BackendService. Currently this is applicable
|
33959
|
+
# only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and
|
33960
|
+
# Traffic Director.
|
33961
|
+
class Subsetting
|
33962
|
+
include Google::Apis::Core::Hashable
|
33963
|
+
|
33964
|
+
#
|
33965
|
+
# Corresponds to the JSON property `policy`
|
33966
|
+
# @return [String]
|
33967
|
+
attr_accessor :policy
|
33968
|
+
|
33969
|
+
def initialize(**args)
|
33970
|
+
update!(**args)
|
33971
|
+
end
|
33972
|
+
|
33973
|
+
# Update properties of this object
|
33974
|
+
def update!(**args)
|
33975
|
+
@policy = args[:policy] if args.key?(:policy)
|
33976
|
+
end
|
33977
|
+
end
|
33978
|
+
|
32269
33979
|
#
|
32270
33980
|
class TcpHealthCheck
|
32271
33981
|
include Google::Apis::Core::Hashable
|
@@ -35432,7 +37142,7 @@ module Google
|
|
35432
37142
|
class TestFailure
|
35433
37143
|
include Google::Apis::Core::Hashable
|
35434
37144
|
|
35435
|
-
# The actual output URL evaluated by load balancer containing the scheme, host,
|
37145
|
+
# The actual output URL evaluated by a load balancer containing the scheme, host,
|
35436
37146
|
# path and query parameters.
|
35437
37147
|
# Corresponds to the JSON property `actualOutputUrl`
|
35438
37148
|
# @return [String]
|
@@ -35449,8 +37159,8 @@ module Google
|
|
35449
37159
|
# @return [String]
|
35450
37160
|
attr_accessor :actual_service
|
35451
37161
|
|
35452
|
-
# The expected output URL evaluated by load balancer containing the scheme,
|
35453
|
-
# path and query parameters.
|
37162
|
+
# The expected output URL evaluated by a load balancer containing the scheme,
|
37163
|
+
# host, path and query parameters.
|
35454
37164
|
# Corresponds to the JSON property `expectedOutputUrl`
|
35455
37165
|
# @return [String]
|
35456
37166
|
attr_accessor :expected_output_url
|
@@ -35564,17 +37274,17 @@ module Google
|
|
35564
37274
|
end
|
35565
37275
|
end
|
35566
37276
|
|
35567
|
-
# Represents a URL Map resource.
|
35568
|
-
#
|
35569
|
-
#
|
35570
|
-
#
|
35571
|
-
#
|
35572
|
-
#
|
35573
|
-
#
|
37277
|
+
# Represents a URL Map resource. Compute Engine has two URL Map resources: * [
|
37278
|
+
# Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/
|
37279
|
+
# reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain
|
37280
|
+
# types of cloud load balancers and Traffic Director: * urlMaps are used by
|
37281
|
+
# external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used
|
37282
|
+
# by internal HTTP(S) load balancers. For a list of supported URL map features
|
37283
|
+
# by the load balancer type, see the Load balancing features: Routing and
|
35574
37284
|
# traffic management table. For a list of supported URL map features for Traffic
|
35575
37285
|
# Director, see the Traffic Director features: Routing and traffic management
|
35576
|
-
# table. This resource defines mappings from
|
35577
|
-
#
|
37286
|
+
# table. This resource defines mappings from hostnames and URL paths to either a
|
37287
|
+
# backend service or a backend bucket. To use the global urlMaps resource, the
|
35578
37288
|
# backend service must have a loadBalancingScheme of either EXTERNAL or
|
35579
37289
|
# INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
|
35580
37290
|
# must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
|
@@ -35588,28 +37298,28 @@ module Google
|
|
35588
37298
|
attr_accessor :creation_timestamp
|
35589
37299
|
|
35590
37300
|
# defaultRouteAction takes effect when none of the hostRules match. The load
|
35591
|
-
# balancer performs advanced routing actions
|
35592
|
-
# transformations,
|
35593
|
-
#
|
35594
|
-
#
|
35595
|
-
#
|
37301
|
+
# balancer performs advanced routing actions, such as URL rewrites and header
|
37302
|
+
# transformations, before forwarding the request to the selected backend. If
|
37303
|
+
# defaultRouteAction specifies any weightedBackendServices, defaultService must
|
37304
|
+
# not be set. Conversely if defaultService is set, defaultRouteAction cannot
|
37305
|
+
# contain any weightedBackendServices. Only one of defaultRouteAction or
|
35596
37306
|
# defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
|
35597
37307
|
# support only the urlRewrite action within defaultRouteAction.
|
35598
|
-
# defaultRouteAction has no effect when the URL map is bound to target gRPC
|
35599
|
-
# proxy that has validateForProxyless field set to true.
|
37308
|
+
# defaultRouteAction has no effect when the URL map is bound to a target gRPC
|
37309
|
+
# proxy that has the validateForProxyless field set to true.
|
35600
37310
|
# Corresponds to the JSON property `defaultRouteAction`
|
35601
37311
|
# @return [Google::Apis::ComputeV1::HttpRouteAction]
|
35602
37312
|
attr_accessor :default_route_action
|
35603
37313
|
|
35604
37314
|
# The full or partial URL of the defaultService resource to which traffic is
|
35605
|
-
# directed if none of the hostRules match. If defaultRouteAction is
|
35606
|
-
# specified, advanced routing actions
|
35607
|
-
#
|
37315
|
+
# directed if none of the hostRules match. If defaultRouteAction is also
|
37316
|
+
# specified, advanced routing actions, such as URL rewrites, take effect before
|
37317
|
+
# sending the request to the backend. However, if defaultService is specified,
|
35608
37318
|
# defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
|
35609
37319
|
# routeAction specifies any weightedBackendServices, service must not be
|
35610
|
-
# specified. Only one of defaultService, defaultUrlRedirect or
|
37320
|
+
# specified. Only one of defaultService, defaultUrlRedirect , or
|
35611
37321
|
# defaultRouteAction.weightedBackendService must be set. defaultService has no
|
35612
|
-
# effect when the URL map is bound to target gRPC proxy that has
|
37322
|
+
# effect when the URL map is bound to a target gRPC proxy that has the
|
35613
37323
|
# validateForProxyless field set to true.
|
35614
37324
|
# Corresponds to the JSON property `defaultService`
|
35615
37325
|
# @return [String]
|
@@ -35627,11 +37337,10 @@ module Google
|
|
35627
37337
|
attr_accessor :description
|
35628
37338
|
|
35629
37339
|
# Fingerprint of this resource. A hash of the contents stored in this object.
|
35630
|
-
# This field is used in optimistic locking. This field
|
35631
|
-
#
|
35632
|
-
#
|
35633
|
-
#
|
35634
|
-
# retrieve a UrlMap.
|
37340
|
+
# This field is used in optimistic locking. This field is ignored when inserting
|
37341
|
+
# a UrlMap. An up-to-date fingerprint must be provided in order to update the
|
37342
|
+
# UrlMap, otherwise the request will fail with error 412 conditionNotMet. To see
|
37343
|
+
# the latest fingerprint, make a get() request to retrieve a UrlMap.
|
35635
37344
|
# Corresponds to the JSON property `fingerprint`
|
35636
37345
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
35637
37346
|
# @return [String]
|
@@ -35643,7 +37352,7 @@ module Google
|
|
35643
37352
|
# @return [Google::Apis::ComputeV1::HttpHeaderAction]
|
35644
37353
|
attr_accessor :header_action
|
35645
37354
|
|
35646
|
-
# The list of
|
37355
|
+
# The list of host rules to use against the URL.
|
35647
37356
|
# Corresponds to the JSON property `hostRules`
|
35648
37357
|
# @return [Array<Google::Apis::ComputeV1::HostRule>]
|
35649
37358
|
attr_accessor :host_rules
|
@@ -35686,10 +37395,10 @@ module Google
|
|
35686
37395
|
# @return [String]
|
35687
37396
|
attr_accessor :self_link
|
35688
37397
|
|
35689
|
-
# The list of expected URL mapping tests. Request to update
|
35690
|
-
#
|
35691
|
-
#
|
35692
|
-
#
|
37398
|
+
# The list of expected URL mapping tests. Request to update the UrlMap succeeds
|
37399
|
+
# only if all test cases pass. You can specify a maximum of 100 tests per UrlMap.
|
37400
|
+
# Not supported when the URL map is bound to a target gRPC proxy that has
|
37401
|
+
# validateForProxyless field set to true.
|
35693
37402
|
# Corresponds to the JSON property `tests`
|
35694
37403
|
# @return [Array<Google::Apis::ComputeV1::UrlMapTest>]
|
35695
37404
|
attr_accessor :tests
|
@@ -35863,18 +37572,18 @@ module Google
|
|
35863
37572
|
# @return [String]
|
35864
37573
|
attr_accessor :description
|
35865
37574
|
|
35866
|
-
# The expected output URL evaluated by load balancer containing the scheme,
|
35867
|
-
# path and query parameters. For rules that forward requests to backends,
|
35868
|
-
# test passes only when expectedOutputUrl matches the request forwarded by
|
35869
|
-
# balancer to backends. For rules with urlRewrite, the test verifies
|
35870
|
-
# forwarded request matches hostRewrite and pathPrefixRewrite in the
|
35871
|
-
# action. When service is specified, expectedOutputUrl`s scheme is
|
35872
|
-
# rules with urlRedirect, the test passes only if expectedOutputUrl
|
35873
|
-
# URL in the load balancer's redirect response. If urlRedirect
|
35874
|
-
# https_redirect, the test passes only if the scheme in
|
35875
|
-
# also set to
|
35876
|
-
# if expectedOutputUrl does not contain any query
|
35877
|
-
# is optional when service is specified.
|
37575
|
+
# The expected output URL evaluated by the load balancer containing the scheme,
|
37576
|
+
# host, path and query parameters. For rules that forward requests to backends,
|
37577
|
+
# the test passes only when expectedOutputUrl matches the request forwarded by
|
37578
|
+
# the load balancer to backends. For rules with urlRewrite, the test verifies
|
37579
|
+
# that the forwarded request matches hostRewrite and pathPrefixRewrite in the
|
37580
|
+
# urlRewrite action. When service is specified, expectedOutputUrl`s scheme is
|
37581
|
+
# ignored. For rules with urlRedirect, the test passes only if expectedOutputUrl
|
37582
|
+
# matches the URL in the load balancer's redirect response. If urlRedirect
|
37583
|
+
# specifies https_redirect, the test passes only if the scheme in
|
37584
|
+
# expectedOutputUrl is also set to HTTPS. If urlRedirect specifies strip_query,
|
37585
|
+
# the test passes only if expectedOutputUrl does not contain any query
|
37586
|
+
# parameters. expectedOutputUrl is optional when service is specified.
|
35878
37587
|
# Corresponds to the JSON property `expectedOutputUrl`
|
35879
37588
|
# @return [String]
|
35880
37589
|
attr_accessor :expected_output_url
|
@@ -35905,7 +37614,8 @@ module Google
|
|
35905
37614
|
attr_accessor :path
|
35906
37615
|
|
35907
37616
|
# Expected BackendService or BackendBucket resource the given URL should be
|
35908
|
-
# mapped to. service cannot be set if expectedRedirectResponseCode is
|
37617
|
+
# mapped to. The service field cannot be set if expectedRedirectResponseCode is
|
37618
|
+
# set.
|
35909
37619
|
# Corresponds to the JSON property `service`
|
35910
37620
|
# @return [String]
|
35911
37621
|
attr_accessor :service
|
@@ -36210,17 +37920,17 @@ module Google
|
|
36210
37920
|
class ValidateUrlMapsRequest
|
36211
37921
|
include Google::Apis::Core::Hashable
|
36212
37922
|
|
36213
|
-
# Represents a URL Map resource.
|
36214
|
-
#
|
36215
|
-
#
|
36216
|
-
#
|
36217
|
-
#
|
36218
|
-
#
|
36219
|
-
#
|
37923
|
+
# Represents a URL Map resource. Compute Engine has two URL Map resources: * [
|
37924
|
+
# Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/
|
37925
|
+
# reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain
|
37926
|
+
# types of cloud load balancers and Traffic Director: * urlMaps are used by
|
37927
|
+
# external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used
|
37928
|
+
# by internal HTTP(S) load balancers. For a list of supported URL map features
|
37929
|
+
# by the load balancer type, see the Load balancing features: Routing and
|
36220
37930
|
# traffic management table. For a list of supported URL map features for Traffic
|
36221
37931
|
# Director, see the Traffic Director features: Routing and traffic management
|
36222
|
-
# table. This resource defines mappings from
|
36223
|
-
#
|
37932
|
+
# table. This resource defines mappings from hostnames and URL paths to either a
|
37933
|
+
# backend service or a backend bucket. To use the global urlMaps resource, the
|
36224
37934
|
# backend service must have a loadBalancingScheme of either EXTERNAL or
|
36225
37935
|
# INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
|
36226
37936
|
# must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
|
@@ -36263,16 +37973,16 @@ module Google
|
|
36263
37973
|
class UrlRewrite
|
36264
37974
|
include Google::Apis::Core::Hashable
|
36265
37975
|
|
36266
|
-
#
|
36267
|
-
# header is replaced with contents of hostRewrite. The value must be
|
36268
|
-
#
|
37976
|
+
# Before forwarding the request to the selected service, the request's host
|
37977
|
+
# header is replaced with contents of hostRewrite. The value must be from 1 to
|
37978
|
+
# 255 characters.
|
36269
37979
|
# Corresponds to the JSON property `hostRewrite`
|
36270
37980
|
# @return [String]
|
36271
37981
|
attr_accessor :host_rewrite
|
36272
37982
|
|
36273
|
-
#
|
37983
|
+
# Before forwarding the request to the selected backend service, the matching
|
36274
37984
|
# portion of the request's path is replaced by pathPrefixRewrite. The value must
|
36275
|
-
# be
|
37985
|
+
# be from 1 to 1024 characters.
|
36276
37986
|
# Corresponds to the JSON property `pathPrefixRewrite`
|
36277
37987
|
# @return [String]
|
36278
37988
|
attr_accessor :path_prefix_rewrite
|
@@ -36782,6 +38492,12 @@ module Google
|
|
36782
38492
|
# @return [String]
|
36783
38493
|
attr_accessor :self_link
|
36784
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
|
+
|
36785
38501
|
# The list of VPN interfaces associated with this VPN gateway.
|
36786
38502
|
# Corresponds to the JSON property `vpnInterfaces`
|
36787
38503
|
# @return [Array<Google::Apis::ComputeV1::VpnGatewayVpnGatewayInterface>]
|
@@ -36803,6 +38519,7 @@ module Google
|
|
36803
38519
|
@network = args[:network] if args.key?(:network)
|
36804
38520
|
@region = args[:region] if args.key?(:region)
|
36805
38521
|
@self_link = args[:self_link] if args.key?(:self_link)
|
38522
|
+
@stack_type = args[:stack_type] if args.key?(:stack_type)
|
36806
38523
|
@vpn_interfaces = args[:vpn_interfaces] if args.key?(:vpn_interfaces)
|
36807
38524
|
end
|
36808
38525
|
end
|
@@ -37905,14 +39622,13 @@ module Google
|
|
37905
39622
|
|
37906
39623
|
# In contrast to a single BackendService in HttpRouteAction to which all
|
37907
39624
|
# matching traffic is directed to, WeightedBackendService allows traffic to be
|
37908
|
-
# split across multiple
|
37909
|
-
#
|
37910
|
-
# WeightedBackendService
|
39625
|
+
# split across multiple backend services. The volume of traffic for each backend
|
39626
|
+
# service is proportional to the weight specified in each WeightedBackendService
|
37911
39627
|
class WeightedBackendService
|
37912
39628
|
include Google::Apis::Core::Hashable
|
37913
39629
|
|
37914
39630
|
# The full or partial URL to the default BackendService resource. Before
|
37915
|
-
# forwarding the request to backendService, the
|
39631
|
+
# forwarding the request to backendService, the load balancer applies any
|
37916
39632
|
# relevant headerActions specified as part of this backendServiceWeight.
|
37917
39633
|
# Corresponds to the JSON property `backendService`
|
37918
39634
|
# @return [String]
|
@@ -37924,12 +39640,12 @@ module Google
|
|
37924
39640
|
# @return [Google::Apis::ComputeV1::HttpHeaderAction]
|
37925
39641
|
attr_accessor :header_action
|
37926
39642
|
|
37927
|
-
# Specifies the fraction of traffic sent to
|
37928
|
-
# (sum of all weightedBackendService weights in routeAction) . The
|
37929
|
-
# a backend service is determined only for new traffic. Once a user'
|
37930
|
-
# has been directed to a
|
37931
|
-
# same
|
37932
|
-
# policy. The value must be
|
39643
|
+
# Specifies the fraction of traffic sent to a backend service, computed as
|
39644
|
+
# weight / (sum of all weightedBackendService weights in routeAction) . The
|
39645
|
+
# selection of a backend service is determined only for new traffic. Once a user'
|
39646
|
+
# s request has been directed to a backend service, subsequent requests are sent
|
39647
|
+
# to the same backend service as determined by the backend service's session
|
39648
|
+
# affinity policy. The value must be from 0 to 1000.
|
37933
39649
|
# Corresponds to the JSON property `weight`
|
37934
39650
|
# @return [Fixnum]
|
37935
39651
|
attr_accessor :weight
|
@@ -38339,31 +40055,31 @@ module Google
|
|
38339
40055
|
|
38340
40056
|
# An Identity and Access Management (IAM) policy, which specifies access
|
38341
40057
|
# controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
|
38342
|
-
# A `binding` binds one or more `members
|
38343
|
-
# user accounts, service accounts, Google groups, and domains (
|
38344
|
-
# A `role` is a named list of permissions; each `role` can be
|
38345
|
-
# role or a user-created custom role. For some types of Google
|
38346
|
-
# a `binding` can also specify a `condition`, which is a
|
38347
|
-
# allows access to a resource only if the expression
|
38348
|
-
# condition can add constraints based on attributes of
|
38349
|
-
# or both. To learn which resources support
|
38350
|
-
# see the [IAM documentation](https://cloud.
|
38351
|
-
# resource-policies). **JSON example:** ` "
|
38352
|
-
# resourcemanager.organizationAdmin", "members": [
|
38353
|
-
# group:admins@example.com", "domain:google.com", "
|
38354
|
-
# appspot.gserviceaccount.com" ] `, ` "role": "
|
38355
|
-
# organizationViewer", "members": [ "user:eve@example.com"
|
38356
|
-
# title": "expirable access", "description": "Does not grant
|
38357
|
-
# 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
38358
|
-
# ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
38359
|
-
# members: - user:mike@example.com - group:admins@example.com -
|
38360
|
-
# com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
38361
|
-
# resourcemanager.organizationAdmin - members: - user:eve@example.
|
38362
|
-
# roles/resourcemanager.organizationViewer condition: title: expirable
|
38363
|
-
# description: Does not grant access after Sep 2020 expression: request.
|
38364
|
-
# timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
38365
|
-
# description of IAM and its features, see the [IAM documentation](https://
|
38366
|
-
# google.com/iam/docs/).
|
40058
|
+
# A `binding` binds one or more `members`, or principals, to a single `role`.
|
40059
|
+
# Principals can be user accounts, service accounts, Google groups, and domains (
|
40060
|
+
# such as G Suite). A `role` is a named list of permissions; each `role` can be
|
40061
|
+
# an IAM predefined role or a user-created custom role. For some types of Google
|
40062
|
+
# Cloud resources, a `binding` can also specify a `condition`, which is a
|
40063
|
+
# logical expression that allows access to a resource only if the expression
|
40064
|
+
# evaluates to `true`. A condition can add constraints based on attributes of
|
40065
|
+
# the request, the resource, or both. To learn which resources support
|
40066
|
+
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
40067
|
+
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
40068
|
+
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
40069
|
+
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
40070
|
+
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
40071
|
+
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
40072
|
+
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
40073
|
+
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
40074
|
+
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
40075
|
+
# bindings: - members: - user:mike@example.com - group:admins@example.com -
|
40076
|
+
# domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
40077
|
+
# role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
|
40078
|
+
# com role: roles/resourcemanager.organizationViewer condition: title: expirable
|
40079
|
+
# access description: Does not grant access after Sep 2020 expression: request.
|
40080
|
+
# time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
40081
|
+
# a description of IAM and its features, see the [IAM documentation](https://
|
40082
|
+
# cloud.google.com/iam/docs/).
|
38367
40083
|
# Corresponds to the JSON property `policy`
|
38368
40084
|
# @return [Google::Apis::ComputeV1::Policy]
|
38369
40085
|
attr_accessor :policy
|