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