google-apis-compute_v1 0.6.0 → 0.11.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: 7c8803e03eb6fe8e78fc17bcf462b0c7b2fe9d63fc113426383be1035ef42989
4
- data.tar.gz: 2faad6d913bb2f418304d67a89dd36e327d688519e0dbb6dbe05b8242e8833f4
3
+ metadata.gz: 6a596779b7def11590295ce813f8d9f4560975852d0e978004f865cdecec4fe3
4
+ data.tar.gz: 1d239d25f891c577f48b5b5ed017f338f8f96c99414b86c7b771bc479b54b821
5
5
  SHA512:
6
- metadata.gz: a20aaca7e41285d877cbb94465dcafc27106e1b86be50e0ca1475f4ba383d458417c44dfbf5fdf6c17e8066cf6d5e518f4faa91e05942851af034de5f9feb6b8
7
- data.tar.gz: 57e5f28ca15026042af873a95ae12f09a6d5aabc7438cf2f42f05951a0080fe384fadbe1f06d1b4fb917b29e18a263770484c6ba9b64d01fb6defe4678993e3a
6
+ metadata.gz: b8dc394f585cd82665227452d43ce16788ee6eeed246810329a918c799878197540461865966d2b12d4e843747fc02d160b4718c4f43e57817403bcd886683d1
7
+ data.tar.gz: 934e146622a0464799973d5c0ea79e83a606164db8eb6694136fcf8be570db64769c87dd656ba0b4b0a3f12a0098309febf6352e65a10ec07f1c19e6ca6d2c67
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Release history for google-apis-compute_v1
2
2
 
3
+ ### v0.11.0 (2021-05-28)
4
+
5
+ * Regenerated from discovery document revision 20210518
6
+
7
+ ### v0.10.0 (2021-05-20)
8
+
9
+ * Regenerated from discovery document revision 20210505
10
+ * Unspecified changes
11
+
12
+ ### v0.9.0 (2021-05-05)
13
+
14
+ * Regenerated from discovery document revision 20210415
15
+
16
+ ### v0.8.0 (2021-03-30)
17
+
18
+ * Regenerated from discovery document revision 20210316
19
+
20
+ ### v0.7.0 (2021-03-19)
21
+
22
+ * Regenerated from discovery document revision 20210310
23
+
3
24
  ### v0.6.0 (2021-03-10)
4
25
 
5
26
  * Regenerated from discovery document revision 20210301
@@ -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)
@@ -631,7 +646,8 @@ module Google
631
646
  # reserved for Cloud NAT.
632
647
  # - `IPSEC_INTERCONNECT` for addresses created from a private IP range that are
633
648
  # reserved for a VLAN attachment in an IPsec-encrypted Cloud Interconnect
634
- # configuration. These addresses are regional resources.
649
+ # configuration. These addresses are regional resources. Not currently available
650
+ # publicly.
635
651
  # Corresponds to the JSON property `purpose`
636
652
  # @return [String]
637
653
  attr_accessor :purpose
@@ -1042,6 +1058,13 @@ module Google
1042
1058
  attr_accessor :enable_nested_virtualization
1043
1059
  alias_method :enable_nested_virtualization?, :enable_nested_virtualization
1044
1060
 
1061
+ # The number of threads per physical core. To disable simultaneous
1062
+ # multithreading (SMT) set this to 1. If unset, the maximum number of threads
1063
+ # supported per core by the underlying processor is assumed.
1064
+ # Corresponds to the JSON property `threadsPerCore`
1065
+ # @return [Fixnum]
1066
+ attr_accessor :threads_per_core
1067
+
1045
1068
  def initialize(**args)
1046
1069
  update!(**args)
1047
1070
  end
@@ -1049,6 +1072,7 @@ module Google
1049
1072
  # Update properties of this object
1050
1073
  def update!(**args)
1051
1074
  @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1075
+ @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1052
1076
  end
1053
1077
  end
1054
1078
 
@@ -1643,6 +1667,11 @@ module Google
1643
1667
  # @return [String]
1644
1668
  attr_accessor :region
1645
1669
 
1670
+ # [Output Only] Status information of existing scaling schedules.
1671
+ # Corresponds to the JSON property `scalingScheduleStatus`
1672
+ # @return [Hash<String,Google::Apis::ComputeV1::ScalingScheduleStatus>]
1673
+ attr_accessor :scaling_schedule_status
1674
+
1646
1675
  # [Output Only] Server-defined URL for the resource.
1647
1676
  # Corresponds to the JSON property `selfLink`
1648
1677
  # @return [String]
@@ -1693,6 +1722,7 @@ module Google
1693
1722
  @name = args[:name] if args.key?(:name)
1694
1723
  @recommended_size = args[:recommended_size] if args.key?(:recommended_size)
1695
1724
  @region = args[:region] if args.key?(:region)
1725
+ @scaling_schedule_status = args[:scaling_schedule_status] if args.key?(:scaling_schedule_status)
1696
1726
  @self_link = args[:self_link] if args.key?(:self_link)
1697
1727
  @status = args[:status] if args.key?(:status)
1698
1728
  @status_details = args[:status_details] if args.key?(:status_details)
@@ -2153,6 +2183,14 @@ module Google
2153
2183
  # @return [Google::Apis::ComputeV1::AutoscalingPolicyScaleInControl]
2154
2184
  attr_accessor :scale_in_control
2155
2185
 
2186
+ # Scaling schedules defined for an autoscaler. Multiple schedules can be set on
2187
+ # an autoscaler, and they can overlap. During overlapping periods the greatest
2188
+ # min_required_replicas of all scaling schedules is applied. Up to 128 scaling
2189
+ # schedules are allowed.
2190
+ # Corresponds to the JSON property `scalingSchedules`
2191
+ # @return [Hash<String,Google::Apis::ComputeV1::AutoscalingPolicyScalingSchedule>]
2192
+ attr_accessor :scaling_schedules
2193
+
2156
2194
  def initialize(**args)
2157
2195
  update!(**args)
2158
2196
  end
@@ -2167,6 +2205,7 @@ module Google
2167
2205
  @min_num_replicas = args[:min_num_replicas] if args.key?(:min_num_replicas)
2168
2206
  @mode = args[:mode] if args.key?(:mode)
2169
2207
  @scale_in_control = args[:scale_in_control] if args.key?(:scale_in_control)
2208
+ @scaling_schedules = args[:scaling_schedules] if args.key?(:scaling_schedules)
2170
2209
  end
2171
2210
  end
2172
2211
 
@@ -2174,6 +2213,17 @@ module Google
2174
2213
  class AutoscalingPolicyCpuUtilization
2175
2214
  include Google::Apis::Core::Hashable
2176
2215
 
2216
+ # Indicates whether predictive autoscaling based on CPU metric is enabled. Valid
2217
+ # values are:
2218
+ # * NONE (default). No predictive method is used. The autoscaler scales the
2219
+ # group to meet current demand based on real-time metrics. *
2220
+ # OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by
2221
+ # monitoring daily and weekly load patterns and scaling out ahead of anticipated
2222
+ # demand.
2223
+ # Corresponds to the JSON property `predictiveMethod`
2224
+ # @return [String]
2225
+ attr_accessor :predictive_method
2226
+
2177
2227
  # The target CPU utilization that the autoscaler maintains. Must be a float
2178
2228
  # value in the range (0, 1]. If not specified, the default is 0.6.
2179
2229
  # If the CPU level is below the target utilization, the autoscaler scales in the
@@ -2193,6 +2243,7 @@ module Google
2193
2243
 
2194
2244
  # Update properties of this object
2195
2245
  def update!(**args)
2246
+ @predictive_method = args[:predictive_method] if args.key?(:predictive_method)
2196
2247
  @utilization_target = args[:utilization_target] if args.key?(:utilization_target)
2197
2248
  end
2198
2249
  end
@@ -2332,6 +2383,70 @@ module Google
2332
2383
  end
2333
2384
  end
2334
2385
 
2386
+ # Scaling based on user-defined schedule. The message describes a single scaling
2387
+ # schedule. A scaling schedule changes the minimum number of VM instances an
2388
+ # autoscaler can recommend, which can trigger scaling out.
2389
+ class AutoscalingPolicyScalingSchedule
2390
+ include Google::Apis::Core::Hashable
2391
+
2392
+ # A description of a scaling schedule.
2393
+ # Corresponds to the JSON property `description`
2394
+ # @return [String]
2395
+ attr_accessor :description
2396
+
2397
+ # A boolean value that specifies whether a scaling schedule can influence
2398
+ # autoscaler recommendations. If set to true, then a scaling schedule has no
2399
+ # effect. This field is optional, and its value is false by default.
2400
+ # Corresponds to the JSON property `disabled`
2401
+ # @return [Boolean]
2402
+ attr_accessor :disabled
2403
+ alias_method :disabled?, :disabled
2404
+
2405
+ # The duration of time intervals, in seconds, for which this scaling schedule is
2406
+ # to run. The minimum allowed value is 300. This field is required.
2407
+ # Corresponds to the JSON property `durationSec`
2408
+ # @return [Fixnum]
2409
+ attr_accessor :duration_sec
2410
+
2411
+ # The minimum number of VM instances that the autoscaler will recommend in time
2412
+ # intervals starting according to schedule. This field is required.
2413
+ # Corresponds to the JSON property `minRequiredReplicas`
2414
+ # @return [Fixnum]
2415
+ attr_accessor :min_required_replicas
2416
+
2417
+ # The start timestamps of time intervals when this scaling schedule is to
2418
+ # provide a scaling signal. This field uses the extended cron format (with an
2419
+ # optional year field). The expression can describe a single timestamp if the
2420
+ # optional year is set, in which case the scaling schedule runs once. The
2421
+ # schedule is interpreted with respect to time_zone. This field is required.
2422
+ # Note: These timestamps only describe when autoscaler starts providing the
2423
+ # scaling signal. The VMs need additional time to become serving.
2424
+ # Corresponds to the JSON property `schedule`
2425
+ # @return [String]
2426
+ attr_accessor :schedule
2427
+
2428
+ # The time zone to use when interpreting the schedule. The value of this field
2429
+ # must be a time zone name from the tz database: http://en.wikipedia.org/wiki/
2430
+ # Tz_database. This field is assigned a default value of ?UTC? if left empty.
2431
+ # Corresponds to the JSON property `timeZone`
2432
+ # @return [String]
2433
+ attr_accessor :time_zone
2434
+
2435
+ def initialize(**args)
2436
+ update!(**args)
2437
+ end
2438
+
2439
+ # Update properties of this object
2440
+ def update!(**args)
2441
+ @description = args[:description] if args.key?(:description)
2442
+ @disabled = args[:disabled] if args.key?(:disabled)
2443
+ @duration_sec = args[:duration_sec] if args.key?(:duration_sec)
2444
+ @min_required_replicas = args[:min_required_replicas] if args.key?(:min_required_replicas)
2445
+ @schedule = args[:schedule] if args.key?(:schedule)
2446
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
2447
+ end
2448
+ end
2449
+
2335
2450
  # Message containing information of one individual backend.
2336
2451
  class Backend
2337
2452
  include Google::Apis::Core::Hashable
@@ -2546,6 +2661,13 @@ module Google
2546
2661
  class BackendBucketCdnPolicy
2547
2662
  include Google::Apis::Core::Hashable
2548
2663
 
2664
+ # Bypass the cache when the specified request headers are matched - e.g. Pragma
2665
+ # or Authorization headers. Up to 5 headers can be specified. The cache is
2666
+ # bypassed for all cdnPolicy.cacheMode settings.
2667
+ # Corresponds to the JSON property `bypassCacheOnRequestHeaders`
2668
+ # @return [Array<Google::Apis::ComputeV1::BackendBucketCdnPolicyBypassCacheOnRequestHeader>]
2669
+ attr_accessor :bypass_cache_on_request_headers
2670
+
2549
2671
  # Specifies the cache setting for all responses from this backend. The possible
2550
2672
  # values are:
2551
2673
  # USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache
@@ -2600,6 +2722,53 @@ module Google
2600
2722
  # @return [Fixnum]
2601
2723
  attr_accessor :max_ttl
2602
2724
 
2725
+ # Negative caching allows per-status code TTLs to be set, in order to apply fine-
2726
+ # grained caching for common errors or redirects. This can reduce the load on
2727
+ # your origin and improve end-user experience by reducing response latency. When
2728
+ # the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative
2729
+ # caching applies to responses with the specified response code that lack any
2730
+ # Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is
2731
+ # set to FORCE_CACHE_ALL, negative caching applies to all responses with the
2732
+ # specified response code, and override any caching headers. By default, Cloud
2733
+ # CDN will apply the following default TTLs to these status codes: HTTP 300 (
2734
+ # Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found),
2735
+ # 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not
2736
+ # Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults
2737
+ # can be overridden in negative_caching_policy.
2738
+ # Corresponds to the JSON property `negativeCaching`
2739
+ # @return [Boolean]
2740
+ attr_accessor :negative_caching
2741
+ alias_method :negative_caching?, :negative_caching
2742
+
2743
+ # Sets a cache TTL for the specified HTTP status code. negative_caching must be
2744
+ # enabled to configure negative_caching_policy. Omitting the policy and leaving
2745
+ # negative_caching enabled will use Cloud CDN's default cache TTLs. Note that
2746
+ # when specifying an explicit negative_caching_policy, you should take care to
2747
+ # specify a cache TTL for all response codes that you wish to cache. Cloud CDN
2748
+ # will not apply any default negative caching when a policy exists.
2749
+ # Corresponds to the JSON property `negativeCachingPolicy`
2750
+ # @return [Array<Google::Apis::ComputeV1::BackendBucketCdnPolicyNegativeCachingPolicy>]
2751
+ attr_accessor :negative_caching_policy
2752
+
2753
+ # If true then Cloud CDN will combine multiple concurrent cache fill requests
2754
+ # into a small number of requests to the origin.
2755
+ # Corresponds to the JSON property `requestCoalescing`
2756
+ # @return [Boolean]
2757
+ attr_accessor :request_coalescing
2758
+ alias_method :request_coalescing?, :request_coalescing
2759
+
2760
+ # Serve existing content from the cache (if available) when revalidating content
2761
+ # with the origin, or when an error is encountered when refreshing the cache.
2762
+ # This setting defines the default "max-stale" duration for any cached responses
2763
+ # that do not specify a max-stale directive. Stale responses that exceed the TTL
2764
+ # configured here will not be served. The default limit (max-stale) is 86400s (1
2765
+ # day), which will allow stale content to be served up to this limit beyond the
2766
+ # max-age (or s-max-age) of a cached response. The maximum allowed value is
2767
+ # 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
2768
+ # Corresponds to the JSON property `serveWhileStale`
2769
+ # @return [Fixnum]
2770
+ attr_accessor :serve_while_stale
2771
+
2603
2772
  # Maximum number of seconds the response to a signed URL request will be
2604
2773
  # considered fresh. After this time period, the response will be revalidated
2605
2774
  # before being served. Defaults to 1hr (3600s). When serving responses to signed
@@ -2622,15 +2791,72 @@ module Google
2622
2791
 
2623
2792
  # Update properties of this object
2624
2793
  def update!(**args)
2794
+ @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
2625
2795
  @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
2626
2796
  @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
2627
2797
  @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
2628
2798
  @max_ttl = args[:max_ttl] if args.key?(:max_ttl)
2799
+ @negative_caching = args[:negative_caching] if args.key?(:negative_caching)
2800
+ @negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy)
2801
+ @request_coalescing = args[:request_coalescing] if args.key?(:request_coalescing)
2802
+ @serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale)
2629
2803
  @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
2630
2804
  @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
2631
2805
  end
2632
2806
  end
2633
2807
 
2808
+ # Bypass the cache when the specified request headers are present, e.g. Pragma
2809
+ # or Authorization headers. Values are case insensitive. The presence of such a
2810
+ # header overrides the cache_mode setting.
2811
+ class BackendBucketCdnPolicyBypassCacheOnRequestHeader
2812
+ include Google::Apis::Core::Hashable
2813
+
2814
+ # The header field name to match on when bypassing cache. Values are case-
2815
+ # insensitive.
2816
+ # Corresponds to the JSON property `headerName`
2817
+ # @return [String]
2818
+ attr_accessor :header_name
2819
+
2820
+ def initialize(**args)
2821
+ update!(**args)
2822
+ end
2823
+
2824
+ # Update properties of this object
2825
+ def update!(**args)
2826
+ @header_name = args[:header_name] if args.key?(:header_name)
2827
+ end
2828
+ end
2829
+
2830
+ # Specify CDN TTLs for response error codes.
2831
+ class BackendBucketCdnPolicyNegativeCachingPolicy
2832
+ include Google::Apis::Core::Hashable
2833
+
2834
+ # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
2835
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
2836
+ # and you cannot specify a status code more than once.
2837
+ # Corresponds to the JSON property `code`
2838
+ # @return [Fixnum]
2839
+ attr_accessor :code
2840
+
2841
+ # The TTL (in seconds) for which to cache responses with the corresponding
2842
+ # status code. The maximum allowed value is 1800s (30 minutes), noting that
2843
+ # infrequently accessed objects may be evicted from the cache before the defined
2844
+ # TTL.
2845
+ # Corresponds to the JSON property `ttl`
2846
+ # @return [Fixnum]
2847
+ attr_accessor :ttl
2848
+
2849
+ def initialize(**args)
2850
+ update!(**args)
2851
+ end
2852
+
2853
+ # Update properties of this object
2854
+ def update!(**args)
2855
+ @code = args[:code] if args.key?(:code)
2856
+ @ttl = args[:ttl] if args.key?(:ttl)
2857
+ end
2858
+ end
2859
+
2634
2860
  # Contains a list of BackendBucket resources.
2635
2861
  class BackendBucketList
2636
2862
  include Google::Apis::Core::Hashable
@@ -2928,6 +3154,14 @@ module Google
2928
3154
  # @return [Google::Apis::ComputeV1::BackendServiceLogConfig]
2929
3155
  attr_accessor :log_config
2930
3156
 
3157
+ # A Duration represents a fixed-length span of time represented as a count of
3158
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
3159
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
3160
+ # 000 years.
3161
+ # Corresponds to the JSON property `maxStreamDuration`
3162
+ # @return [Google::Apis::ComputeV1::Duration]
3163
+ attr_accessor :max_stream_duration
3164
+
2931
3165
  # Name of the resource. Provided by the client when the resource is created. The
2932
3166
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
2933
3167
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3007,7 +3241,7 @@ module Google
3007
3241
 
3008
3242
  # Type of session affinity to use. The default is NONE.
3009
3243
  # 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.
3244
+ # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3011
3245
  # * For all other load balancers that use loadBalancingScheme=EXTERNAL, the
3012
3246
  # possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use
3013
3247
  # GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.
@@ -3022,10 +3256,9 @@ module Google
3022
3256
  # @return [String]
3023
3257
  attr_accessor :session_affinity
3024
3258
 
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.
3259
+ # Not supported when the backend service is referenced by a URL map that is
3260
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3261
+ # Instead, use maxStreamDuration.
3029
3262
  # Corresponds to the JSON property `timeoutSec`
3030
3263
  # @return [Fixnum]
3031
3264
  attr_accessor :timeout_sec
@@ -3056,6 +3289,7 @@ module Google
3056
3289
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3057
3290
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
3058
3291
  @log_config = args[:log_config] if args.key?(:log_config)
3292
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
3059
3293
  @name = args[:name] if args.key?(:name)
3060
3294
  @network = args[:network] if args.key?(:network)
3061
3295
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
@@ -3198,6 +3432,13 @@ module Google
3198
3432
  class BackendServiceCdnPolicy
3199
3433
  include Google::Apis::Core::Hashable
3200
3434
 
3435
+ # Bypass the cache when the specified request headers are matched - e.g. Pragma
3436
+ # or Authorization headers. Up to 5 headers can be specified. The cache is
3437
+ # bypassed for all cdnPolicy.cacheMode settings.
3438
+ # Corresponds to the JSON property `bypassCacheOnRequestHeaders`
3439
+ # @return [Array<Google::Apis::ComputeV1::BackendServiceCdnPolicyBypassCacheOnRequestHeader>]
3440
+ attr_accessor :bypass_cache_on_request_headers
3441
+
3201
3442
  # Message containing what to include in the cache key for a request for Cloud
3202
3443
  # CDN.
3203
3444
  # Corresponds to the JSON property `cacheKeyPolicy`
@@ -3258,6 +3499,53 @@ module Google
3258
3499
  # @return [Fixnum]
3259
3500
  attr_accessor :max_ttl
3260
3501
 
3502
+ # Negative caching allows per-status code TTLs to be set, in order to apply fine-
3503
+ # grained caching for common errors or redirects. This can reduce the load on
3504
+ # your origin and improve end-user experience by reducing response latency. When
3505
+ # the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative
3506
+ # caching applies to responses with the specified response code that lack any
3507
+ # Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is
3508
+ # set to FORCE_CACHE_ALL, negative caching applies to all responses with the
3509
+ # specified response code, and override any caching headers. By default, Cloud
3510
+ # CDN will apply the following default TTLs to these status codes: HTTP 300 (
3511
+ # Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found),
3512
+ # 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not
3513
+ # Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults
3514
+ # can be overridden in negative_caching_policy.
3515
+ # Corresponds to the JSON property `negativeCaching`
3516
+ # @return [Boolean]
3517
+ attr_accessor :negative_caching
3518
+ alias_method :negative_caching?, :negative_caching
3519
+
3520
+ # Sets a cache TTL for the specified HTTP status code. negative_caching must be
3521
+ # enabled to configure negative_caching_policy. Omitting the policy and leaving
3522
+ # negative_caching enabled will use Cloud CDN's default cache TTLs. Note that
3523
+ # when specifying an explicit negative_caching_policy, you should take care to
3524
+ # specify a cache TTL for all response codes that you wish to cache. Cloud CDN
3525
+ # will not apply any default negative caching when a policy exists.
3526
+ # Corresponds to the JSON property `negativeCachingPolicy`
3527
+ # @return [Array<Google::Apis::ComputeV1::BackendServiceCdnPolicyNegativeCachingPolicy>]
3528
+ attr_accessor :negative_caching_policy
3529
+
3530
+ # If true then Cloud CDN will combine multiple concurrent cache fill requests
3531
+ # into a small number of requests to the origin.
3532
+ # Corresponds to the JSON property `requestCoalescing`
3533
+ # @return [Boolean]
3534
+ attr_accessor :request_coalescing
3535
+ alias_method :request_coalescing?, :request_coalescing
3536
+
3537
+ # Serve existing content from the cache (if available) when revalidating content
3538
+ # with the origin, or when an error is encountered when refreshing the cache.
3539
+ # This setting defines the default "max-stale" duration for any cached responses
3540
+ # that do not specify a max-stale directive. Stale responses that exceed the TTL
3541
+ # configured here will not be served. The default limit (max-stale) is 86400s (1
3542
+ # day), which will allow stale content to be served up to this limit beyond the
3543
+ # max-age (or s-max-age) of a cached response. The maximum allowed value is
3544
+ # 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
3545
+ # Corresponds to the JSON property `serveWhileStale`
3546
+ # @return [Fixnum]
3547
+ attr_accessor :serve_while_stale
3548
+
3261
3549
  # Maximum number of seconds the response to a signed URL request will be
3262
3550
  # considered fresh. After this time period, the response will be revalidated
3263
3551
  # before being served. Defaults to 1hr (3600s). When serving responses to signed
@@ -3280,16 +3568,73 @@ module Google
3280
3568
 
3281
3569
  # Update properties of this object
3282
3570
  def update!(**args)
3571
+ @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
3283
3572
  @cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
3284
3573
  @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
3285
3574
  @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
3286
3575
  @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
3287
3576
  @max_ttl = args[:max_ttl] if args.key?(:max_ttl)
3577
+ @negative_caching = args[:negative_caching] if args.key?(:negative_caching)
3578
+ @negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy)
3579
+ @request_coalescing = args[:request_coalescing] if args.key?(:request_coalescing)
3580
+ @serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale)
3288
3581
  @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
3289
3582
  @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
3290
3583
  end
3291
3584
  end
3292
3585
 
3586
+ # Bypass the cache when the specified request headers are present, e.g. Pragma
3587
+ # or Authorization headers. Values are case insensitive. The presence of such a
3588
+ # header overrides the cache_mode setting.
3589
+ class BackendServiceCdnPolicyBypassCacheOnRequestHeader
3590
+ include Google::Apis::Core::Hashable
3591
+
3592
+ # The header field name to match on when bypassing cache. Values are case-
3593
+ # insensitive.
3594
+ # Corresponds to the JSON property `headerName`
3595
+ # @return [String]
3596
+ attr_accessor :header_name
3597
+
3598
+ def initialize(**args)
3599
+ update!(**args)
3600
+ end
3601
+
3602
+ # Update properties of this object
3603
+ def update!(**args)
3604
+ @header_name = args[:header_name] if args.key?(:header_name)
3605
+ end
3606
+ end
3607
+
3608
+ # Specify CDN TTLs for response error codes.
3609
+ class BackendServiceCdnPolicyNegativeCachingPolicy
3610
+ include Google::Apis::Core::Hashable
3611
+
3612
+ # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
3613
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
3614
+ # and you cannot specify a status code more than once.
3615
+ # Corresponds to the JSON property `code`
3616
+ # @return [Fixnum]
3617
+ attr_accessor :code
3618
+
3619
+ # The TTL (in seconds) for which to cache responses with the corresponding
3620
+ # status code. The maximum allowed value is 1800s (30 minutes), noting that
3621
+ # infrequently accessed objects may be evicted from the cache before the defined
3622
+ # TTL.
3623
+ # Corresponds to the JSON property `ttl`
3624
+ # @return [Fixnum]
3625
+ attr_accessor :ttl
3626
+
3627
+ def initialize(**args)
3628
+ update!(**args)
3629
+ end
3630
+
3631
+ # Update properties of this object
3632
+ def update!(**args)
3633
+ @code = args[:code] if args.key?(:code)
3634
+ @ttl = args[:ttl] if args.key?(:ttl)
3635
+ end
3636
+ end
3637
+
3293
3638
  # Applicable only to Failover for Internal TCP/UDP Load Balancing and Network
3294
3639
  # Load Balancing. On failover or failback, this field indicates whether
3295
3640
  # connection draining will be honored. GCP has a fixed connection draining
@@ -3760,7 +4105,10 @@ module Google
3760
4105
  end
3761
4106
  end
3762
4107
 
3763
- #
4108
+ # A transient resource used in compute.instances.bulkInsert and compute.
4109
+ # regionInstances.bulkInsert and compute.regionInstances.recommendLocations.
4110
+ # This resource is not persisted anywhere, it is used only for processing the
4111
+ # requests.
3764
4112
  class BulkInsertInstanceResource
3765
4113
  include Google::Apis::Core::Hashable
3766
4114
 
@@ -3782,16 +4130,17 @@ module Google
3782
4130
 
3783
4131
  # The minimum number of instances to create. If no min_count is specified then
3784
4132
  # count is used as the default value. If min_count instances cannot be created,
3785
- # then no instances will be created.
4133
+ # then no instances will be created and instances already created will be
4134
+ # deleted.
3786
4135
  # Corresponds to the JSON property `minCount`
3787
4136
  # @return [Fixnum]
3788
4137
  attr_accessor :min_count
3789
4138
 
3790
4139
  # 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
4140
+ # per_instance_properties must be set. The pattern should contain one continuous
3792
4141
  # sequence of placeholder hash characters (#) with each character corresponding
3793
4142
  # 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
4143
+ # will generate instance names such as inst-0001, inst-0002, ... . If there
3795
4144
  # already exist instance(s) whose names match the name pattern in the same
3796
4145
  # project and zone, then the generated instance numbers will start after the
3797
4146
  # biggest existing number. For example, if there exists an instance with name
@@ -3945,14 +4294,14 @@ module Google
3945
4294
  class CircuitBreakers
3946
4295
  include Google::Apis::Core::Hashable
3947
4296
 
3948
- # The maximum number of connections to the backend service. If not specified,
3949
- # there is no limit.
4297
+ # Not supported when the backend service is referenced by a URL map that is
4298
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3950
4299
  # Corresponds to the JSON property `maxConnections`
3951
4300
  # @return [Fixnum]
3952
4301
  attr_accessor :max_connections
3953
4302
 
3954
- # The maximum number of pending requests allowed to the backend service. If not
3955
- # specified, there is no limit.
4303
+ # Not supported when the backend service is referenced by a URL map that is
4304
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3956
4305
  # Corresponds to the JSON property `maxPendingRequests`
3957
4306
  # @return [Fixnum]
3958
4307
  attr_accessor :max_pending_requests
@@ -3963,16 +4312,14 @@ module Google
3963
4312
  # @return [Fixnum]
3964
4313
  attr_accessor :max_requests
3965
4314
 
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.
4315
+ # Not supported when the backend service is referenced by a URL map that is
4316
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3970
4317
  # Corresponds to the JSON property `maxRequestsPerConnection`
3971
4318
  # @return [Fixnum]
3972
4319
  attr_accessor :max_requests_per_connection
3973
4320
 
3974
- # The maximum number of parallel retries allowed to the backend cluster. If not
3975
- # specified, the default is 1.
4321
+ # Not supported when the backend service is referenced by a URL map that is
4322
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3976
4323
  # Corresponds to the JSON property `maxRetries`
3977
4324
  # @return [Fixnum]
3978
4325
  attr_accessor :max_retries
@@ -6068,6 +6415,13 @@ module Google
6068
6415
  class DistributionPolicy
6069
6416
  include Google::Apis::Core::Hashable
6070
6417
 
6418
+ # The distribution shape to which the group converges either proactively or on
6419
+ # resize events (depending on the value set in updatePolicy.
6420
+ # instanceRedistributionType).
6421
+ # Corresponds to the JSON property `targetShape`
6422
+ # @return [String]
6423
+ attr_accessor :target_shape
6424
+
6071
6425
  # Zones where the regional managed instance group will create and manage its
6072
6426
  # instances.
6073
6427
  # Corresponds to the JSON property `zones`
@@ -6080,6 +6434,7 @@ module Google
6080
6434
 
6081
6435
  # Update properties of this object
6082
6436
  def update!(**args)
6437
+ @target_shape = args[:target_shape] if args.key?(:target_shape)
6083
6438
  @zones = args[:zones] if args.key?(:zones)
6084
6439
  end
6085
6440
  end
@@ -6390,6 +6745,10 @@ module Google
6390
6745
  attr_accessor :id
6391
6746
 
6392
6747
  # List of interfaces for this external VPN gateway.
6748
+ # If your peer-side gateway is an on-premises gateway and non-AWS cloud
6749
+ # providers? gateway, at most two interfaces can be provided for an external VPN
6750
+ # gateway. If your peer side is an AWS virtual private gateway, four interfaces
6751
+ # should be provided for an external VPN gateway.
6393
6752
  # Corresponds to the JSON property `interfaces`
6394
6753
  # @return [Array<Google::Apis::ComputeV1::ExternalVpnGatewayInterface>]
6395
6754
  attr_accessor :interfaces
@@ -6465,8 +6824,9 @@ module Google
6465
6824
 
6466
6825
  # The numeric ID of this interface. The allowed input values for this id for
6467
6826
  # different redundancy types of external VPN gateway:
6468
- # SINGLE_IP_INTERNALLY_REDUNDANT - 0 TWO_IPS_REDUNDANCY - 0, 1
6469
- # FOUR_IPS_REDUNDANCY - 0, 1, 2, 3
6827
+ # - SINGLE_IP_INTERNALLY_REDUNDANT - 0
6828
+ # - TWO_IPS_REDUNDANCY - 0, 1
6829
+ # - FOUR_IPS_REDUNDANCY - 0, 1, 2, 3
6470
6830
  # Corresponds to the JSON property `id`
6471
6831
  # @return [Fixnum]
6472
6832
  attr_accessor :id
@@ -7090,13 +7450,14 @@ module Google
7090
7450
  # @return [String]
7091
7451
  attr_accessor :description
7092
7452
 
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.
7453
+ # Depreacted, please use short name instead. User-provided name of the
7454
+ # Organization firewall plicy. The name should be unique in the organization in
7455
+ # which the firewall policy is created. The name must be 1-63 characters long,
7456
+ # and comply with RFC1035. Specifically, the name must be 1-63 characters long
7457
+ # and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
7458
+ # first character must be a lowercase letter, and all following characters must
7459
+ # be a dash, lowercase letter, or digit, except the last character, which cannot
7460
+ # be a dash.
7100
7461
  # Corresponds to the JSON property `displayName`
7101
7462
  # @return [String]
7102
7463
  attr_accessor :display_name
@@ -7160,6 +7521,17 @@ module Google
7160
7521
  # @return [String]
7161
7522
  attr_accessor :self_link_with_id
7162
7523
 
7524
+ # User-provided name of the Organization firewall plicy. The name should be
7525
+ # unique in the organization in which the firewall policy is created. The name
7526
+ # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
7527
+ # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
7528
+ # [a-z0-9])?` which means the first character must be a lowercase letter, and
7529
+ # all following characters must be a dash, lowercase letter, or digit, except
7530
+ # the last character, which cannot be a dash.
7531
+ # Corresponds to the JSON property `shortName`
7532
+ # @return [String]
7533
+ attr_accessor :short_name
7534
+
7163
7535
  def initialize(**args)
7164
7536
  update!(**args)
7165
7537
  end
@@ -7179,6 +7551,7 @@ module Google
7179
7551
  @rules = args[:rules] if args.key?(:rules)
7180
7552
  @self_link = args[:self_link] if args.key?(:self_link)
7181
7553
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
7554
+ @short_name = args[:short_name] if args.key?(:short_name)
7182
7555
  end
7183
7556
  end
7184
7557
 
@@ -7191,7 +7564,8 @@ module Google
7191
7564
  # @return [String]
7192
7565
  attr_accessor :attachment_target
7193
7566
 
7194
- # [Output Only] The display name of the firewall policy of the association.
7567
+ # [Output Only] Deprecated, please use short name instead. The display name of
7568
+ # the firewall policy of the association.
7195
7569
  # Corresponds to the JSON property `displayName`
7196
7570
  # @return [String]
7197
7571
  attr_accessor :display_name
@@ -7206,6 +7580,11 @@ module Google
7206
7580
  # @return [String]
7207
7581
  attr_accessor :name
7208
7582
 
7583
+ # [Output Only] The short name of the firewall policy of the association.
7584
+ # Corresponds to the JSON property `shortName`
7585
+ # @return [String]
7586
+ attr_accessor :short_name
7587
+
7209
7588
  def initialize(**args)
7210
7589
  update!(**args)
7211
7590
  end
@@ -7216,6 +7595,7 @@ module Google
7216
7595
  @display_name = args[:display_name] if args.key?(:display_name)
7217
7596
  @firewall_policy_id = args[:firewall_policy_id] if args.key?(:firewall_policy_id)
7218
7597
  @name = args[:name] if args.key?(:name)
7598
+ @short_name = args[:short_name] if args.key?(:short_name)
7219
7599
  end
7220
7600
  end
7221
7601
 
@@ -7402,17 +7782,6 @@ module Google
7402
7782
  # @return [Array<String>]
7403
7783
  attr_accessor :target_resources
7404
7784
 
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
7785
  # A list of service accounts indicating the sets of instances that are applied
7417
7786
  # with this rule.
7418
7787
  # Corresponds to the JSON property `targetServiceAccounts`
@@ -7435,7 +7804,6 @@ module Google
7435
7804
  @priority = args[:priority] if args.key?(:priority)
7436
7805
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
7437
7806
  @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
7807
  @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
7440
7808
  end
7441
7809
  end
@@ -7461,12 +7829,6 @@ module Google
7461
7829
  # @return [Array<String>]
7462
7830
  attr_accessor :src_ip_ranges
7463
7831
 
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
7832
  def initialize(**args)
7471
7833
  update!(**args)
7472
7834
  end
@@ -7476,7 +7838,6 @@ module Google
7476
7838
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
7477
7839
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
7478
7840
  @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
7841
  end
7481
7842
  end
7482
7843
 
@@ -7523,7 +7884,7 @@ module Google
7523
7884
  # - If the value is a percent, then the calculated value is percent/100 *
7524
7885
  # targetSize. For example, the calculated value of a 80% of a managed instance
7525
7886
  # group with 150 instances would be (80/100 * 150) = 120 VM instances. If there
7526
- # is a remainder, the number is rounded up.
7887
+ # is a remainder, the number is rounded.
7527
7888
  # Corresponds to the JSON property `calculated`
7528
7889
  # @return [Fixnum]
7529
7890
  attr_accessor :calculated
@@ -7592,10 +7953,11 @@ module Google
7592
7953
  attr_accessor :ip_address
7593
7954
 
7594
7955
  # The IP protocol to which this rule applies.
7595
- # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
7956
+ # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and
7957
+ # L3_DEFAULT.
7596
7958
  # The valid IP protocols are different for different load balancing products:
7597
7959
  # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and
7598
- # one of TCP, UDP or ALL is valid.
7960
+ # one of TCP, UDP or L3_DEFAULT is valid.
7599
7961
  # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and
7600
7962
  # only TCP is valid.
7601
7963
  # - Internal HTTP(S) Load Balancing: The load balancing scheme is
@@ -7603,17 +7965,18 @@ module Google
7603
7965
  # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme
7604
7966
  # is EXTERNAL and only TCP is valid.
7605
7967
  # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of
7606
- # TCP or UDP is valid.
7968
+ # TCP, UDP or L3_DEFAULT is valid.
7607
7969
  # Corresponds to the JSON property `IPProtocol`
7608
7970
  # @return [String]
7609
7971
  attr_accessor :ip_protocol
7610
7972
 
7611
- # This field is used along with the backend_service field for internal load
7612
- # balancing or with the target field for internal TargetInstance. This field
7613
- # cannot be used with port or portRange fields.
7614
- # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify
7615
- # this field to allow packets addressed to any ports will be forwarded to the
7616
- # backends configured with this forwarding rule.
7973
+ # This field is used along with the backend_service field for Internal TCP/UDP
7974
+ # Load Balancing or Network Load Balancing, or with the target field for
7975
+ # internal and external TargetInstance.
7976
+ # You can only use one of ports and port_range, or allPorts. The three are
7977
+ # mutually exclusive.
7978
+ # For TCP, UDP and SCTP traffic, packets addressed to any ports will be
7979
+ # forwarded to the target or backendService.
7617
7980
  # Corresponds to the JSON property `allPorts`
7618
7981
  # @return [Boolean]
7619
7982
  attr_accessor :all_ports
@@ -7775,13 +8138,16 @@ module Google
7775
8138
  # @return [String]
7776
8139
  attr_accessor :network_tier
7777
8140
 
7778
- # This field can be used only if: * Load balancing scheme is one of EXTERNAL,
7779
- # INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP,
7780
- # or SCTP.
8141
+ # This field can be used only if:
8142
+ # - Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or
8143
+ # INTERNAL_MANAGED
8144
+ # - IPProtocol is one of TCP, UDP, or SCTP.
7781
8145
  # Packets addressed to ports in the specified range will be forwarded to target
7782
- # or backend_service. You can only use one of ports, port_range, or allPorts.
7783
- # The three are mutually exclusive. Forwarding rules with the same [IPAddress,
7784
- # IPProtocol] pair must have disjoint port ranges.
8146
+ # or backend_service.
8147
+ # You can only use one of ports, port_range, or allPorts. The three are mutually
8148
+ # exclusive.
8149
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
8150
+ # ports.
7785
8151
  # Some types of forwarding target have constraints on the acceptable ports:
7786
8152
  # - TargetHttpProxy: 80, 8080
7787
8153
  # - TargetHttpsProxy: 443
@@ -7802,8 +8168,8 @@ module Google
7802
8168
  # You can only use one of ports and port_range, or allPorts. The three are
7803
8169
  # mutually exclusive.
7804
8170
  # You can specify a list of up to five ports, which can be non-contiguous.
7805
- # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not
7806
- # specify ports.
8171
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
8172
+ # ports.
7807
8173
  # For more information, see [Port specifications](/load-balancing/docs/
7808
8174
  # forwarding-rule-concepts#port_specifications).
7809
8175
  # Corresponds to the JSON property `ports`
@@ -9229,11 +9595,12 @@ module Google
9229
9595
 
9230
9596
  # List of URLs to the HealthCheck resources. Must have at least one HealthCheck,
9231
9597
  # and not more than 10. HealthCheck resources must have portSpecification=
9232
- # USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be
9233
- # regional and in the same region. For global HealthCheckService, HealthCheck
9234
- # must be global. Mix of regional and global HealthChecks is not supported.
9235
- # Multiple regional HealthChecks must belong to the same region. Regional
9236
- # HealthChecks</code? must belong to the same region as zones of NEGs.
9598
+ # USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional
9599
+ # HealthCheckService, the HealthCheck must be regional and in the same region.
9600
+ # For global HealthCheckService, HealthCheck must be global. Mix of regional and
9601
+ # global HealthChecks is not supported. Multiple regional HealthChecks must
9602
+ # belong to the same region. Regional HealthChecks must belong to the same
9603
+ # region as zones of NEGs.
9237
9604
  # Corresponds to the JSON property `healthChecks`
9238
9605
  # @return [Array<String>]
9239
9606
  attr_accessor :health_checks
@@ -9687,6 +10054,16 @@ module Google
9687
10054
  # @return [Hash<String,String>]
9688
10055
  attr_accessor :annotations
9689
10056
 
10057
+ # URL of the forwarding rule associated with the health status of the instance.
10058
+ # Corresponds to the JSON property `forwardingRule`
10059
+ # @return [String]
10060
+ attr_accessor :forwarding_rule
10061
+
10062
+ # A forwarding rule IP address assigned to this instance.
10063
+ # Corresponds to the JSON property `forwardingRuleIp`
10064
+ # @return [String]
10065
+ attr_accessor :forwarding_rule_ip
10066
+
9690
10067
  # Health state of the instance.
9691
10068
  # Corresponds to the JSON property `healthState`
9692
10069
  # @return [String]
@@ -9727,6 +10104,8 @@ module Google
9727
10104
  # Update properties of this object
9728
10105
  def update!(**args)
9729
10106
  @annotations = args[:annotations] if args.key?(:annotations)
10107
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
10108
+ @forwarding_rule_ip = args[:forwarding_rule_ip] if args.key?(:forwarding_rule_ip)
9730
10109
  @health_state = args[:health_state] if args.key?(:health_state)
9731
10110
  @instance = args[:instance] if args.key?(:instance)
9732
10111
  @ip_address = args[:ip_address] if args.key?(:ip_address)
@@ -9838,6 +10217,9 @@ module Google
9838
10217
 
9839
10218
  # The HTTP status code used to abort the request.
9840
10219
  # The value must be between 200 and 599 inclusive.
10220
+ # For gRPC protocol, the gRPC status code is mapped to HTTP status code
10221
+ # according to this mapping table. HTTP status 200 is mapped to gRPC status
10222
+ # UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
9841
10223
  # Corresponds to the JSON property `httpStatus`
9842
10224
  # @return [Fixnum]
9843
10225
  attr_accessor :http_status
@@ -10464,8 +10846,8 @@ module Google
10464
10846
  # @return [Google::Apis::ComputeV1::Duration]
10465
10847
  attr_accessor :per_try_timeout
10466
10848
 
10467
- # Specfies one or more conditions when this retry rule applies. Valid values are:
10468
- #
10849
+ # Specifies one or more conditions when this retry rule applies. Valid values
10850
+ # are:
10469
10851
  # - 5xx: Loadbalancer will attempt a retry if the backend service responds with
10470
10852
  # any 5xx response code, or if the backend service does not respond at all,
10471
10853
  # example: disconnects, reset, read timeout, connection failure, and refused
@@ -10524,6 +10906,14 @@ module Google
10524
10906
  # @return [Google::Apis::ComputeV1::HttpFaultInjection]
10525
10907
  attr_accessor :fault_injection_policy
10526
10908
 
10909
+ # A Duration represents a fixed-length span of time represented as a count of
10910
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
10911
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
10912
+ # 000 years.
10913
+ # Corresponds to the JSON property `maxStreamDuration`
10914
+ # @return [Google::Apis::ComputeV1::Duration]
10915
+ attr_accessor :max_stream_duration
10916
+
10527
10917
  # A policy that specifies how requests intended for the route's backends are
10528
10918
  # shadowed to a separate mirrored backend service. Loadbalancer does not wait
10529
10919
  # for responses from the shadow service. Prior to sending traffic to the shadow
@@ -10572,6 +10962,7 @@ module Google
10572
10962
  def update!(**args)
10573
10963
  @cors_policy = args[:cors_policy] if args.key?(:cors_policy)
10574
10964
  @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
10965
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
10575
10966
  @request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy)
10576
10967
  @retry_policy = args[:retry_policy] if args.key?(:retry_policy)
10577
10968
  @timeout = args[:timeout] if args.key?(:timeout)
@@ -11113,13 +11504,17 @@ module Google
11113
11504
  # @return [Google::Apis::ComputeV1::InitialStateConfig]
11114
11505
  attr_accessor :shielded_instance_initial_state
11115
11506
 
11116
- # URL of the source disk used to create this image. This can be a full or valid
11117
- # partial URL. You must provide either this property or the rawDisk.source
11118
- # property but not both to create an image. For example, the following are valid
11119
- # values:
11507
+ # URL of the source disk used to create this image. For example, the following
11508
+ # are valid values:
11120
11509
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
11121
11510
  # - projects/project/zones/zone/disks/disk
11122
11511
  # - zones/zone/disks/disk
11512
+ # In order to create an image, you must provide the full or partial URL of one
11513
+ # of the following:
11514
+ # - The rawDisk.source URL
11515
+ # - The sourceDisk URL
11516
+ # - The sourceImage URL
11517
+ # - The sourceSnapshot URL
11123
11518
  # Corresponds to the JSON property `sourceDisk`
11124
11519
  # @return [String]
11125
11520
  attr_accessor :source_disk
@@ -11140,10 +11535,10 @@ module Google
11140
11535
  # URL of the source image used to create this image.
11141
11536
  # In order to create an image, you must provide the full or partial URL of one
11142
11537
  # of the following:
11143
- # - The selfLink URL
11144
- # - This property
11145
11538
  # - The rawDisk.source URL
11146
11539
  # - The sourceDisk URL
11540
+ # - The sourceImage URL
11541
+ # - The sourceSnapshot URL
11147
11542
  # Corresponds to the JSON property `sourceImage`
11148
11543
  # @return [String]
11149
11544
  attr_accessor :source_image
@@ -11164,11 +11559,10 @@ module Google
11164
11559
  # URL of the source snapshot used to create this image.
11165
11560
  # In order to create an image, you must provide the full or partial URL of one
11166
11561
  # of the following:
11167
- # - The selfLink URL
11168
- # - This property
11169
- # - The sourceImage URL
11170
11562
  # - The rawDisk.source URL
11171
11563
  # - The sourceDisk URL
11564
+ # - The sourceImage URL
11565
+ # - The sourceSnapshot URL
11172
11566
  # Corresponds to the JSON property `sourceSnapshot`
11173
11567
  # @return [String]
11174
11568
  attr_accessor :source_snapshot
@@ -11262,8 +11656,13 @@ module Google
11262
11656
  # @return [String]
11263
11657
  attr_accessor :sha1_checksum
11264
11658
 
11265
- # The full Google Cloud Storage URL where the disk image is stored. You must
11266
- # provide either this property or the sourceDisk property but not both.
11659
+ # The full Google Cloud Storage URL where the disk image is stored.
11660
+ # In order to create an image, you must provide the full or partial URL of one
11661
+ # of the following:
11662
+ # - The rawDisk.source URL
11663
+ # - The sourceDisk URL
11664
+ # - The sourceImage URL
11665
+ # - The sourceSnapshot URL
11267
11666
  # Corresponds to the JSON property `source`
11268
11667
  # @return [String]
11269
11668
  attr_accessor :source
@@ -11612,11 +12011,6 @@ module Google
11612
12011
  # @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
11613
12012
  attr_accessor :network_interfaces
11614
12013
 
11615
- # PostKeyRevocationActionType of the instance.
11616
- # Corresponds to the JSON property `postKeyRevocationActionType`
11617
- # @return [String]
11618
- attr_accessor :post_key_revocation_action_type
11619
-
11620
12014
  # The private IPv6 google access type for the VM. If not specified, use
11621
12015
  # INHERIT_FROM_SUBNETWORK as default.
11622
12016
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
@@ -11639,7 +12033,7 @@ module Google
11639
12033
  attr_accessor :satisfies_pzs
11640
12034
  alias_method :satisfies_pzs?, :satisfies_pzs
11641
12035
 
11642
- # Sets the scheduling options for an Instance. NextID: 17
12036
+ # Sets the scheduling options for an Instance. NextID: 21
11643
12037
  # Corresponds to the JSON property `scheduling`
11644
12038
  # @return [Google::Apis::ComputeV1::Scheduling]
11645
12039
  attr_accessor :scheduling
@@ -11731,7 +12125,6 @@ module Google
11731
12125
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
11732
12126
  @name = args[:name] if args.key?(:name)
11733
12127
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
11734
- @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
11735
12128
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
11736
12129
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
11737
12130
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -12236,6 +12629,13 @@ module Google
12236
12629
  end
12237
12630
  end
12238
12631
 
12632
+ # Whether the instance is a standby. Properties of a standby instance comparing
12633
+ # to the regular instance: ======================================================
12634
+ # =================== | regular | standby =======================================
12635
+ # ================================== managed by IGM? | yes | yes added to the IG?
12636
+ # | yes | yes counts towards IGM's target size? | yes | no taken into account
12637
+ # by Autoscaler? | yes | no receives traffic from LB? | yes | no ================
12638
+ # =========================================================
12239
12639
  # Represents a Managed Instance Group resource.
12240
12640
  # An instance group is a collection of VM instances that you can manage as a
12241
12641
  # single entity. For more information, read Instance groups.
@@ -14244,11 +14644,6 @@ module Google
14244
14644
  # @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
14245
14645
  attr_accessor :network_interfaces
14246
14646
 
14247
- # PostKeyRevocationActionType of the instance.
14248
- # Corresponds to the JSON property `postKeyRevocationActionType`
14249
- # @return [String]
14250
- attr_accessor :post_key_revocation_action_type
14251
-
14252
14647
  # The private IPv6 google access type for VMs. If not specified, use
14253
14648
  # INHERIT_FROM_SUBNETWORK as default.
14254
14649
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
@@ -14266,7 +14661,7 @@ module Google
14266
14661
  # @return [Array<String>]
14267
14662
  attr_accessor :resource_policies
14268
14663
 
14269
- # Sets the scheduling options for an Instance. NextID: 17
14664
+ # Sets the scheduling options for an Instance. NextID: 21
14270
14665
  # Corresponds to the JSON property `scheduling`
14271
14666
  # @return [Google::Apis::ComputeV1::Scheduling]
14272
14667
  attr_accessor :scheduling
@@ -14306,7 +14701,6 @@ module Google
14306
14701
  @metadata = args[:metadata] if args.key?(:metadata)
14307
14702
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
14308
14703
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
14309
- @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
14310
14704
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
14311
14705
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
14312
14706
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -14618,7 +15012,8 @@ module Google
14618
15012
  class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy
14619
15013
  include Google::Apis::Core::Hashable
14620
15014
 
14621
- # [Output Only] The display name of the firewall policy.
15015
+ # [Output Only] Deprecated, please use short name instead. The display name of
15016
+ # the firewall policy.
14622
15017
  # Corresponds to the JSON property `displayName`
14623
15018
  # @return [String]
14624
15019
  attr_accessor :display_name
@@ -14633,6 +15028,11 @@ module Google
14633
15028
  # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
14634
15029
  attr_accessor :rules
14635
15030
 
15031
+ # [Output Only] The short name of the firewall policy.
15032
+ # Corresponds to the JSON property `shortName`
15033
+ # @return [String]
15034
+ attr_accessor :short_name
15035
+
14636
15036
  # [Output Only] The type of the firewall policy.
14637
15037
  # Corresponds to the JSON property `type`
14638
15038
  # @return [String]
@@ -14647,6 +15047,7 @@ module Google
14647
15047
  @display_name = args[:display_name] if args.key?(:display_name)
14648
15048
  @name = args[:name] if args.key?(:name)
14649
15049
  @rules = args[:rules] if args.key?(:rules)
15050
+ @short_name = args[:short_name] if args.key?(:short_name)
14650
15051
  @type = args[:type] if args.key?(:type)
14651
15052
  end
14652
15053
  end
@@ -15204,6 +15605,22 @@ module Google
15204
15605
  # @return [String]
15205
15606
  attr_accessor :edge_availability_domain
15206
15607
 
15608
+ # Indicates the user-supplied encryption option of this VLAN attachment (
15609
+ # interconnectAttachment). Can only be specified at attachment creation for
15610
+ # PARTNER or DEDICATED attachments. Possible values are:
15611
+ # - NONE - This is the default value, which means that the VLAN attachment
15612
+ # carries unencrypted traffic. VMs are able to send traffic to, or receive
15613
+ # traffic from, such a VLAN attachment.
15614
+ # - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted
15615
+ # by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs
15616
+ # cannot directly send traffic to, or receive traffic from, such a VLAN
15617
+ # attachment. To use IPsec-encrypted Cloud Interconnect, the VLAN attachment
15618
+ # must be created with this option.
15619
+ # Not currently available publicly.
15620
+ # Corresponds to the JSON property `encryption`
15621
+ # @return [String]
15622
+ attr_accessor :encryption
15623
+
15207
15624
  # [Output Only] Google reference ID, to be used when raising support tickets
15208
15625
  # with Google or otherwise to debug backend connectivity issues. [Deprecated]
15209
15626
  # This field is not used.
@@ -15223,6 +15640,23 @@ module Google
15223
15640
  # @return [String]
15224
15641
  attr_accessor :interconnect
15225
15642
 
15643
+ # List of URL of addresses that have been reserved for the VLAN attachment. Used
15644
+ # only for the VLAN attachment that has the encryption option as IPSEC. The
15645
+ # addresses must be regional internal IP address ranges. When creating an HA VPN
15646
+ # gateway over the VLAN attachment, if the attachment is configured to use a
15647
+ # regional internal IP address, then the VPN gateway's IP address is allocated
15648
+ # from the IP address range specified here. For example, if the HA VPN gateway's
15649
+ # interface 0 is paired to this VLAN attachment, then a regional internal IP
15650
+ # address for the VPN gateway interface 0 will be allocated from the IP address
15651
+ # specified for this VLAN attachment. If this field is not specified when
15652
+ # creating the VLAN attachment, then later on when creating an HA VPN gateway on
15653
+ # this VLAN attachment, the HA VPN gateway's IP address is allocated from the
15654
+ # regional external IP address pool.
15655
+ # Not currently available publicly.
15656
+ # Corresponds to the JSON property `ipsecInternalAddresses`
15657
+ # @return [Array<String>]
15658
+ attr_accessor :ipsec_internal_addresses
15659
+
15226
15660
  # [Output Only] Type of the resource. Always compute#interconnectAttachment for
15227
15661
  # interconnect attachments.
15228
15662
  # Corresponds to the JSON property `kind`
@@ -15357,9 +15791,11 @@ module Google
15357
15791
  @dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
15358
15792
  @description = args[:description] if args.key?(:description)
15359
15793
  @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
15794
+ @encryption = args[:encryption] if args.key?(:encryption)
15360
15795
  @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id)
15361
15796
  @id = args[:id] if args.key?(:id)
15362
15797
  @interconnect = args[:interconnect] if args.key?(:interconnect)
15798
+ @ipsec_internal_addresses = args[:ipsec_internal_addresses] if args.key?(:ipsec_internal_addresses)
15363
15799
  @kind = args[:kind] if args.key?(:kind)
15364
15800
  @mtu = args[:mtu] if args.key?(:mtu)
15365
15801
  @name = args[:name] if args.key?(:name)
@@ -16869,7 +17305,7 @@ module Google
16869
17305
  include Google::Apis::Core::Hashable
16870
17306
 
16871
17307
  # Location configurations mapped by location name. Currently only zone names are
16872
- # supported and must be represented as valid internal URLs, like: zones/us-
17308
+ # supported and must be represented as valid internal URLs, such as zones/us-
16873
17309
  # central1-a.
16874
17310
  # Corresponds to the JSON property `locations`
16875
17311
  # @return [Hash<String,Google::Apis::ComputeV1::LocationPolicyLocation>]
@@ -16889,7 +17325,7 @@ module Google
16889
17325
  class LocationPolicyLocation
16890
17326
  include Google::Apis::Core::Hashable
16891
17327
 
16892
- #
17328
+ # Preference for a given location: ALLOW or DENY.
16893
17329
  # Corresponds to the JSON property `preference`
16894
17330
  # @return [String]
16895
17331
  attr_accessor :preference
@@ -18950,6 +19386,20 @@ module Google
18950
19386
  # @return [String]
18951
19387
  attr_accessor :fingerprint
18952
19388
 
19389
+ # An array of IPv6 access configurations for this interface. Currently, only one
19390
+ # IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig
19391
+ # specified, then this instance will have no external IPv6 Internet access.
19392
+ # Corresponds to the JSON property `ipv6AccessConfigs`
19393
+ # @return [Array<Google::Apis::ComputeV1::AccessConfig>]
19394
+ attr_accessor :ipv6_access_configs
19395
+
19396
+ # [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be
19397
+ # accessed from the Internet. This field is always inherited from its subnetwork.
19398
+ # Valid only if stackType is IPV4_IPV6.
19399
+ # Corresponds to the JSON property `ipv6AccessType`
19400
+ # @return [String]
19401
+ attr_accessor :ipv6_access_type
19402
+
18953
19403
  # [Output Only] An IPv6 internal network address for this network interface.
18954
19404
  # Corresponds to the JSON property `ipv6Address`
18955
19405
  # @return [String]
@@ -18993,6 +19443,14 @@ module Google
18993
19443
  # @return [String]
18994
19444
  attr_accessor :nic_type
18995
19445
 
19446
+ # The stack type for this network interface to identify whether the IPv6 feature
19447
+ # is enabled or not. If not specified, IPV4_ONLY will be used.
19448
+ # This field can be both set at instance creation and update network interface
19449
+ # operations.
19450
+ # Corresponds to the JSON property `stackType`
19451
+ # @return [String]
19452
+ attr_accessor :stack_type
19453
+
18996
19454
  # The URL of the Subnetwork resource for this instance. If the network resource
18997
19455
  # is in legacy mode, do not specify this field. If the network is in auto subnet
18998
19456
  # mode, specifying the subnetwork is optional. If the network is in custom
@@ -19015,12 +19473,15 @@ module Google
19015
19473
  @access_configs = args[:access_configs] if args.key?(:access_configs)
19016
19474
  @alias_ip_ranges = args[:alias_ip_ranges] if args.key?(:alias_ip_ranges)
19017
19475
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
19476
+ @ipv6_access_configs = args[:ipv6_access_configs] if args.key?(:ipv6_access_configs)
19477
+ @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
19018
19478
  @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
19019
19479
  @kind = args[:kind] if args.key?(:kind)
19020
19480
  @name = args[:name] if args.key?(:name)
19021
19481
  @network = args[:network] if args.key?(:network)
19022
19482
  @network_ip = args[:network_ip] if args.key?(:network_ip)
19023
19483
  @nic_type = args[:nic_type] if args.key?(:nic_type)
19484
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
19024
19485
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
19025
19486
  end
19026
19487
  end
@@ -19352,7 +19813,8 @@ module Google
19352
19813
  class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy
19353
19814
  include Google::Apis::Core::Hashable
19354
19815
 
19355
- # [Output Only] The display name of the firewall policy.
19816
+ # [Output Only] Deprecated, please use short name instead. The display name of
19817
+ # the firewall policy.
19356
19818
  # Corresponds to the JSON property `displayName`
19357
19819
  # @return [String]
19358
19820
  attr_accessor :display_name
@@ -19367,6 +19829,11 @@ module Google
19367
19829
  # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
19368
19830
  attr_accessor :rules
19369
19831
 
19832
+ # [Output Only] The short name of the firewall policy.
19833
+ # Corresponds to the JSON property `shortName`
19834
+ # @return [String]
19835
+ attr_accessor :short_name
19836
+
19370
19837
  # [Output Only] The type of the firewall policy.
19371
19838
  # Corresponds to the JSON property `type`
19372
19839
  # @return [String]
@@ -19381,6 +19848,7 @@ module Google
19381
19848
  @display_name = args[:display_name] if args.key?(:display_name)
19382
19849
  @name = args[:name] if args.key?(:name)
19383
19850
  @rules = args[:rules] if args.key?(:rules)
19851
+ @short_name = args[:short_name] if args.key?(:short_name)
19384
19852
  @type = args[:type] if args.key?(:type)
19385
19853
  end
19386
19854
  end
@@ -23363,88 +23831,10 @@ module Google
23363
23831
  end
23364
23832
  end
23365
23833
 
23366
- # A quotas entry.
23367
- class Quota
23368
- include Google::Apis::Core::Hashable
23369
-
23370
- # [Output Only] Quota limit for this metric.
23371
- # Corresponds to the JSON property `limit`
23372
- # @return [Float]
23373
- attr_accessor :limit
23374
-
23375
- # [Output Only] Name of the quota metric.
23376
- # Corresponds to the JSON property `metric`
23377
- # @return [String]
23378
- attr_accessor :metric
23379
-
23380
- # [Output Only] Owning resource. This is the resource on which this quota is
23381
- # applied.
23382
- # Corresponds to the JSON property `owner`
23383
- # @return [String]
23384
- attr_accessor :owner
23385
-
23386
- # [Output Only] Current usage of this metric.
23387
- # Corresponds to the JSON property `usage`
23388
- # @return [Float]
23389
- attr_accessor :usage
23390
-
23391
- def initialize(**args)
23392
- update!(**args)
23393
- end
23394
-
23395
- # Update properties of this object
23396
- def update!(**args)
23397
- @limit = args[:limit] if args.key?(:limit)
23398
- @metric = args[:metric] if args.key?(:metric)
23399
- @owner = args[:owner] if args.key?(:owner)
23400
- @usage = args[:usage] if args.key?(:usage)
23401
- end
23402
- end
23403
-
23404
- # Represents a reference to a resource.
23405
- class Reference
23406
- include Google::Apis::Core::Hashable
23407
-
23408
- # [Output Only] Type of the resource. Always compute#reference for references.
23409
- # Corresponds to the JSON property `kind`
23410
- # @return [String]
23411
- attr_accessor :kind
23412
-
23413
- # A description of the reference type with no implied semantics. Possible values
23414
- # include:
23415
- # - MEMBER_OF
23416
- # Corresponds to the JSON property `referenceType`
23417
- # @return [String]
23418
- attr_accessor :reference_type
23419
-
23420
- # URL of the resource which refers to the target.
23421
- # Corresponds to the JSON property `referrer`
23422
- # @return [String]
23423
- attr_accessor :referrer
23424
-
23425
- # URL of the resource to which this reference points.
23426
- # Corresponds to the JSON property `target`
23427
- # @return [String]
23428
- attr_accessor :target
23429
-
23430
- def initialize(**args)
23431
- update!(**args)
23432
- end
23433
-
23434
- # Update properties of this object
23435
- def update!(**args)
23436
- @kind = args[:kind] if args.key?(:kind)
23437
- @reference_type = args[:reference_type] if args.key?(:reference_type)
23438
- @referrer = args[:referrer] if args.key?(:referrer)
23439
- @target = args[:target] if args.key?(:target)
23440
- end
23441
- end
23442
-
23443
- # Represents a Region resource.
23444
- # A region is a geographical area where a resource is located. For more
23445
- # information, read Regions and Zones. (== resource_for `$api_version`.regions ==
23446
- # )
23447
- class Region
23834
+ # A public advertised prefix represents an aggregated IP prefix or netblock
23835
+ # which customers bring to cloud. The IP prefix is a single unit of route
23836
+ # advertisement and is announced globally to the internet.
23837
+ class PublicAdvertisedPrefix
23448
23838
  include Google::Apis::Core::Hashable
23449
23839
 
23450
23840
  # [Output Only] Creation timestamp in RFC3339 text format.
@@ -23452,59 +23842,78 @@ module Google
23452
23842
  # @return [String]
23453
23843
  attr_accessor :creation_timestamp
23454
23844
 
23455
- # Deprecation status for a public resource.
23456
- # Corresponds to the JSON property `deprecated`
23457
- # @return [Google::Apis::ComputeV1::DeprecationStatus]
23458
- attr_accessor :deprecated
23459
-
23460
- # [Output Only] Textual description of the resource.
23845
+ # An optional description of this resource. Provide this property when you
23846
+ # create the resource.
23461
23847
  # Corresponds to the JSON property `description`
23462
23848
  # @return [String]
23463
23849
  attr_accessor :description
23464
23850
 
23465
- # [Output Only] The unique identifier for the resource. This identifier is
23466
- # defined by the server.
23851
+ # The IPv4 address to be used for reverse DNS verification.
23852
+ # Corresponds to the JSON property `dnsVerificationIp`
23853
+ # @return [String]
23854
+ attr_accessor :dns_verification_ip
23855
+
23856
+ # Fingerprint of this resource. A hash of the contents stored in this object.
23857
+ # This field is used in optimistic locking. This field will be ignored when
23858
+ # inserting a new PublicAdvertisedPrefix. An up-to-date fingerprint must be
23859
+ # provided in order to update the PublicAdvertisedPrefix, otherwise the request
23860
+ # will fail with error 412 conditionNotMet.
23861
+ # To see the latest fingerprint, make a get() request to retrieve a
23862
+ # PublicAdvertisedPrefix.
23863
+ # Corresponds to the JSON property `fingerprint`
23864
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
23865
+ # @return [String]
23866
+ attr_accessor :fingerprint
23867
+
23868
+ # [Output Only] The unique identifier for the resource type. The server
23869
+ # generates this identifier.
23467
23870
  # Corresponds to the JSON property `id`
23468
23871
  # @return [Fixnum]
23469
23872
  attr_accessor :id
23470
23873
 
23471
- # [Output Only] Type of the resource. Always compute#region for regions.
23874
+ # The IPv4 address range, in CIDR format, represented by this public advertised
23875
+ # prefix.
23876
+ # Corresponds to the JSON property `ipCidrRange`
23877
+ # @return [String]
23878
+ attr_accessor :ip_cidr_range
23879
+
23880
+ # [Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for
23881
+ # public advertised prefixes.
23472
23882
  # Corresponds to the JSON property `kind`
23473
23883
  # @return [String]
23474
23884
  attr_accessor :kind
23475
23885
 
23476
- # [Output Only] Name of the resource.
23886
+ # Name of the resource. Provided by the client when the resource is created. The
23887
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
23888
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
23889
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
23890
+ # and all following characters must be a dash, lowercase letter, or digit,
23891
+ # except the last character, which cannot be a dash.
23477
23892
  # Corresponds to the JSON property `name`
23478
23893
  # @return [String]
23479
23894
  attr_accessor :name
23480
23895
 
23481
- # [Output Only] Quotas assigned to this region.
23482
- # Corresponds to the JSON property `quotas`
23483
- # @return [Array<Google::Apis::ComputeV1::Quota>]
23484
- attr_accessor :quotas
23896
+ # [Output Only] The list of public delegated prefixes that exist for this public
23897
+ # advertised prefix.
23898
+ # Corresponds to the JSON property `publicDelegatedPrefixs`
23899
+ # @return [Array<Google::Apis::ComputeV1::PublicAdvertisedPrefixPublicDelegatedPrefix>]
23900
+ attr_accessor :public_delegated_prefixs
23485
23901
 
23486
23902
  # [Output Only] Server-defined URL for the resource.
23487
23903
  # Corresponds to the JSON property `selfLink`
23488
23904
  # @return [String]
23489
23905
  attr_accessor :self_link
23490
23906
 
23491
- # [Output Only] Status of the region, either UP or DOWN.
23907
+ # [Output Only] The shared secret to be used for reverse DNS verification.
23908
+ # Corresponds to the JSON property `sharedSecret`
23909
+ # @return [String]
23910
+ attr_accessor :shared_secret
23911
+
23912
+ # The status of the public advertised prefix.
23492
23913
  # Corresponds to the JSON property `status`
23493
23914
  # @return [String]
23494
23915
  attr_accessor :status
23495
23916
 
23496
- # [Output Only] Reserved for future use.
23497
- # Corresponds to the JSON property `supportsPzs`
23498
- # @return [Boolean]
23499
- attr_accessor :supports_pzs
23500
- alias_method :supports_pzs?, :supports_pzs
23501
-
23502
- # [Output Only] A list of zones available in this region, in the form of
23503
- # resource URLs.
23504
- # Corresponds to the JSON property `zones`
23505
- # @return [Array<String>]
23506
- attr_accessor :zones
23507
-
23508
23917
  def initialize(**args)
23509
23918
  update!(**args)
23510
23919
  end
@@ -23512,21 +23921,22 @@ module Google
23512
23921
  # Update properties of this object
23513
23922
  def update!(**args)
23514
23923
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
23515
- @deprecated = args[:deprecated] if args.key?(:deprecated)
23516
23924
  @description = args[:description] if args.key?(:description)
23925
+ @dns_verification_ip = args[:dns_verification_ip] if args.key?(:dns_verification_ip)
23926
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
23517
23927
  @id = args[:id] if args.key?(:id)
23928
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
23518
23929
  @kind = args[:kind] if args.key?(:kind)
23519
23930
  @name = args[:name] if args.key?(:name)
23520
- @quotas = args[:quotas] if args.key?(:quotas)
23931
+ @public_delegated_prefixs = args[:public_delegated_prefixs] if args.key?(:public_delegated_prefixs)
23521
23932
  @self_link = args[:self_link] if args.key?(:self_link)
23933
+ @shared_secret = args[:shared_secret] if args.key?(:shared_secret)
23522
23934
  @status = args[:status] if args.key?(:status)
23523
- @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
23524
- @zones = args[:zones] if args.key?(:zones)
23525
23935
  end
23526
23936
  end
23527
23937
 
23528
- # Contains a list of autoscalers.
23529
- class RegionAutoscalerList
23938
+ #
23939
+ class PublicAdvertisedPrefixList
23530
23940
  include Google::Apis::Core::Hashable
23531
23941
 
23532
23942
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -23534,12 +23944,13 @@ module Google
23534
23944
  # @return [String]
23535
23945
  attr_accessor :id
23536
23946
 
23537
- # A list of Autoscaler resources.
23947
+ # A list of PublicAdvertisedPrefix resources.
23538
23948
  # Corresponds to the JSON property `items`
23539
- # @return [Array<Google::Apis::ComputeV1::Autoscaler>]
23949
+ # @return [Array<Google::Apis::ComputeV1::PublicAdvertisedPrefix>]
23540
23950
  attr_accessor :items
23541
23951
 
23542
- # Type of resource.
23952
+ # [Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for
23953
+ # public advertised prefixes.
23543
23954
  # Corresponds to the JSON property `kind`
23544
23955
  # @return [String]
23545
23956
  attr_accessor :kind
@@ -23560,7 +23971,843 @@ module Google
23560
23971
 
23561
23972
  # [Output Only] Informational warning message.
23562
23973
  # Corresponds to the JSON property `warning`
23563
- # @return [Google::Apis::ComputeV1::RegionAutoscalerList::Warning]
23974
+ # @return [Google::Apis::ComputeV1::PublicAdvertisedPrefixList::Warning]
23975
+ attr_accessor :warning
23976
+
23977
+ def initialize(**args)
23978
+ update!(**args)
23979
+ end
23980
+
23981
+ # Update properties of this object
23982
+ def update!(**args)
23983
+ @id = args[:id] if args.key?(:id)
23984
+ @items = args[:items] if args.key?(:items)
23985
+ @kind = args[:kind] if args.key?(:kind)
23986
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
23987
+ @self_link = args[:self_link] if args.key?(:self_link)
23988
+ @warning = args[:warning] if args.key?(:warning)
23989
+ end
23990
+
23991
+ # [Output Only] Informational warning message.
23992
+ class Warning
23993
+ include Google::Apis::Core::Hashable
23994
+
23995
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
23996
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
23997
+ # Corresponds to the JSON property `code`
23998
+ # @return [String]
23999
+ attr_accessor :code
24000
+
24001
+ # [Output Only] Metadata about this warning in key: value format. For example:
24002
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24003
+ # Corresponds to the JSON property `data`
24004
+ # @return [Array<Google::Apis::ComputeV1::PublicAdvertisedPrefixList::Warning::Datum>]
24005
+ attr_accessor :data
24006
+
24007
+ # [Output Only] A human-readable description of the warning code.
24008
+ # Corresponds to the JSON property `message`
24009
+ # @return [String]
24010
+ attr_accessor :message
24011
+
24012
+ def initialize(**args)
24013
+ update!(**args)
24014
+ end
24015
+
24016
+ # Update properties of this object
24017
+ def update!(**args)
24018
+ @code = args[:code] if args.key?(:code)
24019
+ @data = args[:data] if args.key?(:data)
24020
+ @message = args[:message] if args.key?(:message)
24021
+ end
24022
+
24023
+ #
24024
+ class Datum
24025
+ include Google::Apis::Core::Hashable
24026
+
24027
+ # [Output Only] A key that provides more detail on the warning being returned.
24028
+ # For example, for warnings where there are no results in a list request for a
24029
+ # particular zone, this key might be scope and the key value might be the zone
24030
+ # name. Other examples might be a key indicating a deprecated resource and a
24031
+ # suggested replacement, or a warning about invalid network settings (for
24032
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24033
+ # for IP forwarding).
24034
+ # Corresponds to the JSON property `key`
24035
+ # @return [String]
24036
+ attr_accessor :key
24037
+
24038
+ # [Output Only] A warning data value corresponding to the key.
24039
+ # Corresponds to the JSON property `value`
24040
+ # @return [String]
24041
+ attr_accessor :value
24042
+
24043
+ def initialize(**args)
24044
+ update!(**args)
24045
+ end
24046
+
24047
+ # Update properties of this object
24048
+ def update!(**args)
24049
+ @key = args[:key] if args.key?(:key)
24050
+ @value = args[:value] if args.key?(:value)
24051
+ end
24052
+ end
24053
+ end
24054
+ end
24055
+
24056
+ # Represents a CIDR range which can be used to assign addresses.
24057
+ class PublicAdvertisedPrefixPublicDelegatedPrefix
24058
+ include Google::Apis::Core::Hashable
24059
+
24060
+ # The IP address range of the public delegated prefix
24061
+ # Corresponds to the JSON property `ipRange`
24062
+ # @return [String]
24063
+ attr_accessor :ip_range
24064
+
24065
+ # The name of the public delegated prefix
24066
+ # Corresponds to the JSON property `name`
24067
+ # @return [String]
24068
+ attr_accessor :name
24069
+
24070
+ # The project number of the public delegated prefix
24071
+ # Corresponds to the JSON property `project`
24072
+ # @return [String]
24073
+ attr_accessor :project
24074
+
24075
+ # The region of the public delegated prefix if it is regional. If absent, the
24076
+ # prefix is global.
24077
+ # Corresponds to the JSON property `region`
24078
+ # @return [String]
24079
+ attr_accessor :region
24080
+
24081
+ # The status of the public delegated prefix. Possible values are: INITIALIZING:
24082
+ # The public delegated prefix is being initialized and addresses cannot be
24083
+ # created yet. ANNOUNCED: The public delegated prefix is active.
24084
+ # Corresponds to the JSON property `status`
24085
+ # @return [String]
24086
+ attr_accessor :status
24087
+
24088
+ def initialize(**args)
24089
+ update!(**args)
24090
+ end
24091
+
24092
+ # Update properties of this object
24093
+ def update!(**args)
24094
+ @ip_range = args[:ip_range] if args.key?(:ip_range)
24095
+ @name = args[:name] if args.key?(:name)
24096
+ @project = args[:project] if args.key?(:project)
24097
+ @region = args[:region] if args.key?(:region)
24098
+ @status = args[:status] if args.key?(:status)
24099
+ end
24100
+ end
24101
+
24102
+ # A PublicDelegatedPrefix resource represents an IP block within a
24103
+ # PublicAdvertisedPrefix that is configured within a single cloud scope (global
24104
+ # or region). IPs in the block can be allocated to resources within that scope.
24105
+ # Public delegated prefixes may be further broken up into smaller IP blocks in
24106
+ # the same scope as the parent block.
24107
+ class PublicDelegatedPrefix
24108
+ include Google::Apis::Core::Hashable
24109
+
24110
+ # [Output Only] Creation timestamp in RFC3339 text format.
24111
+ # Corresponds to the JSON property `creationTimestamp`
24112
+ # @return [String]
24113
+ attr_accessor :creation_timestamp
24114
+
24115
+ # An optional description of this resource. Provide this property when you
24116
+ # create the resource.
24117
+ # Corresponds to the JSON property `description`
24118
+ # @return [String]
24119
+ attr_accessor :description
24120
+
24121
+ # Fingerprint of this resource. A hash of the contents stored in this object.
24122
+ # This field is used in optimistic locking. This field will be ignored when
24123
+ # inserting a new PublicDelegatedPrefix. An up-to-date fingerprint must be
24124
+ # provided in order to update the PublicDelegatedPrefix, otherwise the request
24125
+ # will fail with error 412 conditionNotMet.
24126
+ # To see the latest fingerprint, make a get() request to retrieve a
24127
+ # PublicDelegatedPrefix.
24128
+ # Corresponds to the JSON property `fingerprint`
24129
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
24130
+ # @return [String]
24131
+ attr_accessor :fingerprint
24132
+
24133
+ # [Output Only] The unique identifier for the resource type. The server
24134
+ # generates this identifier.
24135
+ # Corresponds to the JSON property `id`
24136
+ # @return [Fixnum]
24137
+ attr_accessor :id
24138
+
24139
+ # The IPv4 address range, in CIDR format, represented by this public delegated
24140
+ # prefix.
24141
+ # Corresponds to the JSON property `ipCidrRange`
24142
+ # @return [String]
24143
+ attr_accessor :ip_cidr_range
24144
+
24145
+ # If true, the prefix will be live migrated.
24146
+ # Corresponds to the JSON property `isLiveMigration`
24147
+ # @return [Boolean]
24148
+ attr_accessor :is_live_migration
24149
+ alias_method :is_live_migration?, :is_live_migration
24150
+
24151
+ # [Output Only] Type of the resource. Always compute#publicDelegatedPrefix for
24152
+ # public delegated prefixes.
24153
+ # Corresponds to the JSON property `kind`
24154
+ # @return [String]
24155
+ attr_accessor :kind
24156
+
24157
+ # Name of the resource. Provided by the client when the resource is created. The
24158
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
24159
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
24160
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
24161
+ # and all following characters must be a dash, lowercase letter, or digit,
24162
+ # except the last character, which cannot be a dash.
24163
+ # Corresponds to the JSON property `name`
24164
+ # @return [String]
24165
+ attr_accessor :name
24166
+
24167
+ # The URL of parent prefix. Either PublicAdvertisedPrefix or
24168
+ # PublicDelegatedPrefix.
24169
+ # Corresponds to the JSON property `parentPrefix`
24170
+ # @return [String]
24171
+ attr_accessor :parent_prefix
24172
+
24173
+ # The list of sub public delegated prefixes that exist for this public delegated
24174
+ # prefix.
24175
+ # Corresponds to the JSON property `publicDelegatedSubPrefixs`
24176
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixPublicDelegatedSubPrefix>]
24177
+ attr_accessor :public_delegated_sub_prefixs
24178
+
24179
+ # [Output Only] URL of the region where the public delegated prefix resides.
24180
+ # This field applies only to the region resource. You must specify this field as
24181
+ # part of the HTTP request URL. It is not settable as a field in the request
24182
+ # body.
24183
+ # Corresponds to the JSON property `region`
24184
+ # @return [String]
24185
+ attr_accessor :region
24186
+
24187
+ # [Output Only] Server-defined URL for the resource.
24188
+ # Corresponds to the JSON property `selfLink`
24189
+ # @return [String]
24190
+ attr_accessor :self_link
24191
+
24192
+ # [Output Only] The status of the public delegated prefix.
24193
+ # Corresponds to the JSON property `status`
24194
+ # @return [String]
24195
+ attr_accessor :status
24196
+
24197
+ def initialize(**args)
24198
+ update!(**args)
24199
+ end
24200
+
24201
+ # Update properties of this object
24202
+ def update!(**args)
24203
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
24204
+ @description = args[:description] if args.key?(:description)
24205
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
24206
+ @id = args[:id] if args.key?(:id)
24207
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
24208
+ @is_live_migration = args[:is_live_migration] if args.key?(:is_live_migration)
24209
+ @kind = args[:kind] if args.key?(:kind)
24210
+ @name = args[:name] if args.key?(:name)
24211
+ @parent_prefix = args[:parent_prefix] if args.key?(:parent_prefix)
24212
+ @public_delegated_sub_prefixs = args[:public_delegated_sub_prefixs] if args.key?(:public_delegated_sub_prefixs)
24213
+ @region = args[:region] if args.key?(:region)
24214
+ @self_link = args[:self_link] if args.key?(:self_link)
24215
+ @status = args[:status] if args.key?(:status)
24216
+ end
24217
+ end
24218
+
24219
+ #
24220
+ class PublicDelegatedPrefixAggregatedList
24221
+ include Google::Apis::Core::Hashable
24222
+
24223
+ # [Output Only] Unique identifier for the resource; defined by the server.
24224
+ # Corresponds to the JSON property `id`
24225
+ # @return [String]
24226
+ attr_accessor :id
24227
+
24228
+ # A list of PublicDelegatedPrefixesScopedList resources.
24229
+ # Corresponds to the JSON property `items`
24230
+ # @return [Hash<String,Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList>]
24231
+ attr_accessor :items
24232
+
24233
+ # [Output Only] Type of the resource. Always compute#
24234
+ # publicDelegatedPrefixAggregatedList for aggregated lists of public delegated
24235
+ # prefixes.
24236
+ # Corresponds to the JSON property `kind`
24237
+ # @return [String]
24238
+ attr_accessor :kind
24239
+
24240
+ # [Output Only] This token allows you to get the next page of results for list
24241
+ # requests. If the number of results is larger than maxResults, use the
24242
+ # nextPageToken as a value for the query parameter pageToken in the next list
24243
+ # request. Subsequent list requests will have their own nextPageToken to
24244
+ # continue paging through the results.
24245
+ # Corresponds to the JSON property `nextPageToken`
24246
+ # @return [String]
24247
+ attr_accessor :next_page_token
24248
+
24249
+ # [Output Only] Server-defined URL for this resource.
24250
+ # Corresponds to the JSON property `selfLink`
24251
+ # @return [String]
24252
+ attr_accessor :self_link
24253
+
24254
+ # [Output Only] Unreachable resources.
24255
+ # Corresponds to the JSON property `unreachables`
24256
+ # @return [Array<String>]
24257
+ attr_accessor :unreachables
24258
+
24259
+ # [Output Only] Informational warning message.
24260
+ # Corresponds to the JSON property `warning`
24261
+ # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList::Warning]
24262
+ attr_accessor :warning
24263
+
24264
+ def initialize(**args)
24265
+ update!(**args)
24266
+ end
24267
+
24268
+ # Update properties of this object
24269
+ def update!(**args)
24270
+ @id = args[:id] if args.key?(:id)
24271
+ @items = args[:items] if args.key?(:items)
24272
+ @kind = args[:kind] if args.key?(:kind)
24273
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
24274
+ @self_link = args[:self_link] if args.key?(:self_link)
24275
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
24276
+ @warning = args[:warning] if args.key?(:warning)
24277
+ end
24278
+
24279
+ # [Output Only] Informational warning message.
24280
+ class Warning
24281
+ include Google::Apis::Core::Hashable
24282
+
24283
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24284
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24285
+ # Corresponds to the JSON property `code`
24286
+ # @return [String]
24287
+ attr_accessor :code
24288
+
24289
+ # [Output Only] Metadata about this warning in key: value format. For example:
24290
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24291
+ # Corresponds to the JSON property `data`
24292
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList::Warning::Datum>]
24293
+ attr_accessor :data
24294
+
24295
+ # [Output Only] A human-readable description of the warning code.
24296
+ # Corresponds to the JSON property `message`
24297
+ # @return [String]
24298
+ attr_accessor :message
24299
+
24300
+ def initialize(**args)
24301
+ update!(**args)
24302
+ end
24303
+
24304
+ # Update properties of this object
24305
+ def update!(**args)
24306
+ @code = args[:code] if args.key?(:code)
24307
+ @data = args[:data] if args.key?(:data)
24308
+ @message = args[:message] if args.key?(:message)
24309
+ end
24310
+
24311
+ #
24312
+ class Datum
24313
+ include Google::Apis::Core::Hashable
24314
+
24315
+ # [Output Only] A key that provides more detail on the warning being returned.
24316
+ # For example, for warnings where there are no results in a list request for a
24317
+ # particular zone, this key might be scope and the key value might be the zone
24318
+ # name. Other examples might be a key indicating a deprecated resource and a
24319
+ # suggested replacement, or a warning about invalid network settings (for
24320
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24321
+ # for IP forwarding).
24322
+ # Corresponds to the JSON property `key`
24323
+ # @return [String]
24324
+ attr_accessor :key
24325
+
24326
+ # [Output Only] A warning data value corresponding to the key.
24327
+ # Corresponds to the JSON property `value`
24328
+ # @return [String]
24329
+ attr_accessor :value
24330
+
24331
+ def initialize(**args)
24332
+ update!(**args)
24333
+ end
24334
+
24335
+ # Update properties of this object
24336
+ def update!(**args)
24337
+ @key = args[:key] if args.key?(:key)
24338
+ @value = args[:value] if args.key?(:value)
24339
+ end
24340
+ end
24341
+ end
24342
+ end
24343
+
24344
+ #
24345
+ class PublicDelegatedPrefixList
24346
+ include Google::Apis::Core::Hashable
24347
+
24348
+ # [Output Only] Unique identifier for the resource; defined by the server.
24349
+ # Corresponds to the JSON property `id`
24350
+ # @return [String]
24351
+ attr_accessor :id
24352
+
24353
+ # A list of PublicDelegatedPrefix resources.
24354
+ # Corresponds to the JSON property `items`
24355
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefix>]
24356
+ attr_accessor :items
24357
+
24358
+ # [Output Only] Type of the resource. Always compute#publicDelegatedPrefixList
24359
+ # for public delegated prefixes.
24360
+ # Corresponds to the JSON property `kind`
24361
+ # @return [String]
24362
+ attr_accessor :kind
24363
+
24364
+ # [Output Only] This token allows you to get the next page of results for list
24365
+ # requests. If the number of results is larger than maxResults, use the
24366
+ # nextPageToken as a value for the query parameter pageToken in the next list
24367
+ # request. Subsequent list requests will have their own nextPageToken to
24368
+ # continue paging through the results.
24369
+ # Corresponds to the JSON property `nextPageToken`
24370
+ # @return [String]
24371
+ attr_accessor :next_page_token
24372
+
24373
+ # [Output Only] Server-defined URL for this resource.
24374
+ # Corresponds to the JSON property `selfLink`
24375
+ # @return [String]
24376
+ attr_accessor :self_link
24377
+
24378
+ # [Output Only] Informational warning message.
24379
+ # Corresponds to the JSON property `warning`
24380
+ # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixList::Warning]
24381
+ attr_accessor :warning
24382
+
24383
+ def initialize(**args)
24384
+ update!(**args)
24385
+ end
24386
+
24387
+ # Update properties of this object
24388
+ def update!(**args)
24389
+ @id = args[:id] if args.key?(:id)
24390
+ @items = args[:items] if args.key?(:items)
24391
+ @kind = args[:kind] if args.key?(:kind)
24392
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
24393
+ @self_link = args[:self_link] if args.key?(:self_link)
24394
+ @warning = args[:warning] if args.key?(:warning)
24395
+ end
24396
+
24397
+ # [Output Only] Informational warning message.
24398
+ class Warning
24399
+ include Google::Apis::Core::Hashable
24400
+
24401
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24402
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24403
+ # Corresponds to the JSON property `code`
24404
+ # @return [String]
24405
+ attr_accessor :code
24406
+
24407
+ # [Output Only] Metadata about this warning in key: value format. For example:
24408
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24409
+ # Corresponds to the JSON property `data`
24410
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixList::Warning::Datum>]
24411
+ attr_accessor :data
24412
+
24413
+ # [Output Only] A human-readable description of the warning code.
24414
+ # Corresponds to the JSON property `message`
24415
+ # @return [String]
24416
+ attr_accessor :message
24417
+
24418
+ def initialize(**args)
24419
+ update!(**args)
24420
+ end
24421
+
24422
+ # Update properties of this object
24423
+ def update!(**args)
24424
+ @code = args[:code] if args.key?(:code)
24425
+ @data = args[:data] if args.key?(:data)
24426
+ @message = args[:message] if args.key?(:message)
24427
+ end
24428
+
24429
+ #
24430
+ class Datum
24431
+ include Google::Apis::Core::Hashable
24432
+
24433
+ # [Output Only] A key that provides more detail on the warning being returned.
24434
+ # For example, for warnings where there are no results in a list request for a
24435
+ # particular zone, this key might be scope and the key value might be the zone
24436
+ # name. Other examples might be a key indicating a deprecated resource and a
24437
+ # suggested replacement, or a warning about invalid network settings (for
24438
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24439
+ # for IP forwarding).
24440
+ # Corresponds to the JSON property `key`
24441
+ # @return [String]
24442
+ attr_accessor :key
24443
+
24444
+ # [Output Only] A warning data value corresponding to the key.
24445
+ # Corresponds to the JSON property `value`
24446
+ # @return [String]
24447
+ attr_accessor :value
24448
+
24449
+ def initialize(**args)
24450
+ update!(**args)
24451
+ end
24452
+
24453
+ # Update properties of this object
24454
+ def update!(**args)
24455
+ @key = args[:key] if args.key?(:key)
24456
+ @value = args[:value] if args.key?(:value)
24457
+ end
24458
+ end
24459
+ end
24460
+ end
24461
+
24462
+ # Represents a sub PublicDelegatedPrefix.
24463
+ class PublicDelegatedPrefixPublicDelegatedSubPrefix
24464
+ include Google::Apis::Core::Hashable
24465
+
24466
+ # Name of the project scoping this PublicDelegatedSubPrefix.
24467
+ # Corresponds to the JSON property `delegateeProject`
24468
+ # @return [String]
24469
+ attr_accessor :delegatee_project
24470
+
24471
+ # An optional description of this resource. Provide this property when you
24472
+ # create the resource.
24473
+ # Corresponds to the JSON property `description`
24474
+ # @return [String]
24475
+ attr_accessor :description
24476
+
24477
+ # The IPv4 address range, in CIDR format, represented by this sub public
24478
+ # delegated prefix.
24479
+ # Corresponds to the JSON property `ipCidrRange`
24480
+ # @return [String]
24481
+ attr_accessor :ip_cidr_range
24482
+
24483
+ # Whether the sub prefix is delegated to create Address resources in the
24484
+ # delegatee project.
24485
+ # Corresponds to the JSON property `isAddress`
24486
+ # @return [Boolean]
24487
+ attr_accessor :is_address
24488
+ alias_method :is_address?, :is_address
24489
+
24490
+ # The name of the sub public delegated prefix.
24491
+ # Corresponds to the JSON property `name`
24492
+ # @return [String]
24493
+ attr_accessor :name
24494
+
24495
+ # [Output Only] The region of the sub public delegated prefix if it is regional.
24496
+ # If absent, the sub prefix is global.
24497
+ # Corresponds to the JSON property `region`
24498
+ # @return [String]
24499
+ attr_accessor :region
24500
+
24501
+ # [Output Only] The status of the sub public delegated prefix.
24502
+ # Corresponds to the JSON property `status`
24503
+ # @return [String]
24504
+ attr_accessor :status
24505
+
24506
+ def initialize(**args)
24507
+ update!(**args)
24508
+ end
24509
+
24510
+ # Update properties of this object
24511
+ def update!(**args)
24512
+ @delegatee_project = args[:delegatee_project] if args.key?(:delegatee_project)
24513
+ @description = args[:description] if args.key?(:description)
24514
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
24515
+ @is_address = args[:is_address] if args.key?(:is_address)
24516
+ @name = args[:name] if args.key?(:name)
24517
+ @region = args[:region] if args.key?(:region)
24518
+ @status = args[:status] if args.key?(:status)
24519
+ end
24520
+ end
24521
+
24522
+ #
24523
+ class PublicDelegatedPrefixesScopedList
24524
+ include Google::Apis::Core::Hashable
24525
+
24526
+ # [Output Only] A list of PublicDelegatedPrefixes contained in this scope.
24527
+ # Corresponds to the JSON property `publicDelegatedPrefixes`
24528
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefix>]
24529
+ attr_accessor :public_delegated_prefixes
24530
+
24531
+ # [Output Only] Informational warning which replaces the list of public
24532
+ # delegated prefixes when the list is empty.
24533
+ # Corresponds to the JSON property `warning`
24534
+ # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList::Warning]
24535
+ attr_accessor :warning
24536
+
24537
+ def initialize(**args)
24538
+ update!(**args)
24539
+ end
24540
+
24541
+ # Update properties of this object
24542
+ def update!(**args)
24543
+ @public_delegated_prefixes = args[:public_delegated_prefixes] if args.key?(:public_delegated_prefixes)
24544
+ @warning = args[:warning] if args.key?(:warning)
24545
+ end
24546
+
24547
+ # [Output Only] Informational warning which replaces the list of public
24548
+ # delegated prefixes when the list is empty.
24549
+ class Warning
24550
+ include Google::Apis::Core::Hashable
24551
+
24552
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24553
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24554
+ # Corresponds to the JSON property `code`
24555
+ # @return [String]
24556
+ attr_accessor :code
24557
+
24558
+ # [Output Only] Metadata about this warning in key: value format. For example:
24559
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24560
+ # Corresponds to the JSON property `data`
24561
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList::Warning::Datum>]
24562
+ attr_accessor :data
24563
+
24564
+ # [Output Only] A human-readable description of the warning code.
24565
+ # Corresponds to the JSON property `message`
24566
+ # @return [String]
24567
+ attr_accessor :message
24568
+
24569
+ def initialize(**args)
24570
+ update!(**args)
24571
+ end
24572
+
24573
+ # Update properties of this object
24574
+ def update!(**args)
24575
+ @code = args[:code] if args.key?(:code)
24576
+ @data = args[:data] if args.key?(:data)
24577
+ @message = args[:message] if args.key?(:message)
24578
+ end
24579
+
24580
+ #
24581
+ class Datum
24582
+ include Google::Apis::Core::Hashable
24583
+
24584
+ # [Output Only] A key that provides more detail on the warning being returned.
24585
+ # For example, for warnings where there are no results in a list request for a
24586
+ # particular zone, this key might be scope and the key value might be the zone
24587
+ # name. Other examples might be a key indicating a deprecated resource and a
24588
+ # suggested replacement, or a warning about invalid network settings (for
24589
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24590
+ # for IP forwarding).
24591
+ # Corresponds to the JSON property `key`
24592
+ # @return [String]
24593
+ attr_accessor :key
24594
+
24595
+ # [Output Only] A warning data value corresponding to the key.
24596
+ # Corresponds to the JSON property `value`
24597
+ # @return [String]
24598
+ attr_accessor :value
24599
+
24600
+ def initialize(**args)
24601
+ update!(**args)
24602
+ end
24603
+
24604
+ # Update properties of this object
24605
+ def update!(**args)
24606
+ @key = args[:key] if args.key?(:key)
24607
+ @value = args[:value] if args.key?(:value)
24608
+ end
24609
+ end
24610
+ end
24611
+ end
24612
+
24613
+ # A quotas entry.
24614
+ class Quota
24615
+ include Google::Apis::Core::Hashable
24616
+
24617
+ # [Output Only] Quota limit for this metric.
24618
+ # Corresponds to the JSON property `limit`
24619
+ # @return [Float]
24620
+ attr_accessor :limit
24621
+
24622
+ # [Output Only] Name of the quota metric.
24623
+ # Corresponds to the JSON property `metric`
24624
+ # @return [String]
24625
+ attr_accessor :metric
24626
+
24627
+ # [Output Only] Owning resource. This is the resource on which this quota is
24628
+ # applied.
24629
+ # Corresponds to the JSON property `owner`
24630
+ # @return [String]
24631
+ attr_accessor :owner
24632
+
24633
+ # [Output Only] Current usage of this metric.
24634
+ # Corresponds to the JSON property `usage`
24635
+ # @return [Float]
24636
+ attr_accessor :usage
24637
+
24638
+ def initialize(**args)
24639
+ update!(**args)
24640
+ end
24641
+
24642
+ # Update properties of this object
24643
+ def update!(**args)
24644
+ @limit = args[:limit] if args.key?(:limit)
24645
+ @metric = args[:metric] if args.key?(:metric)
24646
+ @owner = args[:owner] if args.key?(:owner)
24647
+ @usage = args[:usage] if args.key?(:usage)
24648
+ end
24649
+ end
24650
+
24651
+ # Represents a reference to a resource.
24652
+ class Reference
24653
+ include Google::Apis::Core::Hashable
24654
+
24655
+ # [Output Only] Type of the resource. Always compute#reference for references.
24656
+ # Corresponds to the JSON property `kind`
24657
+ # @return [String]
24658
+ attr_accessor :kind
24659
+
24660
+ # A description of the reference type with no implied semantics. Possible values
24661
+ # include:
24662
+ # - MEMBER_OF
24663
+ # Corresponds to the JSON property `referenceType`
24664
+ # @return [String]
24665
+ attr_accessor :reference_type
24666
+
24667
+ # URL of the resource which refers to the target.
24668
+ # Corresponds to the JSON property `referrer`
24669
+ # @return [String]
24670
+ attr_accessor :referrer
24671
+
24672
+ # URL of the resource to which this reference points.
24673
+ # Corresponds to the JSON property `target`
24674
+ # @return [String]
24675
+ attr_accessor :target
24676
+
24677
+ def initialize(**args)
24678
+ update!(**args)
24679
+ end
24680
+
24681
+ # Update properties of this object
24682
+ def update!(**args)
24683
+ @kind = args[:kind] if args.key?(:kind)
24684
+ @reference_type = args[:reference_type] if args.key?(:reference_type)
24685
+ @referrer = args[:referrer] if args.key?(:referrer)
24686
+ @target = args[:target] if args.key?(:target)
24687
+ end
24688
+ end
24689
+
24690
+ # Represents a Region resource.
24691
+ # A region is a geographical area where a resource is located. For more
24692
+ # information, read Regions and Zones. (== resource_for `$api_version`.regions ==
24693
+ # )
24694
+ class Region
24695
+ include Google::Apis::Core::Hashable
24696
+
24697
+ # [Output Only] Creation timestamp in RFC3339 text format.
24698
+ # Corresponds to the JSON property `creationTimestamp`
24699
+ # @return [String]
24700
+ attr_accessor :creation_timestamp
24701
+
24702
+ # Deprecation status for a public resource.
24703
+ # Corresponds to the JSON property `deprecated`
24704
+ # @return [Google::Apis::ComputeV1::DeprecationStatus]
24705
+ attr_accessor :deprecated
24706
+
24707
+ # [Output Only] Textual description of the resource.
24708
+ # Corresponds to the JSON property `description`
24709
+ # @return [String]
24710
+ attr_accessor :description
24711
+
24712
+ # [Output Only] The unique identifier for the resource. This identifier is
24713
+ # defined by the server.
24714
+ # Corresponds to the JSON property `id`
24715
+ # @return [Fixnum]
24716
+ attr_accessor :id
24717
+
24718
+ # [Output Only] Type of the resource. Always compute#region for regions.
24719
+ # Corresponds to the JSON property `kind`
24720
+ # @return [String]
24721
+ attr_accessor :kind
24722
+
24723
+ # [Output Only] Name of the resource.
24724
+ # Corresponds to the JSON property `name`
24725
+ # @return [String]
24726
+ attr_accessor :name
24727
+
24728
+ # [Output Only] Quotas assigned to this region.
24729
+ # Corresponds to the JSON property `quotas`
24730
+ # @return [Array<Google::Apis::ComputeV1::Quota>]
24731
+ attr_accessor :quotas
24732
+
24733
+ # [Output Only] Server-defined URL for the resource.
24734
+ # Corresponds to the JSON property `selfLink`
24735
+ # @return [String]
24736
+ attr_accessor :self_link
24737
+
24738
+ # [Output Only] Status of the region, either UP or DOWN.
24739
+ # Corresponds to the JSON property `status`
24740
+ # @return [String]
24741
+ attr_accessor :status
24742
+
24743
+ # [Output Only] Reserved for future use.
24744
+ # Corresponds to the JSON property `supportsPzs`
24745
+ # @return [Boolean]
24746
+ attr_accessor :supports_pzs
24747
+ alias_method :supports_pzs?, :supports_pzs
24748
+
24749
+ # [Output Only] A list of zones available in this region, in the form of
24750
+ # resource URLs.
24751
+ # Corresponds to the JSON property `zones`
24752
+ # @return [Array<String>]
24753
+ attr_accessor :zones
24754
+
24755
+ def initialize(**args)
24756
+ update!(**args)
24757
+ end
24758
+
24759
+ # Update properties of this object
24760
+ def update!(**args)
24761
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
24762
+ @deprecated = args[:deprecated] if args.key?(:deprecated)
24763
+ @description = args[:description] if args.key?(:description)
24764
+ @id = args[:id] if args.key?(:id)
24765
+ @kind = args[:kind] if args.key?(:kind)
24766
+ @name = args[:name] if args.key?(:name)
24767
+ @quotas = args[:quotas] if args.key?(:quotas)
24768
+ @self_link = args[:self_link] if args.key?(:self_link)
24769
+ @status = args[:status] if args.key?(:status)
24770
+ @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
24771
+ @zones = args[:zones] if args.key?(:zones)
24772
+ end
24773
+ end
24774
+
24775
+ # Contains a list of autoscalers.
24776
+ class RegionAutoscalerList
24777
+ include Google::Apis::Core::Hashable
24778
+
24779
+ # [Output Only] Unique identifier for the resource; defined by the server.
24780
+ # Corresponds to the JSON property `id`
24781
+ # @return [String]
24782
+ attr_accessor :id
24783
+
24784
+ # A list of Autoscaler resources.
24785
+ # Corresponds to the JSON property `items`
24786
+ # @return [Array<Google::Apis::ComputeV1::Autoscaler>]
24787
+ attr_accessor :items
24788
+
24789
+ # Type of resource.
24790
+ # Corresponds to the JSON property `kind`
24791
+ # @return [String]
24792
+ attr_accessor :kind
24793
+
24794
+ # [Output Only] This token allows you to get the next page of results for list
24795
+ # requests. If the number of results is larger than maxResults, use the
24796
+ # nextPageToken as a value for the query parameter pageToken in the next list
24797
+ # request. Subsequent list requests will have their own nextPageToken to
24798
+ # continue paging through the results.
24799
+ # Corresponds to the JSON property `nextPageToken`
24800
+ # @return [String]
24801
+ attr_accessor :next_page_token
24802
+
24803
+ # [Output Only] Server-defined URL for this resource.
24804
+ # Corresponds to the JSON property `selfLink`
24805
+ # @return [String]
24806
+ attr_accessor :self_link
24807
+
24808
+ # [Output Only] Informational warning message.
24809
+ # Corresponds to the JSON property `warning`
24810
+ # @return [Google::Apis::ComputeV1::RegionAutoscalerList::Warning]
23564
24811
  attr_accessor :warning
23565
24812
 
23566
24813
  def initialize(**args)
@@ -25039,7 +26286,10 @@ module Google
25039
26286
  # @return [String]
25040
26287
  attr_accessor :key
25041
26288
 
25042
- # Corresponds to the label values of a reservation resource.
26289
+ # Corresponds to the label values of a reservation resource. This can be either
26290
+ # a name to a reservation in the same project or "projects/different-project/
26291
+ # reservations/some-reservation-name" to target a shared reservation in the same
26292
+ # zone but in a different project.
25043
26293
  # Corresponds to the JSON property `values`
25044
26294
  # @return [Array<String>]
25045
26295
  attr_accessor :values
@@ -26674,6 +27924,14 @@ module Google
26674
27924
  # @return [String]
26675
27925
  attr_accessor :description
26676
27926
 
27927
+ # Indicates if a router is dedicated for use with encrypted VLAN attachments (
27928
+ # interconnectAttachments).
27929
+ # Not currently available publicly.
27930
+ # Corresponds to the JSON property `encryptedInterconnectRouter`
27931
+ # @return [Boolean]
27932
+ attr_accessor :encrypted_interconnect_router
27933
+ alias_method :encrypted_interconnect_router?, :encrypted_interconnect_router
27934
+
26677
27935
  # [Output Only] The unique identifier for the resource. This identifier is
26678
27936
  # defined by the server.
26679
27937
  # Corresponds to the JSON property `id`
@@ -26734,6 +27992,7 @@ module Google
26734
27992
  @bgp_peers = args[:bgp_peers] if args.key?(:bgp_peers)
26735
27993
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
26736
27994
  @description = args[:description] if args.key?(:description)
27995
+ @encrypted_interconnect_router = args[:encrypted_interconnect_router] if args.key?(:encrypted_interconnect_router)
26737
27996
  @id = args[:id] if args.key?(:id)
26738
27997
  @interfaces = args[:interfaces] if args.key?(:interfaces)
26739
27998
  @kind = args[:kind] if args.key?(:kind)
@@ -26926,6 +28185,18 @@ module Google
26926
28185
  # @return [Fixnum]
26927
28186
  attr_accessor :asn
26928
28187
 
28188
+ # The interval in seconds between BGP keepalive messages that are sent to the
28189
+ # peer.
28190
+ # Hold time is three times the interval at which keepalive messages are sent,
28191
+ # and the hold time is the maximum number of seconds allowed to elapse between
28192
+ # successive keepalive messages that BGP receives from a peer.
28193
+ # BGP will use the smaller of either the local hold time value or the peer's
28194
+ # hold time value as the hold time for the BGP connection between the two peers.
28195
+ # If set, this value must be between 20 and 60. The default is 20.
28196
+ # Corresponds to the JSON property `keepaliveInterval`
28197
+ # @return [Fixnum]
28198
+ attr_accessor :keepalive_interval
28199
+
26929
28200
  def initialize(**args)
26930
28201
  update!(**args)
26931
28202
  end
@@ -26936,6 +28207,7 @@ module Google
26936
28207
  @advertised_groups = args[:advertised_groups] if args.key?(:advertised_groups)
26937
28208
  @advertised_ip_ranges = args[:advertised_ip_ranges] if args.key?(:advertised_ip_ranges)
26938
28209
  @asn = args[:asn] if args.key?(:asn)
28210
+ @keepalive_interval = args[:keepalive_interval] if args.key?(:keepalive_interval)
26939
28211
  end
26940
28212
  end
26941
28213
 
@@ -26951,12 +28223,11 @@ module Google
26951
28223
  # User-specified list of prefix groups to advertise in custom mode, which can
26952
28224
  # take one of the following options:
26953
28225
  # - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets.
26954
- # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets.
26955
- # - ALL_PEER_VPC_SUBNETS: Advertises peer subnets of the router's VPC network.
26956
- # Note that this field can only be populated if advertise_mode is CUSTOM and
26957
- # overrides the list defined for the router (in the "bgp" message). These groups
26958
- # are advertised in addition to any specified prefixes. Leave this field blank
26959
- # to advertise no custom groups.
28226
+ # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. Note that this
28227
+ # field can only be populated if advertise_mode is CUSTOM and overrides the list
28228
+ # defined for the router (in the "bgp" message). These groups are advertised in
28229
+ # addition to any specified prefixes. Leave this field blank to advertise no
28230
+ # custom groups.
26960
28231
  # Corresponds to the JSON property `advertisedGroups`
26961
28232
  # @return [Array<String>]
26962
28233
  attr_accessor :advertised_groups
@@ -26977,6 +28248,14 @@ module Google
26977
28248
  # @return [Fixnum]
26978
28249
  attr_accessor :advertised_route_priority
26979
28250
 
28251
+ # The status of the BGP peer connection.
28252
+ # If set to FALSE, any active session with the peer is terminated and all
28253
+ # associated routing information is removed. If set to TRUE, the peer connection
28254
+ # can be established with routing information. The default is TRUE.
28255
+ # Corresponds to the JSON property `enable`
28256
+ # @return [String]
28257
+ attr_accessor :enable
28258
+
26980
28259
  # Name of the interface the BGP peer is associated with.
26981
28260
  # Corresponds to the JSON property `interfaceName`
26982
28261
  # @return [String]
@@ -27031,6 +28310,7 @@ module Google
27031
28310
  @advertised_groups = args[:advertised_groups] if args.key?(:advertised_groups)
27032
28311
  @advertised_ip_ranges = args[:advertised_ip_ranges] if args.key?(:advertised_ip_ranges)
27033
28312
  @advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
28313
+ @enable = args[:enable] if args.key?(:enable)
27034
28314
  @interface_name = args[:interface_name] if args.key?(:interface_name)
27035
28315
  @ip_address = args[:ip_address] if args.key?(:ip_address)
27036
28316
  @management_type = args[:management_type] if args.key?(:management_type)
@@ -27850,7 +29130,42 @@ module Google
27850
29130
  end
27851
29131
  end
27852
29132
 
27853
- # Sets the scheduling options for an Instance. NextID: 17
29133
+ #
29134
+ class ScalingScheduleStatus
29135
+ include Google::Apis::Core::Hashable
29136
+
29137
+ # [Output Only] The last time the scaling schedule became active. Note: this is
29138
+ # a timestamp when a schedule actually became active, not when it was planned to
29139
+ # do so. The timestamp is in RFC3339 text format.
29140
+ # Corresponds to the JSON property `lastStartTime`
29141
+ # @return [String]
29142
+ attr_accessor :last_start_time
29143
+
29144
+ # [Output Only] The next time the scaling schedule is to become active. Note:
29145
+ # this is a timestamp when a schedule is planned to run, but the actual time
29146
+ # might be slightly different. The timestamp is in RFC3339 text format.
29147
+ # Corresponds to the JSON property `nextStartTime`
29148
+ # @return [String]
29149
+ attr_accessor :next_start_time
29150
+
29151
+ # [Output Only] The current state of a scaling schedule.
29152
+ # Corresponds to the JSON property `state`
29153
+ # @return [String]
29154
+ attr_accessor :state
29155
+
29156
+ def initialize(**args)
29157
+ update!(**args)
29158
+ end
29159
+
29160
+ # Update properties of this object
29161
+ def update!(**args)
29162
+ @last_start_time = args[:last_start_time] if args.key?(:last_start_time)
29163
+ @next_start_time = args[:next_start_time] if args.key?(:next_start_time)
29164
+ @state = args[:state] if args.key?(:state)
29165
+ end
29166
+ end
29167
+
29168
+ # Sets the scheduling options for an Instance. NextID: 21
27854
29169
  class Scheduling
27855
29170
  include Google::Apis::Core::Hashable
27856
29171
 
@@ -28019,6 +29334,11 @@ module Google
28019
29334
  class SecurityPolicy
28020
29335
  include Google::Apis::Core::Hashable
28021
29336
 
29337
+ #
29338
+ # Corresponds to the JSON property `advancedOptionsConfig`
29339
+ # @return [Google::Apis::ComputeV1::SecurityPolicyAdvancedOptionsConfig]
29340
+ attr_accessor :advanced_options_config
29341
+
28022
29342
  # [Output Only] Creation timestamp in RFC3339 text format.
28023
29343
  # Corresponds to the JSON property `creationTimestamp`
28024
29344
  # @return [String]
@@ -28083,6 +29403,7 @@ module Google
28083
29403
 
28084
29404
  # Update properties of this object
28085
29405
  def update!(**args)
29406
+ @advanced_options_config = args[:advanced_options_config] if args.key?(:advanced_options_config)
28086
29407
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
28087
29408
  @description = args[:description] if args.key?(:description)
28088
29409
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -28094,6 +29415,31 @@ module Google
28094
29415
  end
28095
29416
  end
28096
29417
 
29418
+ #
29419
+ class SecurityPolicyAdvancedOptionsConfig
29420
+ include Google::Apis::Core::Hashable
29421
+
29422
+ #
29423
+ # Corresponds to the JSON property `jsonParsing`
29424
+ # @return [String]
29425
+ attr_accessor :json_parsing
29426
+
29427
+ #
29428
+ # Corresponds to the JSON property `logLevel`
29429
+ # @return [String]
29430
+ attr_accessor :log_level
29431
+
29432
+ def initialize(**args)
29433
+ update!(**args)
29434
+ end
29435
+
29436
+ # Update properties of this object
29437
+ def update!(**args)
29438
+ @json_parsing = args[:json_parsing] if args.key?(:json_parsing)
29439
+ @log_level = args[:log_level] if args.key?(:log_level)
29440
+ end
29441
+ end
29442
+
28097
29443
  #
28098
29444
  class SecurityPolicyList
28099
29445
  include Google::Apis::Core::Hashable
@@ -28230,7 +29576,7 @@ module Google
28230
29576
  class SecurityPolicyRule
28231
29577
  include Google::Apis::Core::Hashable
28232
29578
 
28233
- # The Action to preform when the client connection triggers the rule. Can
29579
+ # The Action to perform when the client connection triggers the rule. Can
28234
29580
  # currently be either "allow" or "deny()" where valid values for status are 403,
28235
29581
  # 404, and 502.
28236
29582
  # Corresponds to the JSON property `action`
@@ -29928,6 +31274,12 @@ module Google
29928
31274
  attr_accessor :enable_flow_logs
29929
31275
  alias_method :enable_flow_logs?, :enable_flow_logs
29930
31276
 
31277
+ # [Output Only] The range of external IPv6 addresses that are owned by this
31278
+ # subnetwork.
31279
+ # Corresponds to the JSON property `externalIpv6Prefix`
31280
+ # @return [String]
31281
+ attr_accessor :external_ipv6_prefix
31282
+
29931
31283
  # Fingerprint of this resource. A hash of the contents stored in this object.
29932
31284
  # This field is used in optimistic locking. This field will be ignored when
29933
31285
  # inserting a Subnetwork. An up-to-date fingerprint must be provided in order to
@@ -29961,6 +31313,14 @@ module Google
29961
31313
  # @return [String]
29962
31314
  attr_accessor :ip_cidr_range
29963
31315
 
31316
+ # The access type of IPv6 address this subnet holds. It's immutable and can only
31317
+ # be specified during creation or the first time the subnet is updated into
31318
+ # IPV4_IPV6 dual stack. If the ipv6_type is EXTERNAL then this subnet cannot
31319
+ # enable direct path.
31320
+ # Corresponds to the JSON property `ipv6AccessType`
31321
+ # @return [String]
31322
+ attr_accessor :ipv6_access_type
31323
+
29964
31324
  # [Output Only] The range of internal IPv6 addresses that are owned by this
29965
31325
  # subnetwork.
29966
31326
  # Corresponds to the JSON property `ipv6CidrRange`
@@ -30051,14 +31411,19 @@ module Google
30051
31411
  # @return [String]
30052
31412
  attr_accessor :self_link
30053
31413
 
31414
+ # The stack type for this subnet to identify whether the IPv6 feature is enabled
31415
+ # or not. If not specified IPV4_ONLY will be used.
31416
+ # This field can be both set at resource creation time and updated using patch.
31417
+ # Corresponds to the JSON property `stackType`
31418
+ # @return [String]
31419
+ attr_accessor :stack_type
31420
+
30054
31421
  # [Output Only] The state of the subnetwork, which can be one of the following
30055
31422
  # values: READY: Subnetwork is created and ready to use DRAINING: only
30056
31423
  # applicable to subnetworks that have the purpose set to
30057
31424
  # INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load
30058
31425
  # balancer are being drained. A subnetwork that is draining cannot be used or
30059
- # modified until it reaches a status of READY CREATING: Subnetwork is
30060
- # provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is
30061
- # being updated
31426
+ # modified until it reaches a status of READY
30062
31427
  # Corresponds to the JSON property `state`
30063
31428
  # @return [String]
30064
31429
  attr_accessor :state
@@ -30072,10 +31437,12 @@ module Google
30072
31437
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
30073
31438
  @description = args[:description] if args.key?(:description)
30074
31439
  @enable_flow_logs = args[:enable_flow_logs] if args.key?(:enable_flow_logs)
31440
+ @external_ipv6_prefix = args[:external_ipv6_prefix] if args.key?(:external_ipv6_prefix)
30075
31441
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
30076
31442
  @gateway_address = args[:gateway_address] if args.key?(:gateway_address)
30077
31443
  @id = args[:id] if args.key?(:id)
30078
31444
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
31445
+ @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
30079
31446
  @ipv6_cidr_range = args[:ipv6_cidr_range] if args.key?(:ipv6_cidr_range)
30080
31447
  @kind = args[:kind] if args.key?(:kind)
30081
31448
  @log_config = args[:log_config] if args.key?(:log_config)
@@ -30088,6 +31455,7 @@ module Google
30088
31455
  @role = args[:role] if args.key?(:role)
30089
31456
  @secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges)
30090
31457
  @self_link = args[:self_link] if args.key?(:self_link)
31458
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
30091
31459
  @state = args[:state] if args.key?(:state)
30092
31460
  end
30093
31461
  end
@@ -30371,7 +31739,7 @@ module Google
30371
31739
 
30372
31740
  # Can only be specified if VPC flow logs for this subnetwork is enabled.
30373
31741
  # Configures whether all, none or a subset of metadata fields should be added to
30374
- # the reported VPC flow logs. Default is INCLUDE_ALL_METADATA.
31742
+ # the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.
30375
31743
  # Corresponds to the JSON property `metadata`
30376
31744
  # @return [String]
30377
31745
  attr_accessor :metadata
@@ -31360,7 +32728,8 @@ module Google
31360
32728
  include Google::Apis::Core::Hashable
31361
32729
 
31362
32730
  # New set of SslCertificate resources to associate with this TargetHttpsProxy
31363
- # resource. Currently exactly one SslCertificate resource must be specified.
32731
+ # resource. At least one SSL certificate must be specified. Currently, you may
32732
+ # specify up to 15 SSL certificates.
31364
32733
  # Corresponds to the JSON property `sslCertificates`
31365
32734
  # @return [Array<String>]
31366
32735
  attr_accessor :ssl_certificates
@@ -31495,6 +32864,8 @@ module Google
31495
32864
  # URLs to SslCertificate resources that are used to authenticate connections
31496
32865
  # between users and the load balancer. At least one SSL certificate must be
31497
32866
  # specified. Currently, you may specify up to 15 SSL certificates.
32867
+ # sslCertificates do not apply when the load balancing scheme is set to
32868
+ # INTERNAL_SELF_MANAGED.
31498
32869
  # Corresponds to the JSON property `sslCertificates`
31499
32870
  # @return [Array<String>]
31500
32871
  attr_accessor :ssl_certificates
@@ -32835,7 +34206,8 @@ module Google
32835
34206
  include Google::Apis::Core::Hashable
32836
34207
 
32837
34208
  # New set of URLs to SslCertificate resources to associate with this
32838
- # TargetSslProxy. Currently exactly one ssl certificate must be specified.
34209
+ # TargetSslProxy. At least one SSL certificate must be specified. Currently, you
34210
+ # may specify up to 15 SSL certificates.
32839
34211
  # Corresponds to the JSON property `sslCertificates`
32840
34212
  # @return [Array<String>]
32841
34213
  attr_accessor :ssl_certificates
@@ -32909,7 +34281,8 @@ module Google
32909
34281
 
32910
34282
  # URLs to SslCertificate resources that are used to authenticate connections to
32911
34283
  # Backends. At least one SSL certificate must be specified. Currently, you may
32912
- # specify up to 15 SSL certificates.
34284
+ # specify up to 15 SSL certificates. sslCertificates do not apply when the load
34285
+ # balancing scheme is set to INTERNAL_SELF_MANAGED.
32913
34286
  # Corresponds to the JSON property `sslCertificates`
32914
34287
  # @return [Array<String>]
32915
34288
  attr_accessor :ssl_certificates
@@ -34666,7 +36039,9 @@ module Google
34666
36039
  # requests. If the number of results is larger than maxResults, use the
34667
36040
  # nextPageToken as a value for the query parameter pageToken in the next list
34668
36041
  # request. Subsequent list requests will have their own nextPageToken to
34669
- # continue paging through the results.
36042
+ # continue paging through the results. In special cases listUsable may return 0
36043
+ # subnetworks and nextPageToken which still should be used to get the next page
36044
+ # of results.
34670
36045
  # Corresponds to the JSON property `nextPageToken`
34671
36046
  # @return [String]
34672
36047
  attr_accessor :next_page_token
@@ -35070,7 +36445,7 @@ module Google
35070
36445
  # @return [String]
35071
36446
  attr_accessor :self_link
35072
36447
 
35073
- # A list of interfaces on this VPN gateway.
36448
+ # The list of VPN interfaces associated with this VPN gateway.
35074
36449
  # Corresponds to the JSON property `vpnInterfaces`
35075
36450
  # @return [Array<Google::Apis::ComputeV1::VpnGatewayVpnGatewayInterface>]
35076
36451
  attr_accessor :vpn_interfaces
@@ -35463,12 +36838,30 @@ module Google
35463
36838
  class VpnGatewayVpnGatewayInterface
35464
36839
  include Google::Apis::Core::Hashable
35465
36840
 
35466
- # The numeric ID of this VPN gateway interface.
36841
+ # [Output Only] Numeric identifier for this VPN interface associated with the
36842
+ # VPN gateway.
35467
36843
  # Corresponds to the JSON property `id`
35468
36844
  # @return [Fixnum]
35469
36845
  attr_accessor :id
35470
36846
 
35471
- # [Output Only] The external IP address for this VPN gateway interface.
36847
+ # URL of the VLAN attachment (interconnectAttachment) resource for this VPN
36848
+ # gateway interface. When the value of this field is present, the VPN gateway is
36849
+ # used for IPsec-encrypted Cloud Interconnect; all egress or ingress traffic for
36850
+ # this VPN gateway interface goes through the specified VLAN attachment resource.
36851
+ # Not currently available publicly.
36852
+ # Corresponds to the JSON property `interconnectAttachment`
36853
+ # @return [String]
36854
+ attr_accessor :interconnect_attachment
36855
+
36856
+ # [Output Only] IP address for this VPN interface associated with the VPN
36857
+ # gateway. The IP address could be either a regional external IP address or a
36858
+ # regional internal IP address. The two IP addresses for a VPN gateway must be
36859
+ # all regional external or regional internal IP addresses. There cannot be a mix
36860
+ # of regional external IP addresses and regional internal IP addresses. For
36861
+ # IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could
36862
+ # either be regional internal IP addresses or regional external IP addresses.
36863
+ # For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP
36864
+ # address must be a regional external IP address.
35472
36865
  # Corresponds to the JSON property `ipAddress`
35473
36866
  # @return [String]
35474
36867
  attr_accessor :ip_address
@@ -35480,6 +36873,7 @@ module Google
35480
36873
  # Update properties of this object
35481
36874
  def update!(**args)
35482
36875
  @id = args[:id] if args.key?(:id)
36876
+ @interconnect_attachment = args[:interconnect_attachment] if args.key?(:interconnect_attachment)
35483
36877
  @ip_address = args[:ip_address] if args.key?(:ip_address)
35484
36878
  end
35485
36879
  end
@@ -35726,8 +37120,8 @@ module Google
35726
37120
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
35727
37121
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
35728
37122
  # - NO_INCOMING_PACKETS: No incoming packets from peer.
35729
- # - REJECTED: Tunnel configuration was rejected, can be result of being
35730
- # blacklisted.
37123
+ # - REJECTED: Tunnel configuration was rejected, can be result of being denied
37124
+ # access.
35731
37125
  # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
35732
37126
  # resources.
35733
37127
  # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for