google-apis-compute_v1 0.19.0 → 0.23.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 +1 -1
- data/lib/google/apis/compute_v1/classes.rb +1717 -468
- data/lib/google/apis/compute_v1/gem_version.rb +2 -2
- data/lib/google/apis/compute_v1/representations.rb +375 -1
- data/lib/google/apis/compute_v1/service.rb +2852 -1709
- metadata +4 -4
@@ -464,15 +464,15 @@ module Google
|
|
464
464
|
class AccessConfig
|
465
465
|
include Google::Apis::Core::Hashable
|
466
466
|
|
467
|
-
#
|
468
|
-
#
|
467
|
+
# The first IPv6 address of the external IPv6 range associated with this
|
468
|
+
# instance, prefix length is stored in externalIpv6PrefixLength in
|
469
469
|
# ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork
|
470
470
|
# associated with the instance will be allocated dynamically.
|
471
471
|
# Corresponds to the JSON property `externalIpv6`
|
472
472
|
# @return [String]
|
473
473
|
attr_accessor :external_ipv6
|
474
474
|
|
475
|
-
#
|
475
|
+
# The prefix length of the external IPv6 range.
|
476
476
|
# Corresponds to the JSON property `externalIpv6PrefixLength`
|
477
477
|
# @return [Fixnum]
|
478
478
|
attr_accessor :external_ipv6_prefix_length
|
@@ -633,14 +633,14 @@ module Google
|
|
633
633
|
# regional internal IP address in a subnet of a VPC network) - VPC_PEERING for
|
634
634
|
# global internal IP addresses used for private services access allocated ranges.
|
635
635
|
# - NAT_AUTO for the regional external IP addresses used by Cloud NAT when
|
636
|
-
# allocating addresses using
|
637
|
-
#
|
638
|
-
#
|
639
|
-
#
|
640
|
-
# an internal IP address that is
|
641
|
-
#
|
642
|
-
#
|
643
|
-
# purpose.
|
636
|
+
# allocating addresses using automatic NAT IP address allocation. -
|
637
|
+
# IPSEC_INTERCONNECT for addresses created from a private IP range that are
|
638
|
+
# reserved for a VLAN attachment in an *IPsec-encrypted Cloud Interconnect*
|
639
|
+
# configuration. These addresses are regional resources. Not currently available
|
640
|
+
# publicly. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is
|
641
|
+
# assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT`
|
642
|
+
# for a private network address that is used to configure Private Service
|
643
|
+
# Connect. Only global internal addresses can use this purpose.
|
644
644
|
# Corresponds to the JSON property `purpose`
|
645
645
|
# @return [String]
|
646
646
|
attr_accessor :purpose
|
@@ -1051,6 +1051,12 @@ module Google
|
|
1051
1051
|
attr_accessor :enable_nested_virtualization
|
1052
1052
|
alias_method :enable_nested_virtualization?, :enable_nested_virtualization
|
1053
1053
|
|
1054
|
+
# Whether to enable UEFI networking for instance creation.
|
1055
|
+
# Corresponds to the JSON property `enableUefiNetworking`
|
1056
|
+
# @return [Boolean]
|
1057
|
+
attr_accessor :enable_uefi_networking
|
1058
|
+
alias_method :enable_uefi_networking?, :enable_uefi_networking
|
1059
|
+
|
1054
1060
|
# The number of threads per physical core. To disable simultaneous
|
1055
1061
|
# multithreading (SMT) set this to 1. If unset, the maximum number of threads
|
1056
1062
|
# supported per core by the underlying processor is assumed.
|
@@ -1065,6 +1071,7 @@ module Google
|
|
1065
1071
|
# Update properties of this object
|
1066
1072
|
def update!(**args)
|
1067
1073
|
@enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
|
1074
|
+
@enable_uefi_networking = args[:enable_uefi_networking] if args.key?(:enable_uefi_networking)
|
1068
1075
|
@threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
|
1069
1076
|
end
|
1070
1077
|
end
|
@@ -1315,7 +1322,8 @@ module Google
|
|
1315
1322
|
# initializeParams.sourceSnapshot or disks.source is required except for local
|
1316
1323
|
# SSD. If desired, you can also attach existing non-root persistent disks using
|
1317
1324
|
# this property. This field is only applicable for persistent disks. Note that
|
1318
|
-
# for InstanceTemplate, specify the disk name,
|
1325
|
+
# for InstanceTemplate, specify the disk name for zonal disk, and the URL for
|
1326
|
+
# regional disk.
|
1319
1327
|
# Corresponds to the JSON property `source`
|
1320
1328
|
# @return [String]
|
1321
1329
|
attr_accessor :source
|
@@ -1398,6 +1406,11 @@ module Google
|
|
1398
1406
|
# @return [Hash<String,String>]
|
1399
1407
|
attr_accessor :labels
|
1400
1408
|
|
1409
|
+
# A list of publicly visible licenses. Reserved for Google's use.
|
1410
|
+
# Corresponds to the JSON property `licenses`
|
1411
|
+
# @return [Array<String>]
|
1412
|
+
attr_accessor :licenses
|
1413
|
+
|
1401
1414
|
# Specifies which action to take on instance update with this disk. Default is
|
1402
1415
|
# to use the existing disk.
|
1403
1416
|
# Corresponds to the JSON property `onUpdateAction`
|
@@ -1470,6 +1483,7 @@ module Google
|
|
1470
1483
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
1471
1484
|
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
1472
1485
|
@labels = args[:labels] if args.key?(:labels)
|
1486
|
+
@licenses = args[:licenses] if args.key?(:licenses)
|
1473
1487
|
@on_update_action = args[:on_update_action] if args.key?(:on_update_action)
|
1474
1488
|
@provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
|
1475
1489
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
@@ -2565,6 +2579,12 @@ module Google
|
|
2565
2579
|
# @return [String]
|
2566
2580
|
attr_accessor :description
|
2567
2581
|
|
2582
|
+
# [Output Only] The resource URL for the edge security policy associated with
|
2583
|
+
# this backend bucket.
|
2584
|
+
# Corresponds to the JSON property `edgeSecurityPolicy`
|
2585
|
+
# @return [String]
|
2586
|
+
attr_accessor :edge_security_policy
|
2587
|
+
|
2568
2588
|
# If true, enable Cloud CDN for this BackendBucket.
|
2569
2589
|
# Corresponds to the JSON property `enableCdn`
|
2570
2590
|
# @return [Boolean]
|
@@ -2607,6 +2627,7 @@ module Google
|
|
2607
2627
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
2608
2628
|
@custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
|
2609
2629
|
@description = args[:description] if args.key?(:description)
|
2630
|
+
@edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy)
|
2610
2631
|
@enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
|
2611
2632
|
@id = args[:id] if args.key?(:id)
|
2612
2633
|
@kind = args[:kind] if args.key?(:kind)
|
@@ -2626,6 +2647,12 @@ module Google
|
|
2626
2647
|
# @return [Array<Google::Apis::ComputeV1::BackendBucketCdnPolicyBypassCacheOnRequestHeader>]
|
2627
2648
|
attr_accessor :bypass_cache_on_request_headers
|
2628
2649
|
|
2650
|
+
# Message containing what to include in the cache key for a request for Cloud
|
2651
|
+
# CDN.
|
2652
|
+
# Corresponds to the JSON property `cacheKeyPolicy`
|
2653
|
+
# @return [Google::Apis::ComputeV1::BackendBucketCdnPolicyCacheKeyPolicy]
|
2654
|
+
attr_accessor :cache_key_policy
|
2655
|
+
|
2629
2656
|
# Specifies the cache setting for all responses from this backend. The possible
|
2630
2657
|
# values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching
|
2631
2658
|
# headers to cache content. Responses without these headers will not be cached
|
@@ -2749,6 +2776,7 @@ module Google
|
|
2749
2776
|
# Update properties of this object
|
2750
2777
|
def update!(**args)
|
2751
2778
|
@bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
|
2779
|
+
@cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
|
2752
2780
|
@cache_mode = args[:cache_mode] if args.key?(:cache_mode)
|
2753
2781
|
@client_ttl = args[:client_ttl] if args.key?(:client_ttl)
|
2754
2782
|
@default_ttl = args[:default_ttl] if args.key?(:default_ttl)
|
@@ -2784,6 +2812,34 @@ module Google
|
|
2784
2812
|
end
|
2785
2813
|
end
|
2786
2814
|
|
2815
|
+
# Message containing what to include in the cache key for a request for Cloud
|
2816
|
+
# CDN.
|
2817
|
+
class BackendBucketCdnPolicyCacheKeyPolicy
|
2818
|
+
include Google::Apis::Core::Hashable
|
2819
|
+
|
2820
|
+
# Allows HTTP request headers (by name) to be used in the cache key.
|
2821
|
+
# Corresponds to the JSON property `includeHttpHeaders`
|
2822
|
+
# @return [Array<String>]
|
2823
|
+
attr_accessor :include_http_headers
|
2824
|
+
|
2825
|
+
# Names of query string parameters to include in cache keys. All other
|
2826
|
+
# parameters will be excluded. '&' and '=' will be percent encoded and not
|
2827
|
+
# treated as delimiters.
|
2828
|
+
# Corresponds to the JSON property `queryStringWhitelist`
|
2829
|
+
# @return [Array<String>]
|
2830
|
+
attr_accessor :query_string_whitelist
|
2831
|
+
|
2832
|
+
def initialize(**args)
|
2833
|
+
update!(**args)
|
2834
|
+
end
|
2835
|
+
|
2836
|
+
# Update properties of this object
|
2837
|
+
def update!(**args)
|
2838
|
+
@include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
|
2839
|
+
@query_string_whitelist = args[:query_string_whitelist] if args.key?(:query_string_whitelist)
|
2840
|
+
end
|
2841
|
+
end
|
2842
|
+
|
2787
2843
|
# Specify CDN TTLs for response error codes.
|
2788
2844
|
class BackendBucketCdnPolicyNegativeCachingPolicy
|
2789
2845
|
include Google::Apis::Core::Hashable
|
@@ -2977,6 +3033,11 @@ module Google
|
|
2977
3033
|
# @return [Google::Apis::ComputeV1::ConnectionDraining]
|
2978
3034
|
attr_accessor :connection_draining
|
2979
3035
|
|
3036
|
+
# Connection Tracking configuration for this BackendService.
|
3037
|
+
# Corresponds to the JSON property `connectionTrackingPolicy`
|
3038
|
+
# @return [Google::Apis::ComputeV1::BackendServiceConnectionTrackingPolicy]
|
3039
|
+
attr_accessor :connection_tracking_policy
|
3040
|
+
|
2980
3041
|
# This message defines settings for a consistent hash style load balancer.
|
2981
3042
|
# Corresponds to the JSON property `consistentHash`
|
2982
3043
|
# @return [Google::Apis::ComputeV1::ConsistentHashLoadBalancerSettings]
|
@@ -3005,6 +3066,12 @@ module Google
|
|
3005
3066
|
# @return [String]
|
3006
3067
|
attr_accessor :description
|
3007
3068
|
|
3069
|
+
# [Output Only] The resource URL for the edge security policy associated with
|
3070
|
+
# this backend service.
|
3071
|
+
# Corresponds to the JSON property `edgeSecurityPolicy`
|
3072
|
+
# @return [String]
|
3073
|
+
attr_accessor :edge_security_policy
|
3074
|
+
|
3008
3075
|
# If true, enables Cloud CDN for the backend service of an external HTTP(S) load
|
3009
3076
|
# balancer.
|
3010
3077
|
# Corresponds to the JSON property `enableCDN`
|
@@ -3014,14 +3081,14 @@ module Google
|
|
3014
3081
|
|
3015
3082
|
# For load balancers that have configurable failover: [Internal TCP/UDP Load
|
3016
3083
|
# Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
|
3017
|
-
# overview) and [external TCP/UDP Load Balancing](/
|
3018
|
-
# overview). On failover or failback,
|
3019
|
-
# draining will be honored. Google Cloud
|
3020
|
-
# of 10 minutes. A setting of true
|
3021
|
-
# active pool during failover and
|
3022
|
-
# setting of false allows existing TCP
|
3023
|
-
# longer in the active pool, for up to
|
3024
|
-
# timeout (10 minutes).
|
3084
|
+
# overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
|
3085
|
+
# balancing/docs/network/networklb-failover-overview). On failover or failback,
|
3086
|
+
# this field indicates whether connection draining will be honored. Google Cloud
|
3087
|
+
# has a fixed connection draining timeout of 10 minutes. A setting of true
|
3088
|
+
# terminates existing TCP connections to the active pool during failover and
|
3089
|
+
# failback, immediately draining traffic. A setting of false allows existing TCP
|
3090
|
+
# connections to persist, even on VMs no longer in the active pool, for up to
|
3091
|
+
# the duration of the connection draining timeout (10 minutes).
|
3025
3092
|
# Corresponds to the JSON property `failoverPolicy`
|
3026
3093
|
# @return [Google::Apis::ComputeV1::BackendServiceFailoverPolicy]
|
3027
3094
|
attr_accessor :failover_policy
|
@@ -3092,8 +3159,8 @@ module Google
|
|
3092
3159
|
# INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
|
3093
3160
|
# set to INTERNAL_SELF_MANAGED. If sessionAffinity is not NONE, and this field
|
3094
3161
|
# is not set to MAGLEV or RING_HASH, session affinity settings will not take
|
3095
|
-
# effect. Only
|
3096
|
-
#
|
3162
|
+
# effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service
|
3163
|
+
# is referenced by a URL map that is bound to target gRPC proxy that has
|
3097
3164
|
# validateForProxyless field set to true.
|
3098
3165
|
# Corresponds to the JSON property `localityLbPolicy`
|
3099
3166
|
# @return [String]
|
@@ -3186,11 +3253,11 @@ module Google
|
|
3186
3253
|
# @return [String]
|
3187
3254
|
attr_accessor :self_link
|
3188
3255
|
|
3189
|
-
# Type of session affinity to use. The default is NONE.
|
3190
|
-
#
|
3191
|
-
#
|
3192
|
-
#
|
3193
|
-
#
|
3256
|
+
# Type of session affinity to use. The default is NONE. Only NONE and
|
3257
|
+
# HEADER_FIELD are supported when the backend service is referenced by a URL map
|
3258
|
+
# that is bound to target gRPC proxy that has validateForProxyless field set to
|
3259
|
+
# true. For more details, see: [Session Affinity](https://cloud.google.com/load-
|
3260
|
+
# balancing/docs/backend-service#session_affinity).
|
3194
3261
|
# Corresponds to the JSON property `sessionAffinity`
|
3195
3262
|
# @return [String]
|
3196
3263
|
attr_accessor :session_affinity
|
@@ -3220,11 +3287,13 @@ module Google
|
|
3220
3287
|
@cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
|
3221
3288
|
@circuit_breakers = args[:circuit_breakers] if args.key?(:circuit_breakers)
|
3222
3289
|
@connection_draining = args[:connection_draining] if args.key?(:connection_draining)
|
3290
|
+
@connection_tracking_policy = args[:connection_tracking_policy] if args.key?(:connection_tracking_policy)
|
3223
3291
|
@consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
|
3224
3292
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
3225
3293
|
@custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers)
|
3226
3294
|
@custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
|
3227
3295
|
@description = args[:description] if args.key?(:description)
|
3296
|
+
@edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy)
|
3228
3297
|
@enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
|
3229
3298
|
@failover_policy = args[:failover_policy] if args.key?(:failover_policy)
|
3230
3299
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
@@ -3581,16 +3650,76 @@ module Google
|
|
3581
3650
|
end
|
3582
3651
|
end
|
3583
3652
|
|
3653
|
+
# Connection Tracking configuration for this BackendService.
|
3654
|
+
class BackendServiceConnectionTrackingPolicy
|
3655
|
+
include Google::Apis::Core::Hashable
|
3656
|
+
|
3657
|
+
# Specifies connection persistence when backends are unhealthy. The default
|
3658
|
+
# value is DEFAULT_FOR_PROTOCOL. If set to DEFAULT_FOR_PROTOCOL, the existing
|
3659
|
+
# connections persist on unhealthy backends only for connection-oriented
|
3660
|
+
# protocols (TCP and SCTP) and only if the Tracking Mode is PER_CONNECTION (
|
3661
|
+
# default tracking mode) or the Session Affinity is configured for 5-tuple. They
|
3662
|
+
# do not persist for UDP. If set to NEVER_PERSIST, after a backend becomes
|
3663
|
+
# unhealthy, the existing connections on the unhealthy backend are never
|
3664
|
+
# persisted on the unhealthy backend. They are always diverted to newly selected
|
3665
|
+
# healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST,
|
3666
|
+
# existing connections always persist on unhealthy backends regardless of
|
3667
|
+
# protocol and session affinity. It is generally not recommended to use this
|
3668
|
+
# mode overriding the default. For more details, see [Connection Persistence for
|
3669
|
+
# Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/
|
3670
|
+
# networklb-backend-service#connection-persistence) and [Connection Persistence
|
3671
|
+
# for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/
|
3672
|
+
# docs/internal#connection-persistence).
|
3673
|
+
# Corresponds to the JSON property `connectionPersistenceOnUnhealthyBackends`
|
3674
|
+
# @return [String]
|
3675
|
+
attr_accessor :connection_persistence_on_unhealthy_backends
|
3676
|
+
|
3677
|
+
# Specifies how long to keep a Connection Tracking entry while there is no
|
3678
|
+
# matching traffic (in seconds). For Internal TCP/UDP Load Balancing: - The
|
3679
|
+
# minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set
|
3680
|
+
# only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is
|
3681
|
+
# CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is
|
3682
|
+
# PER_SESSION). For Network Load Balancer the default is 60 seconds. This option
|
3683
|
+
# is not available publicly.
|
3684
|
+
# Corresponds to the JSON property `idleTimeoutSec`
|
3685
|
+
# @return [Fixnum]
|
3686
|
+
attr_accessor :idle_timeout_sec
|
3687
|
+
|
3688
|
+
# Specifies the key used for connection tracking. There are two options: -
|
3689
|
+
# PER_CONNECTION: This is the default mode. The Connection Tracking is performed
|
3690
|
+
# as per the Connection Key (default Hash Method) for the specific protocol. -
|
3691
|
+
# PER_SESSION: The Connection Tracking is performed as per the configured
|
3692
|
+
# Session Affinity. It matches the configured Session Affinity. For more details,
|
3693
|
+
# see [Tracking Mode for Network Load Balancing](https://cloud.google.com/load-
|
3694
|
+
# balancing/docs/network/networklb-backend-service#tracking-mode) and [Tracking
|
3695
|
+
# Mode for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-
|
3696
|
+
# balancing/docs/internal#tracking-mode).
|
3697
|
+
# Corresponds to the JSON property `trackingMode`
|
3698
|
+
# @return [String]
|
3699
|
+
attr_accessor :tracking_mode
|
3700
|
+
|
3701
|
+
def initialize(**args)
|
3702
|
+
update!(**args)
|
3703
|
+
end
|
3704
|
+
|
3705
|
+
# Update properties of this object
|
3706
|
+
def update!(**args)
|
3707
|
+
@connection_persistence_on_unhealthy_backends = args[:connection_persistence_on_unhealthy_backends] if args.key?(:connection_persistence_on_unhealthy_backends)
|
3708
|
+
@idle_timeout_sec = args[:idle_timeout_sec] if args.key?(:idle_timeout_sec)
|
3709
|
+
@tracking_mode = args[:tracking_mode] if args.key?(:tracking_mode)
|
3710
|
+
end
|
3711
|
+
end
|
3712
|
+
|
3584
3713
|
# For load balancers that have configurable failover: [Internal TCP/UDP Load
|
3585
3714
|
# Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
|
3586
|
-
# overview) and [external TCP/UDP Load Balancing](/
|
3587
|
-
# overview). On failover or failback,
|
3588
|
-
# draining will be honored. Google Cloud
|
3589
|
-
# of 10 minutes. A setting of true
|
3590
|
-
# active pool during failover and
|
3591
|
-
# setting of false allows existing TCP
|
3592
|
-
# longer in the active pool, for up to
|
3593
|
-
# timeout (10 minutes).
|
3715
|
+
# overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
|
3716
|
+
# balancing/docs/network/networklb-failover-overview). On failover or failback,
|
3717
|
+
# this field indicates whether connection draining will be honored. Google Cloud
|
3718
|
+
# has a fixed connection draining timeout of 10 minutes. A setting of true
|
3719
|
+
# terminates existing TCP connections to the active pool during failover and
|
3720
|
+
# failback, immediately draining traffic. A setting of false allows existing TCP
|
3721
|
+
# connections to persist, even on VMs no longer in the active pool, for up to
|
3722
|
+
# the duration of the connection draining timeout (10 minutes).
|
3594
3723
|
class BackendServiceFailoverPolicy
|
3595
3724
|
include Google::Apis::Core::Hashable
|
3596
3725
|
|
@@ -3605,8 +3734,9 @@ module Google
|
|
3605
3734
|
# distributed among all primary VMs when all primary and all backup backend VMs
|
3606
3735
|
# are unhealthy. For load balancers that have configurable failover: [Internal
|
3607
3736
|
# TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/
|
3608
|
-
# failover-overview) and [external TCP/UDP Load Balancing](
|
3609
|
-
# failover-overview). The default is
|
3737
|
+
# failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.
|
3738
|
+
# com/load-balancing/docs/network/networklb-failover-overview). The default is
|
3739
|
+
# false.
|
3610
3740
|
# Corresponds to the JSON property `dropTrafficIfUnhealthy`
|
3611
3741
|
# @return [Boolean]
|
3612
3742
|
attr_accessor :drop_traffic_if_unhealthy
|
@@ -3618,7 +3748,8 @@ module Google
|
|
3618
3748
|
# the total number of healthy primary VMs is less than this ratio. For load
|
3619
3749
|
# balancers that have configurable failover: [Internal TCP/UDP Load Balancing](
|
3620
3750
|
# https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [
|
3621
|
-
# external TCP/UDP Load Balancing](/
|
3751
|
+
# external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/
|
3752
|
+
# network/networklb-failover-overview).
|
3622
3753
|
# Corresponds to the JSON property `failoverRatio`
|
3623
3754
|
# @return [Float]
|
3624
3755
|
attr_accessor :failover_ratio
|
@@ -4219,7 +4350,7 @@ module Google
|
|
4219
4350
|
end
|
4220
4351
|
end
|
4221
4352
|
|
4222
|
-
# Associates `members
|
4353
|
+
# Associates `members`, or principals, with a `role`.
|
4223
4354
|
class Binding
|
4224
4355
|
include Google::Apis::Core::Hashable
|
4225
4356
|
|
@@ -4247,7 +4378,7 @@ module Google
|
|
4247
4378
|
# @return [Google::Apis::ComputeV1::Expr]
|
4248
4379
|
attr_accessor :condition
|
4249
4380
|
|
4250
|
-
# Specifies the
|
4381
|
+
# Specifies the principals requesting access for a Cloud Platform resource. `
|
4251
4382
|
# members` can have the following values: * `allUsers`: A special identifier
|
4252
4383
|
# that represents anyone who is on the internet; with or without a Google
|
4253
4384
|
# account. * `allAuthenticatedUsers`: A special identifier that represents
|
@@ -4277,8 +4408,8 @@ module Google
|
|
4277
4408
|
# @return [Array<String>]
|
4278
4409
|
attr_accessor :members
|
4279
4410
|
|
4280
|
-
# Role that is assigned to `members
|
4281
|
-
#
|
4411
|
+
# Role that is assigned to the list of `members`, or principals. For example, `
|
4412
|
+
# roles/viewer`, `roles/editor`, or `roles/owner`.
|
4282
4413
|
# Corresponds to the JSON property `role`
|
4283
4414
|
# @return [String]
|
4284
4415
|
attr_accessor :role
|
@@ -4432,6 +4563,17 @@ module Google
|
|
4432
4563
|
attr_accessor :include_host
|
4433
4564
|
alias_method :include_host?, :include_host
|
4434
4565
|
|
4566
|
+
# Allows HTTP request headers (by name) to be used in the cache key.
|
4567
|
+
# Corresponds to the JSON property `includeHttpHeaders`
|
4568
|
+
# @return [Array<String>]
|
4569
|
+
attr_accessor :include_http_headers
|
4570
|
+
|
4571
|
+
# Allows HTTP cookies (by name) to be used in the cache key. The name=value pair
|
4572
|
+
# will be used in the cache key Cloud CDN generates.
|
4573
|
+
# Corresponds to the JSON property `includeNamedCookies`
|
4574
|
+
# @return [Array<String>]
|
4575
|
+
attr_accessor :include_named_cookies
|
4576
|
+
|
4435
4577
|
# If true, http and https requests will be cached separately.
|
4436
4578
|
# Corresponds to the JSON property `includeProtocol`
|
4437
4579
|
# @return [Boolean]
|
@@ -4470,6 +4612,8 @@ module Google
|
|
4470
4612
|
# Update properties of this object
|
4471
4613
|
def update!(**args)
|
4472
4614
|
@include_host = args[:include_host] if args.key?(:include_host)
|
4615
|
+
@include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
|
4616
|
+
@include_named_cookies = args[:include_named_cookies] if args.key?(:include_named_cookies)
|
4473
4617
|
@include_protocol = args[:include_protocol] if args.key?(:include_protocol)
|
4474
4618
|
@include_query_string = args[:include_query_string] if args.key?(:include_query_string)
|
4475
4619
|
@query_string_blacklist = args[:query_string_blacklist] if args.key?(:query_string_blacklist)
|
@@ -4534,6 +4678,16 @@ module Google
|
|
4534
4678
|
class Commitment
|
4535
4679
|
include Google::Apis::Core::Hashable
|
4536
4680
|
|
4681
|
+
# Specifies whether to enable automatic renewal for the commitment. The default
|
4682
|
+
# value is false if not specified. The field can be updated until the day of the
|
4683
|
+
# commitment expiration at 12:00am PST. If the field is set to true, the
|
4684
|
+
# commitment will be automatically renewed for either one or three years
|
4685
|
+
# according to the terms of the existing commitment.
|
4686
|
+
# Corresponds to the JSON property `autoRenew`
|
4687
|
+
# @return [Boolean]
|
4688
|
+
attr_accessor :auto_renew
|
4689
|
+
alias_method :auto_renew?, :auto_renew
|
4690
|
+
|
4537
4691
|
# The category of the commitment. Category MACHINE specifies commitments
|
4538
4692
|
# composed of machine resources such as VCPU or MEMORY, listed in resources.
|
4539
4693
|
# Category LICENSE specifies commitments composed of software licenses, listed
|
@@ -4644,6 +4798,7 @@ module Google
|
|
4644
4798
|
|
4645
4799
|
# Update properties of this object
|
4646
4800
|
def update!(**args)
|
4801
|
+
@auto_renew = args[:auto_renew] if args.key?(:auto_renew)
|
4647
4802
|
@category = args[:category] if args.key?(:category)
|
4648
4803
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
4649
4804
|
@description = args[:description] if args.key?(:description)
|
@@ -5152,14 +5307,15 @@ module Google
|
|
5152
5307
|
end
|
5153
5308
|
end
|
5154
5309
|
|
5155
|
-
# The specification for allowing client
|
5156
|
-
# W3C
|
5310
|
+
# The specification for allowing client-side cross-origin requests. For more
|
5311
|
+
# information about the W3C recommendation for cross-origin resource sharing (
|
5312
|
+
# CORS), see Fetch API Living Standard.
|
5157
5313
|
class CorsPolicy
|
5158
5314
|
include Google::Apis::Core::Hashable
|
5159
5315
|
|
5160
5316
|
# In response to a preflight request, setting this to true indicates that the
|
5161
|
-
# actual request can include user credentials. This translates to the
|
5162
|
-
# Control-Allow-Credentials header. Default is false.
|
5317
|
+
# actual request can include user credentials. This field translates to the
|
5318
|
+
# Access-Control-Allow-Credentials header. Default is false.
|
5163
5319
|
# Corresponds to the JSON property `allowCredentials`
|
5164
5320
|
# @return [Boolean]
|
5165
5321
|
attr_accessor :allow_credentials
|
@@ -5175,23 +5331,23 @@ module Google
|
|
5175
5331
|
# @return [Array<String>]
|
5176
5332
|
attr_accessor :allow_methods
|
5177
5333
|
|
5178
|
-
# Specifies
|
5179
|
-
# regular expression
|
5180
|
-
#
|
5334
|
+
# Specifies a regular expression that matches allowed origins. For more
|
5335
|
+
# information about the regular expression syntax, see Syntax. An origin is
|
5336
|
+
# allowed if it matches either an item in allowOrigins or an item in
|
5181
5337
|
# allowOriginRegexes.
|
5182
5338
|
# Corresponds to the JSON property `allowOriginRegexes`
|
5183
5339
|
# @return [Array<String>]
|
5184
5340
|
attr_accessor :allow_origin_regexes
|
5185
5341
|
|
5186
|
-
# Specifies the list of origins that
|
5187
|
-
#
|
5342
|
+
# Specifies the list of origins that is allowed to do CORS requests. An origin
|
5343
|
+
# is allowed if it matches either an item in allowOrigins or an item in
|
5188
5344
|
# allowOriginRegexes.
|
5189
5345
|
# Corresponds to the JSON property `allowOrigins`
|
5190
5346
|
# @return [Array<String>]
|
5191
5347
|
attr_accessor :allow_origins
|
5192
5348
|
|
5193
|
-
# If true, specifies the CORS policy is disabled. The default value
|
5194
|
-
# which indicates that the CORS policy is in effect.
|
5349
|
+
# If true, the setting specifies the CORS policy is disabled. The default value
|
5350
|
+
# of false, which indicates that the CORS policy is in effect.
|
5195
5351
|
# Corresponds to the JSON property `disabled`
|
5196
5352
|
# @return [Boolean]
|
5197
5353
|
attr_accessor :disabled
|
@@ -5203,7 +5359,7 @@ module Google
|
|
5203
5359
|
attr_accessor :expose_headers
|
5204
5360
|
|
5205
5361
|
# Specifies how long results of a preflight request can be cached in seconds.
|
5206
|
-
# This translates to the Access-Control-Max-Age header.
|
5362
|
+
# This field translates to the Access-Control-Max-Age header.
|
5207
5363
|
# Corresponds to the JSON property `maxAge`
|
5208
5364
|
# @return [Fixnum]
|
5209
5365
|
attr_accessor :max_age
|
@@ -8337,8 +8493,7 @@ module Google
|
|
8337
8493
|
attr_accessor :self_link
|
8338
8494
|
|
8339
8495
|
# Service Directory resources to register this forwarding rule with. Currently,
|
8340
|
-
# only supports a single Service Directory resource.
|
8341
|
-
# internal load balancing.
|
8496
|
+
# only supports a single Service Directory resource.
|
8342
8497
|
# Corresponds to the JSON property `serviceDirectoryRegistrations`
|
8343
8498
|
# @return [Array<Google::Apis::ComputeV1::ForwardingRuleServiceDirectoryRegistration>]
|
8344
8499
|
attr_accessor :service_directory_registrations
|
@@ -8909,31 +9064,31 @@ module Google
|
|
8909
9064
|
|
8910
9065
|
# An Identity and Access Management (IAM) policy, which specifies access
|
8911
9066
|
# controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
|
8912
|
-
# A `binding` binds one or more `members
|
8913
|
-
# user accounts, service accounts, Google groups, and domains (
|
8914
|
-
# A `role` is a named list of permissions; each `role` can be
|
8915
|
-
# role or a user-created custom role. For some types of Google
|
8916
|
-
# a `binding` can also specify a `condition`, which is a
|
8917
|
-
# allows access to a resource only if the expression
|
8918
|
-
# condition can add constraints based on attributes of
|
8919
|
-
# or both. To learn which resources support
|
8920
|
-
# see the [IAM documentation](https://cloud.
|
8921
|
-
# resource-policies). **JSON example:** ` "
|
8922
|
-
# resourcemanager.organizationAdmin", "members": [
|
8923
|
-
# group:admins@example.com", "domain:google.com", "
|
8924
|
-
# appspot.gserviceaccount.com" ] `, ` "role": "
|
8925
|
-
# organizationViewer", "members": [ "user:eve@example.com"
|
8926
|
-
# title": "expirable access", "description": "Does not grant
|
8927
|
-
# 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
8928
|
-
# ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
8929
|
-
# members: - user:mike@example.com - group:admins@example.com -
|
8930
|
-
# com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
8931
|
-
# resourcemanager.organizationAdmin - members: - user:eve@example.
|
8932
|
-
# roles/resourcemanager.organizationViewer condition: title: expirable
|
8933
|
-
# description: Does not grant access after Sep 2020 expression: request.
|
8934
|
-
# timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
8935
|
-
# description of IAM and its features, see the [IAM documentation](https://
|
8936
|
-
# google.com/iam/docs/).
|
9067
|
+
# A `binding` binds one or more `members`, or principals, to a single `role`.
|
9068
|
+
# Principals can be user accounts, service accounts, Google groups, and domains (
|
9069
|
+
# such as G Suite). A `role` is a named list of permissions; each `role` can be
|
9070
|
+
# an IAM predefined role or a user-created custom role. For some types of Google
|
9071
|
+
# Cloud resources, a `binding` can also specify a `condition`, which is a
|
9072
|
+
# logical expression that allows access to a resource only if the expression
|
9073
|
+
# evaluates to `true`. A condition can add constraints based on attributes of
|
9074
|
+
# the request, the resource, or both. To learn which resources support
|
9075
|
+
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
9076
|
+
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
9077
|
+
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
9078
|
+
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
9079
|
+
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
9080
|
+
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
9081
|
+
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
9082
|
+
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
9083
|
+
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
9084
|
+
# bindings: - members: - user:mike@example.com - group:admins@example.com -
|
9085
|
+
# domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
9086
|
+
# role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
|
9087
|
+
# com role: roles/resourcemanager.organizationViewer condition: title: expirable
|
9088
|
+
# access description: Does not grant access after Sep 2020 expression: request.
|
9089
|
+
# time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
9090
|
+
# a description of IAM and its features, see the [IAM documentation](https://
|
9091
|
+
# cloud.google.com/iam/docs/).
|
8937
9092
|
# Corresponds to the JSON property `policy`
|
8938
9093
|
# @return [Google::Apis::ComputeV1::Policy]
|
8939
9094
|
attr_accessor :policy
|
@@ -9006,31 +9161,31 @@ module Google
|
|
9006
9161
|
|
9007
9162
|
# An Identity and Access Management (IAM) policy, which specifies access
|
9008
9163
|
# controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
|
9009
|
-
# A `binding` binds one or more `members
|
9010
|
-
# user accounts, service accounts, Google groups, and domains (
|
9011
|
-
# A `role` is a named list of permissions; each `role` can be
|
9012
|
-
# role or a user-created custom role. For some types of Google
|
9013
|
-
# a `binding` can also specify a `condition`, which is a
|
9014
|
-
# allows access to a resource only if the expression
|
9015
|
-
# condition can add constraints based on attributes of
|
9016
|
-
# or both. To learn which resources support
|
9017
|
-
# see the [IAM documentation](https://cloud.
|
9018
|
-
# resource-policies). **JSON example:** ` "
|
9019
|
-
# resourcemanager.organizationAdmin", "members": [
|
9020
|
-
# group:admins@example.com", "domain:google.com", "
|
9021
|
-
# appspot.gserviceaccount.com" ] `, ` "role": "
|
9022
|
-
# organizationViewer", "members": [ "user:eve@example.com"
|
9023
|
-
# title": "expirable access", "description": "Does not grant
|
9024
|
-
# 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
9025
|
-
# ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
9026
|
-
# members: - user:mike@example.com - group:admins@example.com -
|
9027
|
-
# com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
9028
|
-
# resourcemanager.organizationAdmin - members: - user:eve@example.
|
9029
|
-
# roles/resourcemanager.organizationViewer condition: title: expirable
|
9030
|
-
# description: Does not grant access after Sep 2020 expression: request.
|
9031
|
-
# timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
9032
|
-
# description of IAM and its features, see the [IAM documentation](https://
|
9033
|
-
# google.com/iam/docs/).
|
9164
|
+
# A `binding` binds one or more `members`, or principals, to a single `role`.
|
9165
|
+
# Principals can be user accounts, service accounts, Google groups, and domains (
|
9166
|
+
# such as G Suite). A `role` is a named list of permissions; each `role` can be
|
9167
|
+
# an IAM predefined role or a user-created custom role. For some types of Google
|
9168
|
+
# Cloud resources, a `binding` can also specify a `condition`, which is a
|
9169
|
+
# logical expression that allows access to a resource only if the expression
|
9170
|
+
# evaluates to `true`. A condition can add constraints based on attributes of
|
9171
|
+
# the request, the resource, or both. To learn which resources support
|
9172
|
+
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
9173
|
+
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
9174
|
+
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
9175
|
+
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
9176
|
+
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
9177
|
+
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
9178
|
+
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
9179
|
+
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
9180
|
+
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
9181
|
+
# bindings: - members: - user:mike@example.com - group:admins@example.com -
|
9182
|
+
# domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
9183
|
+
# role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
|
9184
|
+
# com role: roles/resourcemanager.organizationViewer condition: title: expirable
|
9185
|
+
# access description: Does not grant access after Sep 2020 expression: request.
|
9186
|
+
# time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
9187
|
+
# a description of IAM and its features, see the [IAM documentation](https://
|
9188
|
+
# cloud.google.com/iam/docs/).
|
9034
9189
|
# Corresponds to the JSON property `policy`
|
9035
9190
|
# @return [Google::Apis::ComputeV1::Policy]
|
9036
9191
|
attr_accessor :policy
|
@@ -9152,8 +9307,11 @@ module Google
|
|
9152
9307
|
class GuestOsFeature
|
9153
9308
|
include Google::Apis::Core::Hashable
|
9154
9309
|
|
9155
|
-
# The ID of a supported feature.
|
9156
|
-
# to
|
9310
|
+
# The ID of a supported feature. To add multiple values, use commas to separate
|
9311
|
+
# values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
|
9312
|
+
# WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - SECURE_BOOT - GVNIC -
|
9313
|
+
# SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE For more information, see Enabling
|
9314
|
+
# guest operating system features.
|
9157
9315
|
# Corresponds to the JSON property `type`
|
9158
9316
|
# @return [String]
|
9159
9317
|
attr_accessor :type
|
@@ -9487,8 +9645,8 @@ module Google
|
|
9487
9645
|
attr_accessor :timeout_sec
|
9488
9646
|
|
9489
9647
|
# Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2.
|
9490
|
-
#
|
9491
|
-
#
|
9648
|
+
# Exactly one of the protocol-specific health check field must be specified,
|
9649
|
+
# which must match type field.
|
9492
9650
|
# Corresponds to the JSON property `type`
|
9493
9651
|
# @return [String]
|
9494
9652
|
attr_accessor :type
|
@@ -10301,7 +10459,8 @@ module Google
|
|
10301
10459
|
# port numbers in the format host:port. * matches any string of ([a-z0-9-.]*).
|
10302
10460
|
# In that case, * must be the first character and must be followed in the
|
10303
10461
|
# pattern by either - or .. * based matching is not supported when the URL map
|
10304
|
-
# is bound to target gRPC proxy that has validateForProxyless field set to
|
10462
|
+
# is bound to a target gRPC proxy that has the validateForProxyless field set to
|
10463
|
+
# true.
|
10305
10464
|
# Corresponds to the JSON property `hosts`
|
10306
10465
|
# @return [Array<String>]
|
10307
10466
|
attr_accessor :hosts
|
@@ -10328,8 +10487,8 @@ module Google
|
|
10328
10487
|
class HttpFaultAbort
|
10329
10488
|
include Google::Apis::Core::Hashable
|
10330
10489
|
|
10331
|
-
# The HTTP status code used to abort the request. The value must be
|
10332
|
-
#
|
10490
|
+
# The HTTP status code used to abort the request. The value must be from 200 to
|
10491
|
+
# 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP
|
10333
10492
|
# status code according to this mapping table. HTTP status 200 is mapped to gRPC
|
10334
10493
|
# status UNKNOWN. Injecting an OK status is currently not supported by Traffic
|
10335
10494
|
# Director.
|
@@ -10337,8 +10496,8 @@ module Google
|
|
10337
10496
|
# @return [Fixnum]
|
10338
10497
|
attr_accessor :http_status
|
10339
10498
|
|
10340
|
-
# The percentage of traffic
|
10341
|
-
# aborted as part of fault injection. The value must be
|
10499
|
+
# The percentage of traffic for connections, operations, or requests that is
|
10500
|
+
# aborted as part of fault injection. The value must be from 0.0 to 100.0
|
10342
10501
|
# inclusive.
|
10343
10502
|
# Corresponds to the JSON property `percentage`
|
10344
10503
|
# @return [Float]
|
@@ -10355,8 +10514,8 @@ module Google
|
|
10355
10514
|
end
|
10356
10515
|
end
|
10357
10516
|
|
10358
|
-
# Specifies the delay introduced by
|
10359
|
-
# to the backend service as part of fault injection.
|
10517
|
+
# Specifies the delay introduced by the load balancer before forwarding the
|
10518
|
+
# request to the backend service as part of fault injection.
|
10360
10519
|
class HttpFaultDelay
|
10361
10520
|
include Google::Apis::Core::Hashable
|
10362
10521
|
|
@@ -10368,9 +10527,9 @@ module Google
|
|
10368
10527
|
# @return [Google::Apis::ComputeV1::Duration]
|
10369
10528
|
attr_accessor :fixed_delay
|
10370
10529
|
|
10371
|
-
# The percentage of traffic
|
10372
|
-
#
|
10373
|
-
#
|
10530
|
+
# The percentage of traffic for connections, operations, or requests for which a
|
10531
|
+
# delay is introduced as part of fault injection. The value must be from 0.0 to
|
10532
|
+
# 100.0 inclusive.
|
10374
10533
|
# Corresponds to the JSON property `percentage`
|
10375
10534
|
# @return [Float]
|
10376
10535
|
attr_accessor :percentage
|
@@ -10389,9 +10548,9 @@ module Google
|
|
10389
10548
|
# The specification for fault injection introduced into traffic to test the
|
10390
10549
|
# resiliency of clients to backend service failure. As part of fault injection,
|
10391
10550
|
# when clients send requests to a backend service, delays can be introduced by
|
10392
|
-
#
|
10393
|
-
# backend service. Similarly requests from clients can be aborted by the
|
10394
|
-
#
|
10551
|
+
# the load balancer on a percentage of requests before sending those request to
|
10552
|
+
# the backend service. Similarly requests from clients can be aborted by the
|
10553
|
+
# load balancer for a percentage of requests.
|
10395
10554
|
class HttpFaultInjection
|
10396
10555
|
include Google::Apis::Core::Hashable
|
10397
10556
|
|
@@ -10400,8 +10559,8 @@ module Google
|
|
10400
10559
|
# @return [Google::Apis::ComputeV1::HttpFaultAbort]
|
10401
10560
|
attr_accessor :abort
|
10402
10561
|
|
10403
|
-
# Specifies the delay introduced by
|
10404
|
-
# to the backend service as part of fault injection.
|
10562
|
+
# Specifies the delay introduced by the load balancer before forwarding the
|
10563
|
+
# request to the backend service as part of fault injection.
|
10405
10564
|
# Corresponds to the JSON property `delay`
|
10406
10565
|
# @return [Google::Apis::ComputeV1::HttpFaultDelay]
|
10407
10566
|
attr_accessor :delay
|
@@ -10422,25 +10581,25 @@ module Google
|
|
10422
10581
|
class HttpHeaderAction
|
10423
10582
|
include Google::Apis::Core::Hashable
|
10424
10583
|
|
10425
|
-
# Headers to add to a matching request
|
10584
|
+
# Headers to add to a matching request before forwarding the request to the
|
10426
10585
|
# backendService.
|
10427
10586
|
# Corresponds to the JSON property `requestHeadersToAdd`
|
10428
10587
|
# @return [Array<Google::Apis::ComputeV1::HttpHeaderOption>]
|
10429
10588
|
attr_accessor :request_headers_to_add
|
10430
10589
|
|
10431
10590
|
# A list of header names for headers that need to be removed from the request
|
10432
|
-
#
|
10591
|
+
# before forwarding the request to the backendService.
|
10433
10592
|
# Corresponds to the JSON property `requestHeadersToRemove`
|
10434
10593
|
# @return [Array<String>]
|
10435
10594
|
attr_accessor :request_headers_to_remove
|
10436
10595
|
|
10437
|
-
# Headers to add the response
|
10596
|
+
# Headers to add the response before sending the response back to the client.
|
10438
10597
|
# Corresponds to the JSON property `responseHeadersToAdd`
|
10439
10598
|
# @return [Array<Google::Apis::ComputeV1::HttpHeaderOption>]
|
10440
10599
|
attr_accessor :response_headers_to_add
|
10441
10600
|
|
10442
10601
|
# A list of header names for headers that need to be removed from the response
|
10443
|
-
#
|
10602
|
+
# before sending the response back to the client.
|
10444
10603
|
# Corresponds to the JSON property `responseHeadersToRemove`
|
10445
10604
|
# @return [Array<String>]
|
10446
10605
|
attr_accessor :response_headers_to_remove
|
@@ -10470,21 +10629,21 @@ module Google
|
|
10470
10629
|
|
10471
10630
|
# The name of the HTTP header to match. For matching against the HTTP request's
|
10472
10631
|
# authority, use a headerMatch with the header name ":authority". For matching a
|
10473
|
-
# request's method, use the headerName ":method". When the URL map is bound to
|
10474
|
-
# target gRPC proxy that has validateForProxyless field set to true, only
|
10475
|
-
# binary user-specified custom metadata and the `content-type` header are
|
10632
|
+
# request's method, use the headerName ":method". When the URL map is bound to a
|
10633
|
+
# target gRPC proxy that has the validateForProxyless field set to true, only
|
10634
|
+
# non-binary user-specified custom metadata and the `content-type` header are
|
10476
10635
|
# supported. The following transport-level headers cannot be used in header
|
10477
10636
|
# matching rules: `:authority`, `:method`, `:path`, `:scheme`, `user-agent`, `
|
10478
10637
|
# accept-encoding`, `content-encoding`, `grpc-accept-encoding`, `grpc-encoding`,
|
10479
10638
|
# `grpc-previous-rpc-attempts`, `grpc-tags-bin`, `grpc-timeout` and `grpc-trace-
|
10480
|
-
# bin
|
10639
|
+
# bin`.
|
10481
10640
|
# Corresponds to the JSON property `headerName`
|
10482
10641
|
# @return [String]
|
10483
10642
|
attr_accessor :header_name
|
10484
10643
|
|
10485
|
-
# If set to false, the headerMatch is considered a match if the match
|
10486
|
-
#
|
10487
|
-
# match criteria
|
10644
|
+
# If set to false, the headerMatch is considered a match if the preceding match
|
10645
|
+
# criteria are met. If set to true, the headerMatch is considered a match if the
|
10646
|
+
# preceding match criteria are NOT met. The default setting is false.
|
10488
10647
|
# Corresponds to the JSON property `invertMatch`
|
10489
10648
|
# @return [Boolean]
|
10490
10649
|
attr_accessor :invert_match
|
@@ -10512,13 +10671,13 @@ module Google
|
|
10512
10671
|
attr_accessor :range_match
|
10513
10672
|
|
10514
10673
|
# The value of the header must match the regular expression specified in
|
10515
|
-
# regexMatch. For regular expression
|
10516
|
-
#
|
10517
|
-
#
|
10518
|
-
#
|
10519
|
-
#
|
10520
|
-
#
|
10521
|
-
#
|
10674
|
+
# regexMatch. For more information about regular expression syntax, see Syntax.
|
10675
|
+
# For matching against a port specified in the HTTP request, use a headerMatch
|
10676
|
+
# with headerName set to PORT and a regular expression that satisfies the
|
10677
|
+
# RFC2616 Host header's port specifier. Only one of exactMatch, prefixMatch,
|
10678
|
+
# suffixMatch, regexMatch, presentMatch or rangeMatch must be set. regexMatch
|
10679
|
+
# only applies to load balancers that have loadBalancingScheme set to
|
10680
|
+
# INTERNAL_SELF_MANAGED.
|
10522
10681
|
# Corresponds to the JSON property `regexMatch`
|
10523
10682
|
# @return [String]
|
10524
10683
|
attr_accessor :regex_match
|
@@ -10813,8 +10972,8 @@ module Google
|
|
10813
10972
|
include Google::Apis::Core::Hashable
|
10814
10973
|
|
10815
10974
|
# The queryParameterMatch matches if the value of the parameter exactly matches
|
10816
|
-
# the contents of exactMatch. Only one of presentMatch, exactMatch or
|
10817
|
-
# must be set.
|
10975
|
+
# the contents of exactMatch. Only one of presentMatch, exactMatch, or
|
10976
|
+
# regexMatch must be set.
|
10818
10977
|
# Corresponds to the JSON property `exactMatch`
|
10819
10978
|
# @return [String]
|
10820
10979
|
attr_accessor :exact_match
|
@@ -10827,17 +10986,17 @@ module Google
|
|
10827
10986
|
|
10828
10987
|
# Specifies that the queryParameterMatch matches if the request contains the
|
10829
10988
|
# query parameter, irrespective of whether the parameter has a value or not.
|
10830
|
-
# Only one of presentMatch, exactMatch or regexMatch must be set.
|
10989
|
+
# Only one of presentMatch, exactMatch, or regexMatch must be set.
|
10831
10990
|
# Corresponds to the JSON property `presentMatch`
|
10832
10991
|
# @return [Boolean]
|
10833
10992
|
attr_accessor :present_match
|
10834
10993
|
alias_method :present_match?, :present_match
|
10835
10994
|
|
10836
10995
|
# The queryParameterMatch matches if the value of the parameter matches the
|
10837
|
-
# regular expression specified by regexMatch. For
|
10838
|
-
#
|
10839
|
-
#
|
10840
|
-
#
|
10996
|
+
# regular expression specified by regexMatch. For more information about regular
|
10997
|
+
# expression syntax, see Syntax. Only one of presentMatch, exactMatch, or
|
10998
|
+
# regexMatch must be set. regexMatch only applies when the loadBalancingScheme
|
10999
|
+
# is set to INTERNAL_SELF_MANAGED.
|
10841
11000
|
# Corresponds to the JSON property `regexMatch`
|
10842
11001
|
# @return [String]
|
10843
11002
|
attr_accessor :regex_match
|
@@ -10859,15 +11018,15 @@ module Google
|
|
10859
11018
|
class HttpRedirectAction
|
10860
11019
|
include Google::Apis::Core::Hashable
|
10861
11020
|
|
10862
|
-
# The host that
|
10863
|
-
#
|
11021
|
+
# The host that is used in the redirect response instead of the one that was
|
11022
|
+
# supplied in the request. The value must be from 1 to 255 characters.
|
10864
11023
|
# Corresponds to the JSON property `hostRedirect`
|
10865
11024
|
# @return [String]
|
10866
11025
|
attr_accessor :host_redirect
|
10867
11026
|
|
10868
|
-
# If set to true, the URL scheme in the redirected request is set to
|
10869
|
-
# set to false, the URL scheme of the redirected request
|
10870
|
-
# that of the request. This must only be set for
|
11027
|
+
# If set to true, the URL scheme in the redirected request is set to HTTPS. If
|
11028
|
+
# set to false, the URL scheme of the redirected request remains the same as
|
11029
|
+
# that of the request. This must only be set for URL maps used in
|
10871
11030
|
# TargetHttpProxys. Setting this true for TargetHttpsProxy is not permitted. The
|
10872
11031
|
# default is set to false.
|
10873
11032
|
# Corresponds to the JSON property `httpsRedirect`
|
@@ -10875,11 +11034,11 @@ module Google
|
|
10875
11034
|
attr_accessor :https_redirect
|
10876
11035
|
alias_method :https_redirect?, :https_redirect
|
10877
11036
|
|
10878
|
-
# The path that
|
10879
|
-
#
|
11037
|
+
# The path that is used in the redirect response instead of the one that was
|
11038
|
+
# supplied in the request. pathRedirect cannot be supplied together with
|
10880
11039
|
# prefixRedirect. Supply one alone or neither. If neither is supplied, the path
|
10881
|
-
# of the original request
|
10882
|
-
#
|
11040
|
+
# of the original request is used for the redirect. The value must be from 1 to
|
11041
|
+
# 1024 characters.
|
10883
11042
|
# Corresponds to the JSON property `pathRedirect`
|
10884
11043
|
# @return [String]
|
10885
11044
|
attr_accessor :path_redirect
|
@@ -10887,8 +11046,8 @@ module Google
|
|
10887
11046
|
# The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
|
10888
11047
|
# retaining the remaining portion of the URL before redirecting the request.
|
10889
11048
|
# prefixRedirect cannot be supplied together with pathRedirect. Supply one alone
|
10890
|
-
# or neither. If neither is supplied, the path of the original request
|
10891
|
-
#
|
11049
|
+
# or neither. If neither is supplied, the path of the original request is used
|
11050
|
+
# for the redirect. The value must be from 1 to 1024 characters.
|
10892
11051
|
# Corresponds to the JSON property `prefixRedirect`
|
10893
11052
|
# @return [String]
|
10894
11053
|
attr_accessor :prefix_redirect
|
@@ -10897,14 +11056,14 @@ module Google
|
|
10897
11056
|
# MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. -
|
10898
11057
|
# FOUND, which corresponds to 302. - SEE_OTHER which corresponds to 303. -
|
10899
11058
|
# TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
|
10900
|
-
#
|
10901
|
-
#
|
11059
|
+
# is retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the
|
11060
|
+
# request method is retained.
|
10902
11061
|
# Corresponds to the JSON property `redirectResponseCode`
|
10903
11062
|
# @return [String]
|
10904
11063
|
attr_accessor :redirect_response_code
|
10905
11064
|
|
10906
11065
|
# If set to true, any accompanying query portion of the original URL is removed
|
10907
|
-
#
|
11066
|
+
# before redirecting the request. If set to false, the query portion of the
|
10908
11067
|
# original URL is retained. The default is set to false.
|
10909
11068
|
# Corresponds to the JSON property `stripQuery`
|
10910
11069
|
# @return [Boolean]
|
@@ -10945,25 +11104,27 @@ module Google
|
|
10945
11104
|
attr_accessor :per_try_timeout
|
10946
11105
|
|
10947
11106
|
# Specifies one or more conditions when this retry policy applies. Valid values
|
10948
|
-
# are: - 5xx:
|
10949
|
-
#
|
10950
|
-
# example
|
11107
|
+
# are: - 5xx: retry is attempted if the instance or endpoint responds with any
|
11108
|
+
# 5xx response code, or if the instance or endpoint does not respond at all. For
|
11109
|
+
# example, disconnects, reset, read timeout, connection failure, and refused
|
10951
11110
|
# streams. - gateway-error: Similar to 5xx, but only applies to response codes
|
10952
|
-
# 502, 503 or 504. -
|
10953
|
-
# connecting to the instance or endpoint
|
10954
|
-
#
|
10955
|
-
#
|
10956
|
-
#
|
10957
|
-
#
|
10958
|
-
#
|
10959
|
-
#
|
10960
|
-
#
|
10961
|
-
#
|
10962
|
-
#
|
10963
|
-
#
|
10964
|
-
#
|
10965
|
-
#
|
10966
|
-
#
|
11111
|
+
# 502, 503 or 504. - connect-failure: a retry is attempted on failures
|
11112
|
+
# connecting to the instance or endpoint. For example, connection timeouts. -
|
11113
|
+
# retriable-4xx: a retry is attempted if the instance or endpoint responds with
|
11114
|
+
# a 4xx response code. The only error that you can retry is error code 409. -
|
11115
|
+
# refused-stream: a retry is attempted if the instance or endpoint resets the
|
11116
|
+
# stream with a REFUSED_STREAM error code. This reset type indicates that it is
|
11117
|
+
# safe to retry. - cancelled: a retry is attempted if the gRPC status code in
|
11118
|
+
# the response header is set to cancelled. - deadline-exceeded: a retry is
|
11119
|
+
# attempted if the gRPC status code in the response header is set to deadline-
|
11120
|
+
# exceeded. - internal: a retry is attempted if the gRPC status code in the
|
11121
|
+
# response header is set to internal. - resource-exhausted: a retry is attempted
|
11122
|
+
# if the gRPC status code in the response header is set to resource-exhausted. -
|
11123
|
+
# unavailable: a retry is attempted if the gRPC status code in the response
|
11124
|
+
# header is set to unavailable. Only the following codes are supported when the
|
11125
|
+
# URL map is bound to target gRPC proxy that has validateForProxyless field set
|
11126
|
+
# to true. - cancelled - deadline-exceeded - internal - resource-exhausted -
|
11127
|
+
# unavailable
|
10967
11128
|
# Corresponds to the JSON property `retryConditions`
|
10968
11129
|
# @return [Array<String>]
|
10969
11130
|
attr_accessor :retry_conditions
|
@@ -10984,8 +11145,9 @@ module Google
|
|
10984
11145
|
class HttpRouteAction
|
10985
11146
|
include Google::Apis::Core::Hashable
|
10986
11147
|
|
10987
|
-
# The specification for allowing client
|
10988
|
-
# W3C
|
11148
|
+
# The specification for allowing client-side cross-origin requests. For more
|
11149
|
+
# information about the W3C recommendation for cross-origin resource sharing (
|
11150
|
+
# CORS), see Fetch API Living Standard.
|
10989
11151
|
# Corresponds to the JSON property `corsPolicy`
|
10990
11152
|
# @return [Google::Apis::ComputeV1::CorsPolicy]
|
10991
11153
|
attr_accessor :cors_policy
|
@@ -10993,9 +11155,9 @@ module Google
|
|
10993
11155
|
# The specification for fault injection introduced into traffic to test the
|
10994
11156
|
# resiliency of clients to backend service failure. As part of fault injection,
|
10995
11157
|
# when clients send requests to a backend service, delays can be introduced by
|
10996
|
-
#
|
10997
|
-
# backend service. Similarly requests from clients can be aborted by the
|
10998
|
-
#
|
11158
|
+
# the load balancer on a percentage of requests before sending those request to
|
11159
|
+
# the backend service. Similarly requests from clients can be aborted by the
|
11160
|
+
# load balancer for a percentage of requests.
|
10999
11161
|
# Corresponds to the JSON property `faultInjectionPolicy`
|
11000
11162
|
# @return [Google::Apis::ComputeV1::HttpFaultInjection]
|
11001
11163
|
attr_accessor :fault_injection_policy
|
@@ -11009,9 +11171,9 @@ module Google
|
|
11009
11171
|
attr_accessor :max_stream_duration
|
11010
11172
|
|
11011
11173
|
# A policy that specifies how requests intended for the route's backends are
|
11012
|
-
# shadowed to a separate mirrored backend service.
|
11013
|
-
# for responses from the shadow service.
|
11014
|
-
# service, the host
|
11174
|
+
# shadowed to a separate mirrored backend service. The load balancer doesn't
|
11175
|
+
# wait for responses from the shadow service. Before sending traffic to the
|
11176
|
+
# shadow service, the host or authority header is suffixed with -shadow.
|
11015
11177
|
# Corresponds to the JSON property `requestMirrorPolicy`
|
11016
11178
|
# @return [Google::Apis::ComputeV1::RequestMirrorPolicy]
|
11017
11179
|
attr_accessor :request_mirror_policy
|
@@ -11039,7 +11201,7 @@ module Google
|
|
11039
11201
|
# occurs. The weights determine the fraction of traffic that flows to their
|
11040
11202
|
# corresponding backend service. If all traffic needs to go to a single backend
|
11041
11203
|
# service, there must be one weightedBackendService with weight set to a non-
|
11042
|
-
# zero number.
|
11204
|
+
# zero number. After a backend service is identified and before forwarding the
|
11043
11205
|
# request to the backend service, advanced routing actions such as URL rewrites
|
11044
11206
|
# and header transformations are applied depending on additional settings
|
11045
11207
|
# specified in this HttpRouteAction.
|
@@ -11064,8 +11226,8 @@ module Google
|
|
11064
11226
|
end
|
11065
11227
|
end
|
11066
11228
|
|
11067
|
-
#
|
11068
|
-
# routing action that load balancing proxies
|
11229
|
+
# The HttpRouteRule setting specifies how to match an HTTP request and the
|
11230
|
+
# corresponding routing action that load balancing proxies perform.
|
11069
11231
|
class HttpRouteRule
|
11070
11232
|
include Google::Apis::Core::Hashable
|
11071
11233
|
|
@@ -11091,11 +11253,11 @@ module Google
|
|
11091
11253
|
attr_accessor :match_rules
|
11092
11254
|
|
11093
11255
|
# For routeRules within a given pathMatcher, priority determines the order in
|
11094
|
-
# which load balancer
|
11095
|
-
#
|
11256
|
+
# which a load balancer interprets routeRules. RouteRules are evaluated in order
|
11257
|
+
# of priority, from the lowest to highest number. The priority of a rule
|
11096
11258
|
# decreases as its number increases (1, 2, 3, N+1). The first rule that matches
|
11097
11259
|
# the request is applied. You cannot configure two or more routeRules with the
|
11098
|
-
# same priority. Priority for each rule must be set to a number
|
11260
|
+
# same priority. Priority for each rule must be set to a number from 0 to
|
11099
11261
|
# 2147483647 inclusive. Priority numbers can have gaps, which enable you to add
|
11100
11262
|
# or remove rules in the future without affecting the rest of the rules. For
|
11101
11263
|
# example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to
|
@@ -11106,24 +11268,24 @@ module Google
|
|
11106
11268
|
attr_accessor :priority
|
11107
11269
|
|
11108
11270
|
# In response to a matching matchRule, the load balancer performs advanced
|
11109
|
-
# routing actions
|
11271
|
+
# routing actions, such as URL rewrites and header transformations, before
|
11110
11272
|
# forwarding the request to the selected backend. If routeAction specifies any
|
11111
11273
|
# weightedBackendServices, service must not be set. Conversely if service is set,
|
11112
11274
|
# routeAction cannot contain any weightedBackendServices. Only one of
|
11113
11275
|
# urlRedirect, service or routeAction.weightedBackendService must be set.
|
11114
11276
|
# UrlMaps for external HTTP(S) load balancers support only the urlRewrite action
|
11115
|
-
# within a
|
11277
|
+
# within a route rule's routeAction.
|
11116
11278
|
# Corresponds to the JSON property `routeAction`
|
11117
11279
|
# @return [Google::Apis::ComputeV1::HttpRouteAction]
|
11118
11280
|
attr_accessor :route_action
|
11119
11281
|
|
11120
11282
|
# The full or partial URL of the backend service resource to which traffic is
|
11121
|
-
# directed if this rule is matched. If routeAction is
|
11122
|
-
#
|
11123
|
-
#
|
11124
|
-
#
|
11125
|
-
#
|
11126
|
-
#
|
11283
|
+
# directed if this rule is matched. If routeAction is also specified, advanced
|
11284
|
+
# routing actions, such as URL rewrites, take effect before sending the request
|
11285
|
+
# to the backend. However, if service is specified, routeAction cannot contain
|
11286
|
+
# any weightedBackendServices. Conversely, if routeAction specifies any
|
11287
|
+
# weightedBackendServices, service must not be specified. Only one of
|
11288
|
+
# urlRedirect, service or routeAction.weightedBackendService must be set.
|
11127
11289
|
# Corresponds to the JSON property `service`
|
11128
11290
|
# @return [String]
|
11129
11291
|
attr_accessor :service
|
@@ -11156,9 +11318,9 @@ module Google
|
|
11156
11318
|
|
11157
11319
|
# For satisfying the matchRule condition, the path of the request must exactly
|
11158
11320
|
# match the value specified in fullPathMatch after removing any query parameters
|
11159
|
-
# and anchor that may be part of the original URL. fullPathMatch must be
|
11160
|
-
#
|
11161
|
-
#
|
11321
|
+
# and anchor that may be part of the original URL. fullPathMatch must be from 1
|
11322
|
+
# to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
|
11323
|
+
# be specified.
|
11162
11324
|
# Corresponds to the JSON property `fullPathMatch`
|
11163
11325
|
# @return [String]
|
11164
11326
|
attr_accessor :full_path_match
|
@@ -11171,53 +11333,52 @@ module Google
|
|
11171
11333
|
|
11172
11334
|
# Specifies that prefixMatch and fullPathMatch matches are case sensitive. The
|
11173
11335
|
# default value is false. ignoreCase must not be used with regexMatch. Not
|
11174
|
-
# supported when the URL map is bound to target gRPC proxy.
|
11336
|
+
# supported when the URL map is bound to a target gRPC proxy.
|
11175
11337
|
# Corresponds to the JSON property `ignoreCase`
|
11176
11338
|
# @return [Boolean]
|
11177
11339
|
attr_accessor :ignore_case
|
11178
11340
|
alias_method :ignore_case?, :ignore_case
|
11179
11341
|
|
11180
|
-
# Opaque filter criteria used by
|
11181
|
-
# to a limited set of xDS compliant clients. In their xDS requests
|
11182
|
-
#
|
11183
|
-
# relevant routing configuration is made available to those proxies. For
|
11184
|
-
# metadataFilter in this list, if its filterMatchCriteria is set to
|
11185
|
-
# at least one of the filterLabels must match the corresponding label
|
11186
|
-
# in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
|
11187
|
-
# its filterLabels must match with corresponding labels provided in the
|
11188
|
-
# If multiple
|
11189
|
-
# in order to be considered a match. metadataFilters specified here
|
11342
|
+
# Opaque filter criteria used by the load balancer to restrict routing
|
11343
|
+
# configuration to a limited set of xDS compliant clients. In their xDS requests
|
11344
|
+
# to the load balancer, xDS clients present node metadata. When there is a match,
|
11345
|
+
# the relevant routing configuration is made available to those proxies. For
|
11346
|
+
# each metadataFilter in this list, if its filterMatchCriteria is set to
|
11347
|
+
# MATCH_ANY, at least one of the filterLabels must match the corresponding label
|
11348
|
+
# provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
|
11349
|
+
# all of its filterLabels must match with corresponding labels provided in the
|
11350
|
+
# metadata. If multiple metadata filters are specified, all of them need to be
|
11351
|
+
# satisfied in order to be considered a match. metadataFilters specified here is
|
11190
11352
|
# applied after those specified in ForwardingRule that refers to the UrlMap this
|
11191
|
-
# HttpRouteRuleMatch belongs to. metadataFilters only applies to
|
11192
|
-
# that have
|
11193
|
-
#
|
11194
|
-
#
|
11353
|
+
# HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers
|
11354
|
+
# that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when
|
11355
|
+
# the URL map is bound to a target gRPC proxy that has validateForProxyless
|
11356
|
+
# field set to true.
|
11195
11357
|
# Corresponds to the JSON property `metadataFilters`
|
11196
11358
|
# @return [Array<Google::Apis::ComputeV1::MetadataFilter>]
|
11197
11359
|
attr_accessor :metadata_filters
|
11198
11360
|
|
11199
11361
|
# For satisfying the matchRule condition, the request's path must begin with the
|
11200
|
-
# specified prefixMatch. prefixMatch must begin with a /. The value must be
|
11201
|
-
#
|
11202
|
-
#
|
11362
|
+
# specified prefixMatch. prefixMatch must begin with a /. The value must be from
|
11363
|
+
# 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
|
11364
|
+
# must be specified.
|
11203
11365
|
# Corresponds to the JSON property `prefixMatch`
|
11204
11366
|
# @return [String]
|
11205
11367
|
attr_accessor :prefix_match
|
11206
11368
|
|
11207
11369
|
# Specifies a list of query parameter match criteria, all of which must match
|
11208
11370
|
# corresponding query parameters in the request. Not supported when the URL map
|
11209
|
-
# is bound to target gRPC proxy.
|
11371
|
+
# is bound to a target gRPC proxy.
|
11210
11372
|
# Corresponds to the JSON property `queryParameterMatches`
|
11211
11373
|
# @return [Array<Google::Apis::ComputeV1::HttpQueryParameterMatch>]
|
11212
11374
|
attr_accessor :query_parameter_matches
|
11213
11375
|
|
11214
11376
|
# For satisfying the matchRule condition, the path of the request must satisfy
|
11215
11377
|
# the regular expression specified in regexMatch after removing any query
|
11216
|
-
# parameters and anchor supplied with the original URL. For
|
11217
|
-
#
|
11218
|
-
# fullPathMatch or regexMatch must be specified.
|
11219
|
-
#
|
11220
|
-
# INTERNAL_SELF_MANAGED.
|
11378
|
+
# parameters and anchor supplied with the original URL. For more information
|
11379
|
+
# about regular expression syntax, see Syntax. Only one of prefixMatch,
|
11380
|
+
# fullPathMatch or regexMatch must be specified. regexMatch only applies to load
|
11381
|
+
# balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED.
|
11221
11382
|
# Corresponds to the JSON property `regexMatch`
|
11222
11383
|
# @return [String]
|
11223
11384
|
attr_accessor :regex_match
|
@@ -11505,8 +11666,8 @@ module Google
|
|
11505
11666
|
attr_accessor :family
|
11506
11667
|
|
11507
11668
|
# A list of features to enable on the guest operating system. Applicable only
|
11508
|
-
# for bootable images.
|
11509
|
-
#
|
11669
|
+
# for bootable images. To see a list of available options, see the
|
11670
|
+
# guestOSfeatures[].type parameter.
|
11510
11671
|
# Corresponds to the JSON property `guestOsFeatures`
|
11511
11672
|
# @return [Array<Google::Apis::ComputeV1::GuestOsFeature>]
|
11512
11673
|
attr_accessor :guest_os_features
|
@@ -12109,6 +12270,11 @@ module Google
|
|
12109
12270
|
# @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
|
12110
12271
|
attr_accessor :network_interfaces
|
12111
12272
|
|
12273
|
+
#
|
12274
|
+
# Corresponds to the JSON property `networkPerformanceConfig`
|
12275
|
+
# @return [Google::Apis::ComputeV1::NetworkPerformanceConfig]
|
12276
|
+
attr_accessor :network_performance_config
|
12277
|
+
|
12112
12278
|
# The private IPv6 google access type for the VM. If not specified, use
|
12113
12279
|
# INHERIT_FROM_SUBNETWORK as default.
|
12114
12280
|
# Corresponds to the JSON property `privateIpv6GoogleAccess`
|
@@ -12161,6 +12327,17 @@ module Google
|
|
12161
12327
|
# @return [Google::Apis::ComputeV1::ShieldedInstanceIntegrityPolicy]
|
12162
12328
|
attr_accessor :shielded_instance_integrity_policy
|
12163
12329
|
|
12330
|
+
# Source machine image
|
12331
|
+
# Corresponds to the JSON property `sourceMachineImage`
|
12332
|
+
# @return [String]
|
12333
|
+
attr_accessor :source_machine_image
|
12334
|
+
|
12335
|
+
# Source machine image encryption key when creating an instance from a machine
|
12336
|
+
# image.
|
12337
|
+
# Corresponds to the JSON property `sourceMachineImageEncryptionKey`
|
12338
|
+
# @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
|
12339
|
+
attr_accessor :source_machine_image_encryption_key
|
12340
|
+
|
12164
12341
|
# [Output Only] Whether a VM has been restricted for start because Compute
|
12165
12342
|
# Engine has detected suspicious activity.
|
12166
12343
|
# Corresponds to the JSON property `startRestricted`
|
@@ -12223,6 +12400,7 @@ module Google
|
|
12223
12400
|
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
12224
12401
|
@name = args[:name] if args.key?(:name)
|
12225
12402
|
@network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
|
12403
|
+
@network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
|
12226
12404
|
@private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
|
12227
12405
|
@reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
|
12228
12406
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
@@ -12232,6 +12410,8 @@ module Google
|
|
12232
12410
|
@service_accounts = args[:service_accounts] if args.key?(:service_accounts)
|
12233
12411
|
@shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
|
12234
12412
|
@shielded_instance_integrity_policy = args[:shielded_instance_integrity_policy] if args.key?(:shielded_instance_integrity_policy)
|
12413
|
+
@source_machine_image = args[:source_machine_image] if args.key?(:source_machine_image)
|
12414
|
+
@source_machine_image_encryption_key = args[:source_machine_image_encryption_key] if args.key?(:source_machine_image_encryption_key)
|
12235
12415
|
@start_restricted = args[:start_restricted] if args.key?(:start_restricted)
|
12236
12416
|
@status = args[:status] if args.key?(:status)
|
12237
12417
|
@status_message = args[:status_message] if args.key?(:status_message)
|
@@ -12966,6 +13146,30 @@ module Google
|
|
12966
13146
|
# @return [Fixnum]
|
12967
13147
|
attr_accessor :restarting
|
12968
13148
|
|
13149
|
+
# [Output Only] The number of instances in the managed instance group that are
|
13150
|
+
# scheduled to be resumed or are currently being resumed.
|
13151
|
+
# Corresponds to the JSON property `resuming`
|
13152
|
+
# @return [Fixnum]
|
13153
|
+
attr_accessor :resuming
|
13154
|
+
|
13155
|
+
# [Output Only] The number of instances in the managed instance group that are
|
13156
|
+
# scheduled to be started or are currently being started.
|
13157
|
+
# Corresponds to the JSON property `starting`
|
13158
|
+
# @return [Fixnum]
|
13159
|
+
attr_accessor :starting
|
13160
|
+
|
13161
|
+
# [Output Only] The number of instances in the managed instance group that are
|
13162
|
+
# scheduled to be stopped or are currently being stopped.
|
13163
|
+
# Corresponds to the JSON property `stopping`
|
13164
|
+
# @return [Fixnum]
|
13165
|
+
attr_accessor :stopping
|
13166
|
+
|
13167
|
+
# [Output Only] The number of instances in the managed instance group that are
|
13168
|
+
# scheduled to be suspended or are currently being suspended.
|
13169
|
+
# Corresponds to the JSON property `suspending`
|
13170
|
+
# @return [Fixnum]
|
13171
|
+
attr_accessor :suspending
|
13172
|
+
|
12969
13173
|
# [Output Only] The number of instances in the managed instance group that are
|
12970
13174
|
# being verified. See the managedInstances[].currentAction property in the
|
12971
13175
|
# listManagedInstances method documentation.
|
@@ -12987,6 +13191,10 @@ module Google
|
|
12987
13191
|
@recreating = args[:recreating] if args.key?(:recreating)
|
12988
13192
|
@refreshing = args[:refreshing] if args.key?(:refreshing)
|
12989
13193
|
@restarting = args[:restarting] if args.key?(:restarting)
|
13194
|
+
@resuming = args[:resuming] if args.key?(:resuming)
|
13195
|
+
@starting = args[:starting] if args.key?(:starting)
|
13196
|
+
@stopping = args[:stopping] if args.key?(:stopping)
|
13197
|
+
@suspending = args[:suspending] if args.key?(:suspending)
|
12990
13198
|
@verifying = args[:verifying] if args.key?(:verifying)
|
12991
13199
|
end
|
12992
13200
|
end
|
@@ -13416,6 +13624,17 @@ module Google
|
|
13416
13624
|
# @return [String]
|
13417
13625
|
attr_accessor :minimal_action
|
13418
13626
|
|
13627
|
+
# Most disruptive action that is allowed to be taken on an instance. You can
|
13628
|
+
# specify either NONE to forbid any actions, REFRESH to allow actions that do
|
13629
|
+
# not need instance restart, RESTART to allow actions that can be applied
|
13630
|
+
# without instance replacing or REPLACE to allow all possible actions. If the
|
13631
|
+
# Updater determines that the minimal update action needed is more disruptive
|
13632
|
+
# than most disruptive allowed action you specify it will not perform the update
|
13633
|
+
# at all.
|
13634
|
+
# Corresponds to the JSON property `mostDisruptiveAllowedAction`
|
13635
|
+
# @return [String]
|
13636
|
+
attr_accessor :most_disruptive_allowed_action
|
13637
|
+
|
13419
13638
|
# What action should be used to replace instances. See minimal_action.REPLACE
|
13420
13639
|
# Corresponds to the JSON property `replacementMethod`
|
13421
13640
|
# @return [String]
|
@@ -13440,6 +13659,7 @@ module Google
|
|
13440
13659
|
@max_surge = args[:max_surge] if args.key?(:max_surge)
|
13441
13660
|
@max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
|
13442
13661
|
@minimal_action = args[:minimal_action] if args.key?(:minimal_action)
|
13662
|
+
@most_disruptive_allowed_action = args[:most_disruptive_allowed_action] if args.key?(:most_disruptive_allowed_action)
|
13443
13663
|
@replacement_method = args[:replacement_method] if args.key?(:replacement_method)
|
13444
13664
|
@type = args[:type] if args.key?(:type)
|
13445
13665
|
end
|
@@ -14730,6 +14950,11 @@ module Google
|
|
14730
14950
|
# @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
|
14731
14951
|
attr_accessor :network_interfaces
|
14732
14952
|
|
14953
|
+
# Note that for MachineImage, this is not supported yet.
|
14954
|
+
# Corresponds to the JSON property `networkPerformanceConfig`
|
14955
|
+
# @return [Google::Apis::ComputeV1::NetworkPerformanceConfig]
|
14956
|
+
attr_accessor :network_performance_config
|
14957
|
+
|
14733
14958
|
# The private IPv6 google access type for VMs. If not specified, use
|
14734
14959
|
# INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not
|
14735
14960
|
# supported yet.
|
@@ -14742,7 +14967,15 @@ module Google
|
|
14742
14967
|
# @return [Google::Apis::ComputeV1::ReservationAffinity]
|
14743
14968
|
attr_accessor :reservation_affinity
|
14744
14969
|
|
14745
|
-
# Resource
|
14970
|
+
# Resource manager tags to be bound to the instance. Tag keys and values have
|
14971
|
+
# the same definition as resource manager tags. Keys must be in the format `
|
14972
|
+
# tagKeys/`tag_key_id``, and values are in the format `tagValues/456`. The field
|
14973
|
+
# is ignored (both PUT & PATCH) when empty.
|
14974
|
+
# Corresponds to the JSON property `resourceManagerTags`
|
14975
|
+
# @return [Hash<String,String>]
|
14976
|
+
attr_accessor :resource_manager_tags
|
14977
|
+
|
14978
|
+
# Resource policies (names, not URLs) applied to instances created from these
|
14746
14979
|
# properties. Note that for MachineImage, this is not supported yet.
|
14747
14980
|
# Corresponds to the JSON property `resourcePolicies`
|
14748
14981
|
# @return [Array<String>]
|
@@ -14788,8 +15021,10 @@ module Google
|
|
14788
15021
|
@metadata = args[:metadata] if args.key?(:metadata)
|
14789
15022
|
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
14790
15023
|
@network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
|
15024
|
+
@network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
|
14791
15025
|
@private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
|
14792
15026
|
@reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
|
15027
|
+
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
14793
15028
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
14794
15029
|
@scheduling = args[:scheduling] if args.key?(:scheduling)
|
14795
15030
|
@service_accounts = args[:service_accounts] if args.key?(:service_accounts)
|
@@ -15633,6 +15868,17 @@ module Google
|
|
15633
15868
|
# @return [String]
|
15634
15869
|
attr_accessor :bandwidth
|
15635
15870
|
|
15871
|
+
# Up to 16 candidate prefixes that control the allocation of
|
15872
|
+
# cloudRouterIpv6Address and customerRouterIpv6Address for this attachment. Each
|
15873
|
+
# prefix must be in the Global Unique Address (GUA) space. It is highly
|
15874
|
+
# recommended that it be in a range owned by the requestor. A GUA in a range
|
15875
|
+
# owned by Google will cause the request to fail. Google will select an
|
15876
|
+
# available prefix from the supplied candidates or fail the request. If not
|
15877
|
+
# supplied, a /125 from a Google-owned GUA block will be selected.
|
15878
|
+
# Corresponds to the JSON property `candidateIpv6Subnets`
|
15879
|
+
# @return [Array<String>]
|
15880
|
+
attr_accessor :candidate_ipv6_subnets
|
15881
|
+
|
15636
15882
|
# Up to 16 candidate prefixes that can be used to restrict the allocation of
|
15637
15883
|
# cloudRouterIpAddress and customerRouterIpAddress for this attachment. All
|
15638
15884
|
# prefixes must be within link-local address space (169.254.0.0/16) and must be /
|
@@ -15650,6 +15896,20 @@ module Google
|
|
15650
15896
|
# @return [String]
|
15651
15897
|
attr_accessor :cloud_router_ip_address
|
15652
15898
|
|
15899
|
+
# [Output Only] IPv6 address + prefix length to be configured on Cloud Router
|
15900
|
+
# Interface for this interconnect attachment.
|
15901
|
+
# Corresponds to the JSON property `cloudRouterIpv6Address`
|
15902
|
+
# @return [String]
|
15903
|
+
attr_accessor :cloud_router_ipv6_address
|
15904
|
+
|
15905
|
+
# If supplied, the interface id (index within the subnet) to be used for the
|
15906
|
+
# cloud router address. The id must be in the range of 1 to 6. If a subnet mask
|
15907
|
+
# is supplied, it must be /125, and the subnet should either be 0 or match the
|
15908
|
+
# selected subnet.
|
15909
|
+
# Corresponds to the JSON property `cloudRouterIpv6InterfaceId`
|
15910
|
+
# @return [String]
|
15911
|
+
attr_accessor :cloud_router_ipv6_interface_id
|
15912
|
+
|
15653
15913
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
15654
15914
|
# Corresponds to the JSON property `creationTimestamp`
|
15655
15915
|
# @return [String]
|
@@ -15661,7 +15921,24 @@ module Google
|
|
15661
15921
|
# @return [String]
|
15662
15922
|
attr_accessor :customer_router_ip_address
|
15663
15923
|
|
15664
|
-
# [Output Only]
|
15924
|
+
# [Output Only] IPv6 address + prefix length to be configured on the customer
|
15925
|
+
# router subinterface for this interconnect attachment.
|
15926
|
+
# Corresponds to the JSON property `customerRouterIpv6Address`
|
15927
|
+
# @return [String]
|
15928
|
+
attr_accessor :customer_router_ipv6_address
|
15929
|
+
|
15930
|
+
# If supplied, the interface id (index within the subnet) to be used for the
|
15931
|
+
# customer router address. The id must be in the range of 1 to 6. If a subnet
|
15932
|
+
# mask is supplied, it must be /125, and the subnet should either be 0 or match
|
15933
|
+
# the selected subnet.
|
15934
|
+
# Corresponds to the JSON property `customerRouterIpv6InterfaceId`
|
15935
|
+
# @return [String]
|
15936
|
+
attr_accessor :customer_router_ipv6_interface_id
|
15937
|
+
|
15938
|
+
# [Output only for types PARTNER and DEDICATED. Not present for PARTNER_PROVIDER.
|
15939
|
+
# ] Dataplane version for this InterconnectAttachment. This field is only
|
15940
|
+
# present for Dataplane version 2 and higher. Absence of this field in the API
|
15941
|
+
# output indicates that the Dataplane is version 1.
|
15665
15942
|
# Corresponds to the JSON property `dataplaneVersion`
|
15666
15943
|
# @return [Fixnum]
|
15667
15944
|
attr_accessor :dataplane_version
|
@@ -15820,6 +16097,14 @@ module Google
|
|
15820
16097
|
# @return [String]
|
15821
16098
|
attr_accessor :self_link
|
15822
16099
|
|
16100
|
+
# The stack type for this interconnect attachment to identify whether the IPv6
|
16101
|
+
# feature is enabled or not. If not specified, IPV4_ONLY will be used. This
|
16102
|
+
# field can be both set at interconnect attachments creation and update
|
16103
|
+
# interconnect attachment operations.
|
16104
|
+
# Corresponds to the JSON property `stackType`
|
16105
|
+
# @return [String]
|
16106
|
+
attr_accessor :stack_type
|
16107
|
+
|
15823
16108
|
# [Output Only] The current state of this attachment's functionality. Enum
|
15824
16109
|
# values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and
|
15825
16110
|
# PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER,
|
@@ -15862,10 +16147,15 @@ module Google
|
|
15862
16147
|
def update!(**args)
|
15863
16148
|
@admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
|
15864
16149
|
@bandwidth = args[:bandwidth] if args.key?(:bandwidth)
|
16150
|
+
@candidate_ipv6_subnets = args[:candidate_ipv6_subnets] if args.key?(:candidate_ipv6_subnets)
|
15865
16151
|
@candidate_subnets = args[:candidate_subnets] if args.key?(:candidate_subnets)
|
15866
16152
|
@cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
|
16153
|
+
@cloud_router_ipv6_address = args[:cloud_router_ipv6_address] if args.key?(:cloud_router_ipv6_address)
|
16154
|
+
@cloud_router_ipv6_interface_id = args[:cloud_router_ipv6_interface_id] if args.key?(:cloud_router_ipv6_interface_id)
|
15867
16155
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
15868
16156
|
@customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address)
|
16157
|
+
@customer_router_ipv6_address = args[:customer_router_ipv6_address] if args.key?(:customer_router_ipv6_address)
|
16158
|
+
@customer_router_ipv6_interface_id = args[:customer_router_ipv6_interface_id] if args.key?(:customer_router_ipv6_interface_id)
|
15869
16159
|
@dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
|
15870
16160
|
@description = args[:description] if args.key?(:description)
|
15871
16161
|
@edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
|
@@ -15886,6 +16176,7 @@ module Google
|
|
15886
16176
|
@router = args[:router] if args.key?(:router)
|
15887
16177
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
15888
16178
|
@self_link = args[:self_link] if args.key?(:self_link)
|
16179
|
+
@stack_type = args[:stack_type] if args.key?(:stack_type)
|
15889
16180
|
@state = args[:state] if args.key?(:state)
|
15890
16181
|
@type = args[:type] if args.key?(:type)
|
15891
16182
|
@vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q)
|
@@ -17401,7 +17692,7 @@ module Google
|
|
17401
17692
|
class LocationPolicyLocation
|
17402
17693
|
include Google::Apis::Core::Hashable
|
17403
17694
|
|
17404
|
-
# Preference for a given location
|
17695
|
+
# Preference for a given location.
|
17405
17696
|
# Corresponds to the JSON property `preference`
|
17406
17697
|
# @return [String]
|
17407
17698
|
attr_accessor :preference
|
@@ -17547,6 +17838,272 @@ module Google
|
|
17547
17838
|
end
|
17548
17839
|
end
|
17549
17840
|
|
17841
|
+
# Represents a machine image resource. A machine image is a Compute Engine
|
17842
|
+
# resource that stores all the configuration, metadata, permissions, and data
|
17843
|
+
# from one or more disks required to create a Virtual machine (VM) instance. For
|
17844
|
+
# more information, see Machine images.
|
17845
|
+
class MachineImage
|
17846
|
+
include Google::Apis::Core::Hashable
|
17847
|
+
|
17848
|
+
# [Output Only] The creation timestamp for this machine image in RFC3339 text
|
17849
|
+
# format.
|
17850
|
+
# Corresponds to the JSON property `creationTimestamp`
|
17851
|
+
# @return [String]
|
17852
|
+
attr_accessor :creation_timestamp
|
17853
|
+
|
17854
|
+
# An optional description of this resource. Provide this property when you
|
17855
|
+
# create the resource.
|
17856
|
+
# Corresponds to the JSON property `description`
|
17857
|
+
# @return [String]
|
17858
|
+
attr_accessor :description
|
17859
|
+
|
17860
|
+
# [Input Only] Whether to attempt an application consistent machine image by
|
17861
|
+
# informing the OS to prepare for the snapshot process. Currently only supported
|
17862
|
+
# on Windows instances using the Volume Shadow Copy Service (VSS).
|
17863
|
+
# Corresponds to the JSON property `guestFlush`
|
17864
|
+
# @return [Boolean]
|
17865
|
+
attr_accessor :guest_flush
|
17866
|
+
alias_method :guest_flush?, :guest_flush
|
17867
|
+
|
17868
|
+
# [Output Only] A unique identifier for this machine image. The server defines
|
17869
|
+
# this identifier.
|
17870
|
+
# Corresponds to the JSON property `id`
|
17871
|
+
# @return [Fixnum]
|
17872
|
+
attr_accessor :id
|
17873
|
+
|
17874
|
+
# [Output Only] Properties of source instance
|
17875
|
+
# Corresponds to the JSON property `instanceProperties`
|
17876
|
+
# @return [Google::Apis::ComputeV1::InstanceProperties]
|
17877
|
+
attr_accessor :instance_properties
|
17878
|
+
|
17879
|
+
# [Output Only] The resource type, which is always compute#machineImage for
|
17880
|
+
# machine image.
|
17881
|
+
# Corresponds to the JSON property `kind`
|
17882
|
+
# @return [String]
|
17883
|
+
attr_accessor :kind
|
17884
|
+
|
17885
|
+
# Encrypts the machine image using a customer-supplied encryption key. After you
|
17886
|
+
# encrypt a machine image using a customer-supplied key, you must provide the
|
17887
|
+
# same key if you use the machine image later. For example, you must provide the
|
17888
|
+
# encryption key when you create an instance from the encrypted machine image in
|
17889
|
+
# a future request. Customer-supplied encryption keys do not protect access to
|
17890
|
+
# metadata of the machine image. If you do not provide an encryption key when
|
17891
|
+
# creating the machine image, then the machine image will be encrypted using an
|
17892
|
+
# automatically generated key and you do not need to provide a key to use the
|
17893
|
+
# machine image later.
|
17894
|
+
# Corresponds to the JSON property `machineImageEncryptionKey`
|
17895
|
+
# @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
|
17896
|
+
attr_accessor :machine_image_encryption_key
|
17897
|
+
|
17898
|
+
# Name of the resource; provided by the client when the resource is created. The
|
17899
|
+
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
17900
|
+
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
17901
|
+
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
17902
|
+
# and all following characters must be a dash, lowercase letter, or digit,
|
17903
|
+
# except the last character, which cannot be a dash.
|
17904
|
+
# Corresponds to the JSON property `name`
|
17905
|
+
# @return [String]
|
17906
|
+
attr_accessor :name
|
17907
|
+
|
17908
|
+
# [Output Only] Reserved for future use.
|
17909
|
+
# Corresponds to the JSON property `satisfiesPzs`
|
17910
|
+
# @return [Boolean]
|
17911
|
+
attr_accessor :satisfies_pzs
|
17912
|
+
alias_method :satisfies_pzs?, :satisfies_pzs
|
17913
|
+
|
17914
|
+
# An array of Machine Image specific properties for disks attached to the source
|
17915
|
+
# instance
|
17916
|
+
# Corresponds to the JSON property `savedDisks`
|
17917
|
+
# @return [Array<Google::Apis::ComputeV1::SavedDisk>]
|
17918
|
+
attr_accessor :saved_disks
|
17919
|
+
|
17920
|
+
# [Output Only] The URL for this machine image. The server defines this URL.
|
17921
|
+
# Corresponds to the JSON property `selfLink`
|
17922
|
+
# @return [String]
|
17923
|
+
attr_accessor :self_link
|
17924
|
+
|
17925
|
+
# [Input Only] The customer-supplied encryption key of the disks attached to the
|
17926
|
+
# source instance. Required if the source disk is protected by a customer-
|
17927
|
+
# supplied encryption key.
|
17928
|
+
# Corresponds to the JSON property `sourceDiskEncryptionKeys`
|
17929
|
+
# @return [Array<Google::Apis::ComputeV1::SourceDiskEncryptionKey>]
|
17930
|
+
attr_accessor :source_disk_encryption_keys
|
17931
|
+
|
17932
|
+
# The source instance used to create the machine image. You can provide this as
|
17933
|
+
# a partial or full URL to the resource. For example, the following are valid
|
17934
|
+
# values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
|
17935
|
+
# instances/instance - projects/project/zones/zone/instances/instance
|
17936
|
+
# Corresponds to the JSON property `sourceInstance`
|
17937
|
+
# @return [String]
|
17938
|
+
attr_accessor :source_instance
|
17939
|
+
|
17940
|
+
# DEPRECATED: Please use compute#instanceProperties instead. New properties will
|
17941
|
+
# not be added to this field.
|
17942
|
+
# Corresponds to the JSON property `sourceInstanceProperties`
|
17943
|
+
# @return [Google::Apis::ComputeV1::SourceInstanceProperties]
|
17944
|
+
attr_accessor :source_instance_properties
|
17945
|
+
|
17946
|
+
# [Output Only] The status of the machine image. One of the following values:
|
17947
|
+
# INVALID, CREATING, READY, DELETING, and UPLOADING.
|
17948
|
+
# Corresponds to the JSON property `status`
|
17949
|
+
# @return [String]
|
17950
|
+
attr_accessor :status
|
17951
|
+
|
17952
|
+
# The regional or multi-regional Cloud Storage bucket location where the machine
|
17953
|
+
# image is stored.
|
17954
|
+
# Corresponds to the JSON property `storageLocations`
|
17955
|
+
# @return [Array<String>]
|
17956
|
+
attr_accessor :storage_locations
|
17957
|
+
|
17958
|
+
# [Output Only] Total size of the storage used by the machine image.
|
17959
|
+
# Corresponds to the JSON property `totalStorageBytes`
|
17960
|
+
# @return [Fixnum]
|
17961
|
+
attr_accessor :total_storage_bytes
|
17962
|
+
|
17963
|
+
def initialize(**args)
|
17964
|
+
update!(**args)
|
17965
|
+
end
|
17966
|
+
|
17967
|
+
# Update properties of this object
|
17968
|
+
def update!(**args)
|
17969
|
+
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
17970
|
+
@description = args[:description] if args.key?(:description)
|
17971
|
+
@guest_flush = args[:guest_flush] if args.key?(:guest_flush)
|
17972
|
+
@id = args[:id] if args.key?(:id)
|
17973
|
+
@instance_properties = args[:instance_properties] if args.key?(:instance_properties)
|
17974
|
+
@kind = args[:kind] if args.key?(:kind)
|
17975
|
+
@machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
|
17976
|
+
@name = args[:name] if args.key?(:name)
|
17977
|
+
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
17978
|
+
@saved_disks = args[:saved_disks] if args.key?(:saved_disks)
|
17979
|
+
@self_link = args[:self_link] if args.key?(:self_link)
|
17980
|
+
@source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys)
|
17981
|
+
@source_instance = args[:source_instance] if args.key?(:source_instance)
|
17982
|
+
@source_instance_properties = args[:source_instance_properties] if args.key?(:source_instance_properties)
|
17983
|
+
@status = args[:status] if args.key?(:status)
|
17984
|
+
@storage_locations = args[:storage_locations] if args.key?(:storage_locations)
|
17985
|
+
@total_storage_bytes = args[:total_storage_bytes] if args.key?(:total_storage_bytes)
|
17986
|
+
end
|
17987
|
+
end
|
17988
|
+
|
17989
|
+
# A list of machine images.
|
17990
|
+
class MachineImageList
|
17991
|
+
include Google::Apis::Core::Hashable
|
17992
|
+
|
17993
|
+
# [Output Only] Unique identifier for the resource; defined by the server.
|
17994
|
+
# Corresponds to the JSON property `id`
|
17995
|
+
# @return [String]
|
17996
|
+
attr_accessor :id
|
17997
|
+
|
17998
|
+
# A list of MachineImage resources.
|
17999
|
+
# Corresponds to the JSON property `items`
|
18000
|
+
# @return [Array<Google::Apis::ComputeV1::MachineImage>]
|
18001
|
+
attr_accessor :items
|
18002
|
+
|
18003
|
+
# [Output Only] The resource type, which is always compute#
|
18004
|
+
# machineImagesListResponse for machine image lists.
|
18005
|
+
# Corresponds to the JSON property `kind`
|
18006
|
+
# @return [String]
|
18007
|
+
attr_accessor :kind
|
18008
|
+
|
18009
|
+
# [Output Only] This token allows you to get the next page of results for list
|
18010
|
+
# requests. If the number of results is larger than maxResults, use the
|
18011
|
+
# nextPageToken as a value for the query parameter pageToken in the next list
|
18012
|
+
# request. Subsequent list requests will have their own nextPageToken to
|
18013
|
+
# continue paging through the results.
|
18014
|
+
# Corresponds to the JSON property `nextPageToken`
|
18015
|
+
# @return [String]
|
18016
|
+
attr_accessor :next_page_token
|
18017
|
+
|
18018
|
+
# [Output Only] Server-defined URL for this resource.
|
18019
|
+
# Corresponds to the JSON property `selfLink`
|
18020
|
+
# @return [String]
|
18021
|
+
attr_accessor :self_link
|
18022
|
+
|
18023
|
+
# [Output Only] Informational warning message.
|
18024
|
+
# Corresponds to the JSON property `warning`
|
18025
|
+
# @return [Google::Apis::ComputeV1::MachineImageList::Warning]
|
18026
|
+
attr_accessor :warning
|
18027
|
+
|
18028
|
+
def initialize(**args)
|
18029
|
+
update!(**args)
|
18030
|
+
end
|
18031
|
+
|
18032
|
+
# Update properties of this object
|
18033
|
+
def update!(**args)
|
18034
|
+
@id = args[:id] if args.key?(:id)
|
18035
|
+
@items = args[:items] if args.key?(:items)
|
18036
|
+
@kind = args[:kind] if args.key?(:kind)
|
18037
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
18038
|
+
@self_link = args[:self_link] if args.key?(:self_link)
|
18039
|
+
@warning = args[:warning] if args.key?(:warning)
|
18040
|
+
end
|
18041
|
+
|
18042
|
+
# [Output Only] Informational warning message.
|
18043
|
+
class Warning
|
18044
|
+
include Google::Apis::Core::Hashable
|
18045
|
+
|
18046
|
+
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
18047
|
+
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
18048
|
+
# Corresponds to the JSON property `code`
|
18049
|
+
# @return [String]
|
18050
|
+
attr_accessor :code
|
18051
|
+
|
18052
|
+
# [Output Only] Metadata about this warning in key: value format. For example: "
|
18053
|
+
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
18054
|
+
# Corresponds to the JSON property `data`
|
18055
|
+
# @return [Array<Google::Apis::ComputeV1::MachineImageList::Warning::Datum>]
|
18056
|
+
attr_accessor :data
|
18057
|
+
|
18058
|
+
# [Output Only] A human-readable description of the warning code.
|
18059
|
+
# Corresponds to the JSON property `message`
|
18060
|
+
# @return [String]
|
18061
|
+
attr_accessor :message
|
18062
|
+
|
18063
|
+
def initialize(**args)
|
18064
|
+
update!(**args)
|
18065
|
+
end
|
18066
|
+
|
18067
|
+
# Update properties of this object
|
18068
|
+
def update!(**args)
|
18069
|
+
@code = args[:code] if args.key?(:code)
|
18070
|
+
@data = args[:data] if args.key?(:data)
|
18071
|
+
@message = args[:message] if args.key?(:message)
|
18072
|
+
end
|
18073
|
+
|
18074
|
+
#
|
18075
|
+
class Datum
|
18076
|
+
include Google::Apis::Core::Hashable
|
18077
|
+
|
18078
|
+
# [Output Only] A key that provides more detail on the warning being returned.
|
18079
|
+
# For example, for warnings where there are no results in a list request for a
|
18080
|
+
# particular zone, this key might be scope and the key value might be the zone
|
18081
|
+
# name. Other examples might be a key indicating a deprecated resource and a
|
18082
|
+
# suggested replacement, or a warning about invalid network settings (for
|
18083
|
+
# example, if an instance attempts to perform IP forwarding but is not enabled
|
18084
|
+
# for IP forwarding).
|
18085
|
+
# Corresponds to the JSON property `key`
|
18086
|
+
# @return [String]
|
18087
|
+
attr_accessor :key
|
18088
|
+
|
18089
|
+
# [Output Only] A warning data value corresponding to the key.
|
18090
|
+
# Corresponds to the JSON property `value`
|
18091
|
+
# @return [String]
|
18092
|
+
attr_accessor :value
|
18093
|
+
|
18094
|
+
def initialize(**args)
|
18095
|
+
update!(**args)
|
18096
|
+
end
|
18097
|
+
|
18098
|
+
# Update properties of this object
|
18099
|
+
def update!(**args)
|
18100
|
+
@key = args[:key] if args.key?(:key)
|
18101
|
+
@value = args[:value] if args.key?(:value)
|
18102
|
+
end
|
18103
|
+
end
|
18104
|
+
end
|
18105
|
+
end
|
18106
|
+
|
17550
18107
|
# Represents a Machine Type resource. You can use specific machine types for
|
17551
18108
|
# your VM instances based on performance and pricing requirements. For more
|
17552
18109
|
# information, read Machine Types.
|
@@ -18325,18 +18882,18 @@ module Google
|
|
18325
18882
|
end
|
18326
18883
|
end
|
18327
18884
|
|
18328
|
-
# Opaque filter criteria used by
|
18329
|
-
# to a limited set of
|
18330
|
-
#
|
18331
|
-
# to match criteria specified here. If a match takes place,
|
18332
|
-
# configuration is made available to those proxies. For each
|
18333
|
-
# this list, if its filterMatchCriteria is set to MATCH_ANY,
|
18334
|
-
# filterLabels must match the corresponding label provided
|
18335
|
-
# its filterMatchCriteria is set to MATCH_ALL, then all of
|
18336
|
-
# match with corresponding labels provided in the metadata.
|
18337
|
-
# metadataFilters would be: if
|
18338
|
-
# receive routing configuration when values in metadataFilters
|
18339
|
-
# supplied in of their XDS requests to loadbalancers.
|
18885
|
+
# Opaque filter criteria used by load balancers to restrict routing
|
18886
|
+
# configuration to a limited set of load balancing proxies. Proxies and sidecars
|
18887
|
+
# involved in load balancing would typically present metadata to the load
|
18888
|
+
# balancers that need to match criteria specified here. If a match takes place,
|
18889
|
+
# the relevant configuration is made available to those proxies. For each
|
18890
|
+
# metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY,
|
18891
|
+
# at least one of the filterLabels must match the corresponding label provided
|
18892
|
+
# in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of
|
18893
|
+
# its filterLabels must match with corresponding labels provided in the metadata.
|
18894
|
+
# An example for using metadataFilters would be: if load balancing involves
|
18895
|
+
# Envoys, they receive routing configuration when values in metadataFilters
|
18896
|
+
# match values supplied in of their XDS requests to loadbalancers.
|
18340
18897
|
class MetadataFilter
|
18341
18898
|
include Google::Apis::Core::Hashable
|
18342
18899
|
|
@@ -18347,11 +18904,11 @@ module Google
|
|
18347
18904
|
# @return [Array<Google::Apis::ComputeV1::MetadataFilterLabelMatch>]
|
18348
18905
|
attr_accessor :filter_labels
|
18349
18906
|
|
18350
|
-
# Specifies how individual
|
18351
|
-
#
|
18352
|
-
# MATCH_ANY:
|
18353
|
-
# provided metadata. - MATCH_ALL:
|
18354
|
-
# the provided metadata.
|
18907
|
+
# Specifies how individual filter label matches within the list of filterLabels
|
18908
|
+
# and contributes toward the overall metadataFilter match. Supported values are:
|
18909
|
+
# - MATCH_ANY: at least one of the filterLabels must have a matching label in
|
18910
|
+
# the provided metadata. - MATCH_ALL: all filterLabels must have matching labels
|
18911
|
+
# in the provided metadata.
|
18355
18912
|
# Corresponds to the JSON property `filterMatchCriteria`
|
18356
18913
|
# @return [String]
|
18357
18914
|
attr_accessor :filter_match_criteria
|
@@ -18368,7 +18925,7 @@ module Google
|
|
18368
18925
|
end
|
18369
18926
|
|
18370
18927
|
# MetadataFilter label name value pairs that are expected to match corresponding
|
18371
|
-
# labels presented as metadata to the
|
18928
|
+
# labels presented as metadata to the load balancer.
|
18372
18929
|
class MetadataFilterLabelMatch
|
18373
18930
|
include Google::Apis::Core::Hashable
|
18374
18931
|
|
@@ -18675,6 +19232,12 @@ module Google
|
|
18675
19232
|
# @return [String]
|
18676
19233
|
attr_accessor :network_endpoint_type
|
18677
19234
|
|
19235
|
+
# The target service url used to set up private service connection to a Google
|
19236
|
+
# API. An example value is: "asia-northeast3-cloudkms.googleapis.com"
|
19237
|
+
# Corresponds to the JSON property `pscTargetService`
|
19238
|
+
# @return [String]
|
19239
|
+
attr_accessor :psc_target_service
|
19240
|
+
|
18678
19241
|
# [Output Only] The URL of the region where the network endpoint group is
|
18679
19242
|
# located.
|
18680
19243
|
# Corresponds to the JSON property `region`
|
@@ -18720,6 +19283,7 @@ module Google
|
|
18720
19283
|
@name = args[:name] if args.key?(:name)
|
18721
19284
|
@network = args[:network] if args.key?(:network)
|
18722
19285
|
@network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
|
19286
|
+
@psc_target_service = args[:psc_target_service] if args.key?(:psc_target_service)
|
18723
19287
|
@region = args[:region] if args.key?(:region)
|
18724
19288
|
@self_link = args[:self_link] if args.key?(:self_link)
|
18725
19289
|
@size = args[:size] if args.key?(:size)
|
@@ -19420,7 +19984,7 @@ module Google
|
|
19420
19984
|
# @return [String]
|
19421
19985
|
attr_accessor :ipv6_access_type
|
19422
19986
|
|
19423
|
-
#
|
19987
|
+
# An IPv6 internal network address for this network interface.
|
19424
19988
|
# Corresponds to the JSON property `ipv6Address`
|
19425
19989
|
# @return [String]
|
19426
19990
|
attr_accessor :ipv6_address
|
@@ -19437,14 +20001,15 @@ module Google
|
|
19437
20001
|
# @return [String]
|
19438
20002
|
attr_accessor :name
|
19439
20003
|
|
19440
|
-
# URL of the network resource for this instance. When creating an instance,
|
19441
|
-
# neither the network nor the subnetwork is specified, the default network
|
19442
|
-
# global/networks/default is used
|
19443
|
-
#
|
19444
|
-
#
|
19445
|
-
#
|
19446
|
-
#
|
19447
|
-
# global/networks/
|
20004
|
+
# URL of the VPC network resource for this instance. When creating an instance,
|
20005
|
+
# if neither the network nor the subnetwork is specified, the default network
|
20006
|
+
# global/networks/default is used. If the selected project doesn't have the
|
20007
|
+
# default network, you must specify a network or subnet. If the network is not
|
20008
|
+
# specified but the subnetwork is specified, the network is inferred. If you
|
20009
|
+
# specify this property, you can specify the network as a full or partial URL.
|
20010
|
+
# For example, the following are all valid URLs: - https://www.googleapis.com/
|
20011
|
+
# compute/v1/projects/project/global/networks/ network - projects/project/global/
|
20012
|
+
# networks/network - global/networks/default
|
19448
20013
|
# Corresponds to the JSON property `network`
|
19449
20014
|
# @return [String]
|
19450
20015
|
attr_accessor :network
|
@@ -19653,7 +20218,8 @@ module Google
|
|
19653
20218
|
attr_accessor :exchange_subnet_routes
|
19654
20219
|
alias_method :exchange_subnet_routes?, :exchange_subnet_routes
|
19655
20220
|
|
19656
|
-
# Whether to export the custom routes to peer network.
|
20221
|
+
# Whether to export the custom routes to peer network. The default value is
|
20222
|
+
# false.
|
19657
20223
|
# Corresponds to the JSON property `exportCustomRoutes`
|
19658
20224
|
# @return [Boolean]
|
19659
20225
|
attr_accessor :export_custom_routes
|
@@ -19667,7 +20233,8 @@ module Google
|
|
19667
20233
|
attr_accessor :export_subnet_routes_with_public_ip
|
19668
20234
|
alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip
|
19669
20235
|
|
19670
|
-
# Whether to import the custom routes from peer network.
|
20236
|
+
# Whether to import the custom routes from peer network. The default value is
|
20237
|
+
# false.
|
19671
20238
|
# Corresponds to the JSON property `importCustomRoutes`
|
19672
20239
|
# @return [Boolean]
|
19673
20240
|
attr_accessor :import_custom_routes
|
@@ -19735,6 +20302,25 @@ module Google
|
|
19735
20302
|
end
|
19736
20303
|
end
|
19737
20304
|
|
20305
|
+
#
|
20306
|
+
class NetworkPerformanceConfig
|
20307
|
+
include Google::Apis::Core::Hashable
|
20308
|
+
|
20309
|
+
#
|
20310
|
+
# Corresponds to the JSON property `totalEgressBandwidthTier`
|
20311
|
+
# @return [String]
|
20312
|
+
attr_accessor :total_egress_bandwidth_tier
|
20313
|
+
|
20314
|
+
def initialize(**args)
|
20315
|
+
update!(**args)
|
20316
|
+
end
|
20317
|
+
|
20318
|
+
# Update properties of this object
|
20319
|
+
def update!(**args)
|
20320
|
+
@total_egress_bandwidth_tier = args[:total_egress_bandwidth_tier] if args.key?(:total_egress_bandwidth_tier)
|
20321
|
+
end
|
20322
|
+
end
|
20323
|
+
|
19738
20324
|
# A routing configuration attached to a network resource. The message includes
|
19739
20325
|
# the list of routers associated with the network, and a flag indicating the
|
19740
20326
|
# type of routing behavior to enforce network-wide.
|
@@ -23275,37 +23861,37 @@ module Google
|
|
23275
23861
|
|
23276
23862
|
# A matcher for the path portion of the URL. The BackendService from the longest-
|
23277
23863
|
# matched rule will serve the URL. If no rule was matched, the default service
|
23278
|
-
#
|
23864
|
+
# is used.
|
23279
23865
|
class PathMatcher
|
23280
23866
|
include Google::Apis::Core::Hashable
|
23281
23867
|
|
23282
23868
|
# defaultRouteAction takes effect when none of the pathRules or routeRules match.
|
23283
|
-
# The load balancer performs advanced routing actions
|
23284
|
-
# transformations,
|
23869
|
+
# The load balancer performs advanced routing actions, such as URL rewrites and
|
23870
|
+
# header transformations, before forwarding the request to the selected backend.
|
23285
23871
|
# If defaultRouteAction specifies any weightedBackendServices, defaultService
|
23286
23872
|
# must not be set. Conversely if defaultService is set, defaultRouteAction
|
23287
23873
|
# cannot contain any weightedBackendServices. Only one of defaultRouteAction or
|
23288
23874
|
# defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
|
23289
|
-
# support only the urlRewrite action within a
|
23875
|
+
# support only the urlRewrite action within a path matcher's defaultRouteAction.
|
23290
23876
|
# Corresponds to the JSON property `defaultRouteAction`
|
23291
23877
|
# @return [Google::Apis::ComputeV1::HttpRouteAction]
|
23292
23878
|
attr_accessor :default_route_action
|
23293
23879
|
|
23294
|
-
# The full or partial URL to the BackendService resource. This
|
23880
|
+
# The full or partial URL to the BackendService resource. This URL is used if
|
23295
23881
|
# none of the pathRules or routeRules defined by this PathMatcher are matched.
|
23296
23882
|
# For example, the following are all valid URLs to a BackendService resource: -
|
23297
23883
|
# https://www.googleapis.com/compute/v1/projects/project /global/backendServices/
|
23298
23884
|
# backendService - compute/v1/projects/project/global/backendServices/
|
23299
23885
|
# backendService - global/backendServices/backendService If defaultRouteAction
|
23300
|
-
# is
|
23301
|
-
#
|
23302
|
-
#
|
23303
|
-
#
|
23304
|
-
#
|
23305
|
-
#
|
23306
|
-
#
|
23307
|
-
#
|
23308
|
-
#
|
23886
|
+
# is also specified, advanced routing actions, such as URL rewrites, take effect
|
23887
|
+
# before sending the request to the backend. However, if defaultService is
|
23888
|
+
# specified, defaultRouteAction cannot contain any weightedBackendServices.
|
23889
|
+
# Conversely, if defaultRouteAction specifies any weightedBackendServices,
|
23890
|
+
# defaultService must not be specified. Only one of defaultService,
|
23891
|
+
# defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set.
|
23892
|
+
# Authorization requires one or more of the following Google IAM permissions on
|
23893
|
+
# the specified resource default_service: - compute.backendBuckets.use - compute.
|
23894
|
+
# backendServices.use
|
23309
23895
|
# Corresponds to the JSON property `defaultService`
|
23310
23896
|
# @return [String]
|
23311
23897
|
attr_accessor :default_service
|
@@ -23381,23 +23967,23 @@ module Google
|
|
23381
23967
|
attr_accessor :paths
|
23382
23968
|
|
23383
23969
|
# In response to a matching path, the load balancer performs advanced routing
|
23384
|
-
# actions
|
23970
|
+
# actions, such as URL rewrites and header transformations, before forwarding
|
23385
23971
|
# the request to the selected backend. If routeAction specifies any
|
23386
23972
|
# weightedBackendServices, service must not be set. Conversely if service is set,
|
23387
23973
|
# routeAction cannot contain any weightedBackendServices. Only one of
|
23388
|
-
# routeAction or urlRedirect must be set.
|
23389
|
-
# balancers support only the urlRewrite action within a
|
23974
|
+
# routeAction or urlRedirect must be set. URL maps for external HTTP(S) load
|
23975
|
+
# balancers support only the urlRewrite action within a path rule's routeAction.
|
23390
23976
|
# Corresponds to the JSON property `routeAction`
|
23391
23977
|
# @return [Google::Apis::ComputeV1::HttpRouteAction]
|
23392
23978
|
attr_accessor :route_action
|
23393
23979
|
|
23394
23980
|
# The full or partial URL of the backend service resource to which traffic is
|
23395
|
-
# directed if this rule is matched. If routeAction is
|
23396
|
-
#
|
23397
|
-
#
|
23398
|
-
#
|
23399
|
-
#
|
23400
|
-
#
|
23981
|
+
# directed if this rule is matched. If routeAction is also specified, advanced
|
23982
|
+
# routing actions, such as URL rewrites, take effect before sending the request
|
23983
|
+
# to the backend. However, if service is specified, routeAction cannot contain
|
23984
|
+
# any weightedBackendServices. Conversely, if routeAction specifies any
|
23985
|
+
# weightedBackendServices, service must not be specified. Only one of
|
23986
|
+
# urlRedirect, service or routeAction.weightedBackendService must be set.
|
23401
23987
|
# Corresponds to the JSON property `service`
|
23402
23988
|
# @return [String]
|
23403
23989
|
attr_accessor :service
|
@@ -23469,31 +24055,31 @@ module Google
|
|
23469
24055
|
|
23470
24056
|
# An Identity and Access Management (IAM) policy, which specifies access
|
23471
24057
|
# controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
|
23472
|
-
# A `binding` binds one or more `members
|
23473
|
-
# user accounts, service accounts, Google groups, and domains (
|
23474
|
-
# A `role` is a named list of permissions; each `role` can be
|
23475
|
-
# role or a user-created custom role. For some types of Google
|
23476
|
-
# a `binding` can also specify a `condition`, which is a
|
23477
|
-
# allows access to a resource only if the expression
|
23478
|
-
# condition can add constraints based on attributes of
|
23479
|
-
# or both. To learn which resources support
|
23480
|
-
# see the [IAM documentation](https://cloud.
|
23481
|
-
# resource-policies). **JSON example:** ` "
|
23482
|
-
# resourcemanager.organizationAdmin", "members": [
|
23483
|
-
# group:admins@example.com", "domain:google.com", "
|
23484
|
-
# appspot.gserviceaccount.com" ] `, ` "role": "
|
23485
|
-
# organizationViewer", "members": [ "user:eve@example.com"
|
23486
|
-
# title": "expirable access", "description": "Does not grant
|
23487
|
-
# 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
23488
|
-
# ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
23489
|
-
# members: - user:mike@example.com - group:admins@example.com -
|
23490
|
-
# com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
23491
|
-
# resourcemanager.organizationAdmin - members: - user:eve@example.
|
23492
|
-
# roles/resourcemanager.organizationViewer condition: title: expirable
|
23493
|
-
# description: Does not grant access after Sep 2020 expression: request.
|
23494
|
-
# timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
23495
|
-
# description of IAM and its features, see the [IAM documentation](https://
|
23496
|
-
# google.com/iam/docs/).
|
24058
|
+
# A `binding` binds one or more `members`, or principals, to a single `role`.
|
24059
|
+
# Principals can be user accounts, service accounts, Google groups, and domains (
|
24060
|
+
# such as G Suite). A `role` is a named list of permissions; each `role` can be
|
24061
|
+
# an IAM predefined role or a user-created custom role. For some types of Google
|
24062
|
+
# Cloud resources, a `binding` can also specify a `condition`, which is a
|
24063
|
+
# logical expression that allows access to a resource only if the expression
|
24064
|
+
# evaluates to `true`. A condition can add constraints based on attributes of
|
24065
|
+
# the request, the resource, or both. To learn which resources support
|
24066
|
+
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
24067
|
+
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
24068
|
+
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
24069
|
+
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
24070
|
+
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
24071
|
+
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
24072
|
+
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
24073
|
+
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
24074
|
+
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
24075
|
+
# bindings: - members: - user:mike@example.com - group:admins@example.com -
|
24076
|
+
# domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
24077
|
+
# role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
|
24078
|
+
# com role: roles/resourcemanager.organizationViewer condition: title: expirable
|
24079
|
+
# access description: Does not grant access after Sep 2020 expression: request.
|
24080
|
+
# time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
24081
|
+
# a description of IAM and its features, see the [IAM documentation](https://
|
24082
|
+
# cloud.google.com/iam/docs/).
|
23497
24083
|
class Policy
|
23498
24084
|
include Google::Apis::Core::Hashable
|
23499
24085
|
|
@@ -23502,9 +24088,14 @@ module Google
|
|
23502
24088
|
# @return [Array<Google::Apis::ComputeV1::AuditConfig>]
|
23503
24089
|
attr_accessor :audit_configs
|
23504
24090
|
|
23505
|
-
# Associates a list of `members
|
23506
|
-
# condition` that determines how and when the `bindings` are applied.
|
23507
|
-
# the `bindings` must contain at least one
|
24091
|
+
# Associates a list of `members`, or principals, with a `role`. Optionally, may
|
24092
|
+
# specify a `condition` that determines how and when the `bindings` are applied.
|
24093
|
+
# Each of the `bindings` must contain at least one principal. The `bindings` in
|
24094
|
+
# a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
|
24095
|
+
# can be Google groups. Each occurrence of a principal counts towards these
|
24096
|
+
# limits. For example, if the `bindings` grant 50 different roles to `user:alice@
|
24097
|
+
# example.com`, and not to any other principal, then you can add another 1,450
|
24098
|
+
# principals to the `bindings` in the `Policy`.
|
23508
24099
|
# Corresponds to the JSON property `bindings`
|
23509
24100
|
# @return [Array<Google::Apis::ComputeV1::Binding>]
|
23510
24101
|
attr_accessor :bindings
|
@@ -23525,12 +24116,6 @@ module Google
|
|
23525
24116
|
# @return [String]
|
23526
24117
|
attr_accessor :etag
|
23527
24118
|
|
23528
|
-
# This is deprecated and has no effect. Do not use.
|
23529
|
-
# Corresponds to the JSON property `iamOwned`
|
23530
|
-
# @return [Boolean]
|
23531
|
-
attr_accessor :iam_owned
|
23532
|
-
alias_method :iam_owned?, :iam_owned
|
23533
|
-
|
23534
24119
|
# This is deprecated and has no effect. Do not use.
|
23535
24120
|
# Corresponds to the JSON property `rules`
|
23536
24121
|
# @return [Array<Google::Apis::ComputeV1::Rule>]
|
@@ -23564,7 +24149,6 @@ module Google
|
|
23564
24149
|
@audit_configs = args[:audit_configs] if args.key?(:audit_configs)
|
23565
24150
|
@bindings = args[:bindings] if args.key?(:bindings)
|
23566
24151
|
@etag = args[:etag] if args.key?(:etag)
|
23567
|
-
@iam_owned = args[:iam_owned] if args.key?(:iam_owned)
|
23568
24152
|
@rules = args[:rules] if args.key?(:rules)
|
23569
24153
|
@version = args[:version] if args.key?(:version)
|
23570
24154
|
end
|
@@ -23945,7 +24529,13 @@ module Google
|
|
23945
24529
|
# @return [String]
|
23946
24530
|
attr_accessor :shared_secret
|
23947
24531
|
|
23948
|
-
# The status of the public advertised prefix.
|
24532
|
+
# The status of the public advertised prefix. Possible values include: - `
|
24533
|
+
# INITIAL`: RPKI validation is complete. - `PTR_CONFIGURED`: User has configured
|
24534
|
+
# the PTR. - `VALIDATED`: Reverse DNS lookup is successful. - `
|
24535
|
+
# REVERSE_DNS_LOOKUP_FAILED`: Reverse DNS lookup failed. - `
|
24536
|
+
# PREFIX_CONFIGURATION_IN_PROGRESS`: The prefix is being configured. - `
|
24537
|
+
# PREFIX_CONFIGURATION_COMPLETE`: The prefix is fully configured. - `
|
24538
|
+
# PREFIX_REMOVAL_IN_PROGRESS`: The prefix is being removed.
|
23949
24539
|
# Corresponds to the JSON property `status`
|
23950
24540
|
# @return [String]
|
23951
24541
|
attr_accessor :status
|
@@ -24224,7 +24814,12 @@ module Google
|
|
24224
24814
|
# @return [String]
|
24225
24815
|
attr_accessor :self_link
|
24226
24816
|
|
24227
|
-
# [Output Only] The status of the public delegated prefix
|
24817
|
+
# [Output Only] The status of the public delegated prefix, which can be one of
|
24818
|
+
# following values: - `INITIALIZING` The public delegated prefix is being
|
24819
|
+
# initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The
|
24820
|
+
# public delegated prefix is a live migration prefix and is active. - `ANNOUNCED`
|
24821
|
+
# The public delegated prefix is active. - `DELETING` The public delegated
|
24822
|
+
# prefix is being deprovsioned.
|
24228
24823
|
# Corresponds to the JSON property `status`
|
24229
24824
|
# @return [String]
|
24230
24825
|
attr_accessor :status
|
@@ -26084,31 +26679,31 @@ module Google
|
|
26084
26679
|
|
26085
26680
|
# An Identity and Access Management (IAM) policy, which specifies access
|
26086
26681
|
# controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
|
26087
|
-
# A `binding` binds one or more `members
|
26088
|
-
# user accounts, service accounts, Google groups, and domains (
|
26089
|
-
# A `role` is a named list of permissions; each `role` can be
|
26090
|
-
# role or a user-created custom role. For some types of Google
|
26091
|
-
# a `binding` can also specify a `condition`, which is a
|
26092
|
-
# allows access to a resource only if the expression
|
26093
|
-
# condition can add constraints based on attributes of
|
26094
|
-
# or both. To learn which resources support
|
26095
|
-
# see the [IAM documentation](https://cloud.
|
26096
|
-
# resource-policies). **JSON example:** ` "
|
26097
|
-
# resourcemanager.organizationAdmin", "members": [
|
26098
|
-
# group:admins@example.com", "domain:google.com", "
|
26099
|
-
# appspot.gserviceaccount.com" ] `, ` "role": "
|
26100
|
-
# organizationViewer", "members": [ "user:eve@example.com"
|
26101
|
-
# title": "expirable access", "description": "Does not grant
|
26102
|
-
# 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
26103
|
-
# ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
26104
|
-
# members: - user:mike@example.com - group:admins@example.com -
|
26105
|
-
# com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
26106
|
-
# resourcemanager.organizationAdmin - members: - user:eve@example.
|
26107
|
-
# roles/resourcemanager.organizationViewer condition: title: expirable
|
26108
|
-
# description: Does not grant access after Sep 2020 expression: request.
|
26109
|
-
# timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
26110
|
-
# description of IAM and its features, see the [IAM documentation](https://
|
26111
|
-
# google.com/iam/docs/).
|
26682
|
+
# A `binding` binds one or more `members`, or principals, to a single `role`.
|
26683
|
+
# Principals can be user accounts, service accounts, Google groups, and domains (
|
26684
|
+
# such as G Suite). A `role` is a named list of permissions; each `role` can be
|
26685
|
+
# an IAM predefined role or a user-created custom role. For some types of Google
|
26686
|
+
# Cloud resources, a `binding` can also specify a `condition`, which is a
|
26687
|
+
# logical expression that allows access to a resource only if the expression
|
26688
|
+
# evaluates to `true`. A condition can add constraints based on attributes of
|
26689
|
+
# the request, the resource, or both. To learn which resources support
|
26690
|
+
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
26691
|
+
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
26692
|
+
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
26693
|
+
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
26694
|
+
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
26695
|
+
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
26696
|
+
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
26697
|
+
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
26698
|
+
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
26699
|
+
# bindings: - members: - user:mike@example.com - group:admins@example.com -
|
26700
|
+
# domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
26701
|
+
# role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
|
26702
|
+
# com role: roles/resourcemanager.organizationViewer condition: title: expirable
|
26703
|
+
# access description: Does not grant access after Sep 2020 expression: request.
|
26704
|
+
# time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
26705
|
+
# a description of IAM and its features, see the [IAM documentation](https://
|
26706
|
+
# cloud.google.com/iam/docs/).
|
26112
26707
|
# Corresponds to the JSON property `policy`
|
26113
26708
|
# @return [Google::Apis::ComputeV1::Policy]
|
26114
26709
|
attr_accessor :policy
|
@@ -26149,17 +26744,17 @@ module Google
|
|
26149
26744
|
class RegionUrlMapsValidateRequest
|
26150
26745
|
include Google::Apis::Core::Hashable
|
26151
26746
|
|
26152
|
-
# Represents a URL Map resource.
|
26153
|
-
#
|
26154
|
-
#
|
26155
|
-
#
|
26156
|
-
#
|
26157
|
-
#
|
26158
|
-
#
|
26747
|
+
# Represents a URL Map resource. Compute Engine has two URL Map resources: * [
|
26748
|
+
# Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/
|
26749
|
+
# reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain
|
26750
|
+
# types of cloud load balancers and Traffic Director: * urlMaps are used by
|
26751
|
+
# external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used
|
26752
|
+
# by internal HTTP(S) load balancers. For a list of supported URL map features
|
26753
|
+
# by the load balancer type, see the Load balancing features: Routing and
|
26159
26754
|
# traffic management table. For a list of supported URL map features for Traffic
|
26160
26755
|
# Director, see the Traffic Director features: Routing and traffic management
|
26161
|
-
# table. This resource defines mappings from
|
26162
|
-
#
|
26756
|
+
# table. This resource defines mappings from hostnames and URL paths to either a
|
26757
|
+
# backend service or a backend bucket. To use the global urlMaps resource, the
|
26163
26758
|
# backend service must have a loadBalancingScheme of either EXTERNAL or
|
26164
26759
|
# INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
|
26165
26760
|
# must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
|
@@ -26179,9 +26774,9 @@ module Google
|
|
26179
26774
|
end
|
26180
26775
|
|
26181
26776
|
# A policy that specifies how requests intended for the route's backends are
|
26182
|
-
# shadowed to a separate mirrored backend service.
|
26183
|
-
# for responses from the shadow service.
|
26184
|
-
# service, the host
|
26777
|
+
# shadowed to a separate mirrored backend service. The load balancer doesn't
|
26778
|
+
# wait for responses from the shadow service. Before sending traffic to the
|
26779
|
+
# shadow service, the host or authority header is suffixed with -shadow.
|
26185
26780
|
class RequestMirrorPolicy
|
26186
26781
|
include Google::Apis::Core::Hashable
|
26187
26782
|
|
@@ -28341,6 +28936,12 @@ module Google
|
|
28341
28936
|
# @return [String]
|
28342
28937
|
attr_accessor :enable
|
28343
28938
|
|
28939
|
+
# Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
|
28940
|
+
# Corresponds to the JSON property `enableIpv6`
|
28941
|
+
# @return [Boolean]
|
28942
|
+
attr_accessor :enable_ipv6
|
28943
|
+
alias_method :enable_ipv6?, :enable_ipv6
|
28944
|
+
|
28344
28945
|
# Name of the interface the BGP peer is associated with.
|
28345
28946
|
# Corresponds to the JSON property `interfaceName`
|
28346
28947
|
# @return [String]
|
@@ -28352,6 +28953,11 @@ module Google
|
|
28352
28953
|
# @return [String]
|
28353
28954
|
attr_accessor :ip_address
|
28354
28955
|
|
28956
|
+
# IPv6 address of the interface inside Google Cloud Platform.
|
28957
|
+
# Corresponds to the JSON property `ipv6NexthopAddress`
|
28958
|
+
# @return [String]
|
28959
|
+
attr_accessor :ipv6_nexthop_address
|
28960
|
+
|
28355
28961
|
# [Output Only] The resource that configures and manages this BGP peer. -
|
28356
28962
|
# MANAGED_BY_USER is the default value and can be managed by you or other users -
|
28357
28963
|
# MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud
|
@@ -28384,6 +28990,11 @@ module Google
|
|
28384
28990
|
# @return [String]
|
28385
28991
|
attr_accessor :peer_ip_address
|
28386
28992
|
|
28993
|
+
# IPv6 address of the BGP interface outside Google Cloud Platform.
|
28994
|
+
# Corresponds to the JSON property `peerIpv6NexthopAddress`
|
28995
|
+
# @return [String]
|
28996
|
+
attr_accessor :peer_ipv6_nexthop_address
|
28997
|
+
|
28387
28998
|
# URI of the VM instance that is used as third-party router appliances such as
|
28388
28999
|
# Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
|
28389
29000
|
# must be located in zones contained in the same region as this Cloud Router.
|
@@ -28404,12 +29015,15 @@ module Google
|
|
28404
29015
|
@advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
|
28405
29016
|
@bfd = args[:bfd] if args.key?(:bfd)
|
28406
29017
|
@enable = args[:enable] if args.key?(:enable)
|
29018
|
+
@enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
|
28407
29019
|
@interface_name = args[:interface_name] if args.key?(:interface_name)
|
28408
29020
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
29021
|
+
@ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
|
28409
29022
|
@management_type = args[:management_type] if args.key?(:management_type)
|
28410
29023
|
@name = args[:name] if args.key?(:name)
|
28411
29024
|
@peer_asn = args[:peer_asn] if args.key?(:peer_asn)
|
28412
29025
|
@peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
|
29026
|
+
@peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
|
28413
29027
|
@router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
|
28414
29028
|
end
|
28415
29029
|
end
|
@@ -28689,6 +29303,17 @@ module Google
|
|
28689
29303
|
# @return [Array<String>]
|
28690
29304
|
attr_accessor :drain_nat_ips
|
28691
29305
|
|
29306
|
+
# Enable Dynamic Port Allocation. If not specified, it is disabled by default.
|
29307
|
+
# If set to true, - Dynamic Port Allocation will be enabled on this NAT config. -
|
29308
|
+
# enableEndpointIndependentMapping cannot be set to true. - If minPorts is set,
|
29309
|
+
# minPortsPerVm must be set to a power of two greater than or equal to 32. If
|
29310
|
+
# minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from
|
29311
|
+
# this NAT config.
|
29312
|
+
# Corresponds to the JSON property `enableDynamicPortAllocation`
|
29313
|
+
# @return [Boolean]
|
29314
|
+
attr_accessor :enable_dynamic_port_allocation
|
29315
|
+
alias_method :enable_dynamic_port_allocation?, :enable_dynamic_port_allocation
|
29316
|
+
|
28692
29317
|
#
|
28693
29318
|
# Corresponds to the JSON property `enableEndpointIndependentMapping`
|
28694
29319
|
# @return [Boolean]
|
@@ -28705,6 +29330,17 @@ module Google
|
|
28705
29330
|
# @return [Google::Apis::ComputeV1::RouterNatLogConfig]
|
28706
29331
|
attr_accessor :log_config
|
28707
29332
|
|
29333
|
+
# Maximum number of ports allocated to a VM from this NAT config when Dynamic
|
29334
|
+
# Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this
|
29335
|
+
# field has no effect. If Dynamic Port Allocation is enabled, and this field is
|
29336
|
+
# set, it must be set to a power of two greater than minPortsPerVm, or 64 if
|
29337
|
+
# minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field
|
29338
|
+
# is not set, a maximum of 65536 ports will be allocated to a VM from this NAT
|
29339
|
+
# config.
|
29340
|
+
# Corresponds to the JSON property `maxPortsPerVm`
|
29341
|
+
# @return [Fixnum]
|
29342
|
+
attr_accessor :max_ports_per_vm
|
29343
|
+
|
28708
29344
|
# Minimum number of ports allocated to a VM from this NAT config. If not set, a
|
28709
29345
|
# default number of ports is allocated to a VM. This is rounded up to the
|
28710
29346
|
# nearest power of 2. For example, if the value of this field is 50, at least 64
|
@@ -28789,9 +29425,11 @@ module Google
|
|
28789
29425
|
# Update properties of this object
|
28790
29426
|
def update!(**args)
|
28791
29427
|
@drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
|
29428
|
+
@enable_dynamic_port_allocation = args[:enable_dynamic_port_allocation] if args.key?(:enable_dynamic_port_allocation)
|
28792
29429
|
@enable_endpoint_independent_mapping = args[:enable_endpoint_independent_mapping] if args.key?(:enable_endpoint_independent_mapping)
|
28793
29430
|
@icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
|
28794
29431
|
@log_config = args[:log_config] if args.key?(:log_config)
|
29432
|
+
@max_ports_per_vm = args[:max_ports_per_vm] if args.key?(:max_ports_per_vm)
|
28795
29433
|
@min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
|
28796
29434
|
@name = args[:name] if args.key?(:name)
|
28797
29435
|
@nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
|
@@ -28856,7 +29494,8 @@ module Google
|
|
28856
29494
|
# "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
|
28857
29495
|
# 0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The
|
28858
29496
|
# following example is a valid match expression for private NAT: "nexthop.hub ==
|
28859
|
-
# '/projects/my-project/
|
29497
|
+
# 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/
|
29498
|
+
# global/hub/hub-1'"
|
28860
29499
|
# Corresponds to the JSON property `match`
|
28861
29500
|
# @return [String]
|
28862
29501
|
attr_accessor :match
|
@@ -29449,6 +30088,171 @@ module Google
|
|
29449
30088
|
end
|
29450
30089
|
end
|
29451
30090
|
|
30091
|
+
# DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk
|
30092
|
+
# resource.
|
30093
|
+
class SavedAttachedDisk
|
30094
|
+
include Google::Apis::Core::Hashable
|
30095
|
+
|
30096
|
+
# Specifies whether the disk will be auto-deleted when the instance is deleted (
|
30097
|
+
# but not when the disk is detached from the instance).
|
30098
|
+
# Corresponds to the JSON property `autoDelete`
|
30099
|
+
# @return [Boolean]
|
30100
|
+
attr_accessor :auto_delete
|
30101
|
+
alias_method :auto_delete?, :auto_delete
|
30102
|
+
|
30103
|
+
# Indicates that this is a boot disk. The virtual machine will use the first
|
30104
|
+
# partition of the disk for its root filesystem.
|
30105
|
+
# Corresponds to the JSON property `boot`
|
30106
|
+
# @return [Boolean]
|
30107
|
+
attr_accessor :boot
|
30108
|
+
alias_method :boot?, :boot
|
30109
|
+
|
30110
|
+
# Specifies the name of the disk attached to the source instance.
|
30111
|
+
# Corresponds to the JSON property `deviceName`
|
30112
|
+
# @return [String]
|
30113
|
+
attr_accessor :device_name
|
30114
|
+
|
30115
|
+
# The encryption key for the disk.
|
30116
|
+
# Corresponds to the JSON property `diskEncryptionKey`
|
30117
|
+
# @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
|
30118
|
+
attr_accessor :disk_encryption_key
|
30119
|
+
|
30120
|
+
# The size of the disk in base-2 GB.
|
30121
|
+
# Corresponds to the JSON property `diskSizeGb`
|
30122
|
+
# @return [Fixnum]
|
30123
|
+
attr_accessor :disk_size_gb
|
30124
|
+
|
30125
|
+
# [Output Only] URL of the disk type resource. For example: projects/project /
|
30126
|
+
# zones/zone/diskTypes/pd-standard or pd-ssd
|
30127
|
+
# Corresponds to the JSON property `diskType`
|
30128
|
+
# @return [String]
|
30129
|
+
attr_accessor :disk_type
|
30130
|
+
|
30131
|
+
# A list of features to enable on the guest operating system. Applicable only
|
30132
|
+
# for bootable images. Read Enabling guest operating system features to see a
|
30133
|
+
# list of available options.
|
30134
|
+
# Corresponds to the JSON property `guestOsFeatures`
|
30135
|
+
# @return [Array<Google::Apis::ComputeV1::GuestOsFeature>]
|
30136
|
+
attr_accessor :guest_os_features
|
30137
|
+
|
30138
|
+
# Specifies zero-based index of the disk that is attached to the source instance.
|
30139
|
+
# Corresponds to the JSON property `index`
|
30140
|
+
# @return [Fixnum]
|
30141
|
+
attr_accessor :index
|
30142
|
+
|
30143
|
+
# Specifies the disk interface to use for attaching this disk, which is either
|
30144
|
+
# SCSI or NVME.
|
30145
|
+
# Corresponds to the JSON property `interface`
|
30146
|
+
# @return [String]
|
30147
|
+
attr_accessor :interface
|
30148
|
+
|
30149
|
+
# [Output Only] Type of the resource. Always compute#attachedDisk for attached
|
30150
|
+
# disks.
|
30151
|
+
# Corresponds to the JSON property `kind`
|
30152
|
+
# @return [String]
|
30153
|
+
attr_accessor :kind
|
30154
|
+
|
30155
|
+
# [Output Only] Any valid publicly visible licenses.
|
30156
|
+
# Corresponds to the JSON property `licenses`
|
30157
|
+
# @return [Array<String>]
|
30158
|
+
attr_accessor :licenses
|
30159
|
+
|
30160
|
+
# The mode in which this disk is attached to the source instance, either
|
30161
|
+
# READ_WRITE or READ_ONLY.
|
30162
|
+
# Corresponds to the JSON property `mode`
|
30163
|
+
# @return [String]
|
30164
|
+
attr_accessor :mode
|
30165
|
+
|
30166
|
+
# Specifies a URL of the disk attached to the source instance.
|
30167
|
+
# Corresponds to the JSON property `source`
|
30168
|
+
# @return [String]
|
30169
|
+
attr_accessor :source
|
30170
|
+
|
30171
|
+
# [Output Only] A size of the storage used by the disk's snapshot by this
|
30172
|
+
# machine image.
|
30173
|
+
# Corresponds to the JSON property `storageBytes`
|
30174
|
+
# @return [Fixnum]
|
30175
|
+
attr_accessor :storage_bytes
|
30176
|
+
|
30177
|
+
# [Output Only] An indicator whether storageBytes is in a stable state or it is
|
30178
|
+
# being adjusted as a result of shared storage reallocation. This status can
|
30179
|
+
# either be UPDATING, meaning the size of the snapshot is being updated, or
|
30180
|
+
# UP_TO_DATE, meaning the size of the snapshot is up-to-date.
|
30181
|
+
# Corresponds to the JSON property `storageBytesStatus`
|
30182
|
+
# @return [String]
|
30183
|
+
attr_accessor :storage_bytes_status
|
30184
|
+
|
30185
|
+
# Specifies the type of the attached disk, either SCRATCH or PERSISTENT.
|
30186
|
+
# Corresponds to the JSON property `type`
|
30187
|
+
# @return [String]
|
30188
|
+
attr_accessor :type
|
30189
|
+
|
30190
|
+
def initialize(**args)
|
30191
|
+
update!(**args)
|
30192
|
+
end
|
30193
|
+
|
30194
|
+
# Update properties of this object
|
30195
|
+
def update!(**args)
|
30196
|
+
@auto_delete = args[:auto_delete] if args.key?(:auto_delete)
|
30197
|
+
@boot = args[:boot] if args.key?(:boot)
|
30198
|
+
@device_name = args[:device_name] if args.key?(:device_name)
|
30199
|
+
@disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
|
30200
|
+
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
30201
|
+
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
30202
|
+
@guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
|
30203
|
+
@index = args[:index] if args.key?(:index)
|
30204
|
+
@interface = args[:interface] if args.key?(:interface)
|
30205
|
+
@kind = args[:kind] if args.key?(:kind)
|
30206
|
+
@licenses = args[:licenses] if args.key?(:licenses)
|
30207
|
+
@mode = args[:mode] if args.key?(:mode)
|
30208
|
+
@source = args[:source] if args.key?(:source)
|
30209
|
+
@storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
|
30210
|
+
@storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
|
30211
|
+
@type = args[:type] if args.key?(:type)
|
30212
|
+
end
|
30213
|
+
end
|
30214
|
+
|
30215
|
+
# An instance-attached disk resource.
|
30216
|
+
class SavedDisk
|
30217
|
+
include Google::Apis::Core::Hashable
|
30218
|
+
|
30219
|
+
# [Output Only] Type of the resource. Always compute#savedDisk for attached
|
30220
|
+
# disks.
|
30221
|
+
# Corresponds to the JSON property `kind`
|
30222
|
+
# @return [String]
|
30223
|
+
attr_accessor :kind
|
30224
|
+
|
30225
|
+
# Specifies a URL of the disk attached to the source instance.
|
30226
|
+
# Corresponds to the JSON property `sourceDisk`
|
30227
|
+
# @return [String]
|
30228
|
+
attr_accessor :source_disk
|
30229
|
+
|
30230
|
+
# [Output Only] Size of the individual disk snapshot used by this machine image.
|
30231
|
+
# Corresponds to the JSON property `storageBytes`
|
30232
|
+
# @return [Fixnum]
|
30233
|
+
attr_accessor :storage_bytes
|
30234
|
+
|
30235
|
+
# [Output Only] An indicator whether storageBytes is in a stable state or it is
|
30236
|
+
# being adjusted as a result of shared storage reallocation. This status can
|
30237
|
+
# either be UPDATING, meaning the size of the snapshot is being updated, or
|
30238
|
+
# UP_TO_DATE, meaning the size of the snapshot is up-to-date.
|
30239
|
+
# Corresponds to the JSON property `storageBytesStatus`
|
30240
|
+
# @return [String]
|
30241
|
+
attr_accessor :storage_bytes_status
|
30242
|
+
|
30243
|
+
def initialize(**args)
|
30244
|
+
update!(**args)
|
30245
|
+
end
|
30246
|
+
|
30247
|
+
# Update properties of this object
|
30248
|
+
def update!(**args)
|
30249
|
+
@kind = args[:kind] if args.key?(:kind)
|
30250
|
+
@source_disk = args[:source_disk] if args.key?(:source_disk)
|
30251
|
+
@storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
|
30252
|
+
@storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
|
30253
|
+
end
|
30254
|
+
end
|
30255
|
+
|
29452
30256
|
#
|
29453
30257
|
class ScalingScheduleStatus
|
29454
30258
|
include Google::Apis::Core::Hashable
|
@@ -29498,6 +30302,11 @@ module Google
|
|
29498
30302
|
attr_accessor :automatic_restart
|
29499
30303
|
alias_method :automatic_restart?, :automatic_restart
|
29500
30304
|
|
30305
|
+
# Specifies the termination action for the instance.
|
30306
|
+
# Corresponds to the JSON property `instanceTerminationAction`
|
30307
|
+
# @return [String]
|
30308
|
+
attr_accessor :instance_termination_action
|
30309
|
+
|
29501
30310
|
# An opaque location hint used to place the instance close to other resources.
|
29502
30311
|
# This field is for use by internal tools that use the public API.
|
29503
30312
|
# Corresponds to the JSON property `locationHint`
|
@@ -29533,6 +30342,11 @@ module Google
|
|
29533
30342
|
attr_accessor :preemptible
|
29534
30343
|
alias_method :preemptible?, :preemptible
|
29535
30344
|
|
30345
|
+
# Specifies the provisioning model of the instance.
|
30346
|
+
# Corresponds to the JSON property `provisioningModel`
|
30347
|
+
# @return [String]
|
30348
|
+
attr_accessor :provisioning_model
|
30349
|
+
|
29536
30350
|
def initialize(**args)
|
29537
30351
|
update!(**args)
|
29538
30352
|
end
|
@@ -29540,11 +30354,13 @@ module Google
|
|
29540
30354
|
# Update properties of this object
|
29541
30355
|
def update!(**args)
|
29542
30356
|
@automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
|
30357
|
+
@instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
|
29543
30358
|
@location_hint = args[:location_hint] if args.key?(:location_hint)
|
29544
30359
|
@min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
|
29545
30360
|
@node_affinities = args[:node_affinities] if args.key?(:node_affinities)
|
29546
30361
|
@on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
|
29547
30362
|
@preemptible = args[:preemptible] if args.key?(:preemptible)
|
30363
|
+
@provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
|
29548
30364
|
end
|
29549
30365
|
end
|
29550
30366
|
|
@@ -29706,6 +30522,11 @@ module Google
|
|
29706
30522
|
# @return [String]
|
29707
30523
|
attr_accessor :name
|
29708
30524
|
|
30525
|
+
#
|
30526
|
+
# Corresponds to the JSON property `recaptchaOptionsConfig`
|
30527
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRecaptchaOptionsConfig]
|
30528
|
+
attr_accessor :recaptcha_options_config
|
30529
|
+
|
29709
30530
|
# A list of rules that belong to this policy. There must always be a default
|
29710
30531
|
# rule (rule with priority 2147483647 and match "*"). If no rules are provided
|
29711
30532
|
# when creating a security policy, a default rule with action "allow" will be
|
@@ -29719,6 +30540,17 @@ module Google
|
|
29719
30540
|
# @return [String]
|
29720
30541
|
attr_accessor :self_link
|
29721
30542
|
|
30543
|
+
# The type indicates the intended use of the security policy. CLOUD_ARMOR -
|
30544
|
+
# Cloud Armor backend security policies can be configured to filter incoming
|
30545
|
+
# HTTP requests targeting backend services. They filter requests before they hit
|
30546
|
+
# the origin servers. CLOUD_ARMOR_EDGE - Cloud Armor edge security policies can
|
30547
|
+
# be configured to filter incoming HTTP requests targeting backend services (
|
30548
|
+
# including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They
|
30549
|
+
# filter requests before the request is served from Google's cache.
|
30550
|
+
# Corresponds to the JSON property `type`
|
30551
|
+
# @return [String]
|
30552
|
+
attr_accessor :type
|
30553
|
+
|
29722
30554
|
def initialize(**args)
|
29723
30555
|
update!(**args)
|
29724
30556
|
end
|
@@ -29733,8 +30565,10 @@ module Google
|
|
29733
30565
|
@id = args[:id] if args.key?(:id)
|
29734
30566
|
@kind = args[:kind] if args.key?(:kind)
|
29735
30567
|
@name = args[:name] if args.key?(:name)
|
30568
|
+
@recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
|
29736
30569
|
@rules = args[:rules] if args.key?(:rules)
|
29737
30570
|
@self_link = args[:self_link] if args.key?(:self_link)
|
30571
|
+
@type = args[:type] if args.key?(:type)
|
29738
30572
|
end
|
29739
30573
|
end
|
29740
30574
|
|
@@ -29921,6 +30755,29 @@ module Google
|
|
29921
30755
|
end
|
29922
30756
|
end
|
29923
30757
|
|
30758
|
+
#
|
30759
|
+
class SecurityPolicyRecaptchaOptionsConfig
|
30760
|
+
include Google::Apis::Core::Hashable
|
30761
|
+
|
30762
|
+
# An optional field to supply a reCAPTCHA site key to be used for all the rules
|
30763
|
+
# using the redirect action with the type of GOOGLE_RECAPTCHA under the security
|
30764
|
+
# policy. The specified site key needs to be created from the reCAPTCHA API. The
|
30765
|
+
# user is responsible for the validity of the specified site key. If not
|
30766
|
+
# specified, a Google-managed site key is used.
|
30767
|
+
# Corresponds to the JSON property `redirectSiteKey`
|
30768
|
+
# @return [String]
|
30769
|
+
attr_accessor :redirect_site_key
|
30770
|
+
|
30771
|
+
def initialize(**args)
|
30772
|
+
update!(**args)
|
30773
|
+
end
|
30774
|
+
|
30775
|
+
# Update properties of this object
|
30776
|
+
def update!(**args)
|
30777
|
+
@redirect_site_key = args[:redirect_site_key] if args.key?(:redirect_site_key)
|
30778
|
+
end
|
30779
|
+
end
|
30780
|
+
|
29924
30781
|
#
|
29925
30782
|
class SecurityPolicyReference
|
29926
30783
|
include Google::Apis::Core::Hashable
|
@@ -29945,9 +30802,17 @@ module Google
|
|
29945
30802
|
class SecurityPolicyRule
|
29946
30803
|
include Google::Apis::Core::Hashable
|
29947
30804
|
|
29948
|
-
# The Action to perform when the
|
29949
|
-
#
|
29950
|
-
# 404, and 502.
|
30805
|
+
# The Action to perform when the rule is matched. The following are the valid
|
30806
|
+
# actions: - allow: allow access to target. - deny(): deny access to target,
|
30807
|
+
# returns the HTTP response code specified (valid values are 403, 404, and 502).
|
30808
|
+
# - rate_based_ban: limit client traffic to the configured threshold and ban the
|
30809
|
+
# client if the traffic exceeds the threshold. Configure parameters for this
|
30810
|
+
# action in RateLimitOptions. Requires rate_limit_options to be set. - redirect:
|
30811
|
+
# redirect to a different target. This can either be an internal reCAPTCHA
|
30812
|
+
# redirect, or an external URL-based redirect via a 302 response. Parameters for
|
30813
|
+
# this action can be configured via redirectOptions. - throttle: limit client
|
30814
|
+
# traffic to the configured threshold. Configure parameters for this action in
|
30815
|
+
# rateLimitOptions. Requires rate_limit_options to be set for this.
|
29951
30816
|
# Corresponds to the JSON property `action`
|
29952
30817
|
# @return [String]
|
29953
30818
|
attr_accessor :action
|
@@ -29958,6 +30823,11 @@ module Google
|
|
29958
30823
|
# @return [String]
|
29959
30824
|
attr_accessor :description
|
29960
30825
|
|
30826
|
+
# Optional, additional actions that are performed on headers.
|
30827
|
+
# Corresponds to the JSON property `headerAction`
|
30828
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderAction]
|
30829
|
+
attr_accessor :header_action
|
30830
|
+
|
29961
30831
|
# [Output only] Type of the resource. Always compute#securityPolicyRule for
|
29962
30832
|
# security policy rules
|
29963
30833
|
# Corresponds to the JSON property `kind`
|
@@ -29984,6 +30854,18 @@ module Google
|
|
29984
30854
|
# @return [Fixnum]
|
29985
30855
|
attr_accessor :priority
|
29986
30856
|
|
30857
|
+
# Must be specified if the action is "rate_based_ban" or "throttle". Cannot be
|
30858
|
+
# specified for any other actions.
|
30859
|
+
# Corresponds to the JSON property `rateLimitOptions`
|
30860
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptions]
|
30861
|
+
attr_accessor :rate_limit_options
|
30862
|
+
|
30863
|
+
# Parameters defining the redirect action. Cannot be specified for any other
|
30864
|
+
# actions.
|
30865
|
+
# Corresponds to the JSON property `redirectOptions`
|
30866
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleRedirectOptions]
|
30867
|
+
attr_accessor :redirect_options
|
30868
|
+
|
29987
30869
|
def initialize(**args)
|
29988
30870
|
update!(**args)
|
29989
30871
|
end
|
@@ -29992,10 +30874,57 @@ module Google
|
|
29992
30874
|
def update!(**args)
|
29993
30875
|
@action = args[:action] if args.key?(:action)
|
29994
30876
|
@description = args[:description] if args.key?(:description)
|
30877
|
+
@header_action = args[:header_action] if args.key?(:header_action)
|
29995
30878
|
@kind = args[:kind] if args.key?(:kind)
|
29996
30879
|
@match = args[:match] if args.key?(:match)
|
29997
30880
|
@preview = args[:preview] if args.key?(:preview)
|
29998
30881
|
@priority = args[:priority] if args.key?(:priority)
|
30882
|
+
@rate_limit_options = args[:rate_limit_options] if args.key?(:rate_limit_options)
|
30883
|
+
@redirect_options = args[:redirect_options] if args.key?(:redirect_options)
|
30884
|
+
end
|
30885
|
+
end
|
30886
|
+
|
30887
|
+
#
|
30888
|
+
class SecurityPolicyRuleHttpHeaderAction
|
30889
|
+
include Google::Apis::Core::Hashable
|
30890
|
+
|
30891
|
+
# The list of request headers to add or overwrite if they're already present.
|
30892
|
+
# Corresponds to the JSON property `requestHeadersToAdds`
|
30893
|
+
# @return [Array<Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderActionHttpHeaderOption>]
|
30894
|
+
attr_accessor :request_headers_to_adds
|
30895
|
+
|
30896
|
+
def initialize(**args)
|
30897
|
+
update!(**args)
|
30898
|
+
end
|
30899
|
+
|
30900
|
+
# Update properties of this object
|
30901
|
+
def update!(**args)
|
30902
|
+
@request_headers_to_adds = args[:request_headers_to_adds] if args.key?(:request_headers_to_adds)
|
30903
|
+
end
|
30904
|
+
end
|
30905
|
+
|
30906
|
+
#
|
30907
|
+
class SecurityPolicyRuleHttpHeaderActionHttpHeaderOption
|
30908
|
+
include Google::Apis::Core::Hashable
|
30909
|
+
|
30910
|
+
# The name of the header to set.
|
30911
|
+
# Corresponds to the JSON property `headerName`
|
30912
|
+
# @return [String]
|
30913
|
+
attr_accessor :header_name
|
30914
|
+
|
30915
|
+
# The value to set the named header to.
|
30916
|
+
# Corresponds to the JSON property `headerValue`
|
30917
|
+
# @return [String]
|
30918
|
+
attr_accessor :header_value
|
30919
|
+
|
30920
|
+
def initialize(**args)
|
30921
|
+
update!(**args)
|
30922
|
+
end
|
30923
|
+
|
30924
|
+
# Update properties of this object
|
30925
|
+
def update!(**args)
|
30926
|
+
@header_name = args[:header_name] if args.key?(:header_name)
|
30927
|
+
@header_value = args[:header_value] if args.key?(:header_value)
|
29999
30928
|
end
|
30000
30929
|
end
|
30001
30930
|
|
@@ -30069,6 +30998,144 @@ module Google
|
|
30069
30998
|
end
|
30070
30999
|
end
|
30071
31000
|
|
31001
|
+
#
|
31002
|
+
class SecurityPolicyRuleRateLimitOptions
|
31003
|
+
include Google::Apis::Core::Hashable
|
31004
|
+
|
31005
|
+
# Can only be specified if the action for the rule is "rate_based_ban". If
|
31006
|
+
# specified, determines the time (in seconds) the traffic will continue to be
|
31007
|
+
# banned by the rate limit after the rate falls below the threshold.
|
31008
|
+
# Corresponds to the JSON property `banDurationSec`
|
31009
|
+
# @return [Fixnum]
|
31010
|
+
attr_accessor :ban_duration_sec
|
31011
|
+
|
31012
|
+
# Can only be specified if the action for the rule is "rate_based_ban". If
|
31013
|
+
# specified, the key will be banned for the configured 'ban_duration_sec' when
|
31014
|
+
# the number of requests that exceed the 'rate_limit_threshold' also exceed this
|
31015
|
+
# 'ban_threshold'.
|
31016
|
+
# Corresponds to the JSON property `banThreshold`
|
31017
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptionsThreshold]
|
31018
|
+
attr_accessor :ban_threshold
|
31019
|
+
|
31020
|
+
# Action to take for requests that are under the configured rate limit threshold.
|
31021
|
+
# Valid option is "allow" only.
|
31022
|
+
# Corresponds to the JSON property `conformAction`
|
31023
|
+
# @return [String]
|
31024
|
+
attr_accessor :conform_action
|
31025
|
+
|
31026
|
+
# Determines the key to enforce the rate_limit_threshold on. Possible values are:
|
31027
|
+
# - ALL: A single rate limit threshold is applied to all the requests matching
|
31028
|
+
# this rule. This is the default value if this field 'enforce_on_key' is not
|
31029
|
+
# configured. - IP: The source IP address of the request is the key. Each IP has
|
31030
|
+
# this limit enforced separately. - HTTP_HEADER: The value of the HTTP header
|
31031
|
+
# whose name is configured under "enforce_on_key_name". The key value is
|
31032
|
+
# truncated to the first 128 bytes of the header value. If no such header is
|
31033
|
+
# present in the request, the key type defaults to ALL. - XFF_IP: The first IP
|
31034
|
+
# address (i.e. the originating client IP address) specified in the list of IPs
|
31035
|
+
# under X-Forwarded-For HTTP header. If no such header is present or the value
|
31036
|
+
# is not a valid IP, the key type defaults to ALL. - HTTP_COOKIE: The value of
|
31037
|
+
# the HTTP cookie whose name is configured under "enforce_on_key_name". The key
|
31038
|
+
# value is truncated to the first 128 bytes of the cookie value. If no such
|
31039
|
+
# cookie is present in the request, the key type defaults to ALL.
|
31040
|
+
# Corresponds to the JSON property `enforceOnKey`
|
31041
|
+
# @return [String]
|
31042
|
+
attr_accessor :enforce_on_key
|
31043
|
+
|
31044
|
+
# Rate limit key name applicable only for the following key types: HTTP_HEADER --
|
31045
|
+
# Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE --
|
31046
|
+
# Name of the HTTP cookie whose value is taken as the key value.
|
31047
|
+
# Corresponds to the JSON property `enforceOnKeyName`
|
31048
|
+
# @return [String]
|
31049
|
+
attr_accessor :enforce_on_key_name
|
31050
|
+
|
31051
|
+
# Action to take for requests that are above the configured rate limit threshold,
|
31052
|
+
# to either deny with a specified HTTP response code, or redirect to a
|
31053
|
+
# different endpoint. Valid options are "deny()" where valid values for status
|
31054
|
+
# are 403, 404, 429, and 502, and "redirect" where the redirect parameters come
|
31055
|
+
# from exceed_redirect_options below.
|
31056
|
+
# Corresponds to the JSON property `exceedAction`
|
31057
|
+
# @return [String]
|
31058
|
+
attr_accessor :exceed_action
|
31059
|
+
|
31060
|
+
# Parameters defining the redirect action that is used as the exceed action.
|
31061
|
+
# Cannot be specified if the exceed action is not redirect.
|
31062
|
+
# Corresponds to the JSON property `exceedRedirectOptions`
|
31063
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleRedirectOptions]
|
31064
|
+
attr_accessor :exceed_redirect_options
|
31065
|
+
|
31066
|
+
# Threshold at which to begin ratelimiting.
|
31067
|
+
# Corresponds to the JSON property `rateLimitThreshold`
|
31068
|
+
# @return [Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptionsThreshold]
|
31069
|
+
attr_accessor :rate_limit_threshold
|
31070
|
+
|
31071
|
+
def initialize(**args)
|
31072
|
+
update!(**args)
|
31073
|
+
end
|
31074
|
+
|
31075
|
+
# Update properties of this object
|
31076
|
+
def update!(**args)
|
31077
|
+
@ban_duration_sec = args[:ban_duration_sec] if args.key?(:ban_duration_sec)
|
31078
|
+
@ban_threshold = args[:ban_threshold] if args.key?(:ban_threshold)
|
31079
|
+
@conform_action = args[:conform_action] if args.key?(:conform_action)
|
31080
|
+
@enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
|
31081
|
+
@enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name)
|
31082
|
+
@exceed_action = args[:exceed_action] if args.key?(:exceed_action)
|
31083
|
+
@exceed_redirect_options = args[:exceed_redirect_options] if args.key?(:exceed_redirect_options)
|
31084
|
+
@rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold)
|
31085
|
+
end
|
31086
|
+
end
|
31087
|
+
|
31088
|
+
#
|
31089
|
+
class SecurityPolicyRuleRateLimitOptionsThreshold
|
31090
|
+
include Google::Apis::Core::Hashable
|
31091
|
+
|
31092
|
+
# Number of HTTP(S) requests for calculating the threshold.
|
31093
|
+
# Corresponds to the JSON property `count`
|
31094
|
+
# @return [Fixnum]
|
31095
|
+
attr_accessor :count
|
31096
|
+
|
31097
|
+
# Interval over which the threshold is computed.
|
31098
|
+
# Corresponds to the JSON property `intervalSec`
|
31099
|
+
# @return [Fixnum]
|
31100
|
+
attr_accessor :interval_sec
|
31101
|
+
|
31102
|
+
def initialize(**args)
|
31103
|
+
update!(**args)
|
31104
|
+
end
|
31105
|
+
|
31106
|
+
# Update properties of this object
|
31107
|
+
def update!(**args)
|
31108
|
+
@count = args[:count] if args.key?(:count)
|
31109
|
+
@interval_sec = args[:interval_sec] if args.key?(:interval_sec)
|
31110
|
+
end
|
31111
|
+
end
|
31112
|
+
|
31113
|
+
#
|
31114
|
+
class SecurityPolicyRuleRedirectOptions
|
31115
|
+
include Google::Apis::Core::Hashable
|
31116
|
+
|
31117
|
+
# Target for the redirect action. This is required if the type is EXTERNAL_302
|
31118
|
+
# and cannot be specified for GOOGLE_RECAPTCHA.
|
31119
|
+
# Corresponds to the JSON property `target`
|
31120
|
+
# @return [String]
|
31121
|
+
attr_accessor :target
|
31122
|
+
|
31123
|
+
# Type of the redirect action.
|
31124
|
+
# Corresponds to the JSON property `type`
|
31125
|
+
# @return [String]
|
31126
|
+
attr_accessor :type
|
31127
|
+
|
31128
|
+
def initialize(**args)
|
31129
|
+
update!(**args)
|
31130
|
+
end
|
31131
|
+
|
31132
|
+
# Update properties of this object
|
31133
|
+
def update!(**args)
|
31134
|
+
@target = args[:target] if args.key?(:target)
|
31135
|
+
@type = args[:type] if args.key?(:type)
|
31136
|
+
end
|
31137
|
+
end
|
31138
|
+
|
30072
31139
|
# The authentication and authorization settings for a BackendService.
|
30073
31140
|
class SecuritySettings
|
30074
31141
|
include Google::Apis::Core::Hashable
|
@@ -30246,6 +31313,13 @@ module Google
|
|
30246
31313
|
# @return [String]
|
30247
31314
|
attr_accessor :description
|
30248
31315
|
|
31316
|
+
# If specified, the domain name will be used during the integration between the
|
31317
|
+
# PSC connected endpoints and the Cloud DNS. For example, this is a valid domain
|
31318
|
+
# name: "p.mycompany.com.". Current max number of domain names supported is 1.
|
31319
|
+
# Corresponds to the JSON property `domainNames`
|
31320
|
+
# @return [Array<String>]
|
31321
|
+
attr_accessor :domain_names
|
31322
|
+
|
30249
31323
|
# If true, enable the proxy protocol which is for supplying client TCP/IP
|
30250
31324
|
# address data in TCP connections that traverse proxies on their way to
|
30251
31325
|
# destination servers.
|
@@ -30334,6 +31408,7 @@ module Google
|
|
30334
31408
|
@consumer_reject_lists = args[:consumer_reject_lists] if args.key?(:consumer_reject_lists)
|
30335
31409
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
30336
31410
|
@description = args[:description] if args.key?(:description)
|
31411
|
+
@domain_names = args[:domain_names] if args.key?(:domain_names)
|
30337
31412
|
@enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
|
30338
31413
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
30339
31414
|
@id = args[:id] if args.key?(:id)
|
@@ -30740,6 +31815,12 @@ module Google
|
|
30740
31815
|
class ShareSettings
|
30741
31816
|
include Google::Apis::Core::Hashable
|
30742
31817
|
|
31818
|
+
# A map of project id and project config. This is only valid when share_type's
|
31819
|
+
# value is SPECIFIC_PROJECTS.
|
31820
|
+
# Corresponds to the JSON property `projectMap`
|
31821
|
+
# @return [Hash<String,Google::Apis::ComputeV1::ShareSettingsProjectConfig>]
|
31822
|
+
attr_accessor :project_map
|
31823
|
+
|
30743
31824
|
# Type of sharing for this shared-reservation
|
30744
31825
|
# Corresponds to the JSON property `shareType`
|
30745
31826
|
# @return [String]
|
@@ -30751,10 +31832,31 @@ module Google
|
|
30751
31832
|
|
30752
31833
|
# Update properties of this object
|
30753
31834
|
def update!(**args)
|
31835
|
+
@project_map = args[:project_map] if args.key?(:project_map)
|
30754
31836
|
@share_type = args[:share_type] if args.key?(:share_type)
|
30755
31837
|
end
|
30756
31838
|
end
|
30757
31839
|
|
31840
|
+
# Config for each project in the share settings.
|
31841
|
+
class ShareSettingsProjectConfig
|
31842
|
+
include Google::Apis::Core::Hashable
|
31843
|
+
|
31844
|
+
# The project ID, should be same as the key of this project config in the parent
|
31845
|
+
# map.
|
31846
|
+
# Corresponds to the JSON property `projectId`
|
31847
|
+
# @return [String]
|
31848
|
+
attr_accessor :project_id
|
31849
|
+
|
31850
|
+
def initialize(**args)
|
31851
|
+
update!(**args)
|
31852
|
+
end
|
31853
|
+
|
31854
|
+
# Update properties of this object
|
31855
|
+
def update!(**args)
|
31856
|
+
@project_id = args[:project_id] if args.key?(:project_id)
|
31857
|
+
end
|
31858
|
+
end
|
31859
|
+
|
30758
31860
|
# A set of Shielded Instance options.
|
30759
31861
|
class ShieldedInstanceConfig
|
30760
31862
|
include Google::Apis::Core::Hashable
|
@@ -31220,6 +32322,35 @@ module Google
|
|
31220
32322
|
end
|
31221
32323
|
end
|
31222
32324
|
|
32325
|
+
#
|
32326
|
+
class SourceDiskEncryptionKey
|
32327
|
+
include Google::Apis::Core::Hashable
|
32328
|
+
|
32329
|
+
# The customer-supplied encryption key of the source disk. Required if the
|
32330
|
+
# source disk is protected by a customer-supplied encryption key.
|
32331
|
+
# Corresponds to the JSON property `diskEncryptionKey`
|
32332
|
+
# @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
|
32333
|
+
attr_accessor :disk_encryption_key
|
32334
|
+
|
32335
|
+
# URL of the disk attached to the source instance. This can be a full or valid
|
32336
|
+
# partial URL. For example, the following are valid values: - https://www.
|
32337
|
+
# googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/
|
32338
|
+
# project/zones/zone/disks/disk - zones/zone/disks/disk
|
32339
|
+
# Corresponds to the JSON property `sourceDisk`
|
32340
|
+
# @return [String]
|
32341
|
+
attr_accessor :source_disk
|
32342
|
+
|
32343
|
+
def initialize(**args)
|
32344
|
+
update!(**args)
|
32345
|
+
end
|
32346
|
+
|
32347
|
+
# Update properties of this object
|
32348
|
+
def update!(**args)
|
32349
|
+
@disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
|
32350
|
+
@source_disk = args[:source_disk] if args.key?(:source_disk)
|
32351
|
+
end
|
32352
|
+
end
|
32353
|
+
|
31223
32354
|
# A specification of the parameters to use when creating the instance template
|
31224
32355
|
# from a source instance.
|
31225
32356
|
class SourceInstanceParams
|
@@ -31243,6 +32374,116 @@ module Google
|
|
31243
32374
|
end
|
31244
32375
|
end
|
31245
32376
|
|
32377
|
+
# DEPRECATED: Please use compute#instanceProperties instead. New properties will
|
32378
|
+
# not be added to this field.
|
32379
|
+
class SourceInstanceProperties
|
32380
|
+
include Google::Apis::Core::Hashable
|
32381
|
+
|
32382
|
+
# Enables instances created based on this machine image to send packets with
|
32383
|
+
# source IP addresses other than their own and receive packets with destination
|
32384
|
+
# IP addresses other than their own. If these instances will be used as an IP
|
32385
|
+
# gateway or it will be set as the next-hop in a Route resource, specify true.
|
32386
|
+
# If unsure, leave this set to false. See the Enable IP forwarding documentation
|
32387
|
+
# for more information.
|
32388
|
+
# Corresponds to the JSON property `canIpForward`
|
32389
|
+
# @return [Boolean]
|
32390
|
+
attr_accessor :can_ip_forward
|
32391
|
+
alias_method :can_ip_forward?, :can_ip_forward
|
32392
|
+
|
32393
|
+
# Whether the instance created from this machine image should be protected
|
32394
|
+
# against deletion.
|
32395
|
+
# Corresponds to the JSON property `deletionProtection`
|
32396
|
+
# @return [Boolean]
|
32397
|
+
attr_accessor :deletion_protection
|
32398
|
+
alias_method :deletion_protection?, :deletion_protection
|
32399
|
+
|
32400
|
+
# An optional text description for the instances that are created from this
|
32401
|
+
# machine image.
|
32402
|
+
# Corresponds to the JSON property `description`
|
32403
|
+
# @return [String]
|
32404
|
+
attr_accessor :description
|
32405
|
+
|
32406
|
+
# An array of disks that are associated with the instances that are created from
|
32407
|
+
# this machine image.
|
32408
|
+
# Corresponds to the JSON property `disks`
|
32409
|
+
# @return [Array<Google::Apis::ComputeV1::SavedAttachedDisk>]
|
32410
|
+
attr_accessor :disks
|
32411
|
+
|
32412
|
+
# A list of guest accelerator cards' type and count to use for instances created
|
32413
|
+
# from this machine image.
|
32414
|
+
# Corresponds to the JSON property `guestAccelerators`
|
32415
|
+
# @return [Array<Google::Apis::ComputeV1::AcceleratorConfig>]
|
32416
|
+
attr_accessor :guest_accelerators
|
32417
|
+
|
32418
|
+
# Labels to apply to instances that are created from this machine image.
|
32419
|
+
# Corresponds to the JSON property `labels`
|
32420
|
+
# @return [Hash<String,String>]
|
32421
|
+
attr_accessor :labels
|
32422
|
+
|
32423
|
+
# The machine type to use for instances that are created from this machine image.
|
32424
|
+
# Corresponds to the JSON property `machineType`
|
32425
|
+
# @return [String]
|
32426
|
+
attr_accessor :machine_type
|
32427
|
+
|
32428
|
+
# A metadata key/value entry.
|
32429
|
+
# Corresponds to the JSON property `metadata`
|
32430
|
+
# @return [Google::Apis::ComputeV1::Metadata]
|
32431
|
+
attr_accessor :metadata
|
32432
|
+
|
32433
|
+
# Minimum cpu/platform to be used by instances created from this machine image.
|
32434
|
+
# The instance may be scheduled on the specified or newer cpu/platform.
|
32435
|
+
# Applicable values are the friendly names of CPU platforms, such as
|
32436
|
+
# minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge". For
|
32437
|
+
# more information, read Specifying a Minimum CPU Platform.
|
32438
|
+
# Corresponds to the JSON property `minCpuPlatform`
|
32439
|
+
# @return [String]
|
32440
|
+
attr_accessor :min_cpu_platform
|
32441
|
+
|
32442
|
+
# An array of network access configurations for this interface.
|
32443
|
+
# Corresponds to the JSON property `networkInterfaces`
|
32444
|
+
# @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
|
32445
|
+
attr_accessor :network_interfaces
|
32446
|
+
|
32447
|
+
# Sets the scheduling options for an Instance. NextID: 21
|
32448
|
+
# Corresponds to the JSON property `scheduling`
|
32449
|
+
# @return [Google::Apis::ComputeV1::Scheduling]
|
32450
|
+
attr_accessor :scheduling
|
32451
|
+
|
32452
|
+
# A list of service accounts with specified scopes. Access tokens for these
|
32453
|
+
# service accounts are available to the instances that are created from this
|
32454
|
+
# machine image. Use metadata queries to obtain the access tokens for these
|
32455
|
+
# instances.
|
32456
|
+
# Corresponds to the JSON property `serviceAccounts`
|
32457
|
+
# @return [Array<Google::Apis::ComputeV1::ServiceAccount>]
|
32458
|
+
attr_accessor :service_accounts
|
32459
|
+
|
32460
|
+
# A set of instance tags.
|
32461
|
+
# Corresponds to the JSON property `tags`
|
32462
|
+
# @return [Google::Apis::ComputeV1::Tags]
|
32463
|
+
attr_accessor :tags
|
32464
|
+
|
32465
|
+
def initialize(**args)
|
32466
|
+
update!(**args)
|
32467
|
+
end
|
32468
|
+
|
32469
|
+
# Update properties of this object
|
32470
|
+
def update!(**args)
|
32471
|
+
@can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward)
|
32472
|
+
@deletion_protection = args[:deletion_protection] if args.key?(:deletion_protection)
|
32473
|
+
@description = args[:description] if args.key?(:description)
|
32474
|
+
@disks = args[:disks] if args.key?(:disks)
|
32475
|
+
@guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
|
32476
|
+
@labels = args[:labels] if args.key?(:labels)
|
32477
|
+
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
32478
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
32479
|
+
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
32480
|
+
@network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
|
32481
|
+
@scheduling = args[:scheduling] if args.key?(:scheduling)
|
32482
|
+
@service_accounts = args[:service_accounts] if args.key?(:service_accounts)
|
32483
|
+
@tags = args[:tags] if args.key?(:tags)
|
32484
|
+
end
|
32485
|
+
end
|
32486
|
+
|
31246
32487
|
# Represents an SSL Certificate resource. Google Compute Engine has two SSL
|
31247
32488
|
# Certificate resources: * [Global](/compute/docs/reference/rest/v1/
|
31248
32489
|
# sslCertificates) * [Regional](/compute/docs/reference/rest/v1/
|
@@ -32171,8 +33412,9 @@ module Google
|
|
32171
33412
|
|
32172
33413
|
# Whether to enable flow logging for this subnetwork. If this field is not
|
32173
33414
|
# explicitly set, it will not appear in get listings. If not set the default
|
32174
|
-
# behavior is
|
32175
|
-
#
|
33415
|
+
# behavior is determined by the org policy, if there is no org policy specified,
|
33416
|
+
# then it will default to disabled. This field isn't supported with the purpose
|
33417
|
+
# field set to INTERNAL_HTTPS_LOAD_BALANCER.
|
32176
33418
|
# Corresponds to the JSON property `enableFlowLogs`
|
32177
33419
|
# @return [Boolean]
|
32178
33420
|
attr_accessor :enable_flow_logs
|
@@ -32226,7 +33468,7 @@ module Google
|
|
32226
33468
|
attr_accessor :ipv6_access_type
|
32227
33469
|
|
32228
33470
|
# [Output Only] The range of internal IPv6 addresses that are owned by this
|
32229
|
-
# subnetwork.
|
33471
|
+
# subnetwork. Note this will be for private google access only eventually.
|
32230
33472
|
# Corresponds to the JSON property `ipv6CidrRange`
|
32231
33473
|
# @return [String]
|
32232
33474
|
attr_accessor :ipv6_cidr_range
|
@@ -32619,7 +33861,8 @@ module Google
|
|
32619
33861
|
|
32620
33862
|
# Whether to enable flow logging for this subnetwork. If this field is not
|
32621
33863
|
# explicitly set, it will not appear in get listings. If not set the default
|
32622
|
-
# behavior is
|
33864
|
+
# behavior is determined by the org policy, if there is no org policy specified,
|
33865
|
+
# then it will default to disabled.
|
32623
33866
|
# Corresponds to the JSON property `enable`
|
32624
33867
|
# @return [Boolean]
|
32625
33868
|
attr_accessor :enable
|
@@ -32634,8 +33877,8 @@ module Google
|
|
32634
33877
|
# Can only be specified if VPC flow logging for this subnetwork is enabled. The
|
32635
33878
|
# value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
|
32636
33879
|
# within the subnetwork where 1.0 means all collected logs are reported and 0.0
|
32637
|
-
# means no logs are reported. Default is 0.5
|
32638
|
-
# logs are reported.
|
33880
|
+
# means no logs are reported. Default is 0.5 unless otherwise specified by the
|
33881
|
+
# org policy, which means half of all collected logs are reported.
|
32639
33882
|
# Corresponds to the JSON property `flowSampling`
|
32640
33883
|
# @return [Float]
|
32641
33884
|
attr_accessor :flow_sampling
|
@@ -36017,7 +37260,7 @@ module Google
|
|
36017
37260
|
class TestFailure
|
36018
37261
|
include Google::Apis::Core::Hashable
|
36019
37262
|
|
36020
|
-
# The actual output URL evaluated by load balancer containing the scheme, host,
|
37263
|
+
# The actual output URL evaluated by a load balancer containing the scheme, host,
|
36021
37264
|
# path and query parameters.
|
36022
37265
|
# Corresponds to the JSON property `actualOutputUrl`
|
36023
37266
|
# @return [String]
|
@@ -36034,8 +37277,8 @@ module Google
|
|
36034
37277
|
# @return [String]
|
36035
37278
|
attr_accessor :actual_service
|
36036
37279
|
|
36037
|
-
# The expected output URL evaluated by load balancer containing the scheme,
|
36038
|
-
# path and query parameters.
|
37280
|
+
# The expected output URL evaluated by a load balancer containing the scheme,
|
37281
|
+
# host, path and query parameters.
|
36039
37282
|
# Corresponds to the JSON property `expectedOutputUrl`
|
36040
37283
|
# @return [String]
|
36041
37284
|
attr_accessor :expected_output_url
|
@@ -36149,17 +37392,17 @@ module Google
|
|
36149
37392
|
end
|
36150
37393
|
end
|
36151
37394
|
|
36152
|
-
# Represents a URL Map resource.
|
36153
|
-
#
|
36154
|
-
#
|
36155
|
-
#
|
36156
|
-
#
|
36157
|
-
#
|
36158
|
-
#
|
37395
|
+
# Represents a URL Map resource. Compute Engine has two URL Map resources: * [
|
37396
|
+
# Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/
|
37397
|
+
# reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain
|
37398
|
+
# types of cloud load balancers and Traffic Director: * urlMaps are used by
|
37399
|
+
# external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used
|
37400
|
+
# by internal HTTP(S) load balancers. For a list of supported URL map features
|
37401
|
+
# by the load balancer type, see the Load balancing features: Routing and
|
36159
37402
|
# traffic management table. For a list of supported URL map features for Traffic
|
36160
37403
|
# Director, see the Traffic Director features: Routing and traffic management
|
36161
|
-
# table. This resource defines mappings from
|
36162
|
-
#
|
37404
|
+
# table. This resource defines mappings from hostnames and URL paths to either a
|
37405
|
+
# backend service or a backend bucket. To use the global urlMaps resource, the
|
36163
37406
|
# backend service must have a loadBalancingScheme of either EXTERNAL or
|
36164
37407
|
# INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
|
36165
37408
|
# must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
|
@@ -36173,28 +37416,28 @@ module Google
|
|
36173
37416
|
attr_accessor :creation_timestamp
|
36174
37417
|
|
36175
37418
|
# defaultRouteAction takes effect when none of the hostRules match. The load
|
36176
|
-
# balancer performs advanced routing actions
|
36177
|
-
# transformations,
|
36178
|
-
#
|
36179
|
-
#
|
36180
|
-
#
|
37419
|
+
# balancer performs advanced routing actions, such as URL rewrites and header
|
37420
|
+
# transformations, before forwarding the request to the selected backend. If
|
37421
|
+
# defaultRouteAction specifies any weightedBackendServices, defaultService must
|
37422
|
+
# not be set. Conversely if defaultService is set, defaultRouteAction cannot
|
37423
|
+
# contain any weightedBackendServices. Only one of defaultRouteAction or
|
36181
37424
|
# defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
|
36182
37425
|
# support only the urlRewrite action within defaultRouteAction.
|
36183
|
-
# defaultRouteAction has no effect when the URL map is bound to target gRPC
|
36184
|
-
# proxy that has validateForProxyless field set to true.
|
37426
|
+
# defaultRouteAction has no effect when the URL map is bound to a target gRPC
|
37427
|
+
# proxy that has the validateForProxyless field set to true.
|
36185
37428
|
# Corresponds to the JSON property `defaultRouteAction`
|
36186
37429
|
# @return [Google::Apis::ComputeV1::HttpRouteAction]
|
36187
37430
|
attr_accessor :default_route_action
|
36188
37431
|
|
36189
37432
|
# The full or partial URL of the defaultService resource to which traffic is
|
36190
|
-
# directed if none of the hostRules match. If defaultRouteAction is
|
36191
|
-
# specified, advanced routing actions
|
36192
|
-
#
|
37433
|
+
# directed if none of the hostRules match. If defaultRouteAction is also
|
37434
|
+
# specified, advanced routing actions, such as URL rewrites, take effect before
|
37435
|
+
# sending the request to the backend. However, if defaultService is specified,
|
36193
37436
|
# defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
|
36194
37437
|
# routeAction specifies any weightedBackendServices, service must not be
|
36195
|
-
# specified. Only one of defaultService, defaultUrlRedirect or
|
37438
|
+
# specified. Only one of defaultService, defaultUrlRedirect , or
|
36196
37439
|
# defaultRouteAction.weightedBackendService must be set. defaultService has no
|
36197
|
-
# effect when the URL map is bound to target gRPC proxy that has
|
37440
|
+
# effect when the URL map is bound to a target gRPC proxy that has the
|
36198
37441
|
# validateForProxyless field set to true.
|
36199
37442
|
# Corresponds to the JSON property `defaultService`
|
36200
37443
|
# @return [String]
|
@@ -36212,11 +37455,10 @@ module Google
|
|
36212
37455
|
attr_accessor :description
|
36213
37456
|
|
36214
37457
|
# Fingerprint of this resource. A hash of the contents stored in this object.
|
36215
|
-
# This field is used in optimistic locking. This field
|
36216
|
-
#
|
36217
|
-
#
|
36218
|
-
#
|
36219
|
-
# retrieve a UrlMap.
|
37458
|
+
# This field is used in optimistic locking. This field is ignored when inserting
|
37459
|
+
# a UrlMap. An up-to-date fingerprint must be provided in order to update the
|
37460
|
+
# UrlMap, otherwise the request will fail with error 412 conditionNotMet. To see
|
37461
|
+
# the latest fingerprint, make a get() request to retrieve a UrlMap.
|
36220
37462
|
# Corresponds to the JSON property `fingerprint`
|
36221
37463
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
36222
37464
|
# @return [String]
|
@@ -36228,7 +37470,7 @@ module Google
|
|
36228
37470
|
# @return [Google::Apis::ComputeV1::HttpHeaderAction]
|
36229
37471
|
attr_accessor :header_action
|
36230
37472
|
|
36231
|
-
# The list of
|
37473
|
+
# The list of host rules to use against the URL.
|
36232
37474
|
# Corresponds to the JSON property `hostRules`
|
36233
37475
|
# @return [Array<Google::Apis::ComputeV1::HostRule>]
|
36234
37476
|
attr_accessor :host_rules
|
@@ -36271,10 +37513,10 @@ module Google
|
|
36271
37513
|
# @return [String]
|
36272
37514
|
attr_accessor :self_link
|
36273
37515
|
|
36274
|
-
# The list of expected URL mapping tests. Request to update
|
36275
|
-
#
|
36276
|
-
#
|
36277
|
-
#
|
37516
|
+
# The list of expected URL mapping tests. Request to update the UrlMap succeeds
|
37517
|
+
# only if all test cases pass. You can specify a maximum of 100 tests per UrlMap.
|
37518
|
+
# Not supported when the URL map is bound to a target gRPC proxy that has
|
37519
|
+
# validateForProxyless field set to true.
|
36278
37520
|
# Corresponds to the JSON property `tests`
|
36279
37521
|
# @return [Array<Google::Apis::ComputeV1::UrlMapTest>]
|
36280
37522
|
attr_accessor :tests
|
@@ -36448,18 +37690,18 @@ module Google
|
|
36448
37690
|
# @return [String]
|
36449
37691
|
attr_accessor :description
|
36450
37692
|
|
36451
|
-
# The expected output URL evaluated by load balancer containing the scheme,
|
36452
|
-
# path and query parameters. For rules that forward requests to backends,
|
36453
|
-
# test passes only when expectedOutputUrl matches the request forwarded by
|
36454
|
-
# balancer to backends. For rules with urlRewrite, the test verifies
|
36455
|
-
# forwarded request matches hostRewrite and pathPrefixRewrite in the
|
36456
|
-
# action. When service is specified, expectedOutputUrl`s scheme is
|
36457
|
-
# rules with urlRedirect, the test passes only if expectedOutputUrl
|
36458
|
-
# URL in the load balancer's redirect response. If urlRedirect
|
36459
|
-
# https_redirect, the test passes only if the scheme in
|
36460
|
-
# also set to
|
36461
|
-
# if expectedOutputUrl does not contain any query
|
36462
|
-
# is optional when service is specified.
|
37693
|
+
# The expected output URL evaluated by the load balancer containing the scheme,
|
37694
|
+
# host, path and query parameters. For rules that forward requests to backends,
|
37695
|
+
# the test passes only when expectedOutputUrl matches the request forwarded by
|
37696
|
+
# the load balancer to backends. For rules with urlRewrite, the test verifies
|
37697
|
+
# that the forwarded request matches hostRewrite and pathPrefixRewrite in the
|
37698
|
+
# urlRewrite action. When service is specified, expectedOutputUrl`s scheme is
|
37699
|
+
# ignored. For rules with urlRedirect, the test passes only if expectedOutputUrl
|
37700
|
+
# matches the URL in the load balancer's redirect response. If urlRedirect
|
37701
|
+
# specifies https_redirect, the test passes only if the scheme in
|
37702
|
+
# expectedOutputUrl is also set to HTTPS. If urlRedirect specifies strip_query,
|
37703
|
+
# the test passes only if expectedOutputUrl does not contain any query
|
37704
|
+
# parameters. expectedOutputUrl is optional when service is specified.
|
36463
37705
|
# Corresponds to the JSON property `expectedOutputUrl`
|
36464
37706
|
# @return [String]
|
36465
37707
|
attr_accessor :expected_output_url
|
@@ -36490,7 +37732,8 @@ module Google
|
|
36490
37732
|
attr_accessor :path
|
36491
37733
|
|
36492
37734
|
# Expected BackendService or BackendBucket resource the given URL should be
|
36493
|
-
# mapped to. service cannot be set if expectedRedirectResponseCode is
|
37735
|
+
# mapped to. The service field cannot be set if expectedRedirectResponseCode is
|
37736
|
+
# set.
|
36494
37737
|
# Corresponds to the JSON property `service`
|
36495
37738
|
# @return [String]
|
36496
37739
|
attr_accessor :service
|
@@ -36795,17 +38038,17 @@ module Google
|
|
36795
38038
|
class ValidateUrlMapsRequest
|
36796
38039
|
include Google::Apis::Core::Hashable
|
36797
38040
|
|
36798
|
-
# Represents a URL Map resource.
|
36799
|
-
#
|
36800
|
-
#
|
36801
|
-
#
|
36802
|
-
#
|
36803
|
-
#
|
36804
|
-
#
|
38041
|
+
# Represents a URL Map resource. Compute Engine has two URL Map resources: * [
|
38042
|
+
# Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/
|
38043
|
+
# reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain
|
38044
|
+
# types of cloud load balancers and Traffic Director: * urlMaps are used by
|
38045
|
+
# external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used
|
38046
|
+
# by internal HTTP(S) load balancers. For a list of supported URL map features
|
38047
|
+
# by the load balancer type, see the Load balancing features: Routing and
|
36805
38048
|
# traffic management table. For a list of supported URL map features for Traffic
|
36806
38049
|
# Director, see the Traffic Director features: Routing and traffic management
|
36807
|
-
# table. This resource defines mappings from
|
36808
|
-
#
|
38050
|
+
# table. This resource defines mappings from hostnames and URL paths to either a
|
38051
|
+
# backend service or a backend bucket. To use the global urlMaps resource, the
|
36809
38052
|
# backend service must have a loadBalancingScheme of either EXTERNAL or
|
36810
38053
|
# INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
|
36811
38054
|
# must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
|
@@ -36848,16 +38091,16 @@ module Google
|
|
36848
38091
|
class UrlRewrite
|
36849
38092
|
include Google::Apis::Core::Hashable
|
36850
38093
|
|
36851
|
-
#
|
36852
|
-
# header is replaced with contents of hostRewrite. The value must be
|
36853
|
-
#
|
38094
|
+
# Before forwarding the request to the selected service, the request's host
|
38095
|
+
# header is replaced with contents of hostRewrite. The value must be from 1 to
|
38096
|
+
# 255 characters.
|
36854
38097
|
# Corresponds to the JSON property `hostRewrite`
|
36855
38098
|
# @return [String]
|
36856
38099
|
attr_accessor :host_rewrite
|
36857
38100
|
|
36858
|
-
#
|
38101
|
+
# Before forwarding the request to the selected backend service, the matching
|
36859
38102
|
# portion of the request's path is replaced by pathPrefixRewrite. The value must
|
36860
|
-
# be
|
38103
|
+
# be from 1 to 1024 characters.
|
36861
38104
|
# Corresponds to the JSON property `pathPrefixRewrite`
|
36862
38105
|
# @return [String]
|
36863
38106
|
attr_accessor :path_prefix_rewrite
|
@@ -37367,6 +38610,12 @@ module Google
|
|
37367
38610
|
# @return [String]
|
37368
38611
|
attr_accessor :self_link
|
37369
38612
|
|
38613
|
+
# The stack type for this VPN gateway to identify the IP protocols that are
|
38614
|
+
# enabled. If not specified, IPV4_ONLY will be used.
|
38615
|
+
# Corresponds to the JSON property `stackType`
|
38616
|
+
# @return [String]
|
38617
|
+
attr_accessor :stack_type
|
38618
|
+
|
37370
38619
|
# The list of VPN interfaces associated with this VPN gateway.
|
37371
38620
|
# Corresponds to the JSON property `vpnInterfaces`
|
37372
38621
|
# @return [Array<Google::Apis::ComputeV1::VpnGatewayVpnGatewayInterface>]
|
@@ -37388,6 +38637,7 @@ module Google
|
|
37388
38637
|
@network = args[:network] if args.key?(:network)
|
37389
38638
|
@region = args[:region] if args.key?(:region)
|
37390
38639
|
@self_link = args[:self_link] if args.key?(:self_link)
|
38640
|
+
@stack_type = args[:stack_type] if args.key?(:stack_type)
|
37391
38641
|
@vpn_interfaces = args[:vpn_interfaces] if args.key?(:vpn_interfaces)
|
37392
38642
|
end
|
37393
38643
|
end
|
@@ -38490,14 +39740,13 @@ module Google
|
|
38490
39740
|
|
38491
39741
|
# In contrast to a single BackendService in HttpRouteAction to which all
|
38492
39742
|
# matching traffic is directed to, WeightedBackendService allows traffic to be
|
38493
|
-
# split across multiple
|
38494
|
-
#
|
38495
|
-
# WeightedBackendService
|
39743
|
+
# split across multiple backend services. The volume of traffic for each backend
|
39744
|
+
# service is proportional to the weight specified in each WeightedBackendService
|
38496
39745
|
class WeightedBackendService
|
38497
39746
|
include Google::Apis::Core::Hashable
|
38498
39747
|
|
38499
39748
|
# The full or partial URL to the default BackendService resource. Before
|
38500
|
-
# forwarding the request to backendService, the
|
39749
|
+
# forwarding the request to backendService, the load balancer applies any
|
38501
39750
|
# relevant headerActions specified as part of this backendServiceWeight.
|
38502
39751
|
# Corresponds to the JSON property `backendService`
|
38503
39752
|
# @return [String]
|
@@ -38509,12 +39758,12 @@ module Google
|
|
38509
39758
|
# @return [Google::Apis::ComputeV1::HttpHeaderAction]
|
38510
39759
|
attr_accessor :header_action
|
38511
39760
|
|
38512
|
-
# Specifies the fraction of traffic sent to
|
38513
|
-
# (sum of all weightedBackendService weights in routeAction) . The
|
38514
|
-
# a backend service is determined only for new traffic. Once a user'
|
38515
|
-
# has been directed to a
|
38516
|
-
# same
|
38517
|
-
# policy. The value must be
|
39761
|
+
# Specifies the fraction of traffic sent to a backend service, computed as
|
39762
|
+
# weight / (sum of all weightedBackendService weights in routeAction) . The
|
39763
|
+
# selection of a backend service is determined only for new traffic. Once a user'
|
39764
|
+
# s request has been directed to a backend service, subsequent requests are sent
|
39765
|
+
# to the same backend service as determined by the backend service's session
|
39766
|
+
# affinity policy. The value must be from 0 to 1000.
|
38518
39767
|
# Corresponds to the JSON property `weight`
|
38519
39768
|
# @return [Fixnum]
|
38520
39769
|
attr_accessor :weight
|
@@ -38924,31 +40173,31 @@ module Google
|
|
38924
40173
|
|
38925
40174
|
# An Identity and Access Management (IAM) policy, which specifies access
|
38926
40175
|
# controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
|
38927
|
-
# A `binding` binds one or more `members
|
38928
|
-
# user accounts, service accounts, Google groups, and domains (
|
38929
|
-
# A `role` is a named list of permissions; each `role` can be
|
38930
|
-
# role or a user-created custom role. For some types of Google
|
38931
|
-
# a `binding` can also specify a `condition`, which is a
|
38932
|
-
# allows access to a resource only if the expression
|
38933
|
-
# condition can add constraints based on attributes of
|
38934
|
-
# or both. To learn which resources support
|
38935
|
-
# see the [IAM documentation](https://cloud.
|
38936
|
-
# resource-policies). **JSON example:** ` "
|
38937
|
-
# resourcemanager.organizationAdmin", "members": [
|
38938
|
-
# group:admins@example.com", "domain:google.com", "
|
38939
|
-
# appspot.gserviceaccount.com" ] `, ` "role": "
|
38940
|
-
# organizationViewer", "members": [ "user:eve@example.com"
|
38941
|
-
# title": "expirable access", "description": "Does not grant
|
38942
|
-
# 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
38943
|
-
# ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
38944
|
-
# members: - user:mike@example.com - group:admins@example.com -
|
38945
|
-
# com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
38946
|
-
# resourcemanager.organizationAdmin - members: - user:eve@example.
|
38947
|
-
# roles/resourcemanager.organizationViewer condition: title: expirable
|
38948
|
-
# description: Does not grant access after Sep 2020 expression: request.
|
38949
|
-
# timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
38950
|
-
# description of IAM and its features, see the [IAM documentation](https://
|
38951
|
-
# google.com/iam/docs/).
|
40176
|
+
# A `binding` binds one or more `members`, or principals, to a single `role`.
|
40177
|
+
# Principals can be user accounts, service accounts, Google groups, and domains (
|
40178
|
+
# such as G Suite). A `role` is a named list of permissions; each `role` can be
|
40179
|
+
# an IAM predefined role or a user-created custom role. For some types of Google
|
40180
|
+
# Cloud resources, a `binding` can also specify a `condition`, which is a
|
40181
|
+
# logical expression that allows access to a resource only if the expression
|
40182
|
+
# evaluates to `true`. A condition can add constraints based on attributes of
|
40183
|
+
# the request, the resource, or both. To learn which resources support
|
40184
|
+
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
40185
|
+
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
40186
|
+
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
40187
|
+
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
40188
|
+
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
40189
|
+
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
40190
|
+
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
40191
|
+
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
40192
|
+
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
40193
|
+
# bindings: - members: - user:mike@example.com - group:admins@example.com -
|
40194
|
+
# domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
40195
|
+
# role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
|
40196
|
+
# com role: roles/resourcemanager.organizationViewer condition: title: expirable
|
40197
|
+
# access description: Does not grant access after Sep 2020 expression: request.
|
40198
|
+
# time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
40199
|
+
# a description of IAM and its features, see the [IAM documentation](https://
|
40200
|
+
# cloud.google.com/iam/docs/).
|
38952
40201
|
# Corresponds to the JSON property `policy`
|
38953
40202
|
# @return [Google::Apis::ComputeV1::Policy]
|
38954
40203
|
attr_accessor :policy
|