google-apis-compute_v1 0.5.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: df6cddc93bf57181f486e4a18c1878468ab96053baa40e571cad068ec0d704d9
4
- data.tar.gz: 678318b3d1bda8b680b86238024e625e64347427f049fc7c0ea3906213182880
3
+ metadata.gz: ae4de55085d1cdb4c46af006e4e367a6da487f376fe3d63803bb7999b6ce2d5e
4
+ data.tar.gz: bd75b291d4a029987dd4209f0450cedbf43685f171609ef546a80e7e6bddf56e
5
5
  SHA512:
6
- metadata.gz: 778286e98e9ed410703f88b065aca608de8b8850c988cd2b61d07df8a48b0c061237586aa37c0786fd8172d8f369ac9ab2af73dcf2a3808c3d961195cea732d9
7
- data.tar.gz: 3b4f45615d61cd12d4a97afbe65a5248b7fbf18c8b8c7c0c10b2543fc09750f9fc6d47a682ce1c0445c83d5264bc48b03c2a0636c4c9a37a9c57df817c7ca9e0
6
+ metadata.gz: a8fee444e1f389b23d9620a59c6c845f376a1aecbb97da884d9f814e900d3289d2b99cfcb69a17d677bc0711663e6a20f10875c4f89b9ce9b4018c016cb79d71
7
+ data.tar.gz: b6619be96826f599b709146e84b7fecf33218ea0d680b8a5b1977c9058798e6eb4af9c85f266777c95fd24b0cd31b9deee8f1fc1e6cca0d99542c4f8d3f84cee
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Release history for google-apis-compute_v1
2
2
 
3
+ ### v0.10.0 (2021-05-20)
4
+
5
+ * Regenerated from discovery document revision 20210505
6
+ * Unspecified changes
7
+
8
+ ### v0.9.0 (2021-05-05)
9
+
10
+ * Regenerated from discovery document revision 20210415
11
+
12
+ ### v0.8.0 (2021-03-30)
13
+
14
+ * Regenerated from discovery document revision 20210316
15
+
16
+ ### v0.7.0 (2021-03-19)
17
+
18
+ * Regenerated from discovery document revision 20210310
19
+
20
+ ### v0.6.0 (2021-03-10)
21
+
22
+ * Regenerated from discovery document revision 20210301
23
+ * Regenerated using generator version 0.2.0
24
+
3
25
  ### v0.5.0 (2021-03-04)
4
26
 
5
27
  * Unspecified changes
@@ -29,7 +29,7 @@ module Google
29
29
  # This is NOT the gem version.
30
30
  VERSION = 'V1'
31
31
 
32
- # View and manage your data across Google Cloud Platform services
32
+ # See, edit, configure, and delete your Google Cloud Platform data
33
33
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
34
34
 
35
35
  # View and manage your Google Compute Engine resources
@@ -465,6 +465,19 @@ module Google
465
465
  class AccessConfig
466
466
  include Google::Apis::Core::Hashable
467
467
 
468
+ # [Output Only] The first IPv6 address of the external IPv6 range associated
469
+ # with this instance, prefix length is stored in externalIpv6PrefixLength in
470
+ # ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork
471
+ # associated with the instance will be allocated dynamically.
472
+ # Corresponds to the JSON property `externalIpv6`
473
+ # @return [String]
474
+ attr_accessor :external_ipv6
475
+
476
+ # [Output Only] The prefix length of the external IPv6 range.
477
+ # Corresponds to the JSON property `externalIpv6PrefixLength`
478
+ # @return [Fixnum]
479
+ attr_accessor :external_ipv6_prefix_length
480
+
468
481
  # [Output Only] Type of the resource. Always compute#accessConfig for access
469
482
  # configs.
470
483
  # Corresponds to the JSON property `kind`
@@ -522,6 +535,8 @@ module Google
522
535
 
523
536
  # Update properties of this object
524
537
  def update!(**args)
538
+ @external_ipv6 = args[:external_ipv6] if args.key?(:external_ipv6)
539
+ @external_ipv6_prefix_length = args[:external_ipv6_prefix_length] if args.key?(:external_ipv6_prefix_length)
525
540
  @kind = args[:kind] if args.key?(:kind)
526
541
  @name = args[:name] if args.key?(:name)
527
542
  @nat_ip = args[:nat_ip] if args.key?(:nat_ip)
@@ -617,7 +632,7 @@ module Google
617
632
  # @return [String]
618
633
  attr_accessor :network_tier
619
634
 
620
- # The prefix length if the resource reprensents an IP range.
635
+ # The prefix length if the resource represents an IP range.
621
636
  # Corresponds to the JSON property `prefixLength`
622
637
  # @return [Fixnum]
623
638
  attr_accessor :prefix_length
@@ -630,7 +645,7 @@ module Google
630
645
  # - `NAT_AUTO` for addresses that are external IP addresses automatically
631
646
  # reserved for Cloud NAT.
632
647
  # - `IPSEC_INTERCONNECT` for addresses created from a private IP range that are
633
- # reserved for a VLAN attachment in an IPsec encrypted Interconnect
648
+ # reserved for a VLAN attachment in an IPsec-encrypted Cloud Interconnect
634
649
  # configuration. These addresses are regional resources.
635
650
  # Corresponds to the JSON property `purpose`
636
651
  # @return [String]
@@ -1042,6 +1057,13 @@ module Google
1042
1057
  attr_accessor :enable_nested_virtualization
1043
1058
  alias_method :enable_nested_virtualization?, :enable_nested_virtualization
1044
1059
 
1060
+ # The number of threads per physical core. To disable simultaneous
1061
+ # multithreading (SMT) set this to 1. If unset, the maximum number of threads
1062
+ # supported per core by the underlying processor is assumed.
1063
+ # Corresponds to the JSON property `threadsPerCore`
1064
+ # @return [Fixnum]
1065
+ attr_accessor :threads_per_core
1066
+
1045
1067
  def initialize(**args)
1046
1068
  update!(**args)
1047
1069
  end
@@ -1049,6 +1071,7 @@ module Google
1049
1071
  # Update properties of this object
1050
1072
  def update!(**args)
1051
1073
  @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1074
+ @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1052
1075
  end
1053
1076
  end
1054
1077
 
@@ -1643,6 +1666,11 @@ module Google
1643
1666
  # @return [String]
1644
1667
  attr_accessor :region
1645
1668
 
1669
+ # [Output Only] Status information of existing scaling schedules.
1670
+ # Corresponds to the JSON property `scalingScheduleStatus`
1671
+ # @return [Hash<String,Google::Apis::ComputeV1::ScalingScheduleStatus>]
1672
+ attr_accessor :scaling_schedule_status
1673
+
1646
1674
  # [Output Only] Server-defined URL for the resource.
1647
1675
  # Corresponds to the JSON property `selfLink`
1648
1676
  # @return [String]
@@ -1693,6 +1721,7 @@ module Google
1693
1721
  @name = args[:name] if args.key?(:name)
1694
1722
  @recommended_size = args[:recommended_size] if args.key?(:recommended_size)
1695
1723
  @region = args[:region] if args.key?(:region)
1724
+ @scaling_schedule_status = args[:scaling_schedule_status] if args.key?(:scaling_schedule_status)
1696
1725
  @self_link = args[:self_link] if args.key?(:self_link)
1697
1726
  @status = args[:status] if args.key?(:status)
1698
1727
  @status_details = args[:status_details] if args.key?(:status_details)
@@ -2153,6 +2182,14 @@ module Google
2153
2182
  # @return [Google::Apis::ComputeV1::AutoscalingPolicyScaleInControl]
2154
2183
  attr_accessor :scale_in_control
2155
2184
 
2185
+ # Scaling schedules defined for an autoscaler. Multiple schedules can be set on
2186
+ # an autoscaler, and they can overlap. During overlapping periods the greatest
2187
+ # min_required_replicas of all scaling schedules is applied. Up to 128 scaling
2188
+ # schedules are allowed.
2189
+ # Corresponds to the JSON property `scalingSchedules`
2190
+ # @return [Hash<String,Google::Apis::ComputeV1::AutoscalingPolicyScalingSchedule>]
2191
+ attr_accessor :scaling_schedules
2192
+
2156
2193
  def initialize(**args)
2157
2194
  update!(**args)
2158
2195
  end
@@ -2167,6 +2204,7 @@ module Google
2167
2204
  @min_num_replicas = args[:min_num_replicas] if args.key?(:min_num_replicas)
2168
2205
  @mode = args[:mode] if args.key?(:mode)
2169
2206
  @scale_in_control = args[:scale_in_control] if args.key?(:scale_in_control)
2207
+ @scaling_schedules = args[:scaling_schedules] if args.key?(:scaling_schedules)
2170
2208
  end
2171
2209
  end
2172
2210
 
@@ -2174,6 +2212,17 @@ module Google
2174
2212
  class AutoscalingPolicyCpuUtilization
2175
2213
  include Google::Apis::Core::Hashable
2176
2214
 
2215
+ # Indicates whether predictive autoscaling based on CPU metric is enabled. Valid
2216
+ # values are:
2217
+ # * NONE (default). No predictive method is used. The autoscaler scales the
2218
+ # group to meet current demand based on real-time metrics. *
2219
+ # OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by
2220
+ # monitoring daily and weekly load patterns and scaling out ahead of anticipated
2221
+ # demand.
2222
+ # Corresponds to the JSON property `predictiveMethod`
2223
+ # @return [String]
2224
+ attr_accessor :predictive_method
2225
+
2177
2226
  # The target CPU utilization that the autoscaler maintains. Must be a float
2178
2227
  # value in the range (0, 1]. If not specified, the default is 0.6.
2179
2228
  # If the CPU level is below the target utilization, the autoscaler scales in the
@@ -2193,6 +2242,7 @@ module Google
2193
2242
 
2194
2243
  # Update properties of this object
2195
2244
  def update!(**args)
2245
+ @predictive_method = args[:predictive_method] if args.key?(:predictive_method)
2196
2246
  @utilization_target = args[:utilization_target] if args.key?(:utilization_target)
2197
2247
  end
2198
2248
  end
@@ -2332,6 +2382,70 @@ module Google
2332
2382
  end
2333
2383
  end
2334
2384
 
2385
+ # Scaling based on user-defined schedule. The message describes a single scaling
2386
+ # schedule. A scaling schedule changes the minimum number of VM instances an
2387
+ # autoscaler can recommend, which can trigger scaling out.
2388
+ class AutoscalingPolicyScalingSchedule
2389
+ include Google::Apis::Core::Hashable
2390
+
2391
+ # A description of a scaling schedule.
2392
+ # Corresponds to the JSON property `description`
2393
+ # @return [String]
2394
+ attr_accessor :description
2395
+
2396
+ # A boolean value that specifies whether a scaling schedule can influence
2397
+ # autoscaler recommendations. If set to true, then a scaling schedule has no
2398
+ # effect. This field is optional, and its value is false by default.
2399
+ # Corresponds to the JSON property `disabled`
2400
+ # @return [Boolean]
2401
+ attr_accessor :disabled
2402
+ alias_method :disabled?, :disabled
2403
+
2404
+ # The duration of time intervals, in seconds, for which this scaling schedule is
2405
+ # to run. The minimum allowed value is 300. This field is required.
2406
+ # Corresponds to the JSON property `durationSec`
2407
+ # @return [Fixnum]
2408
+ attr_accessor :duration_sec
2409
+
2410
+ # The minimum number of VM instances that the autoscaler will recommend in time
2411
+ # intervals starting according to schedule. This field is required.
2412
+ # Corresponds to the JSON property `minRequiredReplicas`
2413
+ # @return [Fixnum]
2414
+ attr_accessor :min_required_replicas
2415
+
2416
+ # The start timestamps of time intervals when this scaling schedule is to
2417
+ # provide a scaling signal. This field uses the extended cron format (with an
2418
+ # optional year field). The expression can describe a single timestamp if the
2419
+ # optional year is set, in which case the scaling schedule runs once. The
2420
+ # schedule is interpreted with respect to time_zone. This field is required.
2421
+ # Note: These timestamps only describe when autoscaler starts providing the
2422
+ # scaling signal. The VMs need additional time to become serving.
2423
+ # Corresponds to the JSON property `schedule`
2424
+ # @return [String]
2425
+ attr_accessor :schedule
2426
+
2427
+ # The time zone to use when interpreting the schedule. The value of this field
2428
+ # must be a time zone name from the tz database: http://en.wikipedia.org/wiki/
2429
+ # Tz_database. This field is assigned a default value of ?UTC? if left empty.
2430
+ # Corresponds to the JSON property `timeZone`
2431
+ # @return [String]
2432
+ attr_accessor :time_zone
2433
+
2434
+ def initialize(**args)
2435
+ update!(**args)
2436
+ end
2437
+
2438
+ # Update properties of this object
2439
+ def update!(**args)
2440
+ @description = args[:description] if args.key?(:description)
2441
+ @disabled = args[:disabled] if args.key?(:disabled)
2442
+ @duration_sec = args[:duration_sec] if args.key?(:duration_sec)
2443
+ @min_required_replicas = args[:min_required_replicas] if args.key?(:min_required_replicas)
2444
+ @schedule = args[:schedule] if args.key?(:schedule)
2445
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
2446
+ end
2447
+ end
2448
+
2335
2449
  # Message containing information of one individual backend.
2336
2450
  class Backend
2337
2451
  include Google::Apis::Core::Hashable
@@ -2546,6 +2660,13 @@ module Google
2546
2660
  class BackendBucketCdnPolicy
2547
2661
  include Google::Apis::Core::Hashable
2548
2662
 
2663
+ # Bypass the cache when the specified request headers are matched - e.g. Pragma
2664
+ # or Authorization headers. Up to 5 headers can be specified. The cache is
2665
+ # bypassed for all cdnPolicy.cacheMode settings.
2666
+ # Corresponds to the JSON property `bypassCacheOnRequestHeaders`
2667
+ # @return [Array<Google::Apis::ComputeV1::BackendBucketCdnPolicyBypassCacheOnRequestHeader>]
2668
+ attr_accessor :bypass_cache_on_request_headers
2669
+
2549
2670
  # Specifies the cache setting for all responses from this backend. The possible
2550
2671
  # values are:
2551
2672
  # USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache
@@ -2600,6 +2721,53 @@ module Google
2600
2721
  # @return [Fixnum]
2601
2722
  attr_accessor :max_ttl
2602
2723
 
2724
+ # Negative caching allows per-status code TTLs to be set, in order to apply fine-
2725
+ # grained caching for common errors or redirects. This can reduce the load on
2726
+ # your origin and improve end-user experience by reducing response latency. When
2727
+ # the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative
2728
+ # caching applies to responses with the specified response code that lack any
2729
+ # Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is
2730
+ # set to FORCE_CACHE_ALL, negative caching applies to all responses with the
2731
+ # specified response code, and override any caching headers. By default, Cloud
2732
+ # CDN will apply the following default TTLs to these status codes: HTTP 300 (
2733
+ # Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found),
2734
+ # 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not
2735
+ # Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults
2736
+ # can be overridden in negative_caching_policy.
2737
+ # Corresponds to the JSON property `negativeCaching`
2738
+ # @return [Boolean]
2739
+ attr_accessor :negative_caching
2740
+ alias_method :negative_caching?, :negative_caching
2741
+
2742
+ # Sets a cache TTL for the specified HTTP status code. negative_caching must be
2743
+ # enabled to configure negative_caching_policy. Omitting the policy and leaving
2744
+ # negative_caching enabled will use Cloud CDN's default cache TTLs. Note that
2745
+ # when specifying an explicit negative_caching_policy, you should take care to
2746
+ # specify a cache TTL for all response codes that you wish to cache. Cloud CDN
2747
+ # will not apply any default negative caching when a policy exists.
2748
+ # Corresponds to the JSON property `negativeCachingPolicy`
2749
+ # @return [Array<Google::Apis::ComputeV1::BackendBucketCdnPolicyNegativeCachingPolicy>]
2750
+ attr_accessor :negative_caching_policy
2751
+
2752
+ # If true then Cloud CDN will combine multiple concurrent cache fill requests
2753
+ # into a small number of requests to the origin.
2754
+ # Corresponds to the JSON property `requestCoalescing`
2755
+ # @return [Boolean]
2756
+ attr_accessor :request_coalescing
2757
+ alias_method :request_coalescing?, :request_coalescing
2758
+
2759
+ # Serve existing content from the cache (if available) when revalidating content
2760
+ # with the origin, or when an error is encountered when refreshing the cache.
2761
+ # This setting defines the default "max-stale" duration for any cached responses
2762
+ # that do not specify a max-stale directive. Stale responses that exceed the TTL
2763
+ # configured here will not be served. The default limit (max-stale) is 86400s (1
2764
+ # day), which will allow stale content to be served up to this limit beyond the
2765
+ # max-age (or s-max-age) of a cached response. The maximum allowed value is
2766
+ # 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
2767
+ # Corresponds to the JSON property `serveWhileStale`
2768
+ # @return [Fixnum]
2769
+ attr_accessor :serve_while_stale
2770
+
2603
2771
  # Maximum number of seconds the response to a signed URL request will be
2604
2772
  # considered fresh. After this time period, the response will be revalidated
2605
2773
  # before being served. Defaults to 1hr (3600s). When serving responses to signed
@@ -2622,15 +2790,72 @@ module Google
2622
2790
 
2623
2791
  # Update properties of this object
2624
2792
  def update!(**args)
2793
+ @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
2625
2794
  @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
2626
2795
  @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
2627
2796
  @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
2628
2797
  @max_ttl = args[:max_ttl] if args.key?(:max_ttl)
2798
+ @negative_caching = args[:negative_caching] if args.key?(:negative_caching)
2799
+ @negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy)
2800
+ @request_coalescing = args[:request_coalescing] if args.key?(:request_coalescing)
2801
+ @serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale)
2629
2802
  @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
2630
2803
  @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
2631
2804
  end
2632
2805
  end
2633
2806
 
2807
+ # Bypass the cache when the specified request headers are present, e.g. Pragma
2808
+ # or Authorization headers. Values are case insensitive. The presence of such a
2809
+ # header overrides the cache_mode setting.
2810
+ class BackendBucketCdnPolicyBypassCacheOnRequestHeader
2811
+ include Google::Apis::Core::Hashable
2812
+
2813
+ # The header field name to match on when bypassing cache. Values are case-
2814
+ # insensitive.
2815
+ # Corresponds to the JSON property `headerName`
2816
+ # @return [String]
2817
+ attr_accessor :header_name
2818
+
2819
+ def initialize(**args)
2820
+ update!(**args)
2821
+ end
2822
+
2823
+ # Update properties of this object
2824
+ def update!(**args)
2825
+ @header_name = args[:header_name] if args.key?(:header_name)
2826
+ end
2827
+ end
2828
+
2829
+ # Specify CDN TTLs for response error codes.
2830
+ class BackendBucketCdnPolicyNegativeCachingPolicy
2831
+ include Google::Apis::Core::Hashable
2832
+
2833
+ # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
2834
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
2835
+ # and you cannot specify a status code more than once.
2836
+ # Corresponds to the JSON property `code`
2837
+ # @return [Fixnum]
2838
+ attr_accessor :code
2839
+
2840
+ # The TTL (in seconds) for which to cache responses with the corresponding
2841
+ # status code. The maximum allowed value is 1800s (30 minutes), noting that
2842
+ # infrequently accessed objects may be evicted from the cache before the defined
2843
+ # TTL.
2844
+ # Corresponds to the JSON property `ttl`
2845
+ # @return [Fixnum]
2846
+ attr_accessor :ttl
2847
+
2848
+ def initialize(**args)
2849
+ update!(**args)
2850
+ end
2851
+
2852
+ # Update properties of this object
2853
+ def update!(**args)
2854
+ @code = args[:code] if args.key?(:code)
2855
+ @ttl = args[:ttl] if args.key?(:ttl)
2856
+ end
2857
+ end
2858
+
2634
2859
  # Contains a list of BackendBucket resources.
2635
2860
  class BackendBucketList
2636
2861
  include Google::Apis::Core::Hashable
@@ -2928,6 +3153,14 @@ module Google
2928
3153
  # @return [Google::Apis::ComputeV1::BackendServiceLogConfig]
2929
3154
  attr_accessor :log_config
2930
3155
 
3156
+ # A Duration represents a fixed-length span of time represented as a count of
3157
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
3158
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
3159
+ # 000 years.
3160
+ # Corresponds to the JSON property `maxStreamDuration`
3161
+ # @return [Google::Apis::ComputeV1::Duration]
3162
+ attr_accessor :max_stream_duration
3163
+
2931
3164
  # Name of the resource. Provided by the client when the resource is created. The
2932
3165
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
2933
3166
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3007,7 +3240,7 @@ module Google
3007
3240
 
3008
3241
  # Type of session affinity to use. The default is NONE.
3009
3242
  # When the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the
3010
- # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3243
+ # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3011
3244
  # * For all other load balancers that use loadBalancingScheme=EXTERNAL, the
3012
3245
  # possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use
3013
3246
  # GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.
@@ -3022,10 +3255,9 @@ module Google
3022
3255
  # @return [String]
3023
3256
  attr_accessor :session_affinity
3024
3257
 
3025
- # The backend service timeout has a different meaning depending on the type of
3026
- # load balancer. For more information see, Backend service settings The default
3027
- # is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647
3028
- # seconds.
3258
+ # Not supported when the backend service is referenced by a URL map that is
3259
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3260
+ # Instead, use maxStreamDuration.
3029
3261
  # Corresponds to the JSON property `timeoutSec`
3030
3262
  # @return [Fixnum]
3031
3263
  attr_accessor :timeout_sec
@@ -3056,6 +3288,7 @@ module Google
3056
3288
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3057
3289
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
3058
3290
  @log_config = args[:log_config] if args.key?(:log_config)
3291
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
3059
3292
  @name = args[:name] if args.key?(:name)
3060
3293
  @network = args[:network] if args.key?(:network)
3061
3294
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
@@ -3198,6 +3431,13 @@ module Google
3198
3431
  class BackendServiceCdnPolicy
3199
3432
  include Google::Apis::Core::Hashable
3200
3433
 
3434
+ # Bypass the cache when the specified request headers are matched - e.g. Pragma
3435
+ # or Authorization headers. Up to 5 headers can be specified. The cache is
3436
+ # bypassed for all cdnPolicy.cacheMode settings.
3437
+ # Corresponds to the JSON property `bypassCacheOnRequestHeaders`
3438
+ # @return [Array<Google::Apis::ComputeV1::BackendServiceCdnPolicyBypassCacheOnRequestHeader>]
3439
+ attr_accessor :bypass_cache_on_request_headers
3440
+
3201
3441
  # Message containing what to include in the cache key for a request for Cloud
3202
3442
  # CDN.
3203
3443
  # Corresponds to the JSON property `cacheKeyPolicy`
@@ -3258,6 +3498,53 @@ module Google
3258
3498
  # @return [Fixnum]
3259
3499
  attr_accessor :max_ttl
3260
3500
 
3501
+ # Negative caching allows per-status code TTLs to be set, in order to apply fine-
3502
+ # grained caching for common errors or redirects. This can reduce the load on
3503
+ # your origin and improve end-user experience by reducing response latency. When
3504
+ # the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative
3505
+ # caching applies to responses with the specified response code that lack any
3506
+ # Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is
3507
+ # set to FORCE_CACHE_ALL, negative caching applies to all responses with the
3508
+ # specified response code, and override any caching headers. By default, Cloud
3509
+ # CDN will apply the following default TTLs to these status codes: HTTP 300 (
3510
+ # Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found),
3511
+ # 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not
3512
+ # Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults
3513
+ # can be overridden in negative_caching_policy.
3514
+ # Corresponds to the JSON property `negativeCaching`
3515
+ # @return [Boolean]
3516
+ attr_accessor :negative_caching
3517
+ alias_method :negative_caching?, :negative_caching
3518
+
3519
+ # Sets a cache TTL for the specified HTTP status code. negative_caching must be
3520
+ # enabled to configure negative_caching_policy. Omitting the policy and leaving
3521
+ # negative_caching enabled will use Cloud CDN's default cache TTLs. Note that
3522
+ # when specifying an explicit negative_caching_policy, you should take care to
3523
+ # specify a cache TTL for all response codes that you wish to cache. Cloud CDN
3524
+ # will not apply any default negative caching when a policy exists.
3525
+ # Corresponds to the JSON property `negativeCachingPolicy`
3526
+ # @return [Array<Google::Apis::ComputeV1::BackendServiceCdnPolicyNegativeCachingPolicy>]
3527
+ attr_accessor :negative_caching_policy
3528
+
3529
+ # If true then Cloud CDN will combine multiple concurrent cache fill requests
3530
+ # into a small number of requests to the origin.
3531
+ # Corresponds to the JSON property `requestCoalescing`
3532
+ # @return [Boolean]
3533
+ attr_accessor :request_coalescing
3534
+ alias_method :request_coalescing?, :request_coalescing
3535
+
3536
+ # Serve existing content from the cache (if available) when revalidating content
3537
+ # with the origin, or when an error is encountered when refreshing the cache.
3538
+ # This setting defines the default "max-stale" duration for any cached responses
3539
+ # that do not specify a max-stale directive. Stale responses that exceed the TTL
3540
+ # configured here will not be served. The default limit (max-stale) is 86400s (1
3541
+ # day), which will allow stale content to be served up to this limit beyond the
3542
+ # max-age (or s-max-age) of a cached response. The maximum allowed value is
3543
+ # 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
3544
+ # Corresponds to the JSON property `serveWhileStale`
3545
+ # @return [Fixnum]
3546
+ attr_accessor :serve_while_stale
3547
+
3261
3548
  # Maximum number of seconds the response to a signed URL request will be
3262
3549
  # considered fresh. After this time period, the response will be revalidated
3263
3550
  # before being served. Defaults to 1hr (3600s). When serving responses to signed
@@ -3280,16 +3567,73 @@ module Google
3280
3567
 
3281
3568
  # Update properties of this object
3282
3569
  def update!(**args)
3570
+ @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
3283
3571
  @cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
3284
3572
  @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
3285
3573
  @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
3286
3574
  @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
3287
3575
  @max_ttl = args[:max_ttl] if args.key?(:max_ttl)
3576
+ @negative_caching = args[:negative_caching] if args.key?(:negative_caching)
3577
+ @negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy)
3578
+ @request_coalescing = args[:request_coalescing] if args.key?(:request_coalescing)
3579
+ @serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale)
3288
3580
  @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
3289
3581
  @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
3290
3582
  end
3291
3583
  end
3292
3584
 
3585
+ # Bypass the cache when the specified request headers are present, e.g. Pragma
3586
+ # or Authorization headers. Values are case insensitive. The presence of such a
3587
+ # header overrides the cache_mode setting.
3588
+ class BackendServiceCdnPolicyBypassCacheOnRequestHeader
3589
+ include Google::Apis::Core::Hashable
3590
+
3591
+ # The header field name to match on when bypassing cache. Values are case-
3592
+ # insensitive.
3593
+ # Corresponds to the JSON property `headerName`
3594
+ # @return [String]
3595
+ attr_accessor :header_name
3596
+
3597
+ def initialize(**args)
3598
+ update!(**args)
3599
+ end
3600
+
3601
+ # Update properties of this object
3602
+ def update!(**args)
3603
+ @header_name = args[:header_name] if args.key?(:header_name)
3604
+ end
3605
+ end
3606
+
3607
+ # Specify CDN TTLs for response error codes.
3608
+ class BackendServiceCdnPolicyNegativeCachingPolicy
3609
+ include Google::Apis::Core::Hashable
3610
+
3611
+ # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
3612
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
3613
+ # and you cannot specify a status code more than once.
3614
+ # Corresponds to the JSON property `code`
3615
+ # @return [Fixnum]
3616
+ attr_accessor :code
3617
+
3618
+ # The TTL (in seconds) for which to cache responses with the corresponding
3619
+ # status code. The maximum allowed value is 1800s (30 minutes), noting that
3620
+ # infrequently accessed objects may be evicted from the cache before the defined
3621
+ # TTL.
3622
+ # Corresponds to the JSON property `ttl`
3623
+ # @return [Fixnum]
3624
+ attr_accessor :ttl
3625
+
3626
+ def initialize(**args)
3627
+ update!(**args)
3628
+ end
3629
+
3630
+ # Update properties of this object
3631
+ def update!(**args)
3632
+ @code = args[:code] if args.key?(:code)
3633
+ @ttl = args[:ttl] if args.key?(:ttl)
3634
+ end
3635
+ end
3636
+
3293
3637
  # Applicable only to Failover for Internal TCP/UDP Load Balancing and Network
3294
3638
  # Load Balancing. On failover or failback, this field indicates whether
3295
3639
  # connection draining will be honored. GCP has a fixed connection draining
@@ -3760,7 +4104,10 @@ module Google
3760
4104
  end
3761
4105
  end
3762
4106
 
3763
- #
4107
+ # A transient resource used in compute.instances.bulkInsert and compute.
4108
+ # regionInstances.bulkInsert and compute.regionInstances.recommendLocations.
4109
+ # This resource is not persisted anywhere, it is used only for processing the
4110
+ # requests.
3764
4111
  class BulkInsertInstanceResource
3765
4112
  include Google::Apis::Core::Hashable
3766
4113
 
@@ -3782,16 +4129,17 @@ module Google
3782
4129
 
3783
4130
  # The minimum number of instances to create. If no min_count is specified then
3784
4131
  # count is used as the default value. If min_count instances cannot be created,
3785
- # then no instances will be created.
4132
+ # then no instances will be created and instances already created will be
4133
+ # deleted.
3786
4134
  # Corresponds to the JSON property `minCount`
3787
4135
  # @return [Fixnum]
3788
4136
  attr_accessor :min_count
3789
4137
 
3790
4138
  # The string pattern used for the names of the VMs. Either name_pattern or
3791
- # predefined_names must be set. The pattern should contain one consecutive
4139
+ # per_instance_properties must be set. The pattern should contain one continuous
3792
4140
  # sequence of placeholder hash characters (#) with each character corresponding
3793
4141
  # to one digit of the generated instance name. Example: name_pattern of inst-####
3794
- # will generate instance names like inst-0001, inst-0002, ... . If there
4142
+ # will generate instance names such as inst-0001, inst-0002, ... . If there
3795
4143
  # already exist instance(s) whose names match the name pattern in the same
3796
4144
  # project and zone, then the generated instance numbers will start after the
3797
4145
  # biggest existing number. For example, if there exists an instance with name
@@ -3945,14 +4293,14 @@ module Google
3945
4293
  class CircuitBreakers
3946
4294
  include Google::Apis::Core::Hashable
3947
4295
 
3948
- # The maximum number of connections to the backend service. If not specified,
3949
- # there is no limit.
4296
+ # Not supported when the backend service is referenced by a URL map that is
4297
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3950
4298
  # Corresponds to the JSON property `maxConnections`
3951
4299
  # @return [Fixnum]
3952
4300
  attr_accessor :max_connections
3953
4301
 
3954
- # The maximum number of pending requests allowed to the backend service. If not
3955
- # specified, there is no limit.
4302
+ # Not supported when the backend service is referenced by a URL map that is
4303
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3956
4304
  # Corresponds to the JSON property `maxPendingRequests`
3957
4305
  # @return [Fixnum]
3958
4306
  attr_accessor :max_pending_requests
@@ -3963,16 +4311,14 @@ module Google
3963
4311
  # @return [Fixnum]
3964
4312
  attr_accessor :max_requests
3965
4313
 
3966
- # Maximum requests for a single connection to the backend service. This
3967
- # parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not
3968
- # specified, there is no limit. Setting this parameter to 1 will effectively
3969
- # disable keep alive.
4314
+ # Not supported when the backend service is referenced by a URL map that is
4315
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3970
4316
  # Corresponds to the JSON property `maxRequestsPerConnection`
3971
4317
  # @return [Fixnum]
3972
4318
  attr_accessor :max_requests_per_connection
3973
4319
 
3974
- # The maximum number of parallel retries allowed to the backend cluster. If not
3975
- # specified, the default is 1.
4320
+ # Not supported when the backend service is referenced by a URL map that is
4321
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3976
4322
  # Corresponds to the JSON property `maxRetries`
3977
4323
  # @return [Fixnum]
3978
4324
  attr_accessor :max_retries
@@ -6068,6 +6414,13 @@ module Google
6068
6414
  class DistributionPolicy
6069
6415
  include Google::Apis::Core::Hashable
6070
6416
 
6417
+ # The distribution shape to which the group converges either proactively or on
6418
+ # resize events (depending on the value set in updatePolicy.
6419
+ # instanceRedistributionType).
6420
+ # Corresponds to the JSON property `targetShape`
6421
+ # @return [String]
6422
+ attr_accessor :target_shape
6423
+
6071
6424
  # Zones where the regional managed instance group will create and manage its
6072
6425
  # instances.
6073
6426
  # Corresponds to the JSON property `zones`
@@ -6080,6 +6433,7 @@ module Google
6080
6433
 
6081
6434
  # Update properties of this object
6082
6435
  def update!(**args)
6436
+ @target_shape = args[:target_shape] if args.key?(:target_shape)
6083
6437
  @zones = args[:zones] if args.key?(:zones)
6084
6438
  end
6085
6439
  end
@@ -7090,13 +7444,14 @@ module Google
7090
7444
  # @return [String]
7091
7445
  attr_accessor :description
7092
7446
 
7093
- # User-provided name of the Organization firewall plicy. The name should be
7094
- # unique in the organization in which the firewall policy is created. The name
7095
- # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
7096
- # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
7097
- # [a-z0-9])?` which means the first character must be a lowercase letter, and
7098
- # all following characters must be a dash, lowercase letter, or digit, except
7099
- # the last character, which cannot be a dash.
7447
+ # Depreacted, please use short name instead. User-provided name of the
7448
+ # Organization firewall plicy. The name should be unique in the organization in
7449
+ # which the firewall policy is created. The name must be 1-63 characters long,
7450
+ # and comply with RFC1035. Specifically, the name must be 1-63 characters long
7451
+ # and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
7452
+ # first character must be a lowercase letter, and all following characters must
7453
+ # be a dash, lowercase letter, or digit, except the last character, which cannot
7454
+ # be a dash.
7100
7455
  # Corresponds to the JSON property `displayName`
7101
7456
  # @return [String]
7102
7457
  attr_accessor :display_name
@@ -7160,6 +7515,17 @@ module Google
7160
7515
  # @return [String]
7161
7516
  attr_accessor :self_link_with_id
7162
7517
 
7518
+ # User-provided name of the Organization firewall plicy. The name should be
7519
+ # unique in the organization in which the firewall policy is created. The name
7520
+ # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
7521
+ # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
7522
+ # [a-z0-9])?` which means the first character must be a lowercase letter, and
7523
+ # all following characters must be a dash, lowercase letter, or digit, except
7524
+ # the last character, which cannot be a dash.
7525
+ # Corresponds to the JSON property `shortName`
7526
+ # @return [String]
7527
+ attr_accessor :short_name
7528
+
7163
7529
  def initialize(**args)
7164
7530
  update!(**args)
7165
7531
  end
@@ -7179,6 +7545,7 @@ module Google
7179
7545
  @rules = args[:rules] if args.key?(:rules)
7180
7546
  @self_link = args[:self_link] if args.key?(:self_link)
7181
7547
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
7548
+ @short_name = args[:short_name] if args.key?(:short_name)
7182
7549
  end
7183
7550
  end
7184
7551
 
@@ -7191,7 +7558,8 @@ module Google
7191
7558
  # @return [String]
7192
7559
  attr_accessor :attachment_target
7193
7560
 
7194
- # [Output Only] The display name of the firewall policy of the association.
7561
+ # [Output Only] Deprecated, please use short name instead. The display name of
7562
+ # the firewall policy of the association.
7195
7563
  # Corresponds to the JSON property `displayName`
7196
7564
  # @return [String]
7197
7565
  attr_accessor :display_name
@@ -7206,6 +7574,11 @@ module Google
7206
7574
  # @return [String]
7207
7575
  attr_accessor :name
7208
7576
 
7577
+ # [Output Only] The short name of the firewall policy of the association.
7578
+ # Corresponds to the JSON property `shortName`
7579
+ # @return [String]
7580
+ attr_accessor :short_name
7581
+
7209
7582
  def initialize(**args)
7210
7583
  update!(**args)
7211
7584
  end
@@ -7216,6 +7589,7 @@ module Google
7216
7589
  @display_name = args[:display_name] if args.key?(:display_name)
7217
7590
  @firewall_policy_id = args[:firewall_policy_id] if args.key?(:firewall_policy_id)
7218
7591
  @name = args[:name] if args.key?(:name)
7592
+ @short_name = args[:short_name] if args.key?(:short_name)
7219
7593
  end
7220
7594
  end
7221
7595
 
@@ -7402,17 +7776,6 @@ module Google
7402
7776
  # @return [Array<String>]
7403
7777
  attr_accessor :target_resources
7404
7778
 
7405
- # A list of secure labels that controls which instances the firewall rule
7406
- # applies to. If targetSecureLabel are specified, then the firewall rule applies
7407
- # only to instances in the VPC network that have one of those secure labels.
7408
- # targetSecureLabel may not be set at the same time as targetServiceAccounts. If
7409
- # neither targetServiceAccounts nor targetSecureLabel are specified, the
7410
- # firewall rule applies to all instances on the specified network. Maximum
7411
- # number of target label values allowed is 256.
7412
- # Corresponds to the JSON property `targetSecureLabels`
7413
- # @return [Array<String>]
7414
- attr_accessor :target_secure_labels
7415
-
7416
7779
  # A list of service accounts indicating the sets of instances that are applied
7417
7780
  # with this rule.
7418
7781
  # Corresponds to the JSON property `targetServiceAccounts`
@@ -7435,7 +7798,6 @@ module Google
7435
7798
  @priority = args[:priority] if args.key?(:priority)
7436
7799
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
7437
7800
  @target_resources = args[:target_resources] if args.key?(:target_resources)
7438
- @target_secure_labels = args[:target_secure_labels] if args.key?(:target_secure_labels)
7439
7801
  @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
7440
7802
  end
7441
7803
  end
@@ -7461,12 +7823,6 @@ module Google
7461
7823
  # @return [Array<String>]
7462
7824
  attr_accessor :src_ip_ranges
7463
7825
 
7464
- # List of firewall label values, which should be matched at the source of the
7465
- # traffic. Maximum number of source label values allowed is 256.
7466
- # Corresponds to the JSON property `srcSecureLabels`
7467
- # @return [Array<String>]
7468
- attr_accessor :src_secure_labels
7469
-
7470
7826
  def initialize(**args)
7471
7827
  update!(**args)
7472
7828
  end
@@ -7476,7 +7832,6 @@ module Google
7476
7832
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
7477
7833
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
7478
7834
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
7479
- @src_secure_labels = args[:src_secure_labels] if args.key?(:src_secure_labels)
7480
7835
  end
7481
7836
  end
7482
7837
 
@@ -7585,15 +7940,18 @@ module Google
7585
7940
  # ip_address_specifications).
7586
7941
  # Must be set to `0.0.0.0` when the target is targetGrpcProxy that has
7587
7942
  # validateForProxyless field set to true.
7943
+ # For Private Service Connect forwarding rules that forward traffic to Google
7944
+ # APIs, IP address must be provided.
7588
7945
  # Corresponds to the JSON property `IPAddress`
7589
7946
  # @return [String]
7590
7947
  attr_accessor :ip_address
7591
7948
 
7592
7949
  # The IP protocol to which this rule applies.
7593
- # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
7950
+ # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and
7951
+ # L3_DEFAULT.
7594
7952
  # The valid IP protocols are different for different load balancing products:
7595
7953
  # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and
7596
- # one of TCP, UDP or ALL is valid.
7954
+ # one of TCP, UDP or L3_DEFAULT is valid.
7597
7955
  # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and
7598
7956
  # only TCP is valid.
7599
7957
  # - Internal HTTP(S) Load Balancing: The load balancing scheme is
@@ -7601,17 +7959,18 @@ module Google
7601
7959
  # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme
7602
7960
  # is EXTERNAL and only TCP is valid.
7603
7961
  # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of
7604
- # TCP or UDP is valid.
7962
+ # TCP, UDP or L3_DEFAULT is valid.
7605
7963
  # Corresponds to the JSON property `IPProtocol`
7606
7964
  # @return [String]
7607
7965
  attr_accessor :ip_protocol
7608
7966
 
7609
- # This field is used along with the backend_service field for internal load
7610
- # balancing or with the target field for internal TargetInstance. This field
7611
- # cannot be used with port or portRange fields.
7612
- # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify
7613
- # this field to allow packets addressed to any ports will be forwarded to the
7614
- # backends configured with this forwarding rule.
7967
+ # This field is used along with the backend_service field for Internal TCP/UDP
7968
+ # Load Balancing or Network Load Balancing, or with the target field for
7969
+ # internal and external TargetInstance.
7970
+ # You can only use one of ports and port_range, or allPorts. The three are
7971
+ # mutually exclusive.
7972
+ # For TCP, UDP and SCTP traffic, packets addressed to any ports will be
7973
+ # forwarded to the target or backendService.
7615
7974
  # Corresponds to the JSON property `allPorts`
7616
7975
  # @return [Boolean]
7617
7976
  attr_accessor :all_ports
@@ -7757,6 +8116,8 @@ module Google
7757
8116
  # For Internal TCP/UDP Load Balancing, this field identifies the network that
7758
8117
  # the load balanced IP should belong to for this Forwarding Rule. If this field
7759
8118
  # is not specified, the default network will be used.
8119
+ # For Private Service Connect forwarding rules that forward traffic to Google
8120
+ # APIs, a network must be provided.
7760
8121
  # Corresponds to the JSON property `network`
7761
8122
  # @return [String]
7762
8123
  attr_accessor :network
@@ -7771,13 +8132,16 @@ module Google
7771
8132
  # @return [String]
7772
8133
  attr_accessor :network_tier
7773
8134
 
7774
- # This field can be used only if: * Load balancing scheme is one of EXTERNAL,
7775
- # INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP,
7776
- # or SCTP.
8135
+ # This field can be used only if:
8136
+ # - Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or
8137
+ # INTERNAL_MANAGED
8138
+ # - IPProtocol is one of TCP, UDP, or SCTP.
7777
8139
  # Packets addressed to ports in the specified range will be forwarded to target
7778
- # or backend_service. You can only use one of ports, port_range, or allPorts.
7779
- # The three are mutually exclusive. Forwarding rules with the same [IPAddress,
7780
- # IPProtocol] pair must have disjoint port ranges.
8140
+ # or backend_service.
8141
+ # You can only use one of ports, port_range, or allPorts. The three are mutually
8142
+ # exclusive.
8143
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
8144
+ # ports.
7781
8145
  # Some types of forwarding target have constraints on the acceptable ports:
7782
8146
  # - TargetHttpProxy: 80, 8080
7783
8147
  # - TargetHttpsProxy: 443
@@ -7798,8 +8162,8 @@ module Google
7798
8162
  # You can only use one of ports and port_range, or allPorts. The three are
7799
8163
  # mutually exclusive.
7800
8164
  # You can specify a list of up to five ports, which can be non-contiguous.
7801
- # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not
7802
- # specify ports.
8165
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
8166
+ # ports.
7803
8167
  # For more information, see [Port specifications](/load-balancing/docs/
7804
8168
  # forwarding-rule-concepts#port_specifications).
7805
8169
  # Corresponds to the JSON property `ports`
@@ -7861,12 +8225,7 @@ module Google
7861
8225
  # @return [String]
7862
8226
  attr_accessor :subnetwork
7863
8227
 
7864
- # The URL of the target resource to receive the matched traffic. For regional
7865
- # forwarding rules, this target must be in the same region as the forwarding
7866
- # rule. For global forwarding rules, this target must be a global load balancing
7867
- # resource. The forwarded traffic must be of a type appropriate to the target
7868
- # object. For more information, see the "Target" column in [Port specifications](
7869
- # /load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
8228
+ #
7870
8229
  # Corresponds to the JSON property `target`
7871
8230
  # @return [String]
7872
8231
  attr_accessor :target
@@ -9230,11 +9589,12 @@ module Google
9230
9589
 
9231
9590
  # List of URLs to the HealthCheck resources. Must have at least one HealthCheck,
9232
9591
  # and not more than 10. HealthCheck resources must have portSpecification=
9233
- # USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be
9234
- # regional and in the same region. For global HealthCheckService, HealthCheck
9235
- # must be global. Mix of regional and global HealthChecks is not supported.
9236
- # Multiple regional HealthChecks must belong to the same region. Regional
9237
- # HealthChecks</code? must belong to the same region as zones of NEGs.
9592
+ # USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional
9593
+ # HealthCheckService, the HealthCheck must be regional and in the same region.
9594
+ # For global HealthCheckService, HealthCheck must be global. Mix of regional and
9595
+ # global HealthChecks is not supported. Multiple regional HealthChecks must
9596
+ # belong to the same region. Regional HealthChecks must belong to the same
9597
+ # region as zones of NEGs.
9238
9598
  # Corresponds to the JSON property `healthChecks`
9239
9599
  # @return [Array<String>]
9240
9600
  attr_accessor :health_checks
@@ -9688,6 +10048,16 @@ module Google
9688
10048
  # @return [Hash<String,String>]
9689
10049
  attr_accessor :annotations
9690
10050
 
10051
+ # URL of the forwarding rule associated with the health status of the instance.
10052
+ # Corresponds to the JSON property `forwardingRule`
10053
+ # @return [String]
10054
+ attr_accessor :forwarding_rule
10055
+
10056
+ # A forwarding rule IP address assigned to this instance.
10057
+ # Corresponds to the JSON property `forwardingRuleIp`
10058
+ # @return [String]
10059
+ attr_accessor :forwarding_rule_ip
10060
+
9691
10061
  # Health state of the instance.
9692
10062
  # Corresponds to the JSON property `healthState`
9693
10063
  # @return [String]
@@ -9728,6 +10098,8 @@ module Google
9728
10098
  # Update properties of this object
9729
10099
  def update!(**args)
9730
10100
  @annotations = args[:annotations] if args.key?(:annotations)
10101
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
10102
+ @forwarding_rule_ip = args[:forwarding_rule_ip] if args.key?(:forwarding_rule_ip)
9731
10103
  @health_state = args[:health_state] if args.key?(:health_state)
9732
10104
  @instance = args[:instance] if args.key?(:instance)
9733
10105
  @ip_address = args[:ip_address] if args.key?(:ip_address)
@@ -9839,6 +10211,9 @@ module Google
9839
10211
 
9840
10212
  # The HTTP status code used to abort the request.
9841
10213
  # The value must be between 200 and 599 inclusive.
10214
+ # For gRPC protocol, the gRPC status code is mapped to HTTP status code
10215
+ # according to this mapping table. HTTP status 200 is mapped to gRPC status
10216
+ # UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
9842
10217
  # Corresponds to the JSON property `httpStatus`
9843
10218
  # @return [Fixnum]
9844
10219
  attr_accessor :http_status
@@ -10465,8 +10840,8 @@ module Google
10465
10840
  # @return [Google::Apis::ComputeV1::Duration]
10466
10841
  attr_accessor :per_try_timeout
10467
10842
 
10468
- # Specfies one or more conditions when this retry rule applies. Valid values are:
10469
- #
10843
+ # Specifies one or more conditions when this retry rule applies. Valid values
10844
+ # are:
10470
10845
  # - 5xx: Loadbalancer will attempt a retry if the backend service responds with
10471
10846
  # any 5xx response code, or if the backend service does not respond at all,
10472
10847
  # example: disconnects, reset, read timeout, connection failure, and refused
@@ -10525,6 +10900,14 @@ module Google
10525
10900
  # @return [Google::Apis::ComputeV1::HttpFaultInjection]
10526
10901
  attr_accessor :fault_injection_policy
10527
10902
 
10903
+ # A Duration represents a fixed-length span of time represented as a count of
10904
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
10905
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
10906
+ # 000 years.
10907
+ # Corresponds to the JSON property `maxStreamDuration`
10908
+ # @return [Google::Apis::ComputeV1::Duration]
10909
+ attr_accessor :max_stream_duration
10910
+
10528
10911
  # A policy that specifies how requests intended for the route's backends are
10529
10912
  # shadowed to a separate mirrored backend service. Loadbalancer does not wait
10530
10913
  # for responses from the shadow service. Prior to sending traffic to the shadow
@@ -10573,6 +10956,7 @@ module Google
10573
10956
  def update!(**args)
10574
10957
  @cors_policy = args[:cors_policy] if args.key?(:cors_policy)
10575
10958
  @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
10959
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
10576
10960
  @request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy)
10577
10961
  @retry_policy = args[:retry_policy] if args.key?(:retry_policy)
10578
10962
  @timeout = args[:timeout] if args.key?(:timeout)
@@ -11114,13 +11498,17 @@ module Google
11114
11498
  # @return [Google::Apis::ComputeV1::InitialStateConfig]
11115
11499
  attr_accessor :shielded_instance_initial_state
11116
11500
 
11117
- # URL of the source disk used to create this image. This can be a full or valid
11118
- # partial URL. You must provide either this property or the rawDisk.source
11119
- # property but not both to create an image. For example, the following are valid
11120
- # values:
11501
+ # URL of the source disk used to create this image. For example, the following
11502
+ # are valid values:
11121
11503
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
11122
11504
  # - projects/project/zones/zone/disks/disk
11123
11505
  # - zones/zone/disks/disk
11506
+ # In order to create an image, you must provide the full or partial URL of one
11507
+ # of the following:
11508
+ # - The rawDisk.source URL
11509
+ # - The sourceDisk URL
11510
+ # - The sourceImage URL
11511
+ # - The sourceSnapshot URL
11124
11512
  # Corresponds to the JSON property `sourceDisk`
11125
11513
  # @return [String]
11126
11514
  attr_accessor :source_disk
@@ -11141,10 +11529,10 @@ module Google
11141
11529
  # URL of the source image used to create this image.
11142
11530
  # In order to create an image, you must provide the full or partial URL of one
11143
11531
  # of the following:
11144
- # - The selfLink URL
11145
- # - This property
11146
11532
  # - The rawDisk.source URL
11147
11533
  # - The sourceDisk URL
11534
+ # - The sourceImage URL
11535
+ # - The sourceSnapshot URL
11148
11536
  # Corresponds to the JSON property `sourceImage`
11149
11537
  # @return [String]
11150
11538
  attr_accessor :source_image
@@ -11165,11 +11553,10 @@ module Google
11165
11553
  # URL of the source snapshot used to create this image.
11166
11554
  # In order to create an image, you must provide the full or partial URL of one
11167
11555
  # of the following:
11168
- # - The selfLink URL
11169
- # - This property
11170
- # - The sourceImage URL
11171
11556
  # - The rawDisk.source URL
11172
11557
  # - The sourceDisk URL
11558
+ # - The sourceImage URL
11559
+ # - The sourceSnapshot URL
11173
11560
  # Corresponds to the JSON property `sourceSnapshot`
11174
11561
  # @return [String]
11175
11562
  attr_accessor :source_snapshot
@@ -11263,8 +11650,13 @@ module Google
11263
11650
  # @return [String]
11264
11651
  attr_accessor :sha1_checksum
11265
11652
 
11266
- # The full Google Cloud Storage URL where the disk image is stored. You must
11267
- # provide either this property or the sourceDisk property but not both.
11653
+ # The full Google Cloud Storage URL where the disk image is stored.
11654
+ # In order to create an image, you must provide the full or partial URL of one
11655
+ # of the following:
11656
+ # - The rawDisk.source URL
11657
+ # - The sourceDisk URL
11658
+ # - The sourceImage URL
11659
+ # - The sourceSnapshot URL
11268
11660
  # Corresponds to the JSON property `source`
11269
11661
  # @return [String]
11270
11662
  attr_accessor :source
@@ -11635,7 +12027,7 @@ module Google
11635
12027
  attr_accessor :satisfies_pzs
11636
12028
  alias_method :satisfies_pzs?, :satisfies_pzs
11637
12029
 
11638
- # Sets the scheduling options for an Instance. NextID: 17
12030
+ # Sets the scheduling options for an Instance. NextID: 21
11639
12031
  # Corresponds to the JSON property `scheduling`
11640
12032
  # @return [Google::Apis::ComputeV1::Scheduling]
11641
12033
  attr_accessor :scheduling
@@ -12231,6 +12623,13 @@ module Google
12231
12623
  end
12232
12624
  end
12233
12625
 
12626
+ # Whether the instance is a standby. Properties of a standby instance comparing
12627
+ # to the regular instance: ======================================================
12628
+ # =================== | regular | standby =======================================
12629
+ # ================================== managed by IGM? | yes | yes added to the IG?
12630
+ # | yes | yes counts towards IGM's target size? | yes | no taken into account
12631
+ # by Autoscaler? | yes | no receives traffic from LB? | yes | no ================
12632
+ # =========================================================
12234
12633
  # Represents a Managed Instance Group resource.
12235
12634
  # An instance group is a collection of VM instances that you can manage as a
12236
12635
  # single entity. For more information, read Instance groups.
@@ -14256,7 +14655,7 @@ module Google
14256
14655
  # @return [Array<String>]
14257
14656
  attr_accessor :resource_policies
14258
14657
 
14259
- # Sets the scheduling options for an Instance. NextID: 17
14658
+ # Sets the scheduling options for an Instance. NextID: 21
14260
14659
  # Corresponds to the JSON property `scheduling`
14261
14660
  # @return [Google::Apis::ComputeV1::Scheduling]
14262
14661
  attr_accessor :scheduling
@@ -14607,7 +15006,8 @@ module Google
14607
15006
  class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy
14608
15007
  include Google::Apis::Core::Hashable
14609
15008
 
14610
- # [Output Only] The display name of the firewall policy.
15009
+ # [Output Only] Deprecated, please use short name instead. The display name of
15010
+ # the firewall policy.
14611
15011
  # Corresponds to the JSON property `displayName`
14612
15012
  # @return [String]
14613
15013
  attr_accessor :display_name
@@ -14622,6 +15022,11 @@ module Google
14622
15022
  # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
14623
15023
  attr_accessor :rules
14624
15024
 
15025
+ # [Output Only] The short name of the firewall policy.
15026
+ # Corresponds to the JSON property `shortName`
15027
+ # @return [String]
15028
+ attr_accessor :short_name
15029
+
14625
15030
  # [Output Only] The type of the firewall policy.
14626
15031
  # Corresponds to the JSON property `type`
14627
15032
  # @return [String]
@@ -14636,6 +15041,7 @@ module Google
14636
15041
  @display_name = args[:display_name] if args.key?(:display_name)
14637
15042
  @name = args[:name] if args.key?(:name)
14638
15043
  @rules = args[:rules] if args.key?(:rules)
15044
+ @short_name = args[:short_name] if args.key?(:short_name)
14639
15045
  @type = args[:type] if args.key?(:type)
14640
15046
  end
14641
15047
  end
@@ -15193,6 +15599,19 @@ module Google
15193
15599
  # @return [String]
15194
15600
  attr_accessor :edge_availability_domain
15195
15601
 
15602
+ # Indicates the user-supplied encryption option of this interconnect attachment:
15603
+ # - NONE is the default value, which means that the attachment carries
15604
+ # unencrypted traffic. VMs can send traffic to, or receive traffic from, this
15605
+ # type of attachment.
15606
+ # - IPSEC indicates that the attachment carries only traffic encrypted by an
15607
+ # IPsec device such as an HA VPN gateway. VMs cannot directly send traffic to,
15608
+ # or receive traffic from, such an attachment. To use IPsec-encrypted Cloud
15609
+ # Interconnect, create the attachment using this option.
15610
+ # Not currently available in all Interconnect locations.
15611
+ # Corresponds to the JSON property `encryption`
15612
+ # @return [String]
15613
+ attr_accessor :encryption
15614
+
15196
15615
  # [Output Only] Google reference ID, to be used when raising support tickets
15197
15616
  # with Google or otherwise to debug backend connectivity issues. [Deprecated]
15198
15617
  # This field is not used.
@@ -15212,6 +15631,23 @@ module Google
15212
15631
  # @return [String]
15213
15632
  attr_accessor :interconnect
15214
15633
 
15634
+ # URL of addresses that have been reserved for the interconnect attachment, Used
15635
+ # only for interconnect attachment that has the encryption option as IPSEC. The
15636
+ # addresses must be RFC 1918 IP address ranges. When creating HA VPN gateway
15637
+ # over the interconnect attachment, if the attachment is configured to use an
15638
+ # RFC 1918 IP address, then the VPN gateway's IP address will be allocated from
15639
+ # the IP address range specified here. For example, if the HA VPN gateway's
15640
+ # interface 0 is paired to this interconnect attachment, then an RFC 1918 IP
15641
+ # address for the VPN gateway interface 0 will be allocated from the IP address
15642
+ # specified for this interconnect attachment. If this field is not specified for
15643
+ # interconnect attachment that has encryption option as IPSEC, later on when
15644
+ # creating HA VPN gateway on this interconnect attachment, the HA VPN gateway's
15645
+ # IP address will be allocated from regional external IP address pool.
15646
+ # Not currently available in all Interconnect locations.
15647
+ # Corresponds to the JSON property `ipsecInternalAddresses`
15648
+ # @return [Array<String>]
15649
+ attr_accessor :ipsec_internal_addresses
15650
+
15215
15651
  # [Output Only] Type of the resource. Always compute#interconnectAttachment for
15216
15652
  # interconnect attachments.
15217
15653
  # Corresponds to the JSON property `kind`
@@ -15346,9 +15782,11 @@ module Google
15346
15782
  @dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
15347
15783
  @description = args[:description] if args.key?(:description)
15348
15784
  @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
15785
+ @encryption = args[:encryption] if args.key?(:encryption)
15349
15786
  @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id)
15350
15787
  @id = args[:id] if args.key?(:id)
15351
15788
  @interconnect = args[:interconnect] if args.key?(:interconnect)
15789
+ @ipsec_internal_addresses = args[:ipsec_internal_addresses] if args.key?(:ipsec_internal_addresses)
15352
15790
  @kind = args[:kind] if args.key?(:kind)
15353
15791
  @mtu = args[:mtu] if args.key?(:mtu)
15354
15792
  @name = args[:name] if args.key?(:name)
@@ -16858,7 +17296,7 @@ module Google
16858
17296
  include Google::Apis::Core::Hashable
16859
17297
 
16860
17298
  # Location configurations mapped by location name. Currently only zone names are
16861
- # supported and must be represented as valid internal URLs, like: zones/us-
17299
+ # supported and must be represented as valid internal URLs, such as zones/us-
16862
17300
  # central1-a.
16863
17301
  # Corresponds to the JSON property `locations`
16864
17302
  # @return [Hash<String,Google::Apis::ComputeV1::LocationPolicyLocation>]
@@ -16878,7 +17316,7 @@ module Google
16878
17316
  class LocationPolicyLocation
16879
17317
  include Google::Apis::Core::Hashable
16880
17318
 
16881
- #
17319
+ # Preference for a given location: ALLOW or DENY.
16882
17320
  # Corresponds to the JSON property `preference`
16883
17321
  # @return [String]
16884
17322
  attr_accessor :preference
@@ -18931,13 +19369,28 @@ module Google
18931
19369
 
18932
19370
  # Fingerprint hash of contents stored in this network interface. This field will
18933
19371
  # be ignored when inserting an Instance or adding a NetworkInterface. An up-to-
18934
- # date fingerprint must be provided in order to update the NetworkInterface,
18935
- # otherwise the request will fail with error 412 conditionNotMet.
19372
+ # date fingerprint must be provided in order to update the NetworkInterface. The
19373
+ # request will fail with error 400 Bad Request if the fingerprint is not
19374
+ # provided, or 412 Precondition Failed if the fingerprint is out of date.
18936
19375
  # Corresponds to the JSON property `fingerprint`
18937
19376
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
18938
19377
  # @return [String]
18939
19378
  attr_accessor :fingerprint
18940
19379
 
19380
+ # An array of IPv6 access configurations for this interface. Currently, only one
19381
+ # IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig
19382
+ # specified, then this instance will have no external IPv6 Internet access.
19383
+ # Corresponds to the JSON property `ipv6AccessConfigs`
19384
+ # @return [Array<Google::Apis::ComputeV1::AccessConfig>]
19385
+ attr_accessor :ipv6_access_configs
19386
+
19387
+ # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be
19388
+ # accessed from the Internet. This field is always inherited from its subnetwork.
19389
+ # Valid only if stackType is IPV4_IPV6.
19390
+ # Corresponds to the JSON property `ipv6AccessType`
19391
+ # @return [String]
19392
+ attr_accessor :ipv6_access_type
19393
+
18941
19394
  # [Output Only] An IPv6 internal network address for this network interface.
18942
19395
  # Corresponds to the JSON property `ipv6Address`
18943
19396
  # @return [String]
@@ -18981,6 +19434,14 @@ module Google
18981
19434
  # @return [String]
18982
19435
  attr_accessor :nic_type
18983
19436
 
19437
+ # The stack type for this network interface to identify whether the IPv6 feature
19438
+ # is enabled or not. If not specified, IPV4_ONLY will be used.
19439
+ # This field can be both set at instance creation and update network interface
19440
+ # operations.
19441
+ # Corresponds to the JSON property `stackType`
19442
+ # @return [String]
19443
+ attr_accessor :stack_type
19444
+
18984
19445
  # The URL of the Subnetwork resource for this instance. If the network resource
18985
19446
  # is in legacy mode, do not specify this field. If the network is in auto subnet
18986
19447
  # mode, specifying the subnetwork is optional. If the network is in custom
@@ -19003,12 +19464,15 @@ module Google
19003
19464
  @access_configs = args[:access_configs] if args.key?(:access_configs)
19004
19465
  @alias_ip_ranges = args[:alias_ip_ranges] if args.key?(:alias_ip_ranges)
19005
19466
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
19467
+ @ipv6_access_configs = args[:ipv6_access_configs] if args.key?(:ipv6_access_configs)
19468
+ @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
19006
19469
  @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
19007
19470
  @kind = args[:kind] if args.key?(:kind)
19008
19471
  @name = args[:name] if args.key?(:name)
19009
19472
  @network = args[:network] if args.key?(:network)
19010
19473
  @network_ip = args[:network_ip] if args.key?(:network_ip)
19011
19474
  @nic_type = args[:nic_type] if args.key?(:nic_type)
19475
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
19012
19476
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
19013
19477
  end
19014
19478
  end
@@ -19340,7 +19804,8 @@ module Google
19340
19804
  class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy
19341
19805
  include Google::Apis::Core::Hashable
19342
19806
 
19343
- # [Output Only] The display name of the firewall policy.
19807
+ # [Output Only] Deprecated, please use short name instead. The display name of
19808
+ # the firewall policy.
19344
19809
  # Corresponds to the JSON property `displayName`
19345
19810
  # @return [String]
19346
19811
  attr_accessor :display_name
@@ -19355,6 +19820,11 @@ module Google
19355
19820
  # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
19356
19821
  attr_accessor :rules
19357
19822
 
19823
+ # [Output Only] The short name of the firewall policy.
19824
+ # Corresponds to the JSON property `shortName`
19825
+ # @return [String]
19826
+ attr_accessor :short_name
19827
+
19358
19828
  # [Output Only] The type of the firewall policy.
19359
19829
  # Corresponds to the JSON property `type`
19360
19830
  # @return [String]
@@ -19369,6 +19839,7 @@ module Google
19369
19839
  @display_name = args[:display_name] if args.key?(:display_name)
19370
19840
  @name = args[:name] if args.key?(:name)
19371
19841
  @rules = args[:rules] if args.key?(:rules)
19842
+ @short_name = args[:short_name] if args.key?(:short_name)
19372
19843
  @type = args[:type] if args.key?(:type)
19373
19844
  end
19374
19845
  end
@@ -23351,88 +23822,10 @@ module Google
23351
23822
  end
23352
23823
  end
23353
23824
 
23354
- # A quotas entry.
23355
- class Quota
23356
- include Google::Apis::Core::Hashable
23357
-
23358
- # [Output Only] Quota limit for this metric.
23359
- # Corresponds to the JSON property `limit`
23360
- # @return [Float]
23361
- attr_accessor :limit
23362
-
23363
- # [Output Only] Name of the quota metric.
23364
- # Corresponds to the JSON property `metric`
23365
- # @return [String]
23366
- attr_accessor :metric
23367
-
23368
- # [Output Only] Owning resource. This is the resource on which this quota is
23369
- # applied.
23370
- # Corresponds to the JSON property `owner`
23371
- # @return [String]
23372
- attr_accessor :owner
23373
-
23374
- # [Output Only] Current usage of this metric.
23375
- # Corresponds to the JSON property `usage`
23376
- # @return [Float]
23377
- attr_accessor :usage
23378
-
23379
- def initialize(**args)
23380
- update!(**args)
23381
- end
23382
-
23383
- # Update properties of this object
23384
- def update!(**args)
23385
- @limit = args[:limit] if args.key?(:limit)
23386
- @metric = args[:metric] if args.key?(:metric)
23387
- @owner = args[:owner] if args.key?(:owner)
23388
- @usage = args[:usage] if args.key?(:usage)
23389
- end
23390
- end
23391
-
23392
- # Represents a reference to a resource.
23393
- class Reference
23394
- include Google::Apis::Core::Hashable
23395
-
23396
- # [Output Only] Type of the resource. Always compute#reference for references.
23397
- # Corresponds to the JSON property `kind`
23398
- # @return [String]
23399
- attr_accessor :kind
23400
-
23401
- # A description of the reference type with no implied semantics. Possible values
23402
- # include:
23403
- # - MEMBER_OF
23404
- # Corresponds to the JSON property `referenceType`
23405
- # @return [String]
23406
- attr_accessor :reference_type
23407
-
23408
- # URL of the resource which refers to the target.
23409
- # Corresponds to the JSON property `referrer`
23410
- # @return [String]
23411
- attr_accessor :referrer
23412
-
23413
- # URL of the resource to which this reference points.
23414
- # Corresponds to the JSON property `target`
23415
- # @return [String]
23416
- attr_accessor :target
23417
-
23418
- def initialize(**args)
23419
- update!(**args)
23420
- end
23421
-
23422
- # Update properties of this object
23423
- def update!(**args)
23424
- @kind = args[:kind] if args.key?(:kind)
23425
- @reference_type = args[:reference_type] if args.key?(:reference_type)
23426
- @referrer = args[:referrer] if args.key?(:referrer)
23427
- @target = args[:target] if args.key?(:target)
23428
- end
23429
- end
23430
-
23431
- # Represents a Region resource.
23432
- # A region is a geographical area where a resource is located. For more
23433
- # information, read Regions and Zones. (== resource_for `$api_version`.regions ==
23434
- # )
23435
- class Region
23825
+ # A public advertised prefix represents an aggregated IP prefix or netblock
23826
+ # which customers bring to cloud. The IP prefix is a single unit of route
23827
+ # advertisement and is announced globally to the internet.
23828
+ class PublicAdvertisedPrefix
23436
23829
  include Google::Apis::Core::Hashable
23437
23830
 
23438
23831
  # [Output Only] Creation timestamp in RFC3339 text format.
@@ -23440,59 +23833,78 @@ module Google
23440
23833
  # @return [String]
23441
23834
  attr_accessor :creation_timestamp
23442
23835
 
23443
- # Deprecation status for a public resource.
23444
- # Corresponds to the JSON property `deprecated`
23445
- # @return [Google::Apis::ComputeV1::DeprecationStatus]
23446
- attr_accessor :deprecated
23447
-
23448
- # [Output Only] Textual description of the resource.
23836
+ # An optional description of this resource. Provide this property when you
23837
+ # create the resource.
23449
23838
  # Corresponds to the JSON property `description`
23450
23839
  # @return [String]
23451
23840
  attr_accessor :description
23452
23841
 
23453
- # [Output Only] The unique identifier for the resource. This identifier is
23454
- # defined by the server.
23842
+ # The IPv4 address to be used for reverse DNS verification.
23843
+ # Corresponds to the JSON property `dnsVerificationIp`
23844
+ # @return [String]
23845
+ attr_accessor :dns_verification_ip
23846
+
23847
+ # Fingerprint of this resource. A hash of the contents stored in this object.
23848
+ # This field is used in optimistic locking. This field will be ignored when
23849
+ # inserting a new PublicAdvertisedPrefix. An up-to-date fingerprint must be
23850
+ # provided in order to update the PublicAdvertisedPrefix, otherwise the request
23851
+ # will fail with error 412 conditionNotMet.
23852
+ # To see the latest fingerprint, make a get() request to retrieve a
23853
+ # PublicAdvertisedPrefix.
23854
+ # Corresponds to the JSON property `fingerprint`
23855
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
23856
+ # @return [String]
23857
+ attr_accessor :fingerprint
23858
+
23859
+ # [Output Only] The unique identifier for the resource type. The server
23860
+ # generates this identifier.
23455
23861
  # Corresponds to the JSON property `id`
23456
23862
  # @return [Fixnum]
23457
23863
  attr_accessor :id
23458
23864
 
23459
- # [Output Only] Type of the resource. Always compute#region for regions.
23865
+ # The IPv4 address range, in CIDR format, represented by this public advertised
23866
+ # prefix.
23867
+ # Corresponds to the JSON property `ipCidrRange`
23868
+ # @return [String]
23869
+ attr_accessor :ip_cidr_range
23870
+
23871
+ # [Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for
23872
+ # public advertised prefixes.
23460
23873
  # Corresponds to the JSON property `kind`
23461
23874
  # @return [String]
23462
23875
  attr_accessor :kind
23463
23876
 
23464
- # [Output Only] Name of the resource.
23877
+ # Name of the resource. Provided by the client when the resource is created. The
23878
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
23879
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
23880
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
23881
+ # and all following characters must be a dash, lowercase letter, or digit,
23882
+ # except the last character, which cannot be a dash.
23465
23883
  # Corresponds to the JSON property `name`
23466
23884
  # @return [String]
23467
23885
  attr_accessor :name
23468
23886
 
23469
- # [Output Only] Quotas assigned to this region.
23470
- # Corresponds to the JSON property `quotas`
23471
- # @return [Array<Google::Apis::ComputeV1::Quota>]
23472
- attr_accessor :quotas
23887
+ # [Output Only] The list of public delegated prefixes that exist for this public
23888
+ # advertised prefix.
23889
+ # Corresponds to the JSON property `publicDelegatedPrefixs`
23890
+ # @return [Array<Google::Apis::ComputeV1::PublicAdvertisedPrefixPublicDelegatedPrefix>]
23891
+ attr_accessor :public_delegated_prefixs
23473
23892
 
23474
23893
  # [Output Only] Server-defined URL for the resource.
23475
23894
  # Corresponds to the JSON property `selfLink`
23476
23895
  # @return [String]
23477
23896
  attr_accessor :self_link
23478
23897
 
23479
- # [Output Only] Status of the region, either UP or DOWN.
23898
+ # [Output Only] The shared secret to be used for reverse DNS verification.
23899
+ # Corresponds to the JSON property `sharedSecret`
23900
+ # @return [String]
23901
+ attr_accessor :shared_secret
23902
+
23903
+ # The status of the public advertised prefix.
23480
23904
  # Corresponds to the JSON property `status`
23481
23905
  # @return [String]
23482
23906
  attr_accessor :status
23483
23907
 
23484
- # [Output Only] Reserved for future use.
23485
- # Corresponds to the JSON property `supportsPzs`
23486
- # @return [Boolean]
23487
- attr_accessor :supports_pzs
23488
- alias_method :supports_pzs?, :supports_pzs
23489
-
23490
- # [Output Only] A list of zones available in this region, in the form of
23491
- # resource URLs.
23492
- # Corresponds to the JSON property `zones`
23493
- # @return [Array<String>]
23494
- attr_accessor :zones
23495
-
23496
23908
  def initialize(**args)
23497
23909
  update!(**args)
23498
23910
  end
@@ -23500,21 +23912,22 @@ module Google
23500
23912
  # Update properties of this object
23501
23913
  def update!(**args)
23502
23914
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
23503
- @deprecated = args[:deprecated] if args.key?(:deprecated)
23504
23915
  @description = args[:description] if args.key?(:description)
23916
+ @dns_verification_ip = args[:dns_verification_ip] if args.key?(:dns_verification_ip)
23917
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
23505
23918
  @id = args[:id] if args.key?(:id)
23919
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
23506
23920
  @kind = args[:kind] if args.key?(:kind)
23507
23921
  @name = args[:name] if args.key?(:name)
23508
- @quotas = args[:quotas] if args.key?(:quotas)
23922
+ @public_delegated_prefixs = args[:public_delegated_prefixs] if args.key?(:public_delegated_prefixs)
23509
23923
  @self_link = args[:self_link] if args.key?(:self_link)
23924
+ @shared_secret = args[:shared_secret] if args.key?(:shared_secret)
23510
23925
  @status = args[:status] if args.key?(:status)
23511
- @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
23512
- @zones = args[:zones] if args.key?(:zones)
23513
23926
  end
23514
23927
  end
23515
23928
 
23516
- # Contains a list of autoscalers.
23517
- class RegionAutoscalerList
23929
+ #
23930
+ class PublicAdvertisedPrefixList
23518
23931
  include Google::Apis::Core::Hashable
23519
23932
 
23520
23933
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -23522,12 +23935,13 @@ module Google
23522
23935
  # @return [String]
23523
23936
  attr_accessor :id
23524
23937
 
23525
- # A list of Autoscaler resources.
23938
+ # A list of PublicAdvertisedPrefix resources.
23526
23939
  # Corresponds to the JSON property `items`
23527
- # @return [Array<Google::Apis::ComputeV1::Autoscaler>]
23940
+ # @return [Array<Google::Apis::ComputeV1::PublicAdvertisedPrefix>]
23528
23941
  attr_accessor :items
23529
23942
 
23530
- # Type of resource.
23943
+ # [Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for
23944
+ # public advertised prefixes.
23531
23945
  # Corresponds to the JSON property `kind`
23532
23946
  # @return [String]
23533
23947
  attr_accessor :kind
@@ -23548,7 +23962,843 @@ module Google
23548
23962
 
23549
23963
  # [Output Only] Informational warning message.
23550
23964
  # Corresponds to the JSON property `warning`
23551
- # @return [Google::Apis::ComputeV1::RegionAutoscalerList::Warning]
23965
+ # @return [Google::Apis::ComputeV1::PublicAdvertisedPrefixList::Warning]
23966
+ attr_accessor :warning
23967
+
23968
+ def initialize(**args)
23969
+ update!(**args)
23970
+ end
23971
+
23972
+ # Update properties of this object
23973
+ def update!(**args)
23974
+ @id = args[:id] if args.key?(:id)
23975
+ @items = args[:items] if args.key?(:items)
23976
+ @kind = args[:kind] if args.key?(:kind)
23977
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
23978
+ @self_link = args[:self_link] if args.key?(:self_link)
23979
+ @warning = args[:warning] if args.key?(:warning)
23980
+ end
23981
+
23982
+ # [Output Only] Informational warning message.
23983
+ class Warning
23984
+ include Google::Apis::Core::Hashable
23985
+
23986
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
23987
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
23988
+ # Corresponds to the JSON property `code`
23989
+ # @return [String]
23990
+ attr_accessor :code
23991
+
23992
+ # [Output Only] Metadata about this warning in key: value format. For example:
23993
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
23994
+ # Corresponds to the JSON property `data`
23995
+ # @return [Array<Google::Apis::ComputeV1::PublicAdvertisedPrefixList::Warning::Datum>]
23996
+ attr_accessor :data
23997
+
23998
+ # [Output Only] A human-readable description of the warning code.
23999
+ # Corresponds to the JSON property `message`
24000
+ # @return [String]
24001
+ attr_accessor :message
24002
+
24003
+ def initialize(**args)
24004
+ update!(**args)
24005
+ end
24006
+
24007
+ # Update properties of this object
24008
+ def update!(**args)
24009
+ @code = args[:code] if args.key?(:code)
24010
+ @data = args[:data] if args.key?(:data)
24011
+ @message = args[:message] if args.key?(:message)
24012
+ end
24013
+
24014
+ #
24015
+ class Datum
24016
+ include Google::Apis::Core::Hashable
24017
+
24018
+ # [Output Only] A key that provides more detail on the warning being returned.
24019
+ # For example, for warnings where there are no results in a list request for a
24020
+ # particular zone, this key might be scope and the key value might be the zone
24021
+ # name. Other examples might be a key indicating a deprecated resource and a
24022
+ # suggested replacement, or a warning about invalid network settings (for
24023
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24024
+ # for IP forwarding).
24025
+ # Corresponds to the JSON property `key`
24026
+ # @return [String]
24027
+ attr_accessor :key
24028
+
24029
+ # [Output Only] A warning data value corresponding to the key.
24030
+ # Corresponds to the JSON property `value`
24031
+ # @return [String]
24032
+ attr_accessor :value
24033
+
24034
+ def initialize(**args)
24035
+ update!(**args)
24036
+ end
24037
+
24038
+ # Update properties of this object
24039
+ def update!(**args)
24040
+ @key = args[:key] if args.key?(:key)
24041
+ @value = args[:value] if args.key?(:value)
24042
+ end
24043
+ end
24044
+ end
24045
+ end
24046
+
24047
+ # Represents a CIDR range which can be used to assign addresses.
24048
+ class PublicAdvertisedPrefixPublicDelegatedPrefix
24049
+ include Google::Apis::Core::Hashable
24050
+
24051
+ # The IP address range of the public delegated prefix
24052
+ # Corresponds to the JSON property `ipRange`
24053
+ # @return [String]
24054
+ attr_accessor :ip_range
24055
+
24056
+ # The name of the public delegated prefix
24057
+ # Corresponds to the JSON property `name`
24058
+ # @return [String]
24059
+ attr_accessor :name
24060
+
24061
+ # The project number of the public delegated prefix
24062
+ # Corresponds to the JSON property `project`
24063
+ # @return [String]
24064
+ attr_accessor :project
24065
+
24066
+ # The region of the public delegated prefix if it is regional. If absent, the
24067
+ # prefix is global.
24068
+ # Corresponds to the JSON property `region`
24069
+ # @return [String]
24070
+ attr_accessor :region
24071
+
24072
+ # The status of the public delegated prefix. Possible values are: INITIALIZING:
24073
+ # The public delegated prefix is being initialized and addresses cannot be
24074
+ # created yet. ANNOUNCED: The public delegated prefix is active.
24075
+ # Corresponds to the JSON property `status`
24076
+ # @return [String]
24077
+ attr_accessor :status
24078
+
24079
+ def initialize(**args)
24080
+ update!(**args)
24081
+ end
24082
+
24083
+ # Update properties of this object
24084
+ def update!(**args)
24085
+ @ip_range = args[:ip_range] if args.key?(:ip_range)
24086
+ @name = args[:name] if args.key?(:name)
24087
+ @project = args[:project] if args.key?(:project)
24088
+ @region = args[:region] if args.key?(:region)
24089
+ @status = args[:status] if args.key?(:status)
24090
+ end
24091
+ end
24092
+
24093
+ # A PublicDelegatedPrefix resource represents an IP block within a
24094
+ # PublicAdvertisedPrefix that is configured within a single cloud scope (global
24095
+ # or region). IPs in the block can be allocated to resources within that scope.
24096
+ # Public delegated prefixes may be further broken up into smaller IP blocks in
24097
+ # the same scope as the parent block.
24098
+ class PublicDelegatedPrefix
24099
+ include Google::Apis::Core::Hashable
24100
+
24101
+ # [Output Only] Creation timestamp in RFC3339 text format.
24102
+ # Corresponds to the JSON property `creationTimestamp`
24103
+ # @return [String]
24104
+ attr_accessor :creation_timestamp
24105
+
24106
+ # An optional description of this resource. Provide this property when you
24107
+ # create the resource.
24108
+ # Corresponds to the JSON property `description`
24109
+ # @return [String]
24110
+ attr_accessor :description
24111
+
24112
+ # Fingerprint of this resource. A hash of the contents stored in this object.
24113
+ # This field is used in optimistic locking. This field will be ignored when
24114
+ # inserting a new PublicDelegatedPrefix. An up-to-date fingerprint must be
24115
+ # provided in order to update the PublicDelegatedPrefix, otherwise the request
24116
+ # will fail with error 412 conditionNotMet.
24117
+ # To see the latest fingerprint, make a get() request to retrieve a
24118
+ # PublicDelegatedPrefix.
24119
+ # Corresponds to the JSON property `fingerprint`
24120
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
24121
+ # @return [String]
24122
+ attr_accessor :fingerprint
24123
+
24124
+ # [Output Only] The unique identifier for the resource type. The server
24125
+ # generates this identifier.
24126
+ # Corresponds to the JSON property `id`
24127
+ # @return [Fixnum]
24128
+ attr_accessor :id
24129
+
24130
+ # The IPv4 address range, in CIDR format, represented by this public delegated
24131
+ # prefix.
24132
+ # Corresponds to the JSON property `ipCidrRange`
24133
+ # @return [String]
24134
+ attr_accessor :ip_cidr_range
24135
+
24136
+ # If true, the prefix will be live migrated.
24137
+ # Corresponds to the JSON property `isLiveMigration`
24138
+ # @return [Boolean]
24139
+ attr_accessor :is_live_migration
24140
+ alias_method :is_live_migration?, :is_live_migration
24141
+
24142
+ # [Output Only] Type of the resource. Always compute#publicDelegatedPrefix for
24143
+ # public delegated prefixes.
24144
+ # Corresponds to the JSON property `kind`
24145
+ # @return [String]
24146
+ attr_accessor :kind
24147
+
24148
+ # Name of the resource. Provided by the client when the resource is created. The
24149
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
24150
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
24151
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
24152
+ # and all following characters must be a dash, lowercase letter, or digit,
24153
+ # except the last character, which cannot be a dash.
24154
+ # Corresponds to the JSON property `name`
24155
+ # @return [String]
24156
+ attr_accessor :name
24157
+
24158
+ # The URL of parent prefix. Either PublicAdvertisedPrefix or
24159
+ # PublicDelegatedPrefix.
24160
+ # Corresponds to the JSON property `parentPrefix`
24161
+ # @return [String]
24162
+ attr_accessor :parent_prefix
24163
+
24164
+ # The list of sub public delegated prefixes that exist for this public delegated
24165
+ # prefix.
24166
+ # Corresponds to the JSON property `publicDelegatedSubPrefixs`
24167
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixPublicDelegatedSubPrefix>]
24168
+ attr_accessor :public_delegated_sub_prefixs
24169
+
24170
+ # [Output Only] URL of the region where the public delegated prefix resides.
24171
+ # This field applies only to the region resource. You must specify this field as
24172
+ # part of the HTTP request URL. It is not settable as a field in the request
24173
+ # body.
24174
+ # Corresponds to the JSON property `region`
24175
+ # @return [String]
24176
+ attr_accessor :region
24177
+
24178
+ # [Output Only] Server-defined URL for the resource.
24179
+ # Corresponds to the JSON property `selfLink`
24180
+ # @return [String]
24181
+ attr_accessor :self_link
24182
+
24183
+ # [Output Only] The status of the public delegated prefix.
24184
+ # Corresponds to the JSON property `status`
24185
+ # @return [String]
24186
+ attr_accessor :status
24187
+
24188
+ def initialize(**args)
24189
+ update!(**args)
24190
+ end
24191
+
24192
+ # Update properties of this object
24193
+ def update!(**args)
24194
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
24195
+ @description = args[:description] if args.key?(:description)
24196
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
24197
+ @id = args[:id] if args.key?(:id)
24198
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
24199
+ @is_live_migration = args[:is_live_migration] if args.key?(:is_live_migration)
24200
+ @kind = args[:kind] if args.key?(:kind)
24201
+ @name = args[:name] if args.key?(:name)
24202
+ @parent_prefix = args[:parent_prefix] if args.key?(:parent_prefix)
24203
+ @public_delegated_sub_prefixs = args[:public_delegated_sub_prefixs] if args.key?(:public_delegated_sub_prefixs)
24204
+ @region = args[:region] if args.key?(:region)
24205
+ @self_link = args[:self_link] if args.key?(:self_link)
24206
+ @status = args[:status] if args.key?(:status)
24207
+ end
24208
+ end
24209
+
24210
+ #
24211
+ class PublicDelegatedPrefixAggregatedList
24212
+ include Google::Apis::Core::Hashable
24213
+
24214
+ # [Output Only] Unique identifier for the resource; defined by the server.
24215
+ # Corresponds to the JSON property `id`
24216
+ # @return [String]
24217
+ attr_accessor :id
24218
+
24219
+ # A list of PublicDelegatedPrefixesScopedList resources.
24220
+ # Corresponds to the JSON property `items`
24221
+ # @return [Hash<String,Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList>]
24222
+ attr_accessor :items
24223
+
24224
+ # [Output Only] Type of the resource. Always compute#
24225
+ # publicDelegatedPrefixAggregatedList for aggregated lists of public delegated
24226
+ # prefixes.
24227
+ # Corresponds to the JSON property `kind`
24228
+ # @return [String]
24229
+ attr_accessor :kind
24230
+
24231
+ # [Output Only] This token allows you to get the next page of results for list
24232
+ # requests. If the number of results is larger than maxResults, use the
24233
+ # nextPageToken as a value for the query parameter pageToken in the next list
24234
+ # request. Subsequent list requests will have their own nextPageToken to
24235
+ # continue paging through the results.
24236
+ # Corresponds to the JSON property `nextPageToken`
24237
+ # @return [String]
24238
+ attr_accessor :next_page_token
24239
+
24240
+ # [Output Only] Server-defined URL for this resource.
24241
+ # Corresponds to the JSON property `selfLink`
24242
+ # @return [String]
24243
+ attr_accessor :self_link
24244
+
24245
+ # [Output Only] Unreachable resources.
24246
+ # Corresponds to the JSON property `unreachables`
24247
+ # @return [Array<String>]
24248
+ attr_accessor :unreachables
24249
+
24250
+ # [Output Only] Informational warning message.
24251
+ # Corresponds to the JSON property `warning`
24252
+ # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList::Warning]
24253
+ attr_accessor :warning
24254
+
24255
+ def initialize(**args)
24256
+ update!(**args)
24257
+ end
24258
+
24259
+ # Update properties of this object
24260
+ def update!(**args)
24261
+ @id = args[:id] if args.key?(:id)
24262
+ @items = args[:items] if args.key?(:items)
24263
+ @kind = args[:kind] if args.key?(:kind)
24264
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
24265
+ @self_link = args[:self_link] if args.key?(:self_link)
24266
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
24267
+ @warning = args[:warning] if args.key?(:warning)
24268
+ end
24269
+
24270
+ # [Output Only] Informational warning message.
24271
+ class Warning
24272
+ include Google::Apis::Core::Hashable
24273
+
24274
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24275
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24276
+ # Corresponds to the JSON property `code`
24277
+ # @return [String]
24278
+ attr_accessor :code
24279
+
24280
+ # [Output Only] Metadata about this warning in key: value format. For example:
24281
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24282
+ # Corresponds to the JSON property `data`
24283
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList::Warning::Datum>]
24284
+ attr_accessor :data
24285
+
24286
+ # [Output Only] A human-readable description of the warning code.
24287
+ # Corresponds to the JSON property `message`
24288
+ # @return [String]
24289
+ attr_accessor :message
24290
+
24291
+ def initialize(**args)
24292
+ update!(**args)
24293
+ end
24294
+
24295
+ # Update properties of this object
24296
+ def update!(**args)
24297
+ @code = args[:code] if args.key?(:code)
24298
+ @data = args[:data] if args.key?(:data)
24299
+ @message = args[:message] if args.key?(:message)
24300
+ end
24301
+
24302
+ #
24303
+ class Datum
24304
+ include Google::Apis::Core::Hashable
24305
+
24306
+ # [Output Only] A key that provides more detail on the warning being returned.
24307
+ # For example, for warnings where there are no results in a list request for a
24308
+ # particular zone, this key might be scope and the key value might be the zone
24309
+ # name. Other examples might be a key indicating a deprecated resource and a
24310
+ # suggested replacement, or a warning about invalid network settings (for
24311
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24312
+ # for IP forwarding).
24313
+ # Corresponds to the JSON property `key`
24314
+ # @return [String]
24315
+ attr_accessor :key
24316
+
24317
+ # [Output Only] A warning data value corresponding to the key.
24318
+ # Corresponds to the JSON property `value`
24319
+ # @return [String]
24320
+ attr_accessor :value
24321
+
24322
+ def initialize(**args)
24323
+ update!(**args)
24324
+ end
24325
+
24326
+ # Update properties of this object
24327
+ def update!(**args)
24328
+ @key = args[:key] if args.key?(:key)
24329
+ @value = args[:value] if args.key?(:value)
24330
+ end
24331
+ end
24332
+ end
24333
+ end
24334
+
24335
+ #
24336
+ class PublicDelegatedPrefixList
24337
+ include Google::Apis::Core::Hashable
24338
+
24339
+ # [Output Only] Unique identifier for the resource; defined by the server.
24340
+ # Corresponds to the JSON property `id`
24341
+ # @return [String]
24342
+ attr_accessor :id
24343
+
24344
+ # A list of PublicDelegatedPrefix resources.
24345
+ # Corresponds to the JSON property `items`
24346
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefix>]
24347
+ attr_accessor :items
24348
+
24349
+ # [Output Only] Type of the resource. Always compute#publicDelegatedPrefixList
24350
+ # for public delegated prefixes.
24351
+ # Corresponds to the JSON property `kind`
24352
+ # @return [String]
24353
+ attr_accessor :kind
24354
+
24355
+ # [Output Only] This token allows you to get the next page of results for list
24356
+ # requests. If the number of results is larger than maxResults, use the
24357
+ # nextPageToken as a value for the query parameter pageToken in the next list
24358
+ # request. Subsequent list requests will have their own nextPageToken to
24359
+ # continue paging through the results.
24360
+ # Corresponds to the JSON property `nextPageToken`
24361
+ # @return [String]
24362
+ attr_accessor :next_page_token
24363
+
24364
+ # [Output Only] Server-defined URL for this resource.
24365
+ # Corresponds to the JSON property `selfLink`
24366
+ # @return [String]
24367
+ attr_accessor :self_link
24368
+
24369
+ # [Output Only] Informational warning message.
24370
+ # Corresponds to the JSON property `warning`
24371
+ # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixList::Warning]
24372
+ attr_accessor :warning
24373
+
24374
+ def initialize(**args)
24375
+ update!(**args)
24376
+ end
24377
+
24378
+ # Update properties of this object
24379
+ def update!(**args)
24380
+ @id = args[:id] if args.key?(:id)
24381
+ @items = args[:items] if args.key?(:items)
24382
+ @kind = args[:kind] if args.key?(:kind)
24383
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
24384
+ @self_link = args[:self_link] if args.key?(:self_link)
24385
+ @warning = args[:warning] if args.key?(:warning)
24386
+ end
24387
+
24388
+ # [Output Only] Informational warning message.
24389
+ class Warning
24390
+ include Google::Apis::Core::Hashable
24391
+
24392
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24393
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24394
+ # Corresponds to the JSON property `code`
24395
+ # @return [String]
24396
+ attr_accessor :code
24397
+
24398
+ # [Output Only] Metadata about this warning in key: value format. For example:
24399
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24400
+ # Corresponds to the JSON property `data`
24401
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixList::Warning::Datum>]
24402
+ attr_accessor :data
24403
+
24404
+ # [Output Only] A human-readable description of the warning code.
24405
+ # Corresponds to the JSON property `message`
24406
+ # @return [String]
24407
+ attr_accessor :message
24408
+
24409
+ def initialize(**args)
24410
+ update!(**args)
24411
+ end
24412
+
24413
+ # Update properties of this object
24414
+ def update!(**args)
24415
+ @code = args[:code] if args.key?(:code)
24416
+ @data = args[:data] if args.key?(:data)
24417
+ @message = args[:message] if args.key?(:message)
24418
+ end
24419
+
24420
+ #
24421
+ class Datum
24422
+ include Google::Apis::Core::Hashable
24423
+
24424
+ # [Output Only] A key that provides more detail on the warning being returned.
24425
+ # For example, for warnings where there are no results in a list request for a
24426
+ # particular zone, this key might be scope and the key value might be the zone
24427
+ # name. Other examples might be a key indicating a deprecated resource and a
24428
+ # suggested replacement, or a warning about invalid network settings (for
24429
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24430
+ # for IP forwarding).
24431
+ # Corresponds to the JSON property `key`
24432
+ # @return [String]
24433
+ attr_accessor :key
24434
+
24435
+ # [Output Only] A warning data value corresponding to the key.
24436
+ # Corresponds to the JSON property `value`
24437
+ # @return [String]
24438
+ attr_accessor :value
24439
+
24440
+ def initialize(**args)
24441
+ update!(**args)
24442
+ end
24443
+
24444
+ # Update properties of this object
24445
+ def update!(**args)
24446
+ @key = args[:key] if args.key?(:key)
24447
+ @value = args[:value] if args.key?(:value)
24448
+ end
24449
+ end
24450
+ end
24451
+ end
24452
+
24453
+ # Represents a sub PublicDelegatedPrefix.
24454
+ class PublicDelegatedPrefixPublicDelegatedSubPrefix
24455
+ include Google::Apis::Core::Hashable
24456
+
24457
+ # Name of the project scoping this PublicDelegatedSubPrefix.
24458
+ # Corresponds to the JSON property `delegateeProject`
24459
+ # @return [String]
24460
+ attr_accessor :delegatee_project
24461
+
24462
+ # An optional description of this resource. Provide this property when you
24463
+ # create the resource.
24464
+ # Corresponds to the JSON property `description`
24465
+ # @return [String]
24466
+ attr_accessor :description
24467
+
24468
+ # The IPv4 address range, in CIDR format, represented by this sub public
24469
+ # delegated prefix.
24470
+ # Corresponds to the JSON property `ipCidrRange`
24471
+ # @return [String]
24472
+ attr_accessor :ip_cidr_range
24473
+
24474
+ # Whether the sub prefix is delegated to create Address resources in the
24475
+ # delegatee project.
24476
+ # Corresponds to the JSON property `isAddress`
24477
+ # @return [Boolean]
24478
+ attr_accessor :is_address
24479
+ alias_method :is_address?, :is_address
24480
+
24481
+ # The name of the sub public delegated prefix.
24482
+ # Corresponds to the JSON property `name`
24483
+ # @return [String]
24484
+ attr_accessor :name
24485
+
24486
+ # [Output Only] The region of the sub public delegated prefix if it is regional.
24487
+ # If absent, the sub prefix is global.
24488
+ # Corresponds to the JSON property `region`
24489
+ # @return [String]
24490
+ attr_accessor :region
24491
+
24492
+ # [Output Only] The status of the sub public delegated prefix.
24493
+ # Corresponds to the JSON property `status`
24494
+ # @return [String]
24495
+ attr_accessor :status
24496
+
24497
+ def initialize(**args)
24498
+ update!(**args)
24499
+ end
24500
+
24501
+ # Update properties of this object
24502
+ def update!(**args)
24503
+ @delegatee_project = args[:delegatee_project] if args.key?(:delegatee_project)
24504
+ @description = args[:description] if args.key?(:description)
24505
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
24506
+ @is_address = args[:is_address] if args.key?(:is_address)
24507
+ @name = args[:name] if args.key?(:name)
24508
+ @region = args[:region] if args.key?(:region)
24509
+ @status = args[:status] if args.key?(:status)
24510
+ end
24511
+ end
24512
+
24513
+ #
24514
+ class PublicDelegatedPrefixesScopedList
24515
+ include Google::Apis::Core::Hashable
24516
+
24517
+ # [Output Only] A list of PublicDelegatedPrefixes contained in this scope.
24518
+ # Corresponds to the JSON property `publicDelegatedPrefixes`
24519
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefix>]
24520
+ attr_accessor :public_delegated_prefixes
24521
+
24522
+ # [Output Only] Informational warning which replaces the list of public
24523
+ # delegated prefixes when the list is empty.
24524
+ # Corresponds to the JSON property `warning`
24525
+ # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList::Warning]
24526
+ attr_accessor :warning
24527
+
24528
+ def initialize(**args)
24529
+ update!(**args)
24530
+ end
24531
+
24532
+ # Update properties of this object
24533
+ def update!(**args)
24534
+ @public_delegated_prefixes = args[:public_delegated_prefixes] if args.key?(:public_delegated_prefixes)
24535
+ @warning = args[:warning] if args.key?(:warning)
24536
+ end
24537
+
24538
+ # [Output Only] Informational warning which replaces the list of public
24539
+ # delegated prefixes when the list is empty.
24540
+ class Warning
24541
+ include Google::Apis::Core::Hashable
24542
+
24543
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24544
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24545
+ # Corresponds to the JSON property `code`
24546
+ # @return [String]
24547
+ attr_accessor :code
24548
+
24549
+ # [Output Only] Metadata about this warning in key: value format. For example:
24550
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24551
+ # Corresponds to the JSON property `data`
24552
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList::Warning::Datum>]
24553
+ attr_accessor :data
24554
+
24555
+ # [Output Only] A human-readable description of the warning code.
24556
+ # Corresponds to the JSON property `message`
24557
+ # @return [String]
24558
+ attr_accessor :message
24559
+
24560
+ def initialize(**args)
24561
+ update!(**args)
24562
+ end
24563
+
24564
+ # Update properties of this object
24565
+ def update!(**args)
24566
+ @code = args[:code] if args.key?(:code)
24567
+ @data = args[:data] if args.key?(:data)
24568
+ @message = args[:message] if args.key?(:message)
24569
+ end
24570
+
24571
+ #
24572
+ class Datum
24573
+ include Google::Apis::Core::Hashable
24574
+
24575
+ # [Output Only] A key that provides more detail on the warning being returned.
24576
+ # For example, for warnings where there are no results in a list request for a
24577
+ # particular zone, this key might be scope and the key value might be the zone
24578
+ # name. Other examples might be a key indicating a deprecated resource and a
24579
+ # suggested replacement, or a warning about invalid network settings (for
24580
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24581
+ # for IP forwarding).
24582
+ # Corresponds to the JSON property `key`
24583
+ # @return [String]
24584
+ attr_accessor :key
24585
+
24586
+ # [Output Only] A warning data value corresponding to the key.
24587
+ # Corresponds to the JSON property `value`
24588
+ # @return [String]
24589
+ attr_accessor :value
24590
+
24591
+ def initialize(**args)
24592
+ update!(**args)
24593
+ end
24594
+
24595
+ # Update properties of this object
24596
+ def update!(**args)
24597
+ @key = args[:key] if args.key?(:key)
24598
+ @value = args[:value] if args.key?(:value)
24599
+ end
24600
+ end
24601
+ end
24602
+ end
24603
+
24604
+ # A quotas entry.
24605
+ class Quota
24606
+ include Google::Apis::Core::Hashable
24607
+
24608
+ # [Output Only] Quota limit for this metric.
24609
+ # Corresponds to the JSON property `limit`
24610
+ # @return [Float]
24611
+ attr_accessor :limit
24612
+
24613
+ # [Output Only] Name of the quota metric.
24614
+ # Corresponds to the JSON property `metric`
24615
+ # @return [String]
24616
+ attr_accessor :metric
24617
+
24618
+ # [Output Only] Owning resource. This is the resource on which this quota is
24619
+ # applied.
24620
+ # Corresponds to the JSON property `owner`
24621
+ # @return [String]
24622
+ attr_accessor :owner
24623
+
24624
+ # [Output Only] Current usage of this metric.
24625
+ # Corresponds to the JSON property `usage`
24626
+ # @return [Float]
24627
+ attr_accessor :usage
24628
+
24629
+ def initialize(**args)
24630
+ update!(**args)
24631
+ end
24632
+
24633
+ # Update properties of this object
24634
+ def update!(**args)
24635
+ @limit = args[:limit] if args.key?(:limit)
24636
+ @metric = args[:metric] if args.key?(:metric)
24637
+ @owner = args[:owner] if args.key?(:owner)
24638
+ @usage = args[:usage] if args.key?(:usage)
24639
+ end
24640
+ end
24641
+
24642
+ # Represents a reference to a resource.
24643
+ class Reference
24644
+ include Google::Apis::Core::Hashable
24645
+
24646
+ # [Output Only] Type of the resource. Always compute#reference for references.
24647
+ # Corresponds to the JSON property `kind`
24648
+ # @return [String]
24649
+ attr_accessor :kind
24650
+
24651
+ # A description of the reference type with no implied semantics. Possible values
24652
+ # include:
24653
+ # - MEMBER_OF
24654
+ # Corresponds to the JSON property `referenceType`
24655
+ # @return [String]
24656
+ attr_accessor :reference_type
24657
+
24658
+ # URL of the resource which refers to the target.
24659
+ # Corresponds to the JSON property `referrer`
24660
+ # @return [String]
24661
+ attr_accessor :referrer
24662
+
24663
+ # URL of the resource to which this reference points.
24664
+ # Corresponds to the JSON property `target`
24665
+ # @return [String]
24666
+ attr_accessor :target
24667
+
24668
+ def initialize(**args)
24669
+ update!(**args)
24670
+ end
24671
+
24672
+ # Update properties of this object
24673
+ def update!(**args)
24674
+ @kind = args[:kind] if args.key?(:kind)
24675
+ @reference_type = args[:reference_type] if args.key?(:reference_type)
24676
+ @referrer = args[:referrer] if args.key?(:referrer)
24677
+ @target = args[:target] if args.key?(:target)
24678
+ end
24679
+ end
24680
+
24681
+ # Represents a Region resource.
24682
+ # A region is a geographical area where a resource is located. For more
24683
+ # information, read Regions and Zones. (== resource_for `$api_version`.regions ==
24684
+ # )
24685
+ class Region
24686
+ include Google::Apis::Core::Hashable
24687
+
24688
+ # [Output Only] Creation timestamp in RFC3339 text format.
24689
+ # Corresponds to the JSON property `creationTimestamp`
24690
+ # @return [String]
24691
+ attr_accessor :creation_timestamp
24692
+
24693
+ # Deprecation status for a public resource.
24694
+ # Corresponds to the JSON property `deprecated`
24695
+ # @return [Google::Apis::ComputeV1::DeprecationStatus]
24696
+ attr_accessor :deprecated
24697
+
24698
+ # [Output Only] Textual description of the resource.
24699
+ # Corresponds to the JSON property `description`
24700
+ # @return [String]
24701
+ attr_accessor :description
24702
+
24703
+ # [Output Only] The unique identifier for the resource. This identifier is
24704
+ # defined by the server.
24705
+ # Corresponds to the JSON property `id`
24706
+ # @return [Fixnum]
24707
+ attr_accessor :id
24708
+
24709
+ # [Output Only] Type of the resource. Always compute#region for regions.
24710
+ # Corresponds to the JSON property `kind`
24711
+ # @return [String]
24712
+ attr_accessor :kind
24713
+
24714
+ # [Output Only] Name of the resource.
24715
+ # Corresponds to the JSON property `name`
24716
+ # @return [String]
24717
+ attr_accessor :name
24718
+
24719
+ # [Output Only] Quotas assigned to this region.
24720
+ # Corresponds to the JSON property `quotas`
24721
+ # @return [Array<Google::Apis::ComputeV1::Quota>]
24722
+ attr_accessor :quotas
24723
+
24724
+ # [Output Only] Server-defined URL for the resource.
24725
+ # Corresponds to the JSON property `selfLink`
24726
+ # @return [String]
24727
+ attr_accessor :self_link
24728
+
24729
+ # [Output Only] Status of the region, either UP or DOWN.
24730
+ # Corresponds to the JSON property `status`
24731
+ # @return [String]
24732
+ attr_accessor :status
24733
+
24734
+ # [Output Only] Reserved for future use.
24735
+ # Corresponds to the JSON property `supportsPzs`
24736
+ # @return [Boolean]
24737
+ attr_accessor :supports_pzs
24738
+ alias_method :supports_pzs?, :supports_pzs
24739
+
24740
+ # [Output Only] A list of zones available in this region, in the form of
24741
+ # resource URLs.
24742
+ # Corresponds to the JSON property `zones`
24743
+ # @return [Array<String>]
24744
+ attr_accessor :zones
24745
+
24746
+ def initialize(**args)
24747
+ update!(**args)
24748
+ end
24749
+
24750
+ # Update properties of this object
24751
+ def update!(**args)
24752
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
24753
+ @deprecated = args[:deprecated] if args.key?(:deprecated)
24754
+ @description = args[:description] if args.key?(:description)
24755
+ @id = args[:id] if args.key?(:id)
24756
+ @kind = args[:kind] if args.key?(:kind)
24757
+ @name = args[:name] if args.key?(:name)
24758
+ @quotas = args[:quotas] if args.key?(:quotas)
24759
+ @self_link = args[:self_link] if args.key?(:self_link)
24760
+ @status = args[:status] if args.key?(:status)
24761
+ @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
24762
+ @zones = args[:zones] if args.key?(:zones)
24763
+ end
24764
+ end
24765
+
24766
+ # Contains a list of autoscalers.
24767
+ class RegionAutoscalerList
24768
+ include Google::Apis::Core::Hashable
24769
+
24770
+ # [Output Only] Unique identifier for the resource; defined by the server.
24771
+ # Corresponds to the JSON property `id`
24772
+ # @return [String]
24773
+ attr_accessor :id
24774
+
24775
+ # A list of Autoscaler resources.
24776
+ # Corresponds to the JSON property `items`
24777
+ # @return [Array<Google::Apis::ComputeV1::Autoscaler>]
24778
+ attr_accessor :items
24779
+
24780
+ # Type of resource.
24781
+ # Corresponds to the JSON property `kind`
24782
+ # @return [String]
24783
+ attr_accessor :kind
24784
+
24785
+ # [Output Only] This token allows you to get the next page of results for list
24786
+ # requests. If the number of results is larger than maxResults, use the
24787
+ # nextPageToken as a value for the query parameter pageToken in the next list
24788
+ # request. Subsequent list requests will have their own nextPageToken to
24789
+ # continue paging through the results.
24790
+ # Corresponds to the JSON property `nextPageToken`
24791
+ # @return [String]
24792
+ attr_accessor :next_page_token
24793
+
24794
+ # [Output Only] Server-defined URL for this resource.
24795
+ # Corresponds to the JSON property `selfLink`
24796
+ # @return [String]
24797
+ attr_accessor :self_link
24798
+
24799
+ # [Output Only] Informational warning message.
24800
+ # Corresponds to the JSON property `warning`
24801
+ # @return [Google::Apis::ComputeV1::RegionAutoscalerList::Warning]
23552
24802
  attr_accessor :warning
23553
24803
 
23554
24804
  def initialize(**args)
@@ -26662,6 +27912,14 @@ module Google
26662
27912
  # @return [String]
26663
27913
  attr_accessor :description
26664
27914
 
27915
+ # Field to indicate if a router is dedicated to use with encrypted Interconnect
27916
+ # Attachment (IPsec-encrypted Cloud Interconnect feature).
27917
+ # Not currently available in all Interconnect locations.
27918
+ # Corresponds to the JSON property `encryptedInterconnectRouter`
27919
+ # @return [Boolean]
27920
+ attr_accessor :encrypted_interconnect_router
27921
+ alias_method :encrypted_interconnect_router?, :encrypted_interconnect_router
27922
+
26665
27923
  # [Output Only] The unique identifier for the resource. This identifier is
26666
27924
  # defined by the server.
26667
27925
  # Corresponds to the JSON property `id`
@@ -26722,6 +27980,7 @@ module Google
26722
27980
  @bgp_peers = args[:bgp_peers] if args.key?(:bgp_peers)
26723
27981
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
26724
27982
  @description = args[:description] if args.key?(:description)
27983
+ @encrypted_interconnect_router = args[:encrypted_interconnect_router] if args.key?(:encrypted_interconnect_router)
26725
27984
  @id = args[:id] if args.key?(:id)
26726
27985
  @interfaces = args[:interfaces] if args.key?(:interfaces)
26727
27986
  @kind = args[:kind] if args.key?(:kind)
@@ -26939,12 +28198,11 @@ module Google
26939
28198
  # User-specified list of prefix groups to advertise in custom mode, which can
26940
28199
  # take one of the following options:
26941
28200
  # - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets.
26942
- # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets.
26943
- # - ALL_PEER_VPC_SUBNETS: Advertises peer subnets of the router's VPC network.
26944
- # Note that this field can only be populated if advertise_mode is CUSTOM and
26945
- # overrides the list defined for the router (in the "bgp" message). These groups
26946
- # are advertised in addition to any specified prefixes. Leave this field blank
26947
- # to advertise no custom groups.
28201
+ # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. Note that this
28202
+ # field can only be populated if advertise_mode is CUSTOM and overrides the list
28203
+ # defined for the router (in the "bgp" message). These groups are advertised in
28204
+ # addition to any specified prefixes. Leave this field blank to advertise no
28205
+ # custom groups.
26948
28206
  # Corresponds to the JSON property `advertisedGroups`
26949
28207
  # @return [Array<String>]
26950
28208
  attr_accessor :advertised_groups
@@ -27838,7 +29096,42 @@ module Google
27838
29096
  end
27839
29097
  end
27840
29098
 
27841
- # Sets the scheduling options for an Instance. NextID: 17
29099
+ #
29100
+ class ScalingScheduleStatus
29101
+ include Google::Apis::Core::Hashable
29102
+
29103
+ # [Output Only] The last time the scaling schedule became active. Note: this is
29104
+ # a timestamp when a schedule actually became active, not when it was planned to
29105
+ # do so. The timestamp is in RFC3339 text format.
29106
+ # Corresponds to the JSON property `lastStartTime`
29107
+ # @return [String]
29108
+ attr_accessor :last_start_time
29109
+
29110
+ # [Output Only] The next time the scaling schedule is to become active. Note:
29111
+ # this is a timestamp when a schedule is planned to run, but the actual time
29112
+ # might be slightly different. The timestamp is in RFC3339 text format.
29113
+ # Corresponds to the JSON property `nextStartTime`
29114
+ # @return [String]
29115
+ attr_accessor :next_start_time
29116
+
29117
+ # [Output Only] The current state of a scaling schedule.
29118
+ # Corresponds to the JSON property `state`
29119
+ # @return [String]
29120
+ attr_accessor :state
29121
+
29122
+ def initialize(**args)
29123
+ update!(**args)
29124
+ end
29125
+
29126
+ # Update properties of this object
29127
+ def update!(**args)
29128
+ @last_start_time = args[:last_start_time] if args.key?(:last_start_time)
29129
+ @next_start_time = args[:next_start_time] if args.key?(:next_start_time)
29130
+ @state = args[:state] if args.key?(:state)
29131
+ end
29132
+ end
29133
+
29134
+ # Sets the scheduling options for an Instance. NextID: 21
27842
29135
  class Scheduling
27843
29136
  include Google::Apis::Core::Hashable
27844
29137
 
@@ -28218,7 +29511,7 @@ module Google
28218
29511
  class SecurityPolicyRule
28219
29512
  include Google::Apis::Core::Hashable
28220
29513
 
28221
- # The Action to preform when the client connection triggers the rule. Can
29514
+ # The Action to perform when the client connection triggers the rule. Can
28222
29515
  # currently be either "allow" or "deny()" where valid values for status are 403,
28223
29516
  # 404, and 502.
28224
29517
  # Corresponds to the JSON property `action`
@@ -29916,6 +31209,12 @@ module Google
29916
31209
  attr_accessor :enable_flow_logs
29917
31210
  alias_method :enable_flow_logs?, :enable_flow_logs
29918
31211
 
31212
+ # [Output Only] The range of external IPv6 addresses that are owned by this
31213
+ # subnetwork.
31214
+ # Corresponds to the JSON property `externalIpv6Prefix`
31215
+ # @return [String]
31216
+ attr_accessor :external_ipv6_prefix
31217
+
29919
31218
  # Fingerprint of this resource. A hash of the contents stored in this object.
29920
31219
  # This field is used in optimistic locking. This field will be ignored when
29921
31220
  # inserting a Subnetwork. An up-to-date fingerprint must be provided in order to
@@ -29949,6 +31248,14 @@ module Google
29949
31248
  # @return [String]
29950
31249
  attr_accessor :ip_cidr_range
29951
31250
 
31251
+ # The access type of IPv6 address this subnet holds. It's immutable and can only
31252
+ # be specified during creation or the first time the subnet is updated into
31253
+ # IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot
31254
+ # enable direct path.
31255
+ # Corresponds to the JSON property `ipv6AccessType`
31256
+ # @return [String]
31257
+ attr_accessor :ipv6_access_type
31258
+
29952
31259
  # [Output Only] The range of internal IPv6 addresses that are owned by this
29953
31260
  # subnetwork.
29954
31261
  # Corresponds to the JSON property `ipv6CidrRange`
@@ -30039,14 +31346,19 @@ module Google
30039
31346
  # @return [String]
30040
31347
  attr_accessor :self_link
30041
31348
 
31349
+ # The stack type for this subnet to identify whether the IPv6 feature is enabled
31350
+ # or not. If not specified IPV4_ONLY will be used.
31351
+ # This field can be both set at resource creation time and updated using patch.
31352
+ # Corresponds to the JSON property `stackType`
31353
+ # @return [String]
31354
+ attr_accessor :stack_type
31355
+
30042
31356
  # [Output Only] The state of the subnetwork, which can be one of the following
30043
31357
  # values: READY: Subnetwork is created and ready to use DRAINING: only
30044
31358
  # applicable to subnetworks that have the purpose set to
30045
31359
  # INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load
30046
31360
  # balancer are being drained. A subnetwork that is draining cannot be used or
30047
- # modified until it reaches a status of READY CREATING: Subnetwork is
30048
- # provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is
30049
- # being updated
31361
+ # modified until it reaches a status of READY
30050
31362
  # Corresponds to the JSON property `state`
30051
31363
  # @return [String]
30052
31364
  attr_accessor :state
@@ -30060,10 +31372,12 @@ module Google
30060
31372
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
30061
31373
  @description = args[:description] if args.key?(:description)
30062
31374
  @enable_flow_logs = args[:enable_flow_logs] if args.key?(:enable_flow_logs)
31375
+ @external_ipv6_prefix = args[:external_ipv6_prefix] if args.key?(:external_ipv6_prefix)
30063
31376
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
30064
31377
  @gateway_address = args[:gateway_address] if args.key?(:gateway_address)
30065
31378
  @id = args[:id] if args.key?(:id)
30066
31379
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
31380
+ @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
30067
31381
  @ipv6_cidr_range = args[:ipv6_cidr_range] if args.key?(:ipv6_cidr_range)
30068
31382
  @kind = args[:kind] if args.key?(:kind)
30069
31383
  @log_config = args[:log_config] if args.key?(:log_config)
@@ -30076,6 +31390,7 @@ module Google
30076
31390
  @role = args[:role] if args.key?(:role)
30077
31391
  @secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges)
30078
31392
  @self_link = args[:self_link] if args.key?(:self_link)
31393
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
30079
31394
  @state = args[:state] if args.key?(:state)
30080
31395
  end
30081
31396
  end
@@ -30359,7 +31674,7 @@ module Google
30359
31674
 
30360
31675
  # Can only be specified if VPC flow logs for this subnetwork is enabled.
30361
31676
  # Configures whether all, none or a subset of metadata fields should be added to
30362
- # the reported VPC flow logs. Default is INCLUDE_ALL_METADATA.
31677
+ # the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.
30363
31678
  # Corresponds to the JSON property `metadata`
30364
31679
  # @return [String]
30365
31680
  attr_accessor :metadata
@@ -31348,7 +32663,8 @@ module Google
31348
32663
  include Google::Apis::Core::Hashable
31349
32664
 
31350
32665
  # New set of SslCertificate resources to associate with this TargetHttpsProxy
31351
- # resource. Currently exactly one SslCertificate resource must be specified.
32666
+ # resource. At least one SSL certificate must be specified. Currently, you may
32667
+ # specify up to 15 SSL certificates.
31352
32668
  # Corresponds to the JSON property `sslCertificates`
31353
32669
  # @return [Array<String>]
31354
32670
  attr_accessor :ssl_certificates
@@ -31400,6 +32716,17 @@ module Google
31400
32716
  # @return [String]
31401
32717
  attr_accessor :description
31402
32718
 
32719
+ # Fingerprint of this resource. A hash of the contents stored in this object.
32720
+ # This field is used in optimistic locking. This field will be ignored when
32721
+ # inserting a TargetHttpsProxy. An up-to-date fingerprint must be provided in
32722
+ # order to patch the TargetHttpsProxy; otherwise, the request will fail with
32723
+ # error 412 conditionNotMet. To see the latest fingerprint, make a get() request
32724
+ # to retrieve the TargetHttpsProxy.
32725
+ # Corresponds to the JSON property `fingerprint`
32726
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
32727
+ # @return [String]
32728
+ attr_accessor :fingerprint
32729
+
31403
32730
  # [Output Only] The unique identifier for the resource. This identifier is
31404
32731
  # defined by the server.
31405
32732
  # Corresponds to the JSON property `id`
@@ -31472,6 +32799,8 @@ module Google
31472
32799
  # URLs to SslCertificate resources that are used to authenticate connections
31473
32800
  # between users and the load balancer. At least one SSL certificate must be
31474
32801
  # specified. Currently, you may specify up to 15 SSL certificates.
32802
+ # sslCertificates do not apply when the load balancing scheme is set to
32803
+ # INTERNAL_SELF_MANAGED.
31475
32804
  # Corresponds to the JSON property `sslCertificates`
31476
32805
  # @return [Array<String>]
31477
32806
  attr_accessor :ssl_certificates
@@ -31502,6 +32831,7 @@ module Google
31502
32831
  @authorization_policy = args[:authorization_policy] if args.key?(:authorization_policy)
31503
32832
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
31504
32833
  @description = args[:description] if args.key?(:description)
32834
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
31505
32835
  @id = args[:id] if args.key?(:id)
31506
32836
  @kind = args[:kind] if args.key?(:kind)
31507
32837
  @name = args[:name] if args.key?(:name)
@@ -32811,7 +34141,8 @@ module Google
32811
34141
  include Google::Apis::Core::Hashable
32812
34142
 
32813
34143
  # New set of URLs to SslCertificate resources to associate with this
32814
- # TargetSslProxy. Currently exactly one ssl certificate must be specified.
34144
+ # TargetSslProxy. At least one SSL certificate must be specified. Currently, you
34145
+ # may specify up to 15 SSL certificates.
32815
34146
  # Corresponds to the JSON property `sslCertificates`
32816
34147
  # @return [Array<String>]
32817
34148
  attr_accessor :ssl_certificates
@@ -32885,7 +34216,8 @@ module Google
32885
34216
 
32886
34217
  # URLs to SslCertificate resources that are used to authenticate connections to
32887
34218
  # Backends. At least one SSL certificate must be specified. Currently, you may
32888
- # specify up to 15 SSL certificates.
34219
+ # specify up to 15 SSL certificates. sslCertificates do not apply when the load
34220
+ # balancing scheme is set to INTERNAL_SELF_MANAGED.
32889
34221
  # Corresponds to the JSON property `sslCertificates`
32890
34222
  # @return [Array<String>]
32891
34223
  attr_accessor :ssl_certificates
@@ -35444,6 +36776,15 @@ module Google
35444
36776
  # @return [Fixnum]
35445
36777
  attr_accessor :id
35446
36778
 
36779
+ # URL of the interconnect attachment resource. When the value of this field is
36780
+ # present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect;
36781
+ # all Egress or Ingress traffic for this VPN Gateway interface will go through
36782
+ # the specified interconnect attachment resource.
36783
+ # Not currently available in all Interconnect locations.
36784
+ # Corresponds to the JSON property `interconnectAttachment`
36785
+ # @return [String]
36786
+ attr_accessor :interconnect_attachment
36787
+
35447
36788
  # [Output Only] The external IP address for this VPN gateway interface.
35448
36789
  # Corresponds to the JSON property `ipAddress`
35449
36790
  # @return [String]
@@ -35456,6 +36797,7 @@ module Google
35456
36797
  # Update properties of this object
35457
36798
  def update!(**args)
35458
36799
  @id = args[:id] if args.key?(:id)
36800
+ @interconnect_attachment = args[:interconnect_attachment] if args.key?(:interconnect_attachment)
35459
36801
  @ip_address = args[:ip_address] if args.key?(:ip_address)
35460
36802
  end
35461
36803
  end
@@ -35702,8 +37044,8 @@ module Google
35702
37044
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
35703
37045
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
35704
37046
  # - NO_INCOMING_PACKETS: No incoming packets from peer.
35705
- # - REJECTED: Tunnel configuration was rejected, can be result of being
35706
- # blacklisted.
37047
+ # - REJECTED: Tunnel configuration was rejected, can be result of being denied
37048
+ # access.
35707
37049
  # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
35708
37050
  # resources.
35709
37051
  # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for