google-apis-compute_v1 0.6.0 → 0.11.0

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