google-apis-compute_v1 0.4.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d8c71512aab0c1ff5a1c95dcc89901d587984c5f1fd15d3c7aff57b959d02dc3
4
- data.tar.gz: 7bfbd499032d1e1cb08443e2461d2a74c832a8050ebf2645b7fced854ea19bea
3
+ metadata.gz: 8714ad5dfd5a7a8aac292826fcb44cfcbc77d629cb6d1a2b7b279dbf633aae2a
4
+ data.tar.gz: 516fff2e1a8a5d8e1bbc1d47eabe7f634b36bff2fad8e1d547b2e1118308252b
5
5
  SHA512:
6
- metadata.gz: cf8a817637ae4b5fcffbbb1d4a31476964af6150a505830e851da193eba39605eec270248647b27e8b6a27afb29ae3fb28b1d78e863e3cd11e08f84a64dc8cfc
7
- data.tar.gz: 2c990f8c5ce26610579db62754a0a160de0acef586d73065bc4eb22678f74c7af1be05b3812f4bacbefa9e78c93f792c2690a04ad7985c60909869eb629b2b4a
6
+ metadata.gz: d6cf039b03c787d2e0a2258808fcbf62fcc62c1d9f10fceb234563bfe9b5c44e22bb97353b0a0d24a703d900ff5a1aca4405eeca91d26fb970f01c83f69c4b93
7
+ data.tar.gz: 7139a483b0d984a82ef344c0f96bb9470619ffb297666210c1b6a585c18c378b002544e1b345358ed33c74ea4aab3d694ecbe6c5032e24fc659c92d84cb97b66
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Release history for google-apis-compute_v1
2
2
 
3
+ ### v0.9.0 (2021-05-05)
4
+
5
+ * Regenerated from discovery document revision 20210415
6
+
7
+ ### v0.8.0 (2021-03-30)
8
+
9
+ * Regenerated from discovery document revision 20210316
10
+
11
+ ### v0.7.0 (2021-03-19)
12
+
13
+ * Regenerated from discovery document revision 20210310
14
+
15
+ ### v0.6.0 (2021-03-10)
16
+
17
+ * Regenerated from discovery document revision 20210301
18
+ * Regenerated using generator version 0.2.0
19
+
20
+ ### v0.5.0 (2021-03-04)
21
+
22
+ * Unspecified changes
23
+
3
24
  ### v0.4.0 (2021-02-24)
4
25
 
5
26
  * Regenerated from discovery document revision 20210209
@@ -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
@@ -617,7 +617,7 @@ module Google
617
617
  # @return [String]
618
618
  attr_accessor :network_tier
619
619
 
620
- # The prefix length if the resource reprensents an IP range.
620
+ # The prefix length if the resource represents an IP range.
621
621
  # Corresponds to the JSON property `prefixLength`
622
622
  # @return [Fixnum]
623
623
  attr_accessor :prefix_length
@@ -630,7 +630,7 @@ module Google
630
630
  # - `NAT_AUTO` for addresses that are external IP addresses automatically
631
631
  # reserved for Cloud NAT.
632
632
  # - `IPSEC_INTERCONNECT` for addresses created from a private IP range that are
633
- # reserved for a VLAN attachment in an IPsec encrypted Interconnect
633
+ # reserved for a VLAN attachment in an IPsec-encrypted Cloud Interconnect
634
634
  # configuration. These addresses are regional resources.
635
635
  # Corresponds to the JSON property `purpose`
636
636
  # @return [String]
@@ -1042,6 +1042,13 @@ module Google
1042
1042
  attr_accessor :enable_nested_virtualization
1043
1043
  alias_method :enable_nested_virtualization?, :enable_nested_virtualization
1044
1044
 
1045
+ # The number of threads per physical core. To disable simultaneous
1046
+ # multithreading (SMT) set this to 1. If unset, the maximum number of threads
1047
+ # supported per core by the underlying processor is assumed.
1048
+ # Corresponds to the JSON property `threadsPerCore`
1049
+ # @return [Fixnum]
1050
+ attr_accessor :threads_per_core
1051
+
1045
1052
  def initialize(**args)
1046
1053
  update!(**args)
1047
1054
  end
@@ -1049,6 +1056,7 @@ module Google
1049
1056
  # Update properties of this object
1050
1057
  def update!(**args)
1051
1058
  @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1059
+ @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1052
1060
  end
1053
1061
  end
1054
1062
 
@@ -1643,6 +1651,11 @@ module Google
1643
1651
  # @return [String]
1644
1652
  attr_accessor :region
1645
1653
 
1654
+ # [Output Only] Status information of existing scaling schedules.
1655
+ # Corresponds to the JSON property `scalingScheduleStatus`
1656
+ # @return [Hash<String,Google::Apis::ComputeV1::ScalingScheduleStatus>]
1657
+ attr_accessor :scaling_schedule_status
1658
+
1646
1659
  # [Output Only] Server-defined URL for the resource.
1647
1660
  # Corresponds to the JSON property `selfLink`
1648
1661
  # @return [String]
@@ -1693,6 +1706,7 @@ module Google
1693
1706
  @name = args[:name] if args.key?(:name)
1694
1707
  @recommended_size = args[:recommended_size] if args.key?(:recommended_size)
1695
1708
  @region = args[:region] if args.key?(:region)
1709
+ @scaling_schedule_status = args[:scaling_schedule_status] if args.key?(:scaling_schedule_status)
1696
1710
  @self_link = args[:self_link] if args.key?(:self_link)
1697
1711
  @status = args[:status] if args.key?(:status)
1698
1712
  @status_details = args[:status_details] if args.key?(:status_details)
@@ -2153,6 +2167,14 @@ module Google
2153
2167
  # @return [Google::Apis::ComputeV1::AutoscalingPolicyScaleInControl]
2154
2168
  attr_accessor :scale_in_control
2155
2169
 
2170
+ # Scaling schedules defined for an autoscaler. Multiple schedules can be set on
2171
+ # an autoscaler, and they can overlap. During overlapping periods the greatest
2172
+ # min_required_replicas of all scaling schedules is applied. Up to 128 scaling
2173
+ # schedules are allowed.
2174
+ # Corresponds to the JSON property `scalingSchedules`
2175
+ # @return [Hash<String,Google::Apis::ComputeV1::AutoscalingPolicyScalingSchedule>]
2176
+ attr_accessor :scaling_schedules
2177
+
2156
2178
  def initialize(**args)
2157
2179
  update!(**args)
2158
2180
  end
@@ -2167,6 +2189,7 @@ module Google
2167
2189
  @min_num_replicas = args[:min_num_replicas] if args.key?(:min_num_replicas)
2168
2190
  @mode = args[:mode] if args.key?(:mode)
2169
2191
  @scale_in_control = args[:scale_in_control] if args.key?(:scale_in_control)
2192
+ @scaling_schedules = args[:scaling_schedules] if args.key?(:scaling_schedules)
2170
2193
  end
2171
2194
  end
2172
2195
 
@@ -2174,6 +2197,17 @@ module Google
2174
2197
  class AutoscalingPolicyCpuUtilization
2175
2198
  include Google::Apis::Core::Hashable
2176
2199
 
2200
+ # Indicates whether predictive autoscaling based on CPU metric is enabled. Valid
2201
+ # values are:
2202
+ # * NONE (default). No predictive method is used. The autoscaler scales the
2203
+ # group to meet current demand based on real-time metrics. *
2204
+ # OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by
2205
+ # monitoring daily and weekly load patterns and scaling out ahead of anticipated
2206
+ # demand.
2207
+ # Corresponds to the JSON property `predictiveMethod`
2208
+ # @return [String]
2209
+ attr_accessor :predictive_method
2210
+
2177
2211
  # The target CPU utilization that the autoscaler maintains. Must be a float
2178
2212
  # value in the range (0, 1]. If not specified, the default is 0.6.
2179
2213
  # If the CPU level is below the target utilization, the autoscaler scales in the
@@ -2193,6 +2227,7 @@ module Google
2193
2227
 
2194
2228
  # Update properties of this object
2195
2229
  def update!(**args)
2230
+ @predictive_method = args[:predictive_method] if args.key?(:predictive_method)
2196
2231
  @utilization_target = args[:utilization_target] if args.key?(:utilization_target)
2197
2232
  end
2198
2233
  end
@@ -2332,6 +2367,70 @@ module Google
2332
2367
  end
2333
2368
  end
2334
2369
 
2370
+ # Scaling based on user-defined schedule. The message describes a single scaling
2371
+ # schedule. A scaling schedule changes the minimum number of VM instances an
2372
+ # autoscaler can recommend, which can trigger scaling out.
2373
+ class AutoscalingPolicyScalingSchedule
2374
+ include Google::Apis::Core::Hashable
2375
+
2376
+ # A description of a scaling schedule.
2377
+ # Corresponds to the JSON property `description`
2378
+ # @return [String]
2379
+ attr_accessor :description
2380
+
2381
+ # A boolean value that specifies whether a scaling schedule can influence
2382
+ # autoscaler recommendations. If set to true, then a scaling schedule has no
2383
+ # effect. This field is optional, and its value is false by default.
2384
+ # Corresponds to the JSON property `disabled`
2385
+ # @return [Boolean]
2386
+ attr_accessor :disabled
2387
+ alias_method :disabled?, :disabled
2388
+
2389
+ # The duration of time intervals, in seconds, for which this scaling schedule is
2390
+ # to run. The minimum allowed value is 300. This field is required.
2391
+ # Corresponds to the JSON property `durationSec`
2392
+ # @return [Fixnum]
2393
+ attr_accessor :duration_sec
2394
+
2395
+ # The minimum number of VM instances that the autoscaler will recommend in time
2396
+ # intervals starting according to schedule. This field is required.
2397
+ # Corresponds to the JSON property `minRequiredReplicas`
2398
+ # @return [Fixnum]
2399
+ attr_accessor :min_required_replicas
2400
+
2401
+ # The start timestamps of time intervals when this scaling schedule is to
2402
+ # provide a scaling signal. This field uses the extended cron format (with an
2403
+ # optional year field). The expression can describe a single timestamp if the
2404
+ # optional year is set, in which case the scaling schedule runs once. The
2405
+ # schedule is interpreted with respect to time_zone. This field is required.
2406
+ # Note: These timestamps only describe when autoscaler starts providing the
2407
+ # scaling signal. The VMs need additional time to become serving.
2408
+ # Corresponds to the JSON property `schedule`
2409
+ # @return [String]
2410
+ attr_accessor :schedule
2411
+
2412
+ # The time zone to use when interpreting the schedule. The value of this field
2413
+ # must be a time zone name from the tz database: http://en.wikipedia.org/wiki/
2414
+ # Tz_database. This field is assigned a default value of ?UTC? if left empty.
2415
+ # Corresponds to the JSON property `timeZone`
2416
+ # @return [String]
2417
+ attr_accessor :time_zone
2418
+
2419
+ def initialize(**args)
2420
+ update!(**args)
2421
+ end
2422
+
2423
+ # Update properties of this object
2424
+ def update!(**args)
2425
+ @description = args[:description] if args.key?(:description)
2426
+ @disabled = args[:disabled] if args.key?(:disabled)
2427
+ @duration_sec = args[:duration_sec] if args.key?(:duration_sec)
2428
+ @min_required_replicas = args[:min_required_replicas] if args.key?(:min_required_replicas)
2429
+ @schedule = args[:schedule] if args.key?(:schedule)
2430
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
2431
+ end
2432
+ end
2433
+
2335
2434
  # Message containing information of one individual backend.
2336
2435
  class Backend
2337
2436
  include Google::Apis::Core::Hashable
@@ -2546,6 +2645,13 @@ module Google
2546
2645
  class BackendBucketCdnPolicy
2547
2646
  include Google::Apis::Core::Hashable
2548
2647
 
2648
+ # Bypass the cache when the specified request headers are matched - e.g. Pragma
2649
+ # or Authorization headers. Up to 5 headers can be specified. The cache is
2650
+ # bypassed for all cdnPolicy.cacheMode settings.
2651
+ # Corresponds to the JSON property `bypassCacheOnRequestHeaders`
2652
+ # @return [Array<Google::Apis::ComputeV1::BackendBucketCdnPolicyBypassCacheOnRequestHeader>]
2653
+ attr_accessor :bypass_cache_on_request_headers
2654
+
2549
2655
  # Specifies the cache setting for all responses from this backend. The possible
2550
2656
  # values are:
2551
2657
  # USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache
@@ -2600,6 +2706,53 @@ module Google
2600
2706
  # @return [Fixnum]
2601
2707
  attr_accessor :max_ttl
2602
2708
 
2709
+ # Negative caching allows per-status code TTLs to be set, in order to apply fine-
2710
+ # grained caching for common errors or redirects. This can reduce the load on
2711
+ # your origin and improve end-user experience by reducing response latency. When
2712
+ # the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative
2713
+ # caching applies to responses with the specified response code that lack any
2714
+ # Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is
2715
+ # set to FORCE_CACHE_ALL, negative caching applies to all responses with the
2716
+ # specified response code, and override any caching headers. By default, Cloud
2717
+ # CDN will apply the following default TTLs to these status codes: HTTP 300 (
2718
+ # Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found),
2719
+ # 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not
2720
+ # Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults
2721
+ # can be overridden in negative_caching_policy.
2722
+ # Corresponds to the JSON property `negativeCaching`
2723
+ # @return [Boolean]
2724
+ attr_accessor :negative_caching
2725
+ alias_method :negative_caching?, :negative_caching
2726
+
2727
+ # Sets a cache TTL for the specified HTTP status code. negative_caching must be
2728
+ # enabled to configure negative_caching_policy. Omitting the policy and leaving
2729
+ # negative_caching enabled will use Cloud CDN's default cache TTLs. Note that
2730
+ # when specifying an explicit negative_caching_policy, you should take care to
2731
+ # specify a cache TTL for all response codes that you wish to cache. Cloud CDN
2732
+ # will not apply any default negative caching when a policy exists.
2733
+ # Corresponds to the JSON property `negativeCachingPolicy`
2734
+ # @return [Array<Google::Apis::ComputeV1::BackendBucketCdnPolicyNegativeCachingPolicy>]
2735
+ attr_accessor :negative_caching_policy
2736
+
2737
+ # If true then Cloud CDN will combine multiple concurrent cache fill requests
2738
+ # into a small number of requests to the origin.
2739
+ # Corresponds to the JSON property `requestCoalescing`
2740
+ # @return [Boolean]
2741
+ attr_accessor :request_coalescing
2742
+ alias_method :request_coalescing?, :request_coalescing
2743
+
2744
+ # Serve existing content from the cache (if available) when revalidating content
2745
+ # with the origin, or when an error is encountered when refreshing the cache.
2746
+ # This setting defines the default "max-stale" duration for any cached responses
2747
+ # that do not specify a max-stale directive. Stale responses that exceed the TTL
2748
+ # configured here will not be served. The default limit (max-stale) is 86400s (1
2749
+ # day), which will allow stale content to be served up to this limit beyond the
2750
+ # max-age (or s-max-age) of a cached response. The maximum allowed value is
2751
+ # 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
2752
+ # Corresponds to the JSON property `serveWhileStale`
2753
+ # @return [Fixnum]
2754
+ attr_accessor :serve_while_stale
2755
+
2603
2756
  # Maximum number of seconds the response to a signed URL request will be
2604
2757
  # considered fresh. After this time period, the response will be revalidated
2605
2758
  # before being served. Defaults to 1hr (3600s). When serving responses to signed
@@ -2622,15 +2775,72 @@ module Google
2622
2775
 
2623
2776
  # Update properties of this object
2624
2777
  def update!(**args)
2778
+ @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
2625
2779
  @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
2626
2780
  @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
2627
2781
  @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
2628
2782
  @max_ttl = args[:max_ttl] if args.key?(:max_ttl)
2783
+ @negative_caching = args[:negative_caching] if args.key?(:negative_caching)
2784
+ @negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy)
2785
+ @request_coalescing = args[:request_coalescing] if args.key?(:request_coalescing)
2786
+ @serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale)
2629
2787
  @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
2630
2788
  @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
2631
2789
  end
2632
2790
  end
2633
2791
 
2792
+ # Bypass the cache when the specified request headers are present, e.g. Pragma
2793
+ # or Authorization headers. Values are case insensitive. The presence of such a
2794
+ # header overrides the cache_mode setting.
2795
+ class BackendBucketCdnPolicyBypassCacheOnRequestHeader
2796
+ include Google::Apis::Core::Hashable
2797
+
2798
+ # The header field name to match on when bypassing cache. Values are case-
2799
+ # insensitive.
2800
+ # Corresponds to the JSON property `headerName`
2801
+ # @return [String]
2802
+ attr_accessor :header_name
2803
+
2804
+ def initialize(**args)
2805
+ update!(**args)
2806
+ end
2807
+
2808
+ # Update properties of this object
2809
+ def update!(**args)
2810
+ @header_name = args[:header_name] if args.key?(:header_name)
2811
+ end
2812
+ end
2813
+
2814
+ # Specify CDN TTLs for response error codes.
2815
+ class BackendBucketCdnPolicyNegativeCachingPolicy
2816
+ include Google::Apis::Core::Hashable
2817
+
2818
+ # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
2819
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
2820
+ # and you cannot specify a status code more than once.
2821
+ # Corresponds to the JSON property `code`
2822
+ # @return [Fixnum]
2823
+ attr_accessor :code
2824
+
2825
+ # The TTL (in seconds) for which to cache responses with the corresponding
2826
+ # status code. The maximum allowed value is 1800s (30 minutes), noting that
2827
+ # infrequently accessed objects may be evicted from the cache before the defined
2828
+ # TTL.
2829
+ # Corresponds to the JSON property `ttl`
2830
+ # @return [Fixnum]
2831
+ attr_accessor :ttl
2832
+
2833
+ def initialize(**args)
2834
+ update!(**args)
2835
+ end
2836
+
2837
+ # Update properties of this object
2838
+ def update!(**args)
2839
+ @code = args[:code] if args.key?(:code)
2840
+ @ttl = args[:ttl] if args.key?(:ttl)
2841
+ end
2842
+ end
2843
+
2634
2844
  # Contains a list of BackendBucket resources.
2635
2845
  class BackendBucketList
2636
2846
  include Google::Apis::Core::Hashable
@@ -2928,6 +3138,14 @@ module Google
2928
3138
  # @return [Google::Apis::ComputeV1::BackendServiceLogConfig]
2929
3139
  attr_accessor :log_config
2930
3140
 
3141
+ # A Duration represents a fixed-length span of time represented as a count of
3142
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
3143
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
3144
+ # 000 years.
3145
+ # Corresponds to the JSON property `maxStreamDuration`
3146
+ # @return [Google::Apis::ComputeV1::Duration]
3147
+ attr_accessor :max_stream_duration
3148
+
2931
3149
  # Name of the resource. Provided by the client when the resource is created. The
2932
3150
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
2933
3151
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3007,7 +3225,7 @@ module Google
3007
3225
 
3008
3226
  # Type of session affinity to use. The default is NONE.
3009
3227
  # 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.
3228
+ # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3011
3229
  # * For all other load balancers that use loadBalancingScheme=EXTERNAL, the
3012
3230
  # possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use
3013
3231
  # GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.
@@ -3056,6 +3274,7 @@ module Google
3056
3274
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3057
3275
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
3058
3276
  @log_config = args[:log_config] if args.key?(:log_config)
3277
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
3059
3278
  @name = args[:name] if args.key?(:name)
3060
3279
  @network = args[:network] if args.key?(:network)
3061
3280
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
@@ -3198,6 +3417,13 @@ module Google
3198
3417
  class BackendServiceCdnPolicy
3199
3418
  include Google::Apis::Core::Hashable
3200
3419
 
3420
+ # Bypass the cache when the specified request headers are matched - e.g. Pragma
3421
+ # or Authorization headers. Up to 5 headers can be specified. The cache is
3422
+ # bypassed for all cdnPolicy.cacheMode settings.
3423
+ # Corresponds to the JSON property `bypassCacheOnRequestHeaders`
3424
+ # @return [Array<Google::Apis::ComputeV1::BackendServiceCdnPolicyBypassCacheOnRequestHeader>]
3425
+ attr_accessor :bypass_cache_on_request_headers
3426
+
3201
3427
  # Message containing what to include in the cache key for a request for Cloud
3202
3428
  # CDN.
3203
3429
  # Corresponds to the JSON property `cacheKeyPolicy`
@@ -3258,6 +3484,53 @@ module Google
3258
3484
  # @return [Fixnum]
3259
3485
  attr_accessor :max_ttl
3260
3486
 
3487
+ # Negative caching allows per-status code TTLs to be set, in order to apply fine-
3488
+ # grained caching for common errors or redirects. This can reduce the load on
3489
+ # your origin and improve end-user experience by reducing response latency. When
3490
+ # the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative
3491
+ # caching applies to responses with the specified response code that lack any
3492
+ # Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is
3493
+ # set to FORCE_CACHE_ALL, negative caching applies to all responses with the
3494
+ # specified response code, and override any caching headers. By default, Cloud
3495
+ # CDN will apply the following default TTLs to these status codes: HTTP 300 (
3496
+ # Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found),
3497
+ # 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not
3498
+ # Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults
3499
+ # can be overridden in negative_caching_policy.
3500
+ # Corresponds to the JSON property `negativeCaching`
3501
+ # @return [Boolean]
3502
+ attr_accessor :negative_caching
3503
+ alias_method :negative_caching?, :negative_caching
3504
+
3505
+ # Sets a cache TTL for the specified HTTP status code. negative_caching must be
3506
+ # enabled to configure negative_caching_policy. Omitting the policy and leaving
3507
+ # negative_caching enabled will use Cloud CDN's default cache TTLs. Note that
3508
+ # when specifying an explicit negative_caching_policy, you should take care to
3509
+ # specify a cache TTL for all response codes that you wish to cache. Cloud CDN
3510
+ # will not apply any default negative caching when a policy exists.
3511
+ # Corresponds to the JSON property `negativeCachingPolicy`
3512
+ # @return [Array<Google::Apis::ComputeV1::BackendServiceCdnPolicyNegativeCachingPolicy>]
3513
+ attr_accessor :negative_caching_policy
3514
+
3515
+ # If true then Cloud CDN will combine multiple concurrent cache fill requests
3516
+ # into a small number of requests to the origin.
3517
+ # Corresponds to the JSON property `requestCoalescing`
3518
+ # @return [Boolean]
3519
+ attr_accessor :request_coalescing
3520
+ alias_method :request_coalescing?, :request_coalescing
3521
+
3522
+ # Serve existing content from the cache (if available) when revalidating content
3523
+ # with the origin, or when an error is encountered when refreshing the cache.
3524
+ # This setting defines the default "max-stale" duration for any cached responses
3525
+ # that do not specify a max-stale directive. Stale responses that exceed the TTL
3526
+ # configured here will not be served. The default limit (max-stale) is 86400s (1
3527
+ # day), which will allow stale content to be served up to this limit beyond the
3528
+ # max-age (or s-max-age) of a cached response. The maximum allowed value is
3529
+ # 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
3530
+ # Corresponds to the JSON property `serveWhileStale`
3531
+ # @return [Fixnum]
3532
+ attr_accessor :serve_while_stale
3533
+
3261
3534
  # Maximum number of seconds the response to a signed URL request will be
3262
3535
  # considered fresh. After this time period, the response will be revalidated
3263
3536
  # before being served. Defaults to 1hr (3600s). When serving responses to signed
@@ -3280,16 +3553,73 @@ module Google
3280
3553
 
3281
3554
  # Update properties of this object
3282
3555
  def update!(**args)
3556
+ @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
3283
3557
  @cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
3284
3558
  @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
3285
3559
  @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
3286
3560
  @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
3287
3561
  @max_ttl = args[:max_ttl] if args.key?(:max_ttl)
3562
+ @negative_caching = args[:negative_caching] if args.key?(:negative_caching)
3563
+ @negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy)
3564
+ @request_coalescing = args[:request_coalescing] if args.key?(:request_coalescing)
3565
+ @serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale)
3288
3566
  @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
3289
3567
  @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
3290
3568
  end
3291
3569
  end
3292
3570
 
3571
+ # Bypass the cache when the specified request headers are present, e.g. Pragma
3572
+ # or Authorization headers. Values are case insensitive. The presence of such a
3573
+ # header overrides the cache_mode setting.
3574
+ class BackendServiceCdnPolicyBypassCacheOnRequestHeader
3575
+ include Google::Apis::Core::Hashable
3576
+
3577
+ # The header field name to match on when bypassing cache. Values are case-
3578
+ # insensitive.
3579
+ # Corresponds to the JSON property `headerName`
3580
+ # @return [String]
3581
+ attr_accessor :header_name
3582
+
3583
+ def initialize(**args)
3584
+ update!(**args)
3585
+ end
3586
+
3587
+ # Update properties of this object
3588
+ def update!(**args)
3589
+ @header_name = args[:header_name] if args.key?(:header_name)
3590
+ end
3591
+ end
3592
+
3593
+ # Specify CDN TTLs for response error codes.
3594
+ class BackendServiceCdnPolicyNegativeCachingPolicy
3595
+ include Google::Apis::Core::Hashable
3596
+
3597
+ # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
3598
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
3599
+ # and you cannot specify a status code more than once.
3600
+ # Corresponds to the JSON property `code`
3601
+ # @return [Fixnum]
3602
+ attr_accessor :code
3603
+
3604
+ # The TTL (in seconds) for which to cache responses with the corresponding
3605
+ # status code. The maximum allowed value is 1800s (30 minutes), noting that
3606
+ # infrequently accessed objects may be evicted from the cache before the defined
3607
+ # TTL.
3608
+ # Corresponds to the JSON property `ttl`
3609
+ # @return [Fixnum]
3610
+ attr_accessor :ttl
3611
+
3612
+ def initialize(**args)
3613
+ update!(**args)
3614
+ end
3615
+
3616
+ # Update properties of this object
3617
+ def update!(**args)
3618
+ @code = args[:code] if args.key?(:code)
3619
+ @ttl = args[:ttl] if args.key?(:ttl)
3620
+ end
3621
+ end
3622
+
3293
3623
  # Applicable only to Failover for Internal TCP/UDP Load Balancing and Network
3294
3624
  # Load Balancing. On failover or failback, this field indicates whether
3295
3625
  # connection draining will be honored. GCP has a fixed connection draining
@@ -3782,16 +4112,17 @@ module Google
3782
4112
 
3783
4113
  # The minimum number of instances to create. If no min_count is specified then
3784
4114
  # count is used as the default value. If min_count instances cannot be created,
3785
- # then no instances will be created.
4115
+ # then no instances will be created and instances already created will be
4116
+ # deleted.
3786
4117
  # Corresponds to the JSON property `minCount`
3787
4118
  # @return [Fixnum]
3788
4119
  attr_accessor :min_count
3789
4120
 
3790
4121
  # 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
4122
+ # per_instance_properties must be set. The pattern should contain one continuous
3792
4123
  # sequence of placeholder hash characters (#) with each character corresponding
3793
4124
  # 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
4125
+ # will generate instance names such as inst-0001, inst-0002, ... . If there
3795
4126
  # already exist instance(s) whose names match the name pattern in the same
3796
4127
  # project and zone, then the generated instance numbers will start after the
3797
4128
  # biggest existing number. For example, if there exists an instance with name
@@ -6068,6 +6399,13 @@ module Google
6068
6399
  class DistributionPolicy
6069
6400
  include Google::Apis::Core::Hashable
6070
6401
 
6402
+ # The distribution shape to which the group converges either proactively or on
6403
+ # resize events (depending on the value set in updatePolicy.
6404
+ # instanceRedistributionType).
6405
+ # Corresponds to the JSON property `targetShape`
6406
+ # @return [String]
6407
+ attr_accessor :target_shape
6408
+
6071
6409
  # Zones where the regional managed instance group will create and manage its
6072
6410
  # instances.
6073
6411
  # Corresponds to the JSON property `zones`
@@ -6080,6 +6418,7 @@ module Google
6080
6418
 
6081
6419
  # Update properties of this object
6082
6420
  def update!(**args)
6421
+ @target_shape = args[:target_shape] if args.key?(:target_shape)
6083
6422
  @zones = args[:zones] if args.key?(:zones)
6084
6423
  end
6085
6424
  end
@@ -7090,13 +7429,14 @@ module Google
7090
7429
  # @return [String]
7091
7430
  attr_accessor :description
7092
7431
 
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.
7432
+ # Depreacted, please use short name instead. User-provided name of the
7433
+ # Organization firewall plicy. The name should be unique in the organization in
7434
+ # which the firewall policy is created. The name must be 1-63 characters long,
7435
+ # and comply with RFC1035. Specifically, the name must be 1-63 characters long
7436
+ # and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
7437
+ # first character must be a lowercase letter, and all following characters must
7438
+ # be a dash, lowercase letter, or digit, except the last character, which cannot
7439
+ # be a dash.
7100
7440
  # Corresponds to the JSON property `displayName`
7101
7441
  # @return [String]
7102
7442
  attr_accessor :display_name
@@ -7160,6 +7500,17 @@ module Google
7160
7500
  # @return [String]
7161
7501
  attr_accessor :self_link_with_id
7162
7502
 
7503
+ # User-provided name of the Organization firewall plicy. The name should be
7504
+ # unique in the organization in which the firewall policy is created. The name
7505
+ # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
7506
+ # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
7507
+ # [a-z0-9])?` which means the first character must be a lowercase letter, and
7508
+ # all following characters must be a dash, lowercase letter, or digit, except
7509
+ # the last character, which cannot be a dash.
7510
+ # Corresponds to the JSON property `shortName`
7511
+ # @return [String]
7512
+ attr_accessor :short_name
7513
+
7163
7514
  def initialize(**args)
7164
7515
  update!(**args)
7165
7516
  end
@@ -7179,6 +7530,7 @@ module Google
7179
7530
  @rules = args[:rules] if args.key?(:rules)
7180
7531
  @self_link = args[:self_link] if args.key?(:self_link)
7181
7532
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
7533
+ @short_name = args[:short_name] if args.key?(:short_name)
7182
7534
  end
7183
7535
  end
7184
7536
 
@@ -7191,7 +7543,8 @@ module Google
7191
7543
  # @return [String]
7192
7544
  attr_accessor :attachment_target
7193
7545
 
7194
- # [Output Only] The display name of the firewall policy of the association.
7546
+ # [Output Only] Deprecated, please use short name instead. The display name of
7547
+ # the firewall policy of the association.
7195
7548
  # Corresponds to the JSON property `displayName`
7196
7549
  # @return [String]
7197
7550
  attr_accessor :display_name
@@ -7206,6 +7559,11 @@ module Google
7206
7559
  # @return [String]
7207
7560
  attr_accessor :name
7208
7561
 
7562
+ # [Output Only] The short name of the firewall policy of the association.
7563
+ # Corresponds to the JSON property `shortName`
7564
+ # @return [String]
7565
+ attr_accessor :short_name
7566
+
7209
7567
  def initialize(**args)
7210
7568
  update!(**args)
7211
7569
  end
@@ -7216,6 +7574,7 @@ module Google
7216
7574
  @display_name = args[:display_name] if args.key?(:display_name)
7217
7575
  @firewall_policy_id = args[:firewall_policy_id] if args.key?(:firewall_policy_id)
7218
7576
  @name = args[:name] if args.key?(:name)
7577
+ @short_name = args[:short_name] if args.key?(:short_name)
7219
7578
  end
7220
7579
  end
7221
7580
 
@@ -7402,17 +7761,6 @@ module Google
7402
7761
  # @return [Array<String>]
7403
7762
  attr_accessor :target_resources
7404
7763
 
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
7764
  # A list of service accounts indicating the sets of instances that are applied
7417
7765
  # with this rule.
7418
7766
  # Corresponds to the JSON property `targetServiceAccounts`
@@ -7435,7 +7783,6 @@ module Google
7435
7783
  @priority = args[:priority] if args.key?(:priority)
7436
7784
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
7437
7785
  @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
7786
  @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
7440
7787
  end
7441
7788
  end
@@ -7461,12 +7808,6 @@ module Google
7461
7808
  # @return [Array<String>]
7462
7809
  attr_accessor :src_ip_ranges
7463
7810
 
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
7811
  def initialize(**args)
7471
7812
  update!(**args)
7472
7813
  end
@@ -7476,7 +7817,6 @@ module Google
7476
7817
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
7477
7818
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
7478
7819
  @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
7820
  end
7481
7821
  end
7482
7822
 
@@ -7585,6 +7925,8 @@ module Google
7585
7925
  # ip_address_specifications).
7586
7926
  # Must be set to `0.0.0.0` when the target is targetGrpcProxy that has
7587
7927
  # validateForProxyless field set to true.
7928
+ # For Private Service Connect forwarding rules that forward traffic to Google
7929
+ # APIs, IP address must be provided.
7588
7930
  # Corresponds to the JSON property `IPAddress`
7589
7931
  # @return [String]
7590
7932
  attr_accessor :ip_address
@@ -7757,6 +8099,8 @@ module Google
7757
8099
  # For Internal TCP/UDP Load Balancing, this field identifies the network that
7758
8100
  # the load balanced IP should belong to for this Forwarding Rule. If this field
7759
8101
  # is not specified, the default network will be used.
8102
+ # For Private Service Connect forwarding rules that forward traffic to Google
8103
+ # APIs, a network must be provided.
7760
8104
  # Corresponds to the JSON property `network`
7761
8105
  # @return [String]
7762
8106
  attr_accessor :network
@@ -7861,12 +8205,7 @@ module Google
7861
8205
  # @return [String]
7862
8206
  attr_accessor :subnetwork
7863
8207
 
7864
- # The URL of the target resource to receive the matched traffic. For regional
7865
- # forwarding rules, this target must be in the same region as the forwarding
7866
- # rule. For global forwarding rules, this target must be a global load balancing
7867
- # resource. The forwarded traffic must be of a type appropriate to the target
7868
- # object. For more information, see the "Target" column in [Port specifications](
7869
- # /load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
8208
+ #
7870
8209
  # Corresponds to the JSON property `target`
7871
8210
  # @return [String]
7872
8211
  attr_accessor :target
@@ -9688,6 +10027,16 @@ module Google
9688
10027
  # @return [Hash<String,String>]
9689
10028
  attr_accessor :annotations
9690
10029
 
10030
+ # URL of the forwarding rule associated with the health status of the instance.
10031
+ # Corresponds to the JSON property `forwardingRule`
10032
+ # @return [String]
10033
+ attr_accessor :forwarding_rule
10034
+
10035
+ # A forwarding rule IP address assigned to this instance.
10036
+ # Corresponds to the JSON property `forwardingRuleIp`
10037
+ # @return [String]
10038
+ attr_accessor :forwarding_rule_ip
10039
+
9691
10040
  # Health state of the instance.
9692
10041
  # Corresponds to the JSON property `healthState`
9693
10042
  # @return [String]
@@ -9728,6 +10077,8 @@ module Google
9728
10077
  # Update properties of this object
9729
10078
  def update!(**args)
9730
10079
  @annotations = args[:annotations] if args.key?(:annotations)
10080
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
10081
+ @forwarding_rule_ip = args[:forwarding_rule_ip] if args.key?(:forwarding_rule_ip)
9731
10082
  @health_state = args[:health_state] if args.key?(:health_state)
9732
10083
  @instance = args[:instance] if args.key?(:instance)
9733
10084
  @ip_address = args[:ip_address] if args.key?(:ip_address)
@@ -10525,6 +10876,14 @@ module Google
10525
10876
  # @return [Google::Apis::ComputeV1::HttpFaultInjection]
10526
10877
  attr_accessor :fault_injection_policy
10527
10878
 
10879
+ # A Duration represents a fixed-length span of time represented as a count of
10880
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
10881
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
10882
+ # 000 years.
10883
+ # Corresponds to the JSON property `maxStreamDuration`
10884
+ # @return [Google::Apis::ComputeV1::Duration]
10885
+ attr_accessor :max_stream_duration
10886
+
10528
10887
  # A policy that specifies how requests intended for the route's backends are
10529
10888
  # shadowed to a separate mirrored backend service. Loadbalancer does not wait
10530
10889
  # for responses from the shadow service. Prior to sending traffic to the shadow
@@ -10573,6 +10932,7 @@ module Google
10573
10932
  def update!(**args)
10574
10933
  @cors_policy = args[:cors_policy] if args.key?(:cors_policy)
10575
10934
  @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
10935
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
10576
10936
  @request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy)
10577
10937
  @retry_policy = args[:retry_policy] if args.key?(:retry_policy)
10578
10938
  @timeout = args[:timeout] if args.key?(:timeout)
@@ -11635,7 +11995,7 @@ module Google
11635
11995
  attr_accessor :satisfies_pzs
11636
11996
  alias_method :satisfies_pzs?, :satisfies_pzs
11637
11997
 
11638
- # Sets the scheduling options for an Instance. NextID: 17
11998
+ # Sets the scheduling options for an Instance. NextID: 20
11639
11999
  # Corresponds to the JSON property `scheduling`
11640
12000
  # @return [Google::Apis::ComputeV1::Scheduling]
11641
12001
  attr_accessor :scheduling
@@ -14256,7 +14616,7 @@ module Google
14256
14616
  # @return [Array<String>]
14257
14617
  attr_accessor :resource_policies
14258
14618
 
14259
- # Sets the scheduling options for an Instance. NextID: 17
14619
+ # Sets the scheduling options for an Instance. NextID: 20
14260
14620
  # Corresponds to the JSON property `scheduling`
14261
14621
  # @return [Google::Apis::ComputeV1::Scheduling]
14262
14622
  attr_accessor :scheduling
@@ -14607,7 +14967,8 @@ module Google
14607
14967
  class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy
14608
14968
  include Google::Apis::Core::Hashable
14609
14969
 
14610
- # [Output Only] The display name of the firewall policy.
14970
+ # [Output Only] Deprecated, please use short name instead. The display name of
14971
+ # the firewall policy.
14611
14972
  # Corresponds to the JSON property `displayName`
14612
14973
  # @return [String]
14613
14974
  attr_accessor :display_name
@@ -14622,6 +14983,11 @@ module Google
14622
14983
  # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
14623
14984
  attr_accessor :rules
14624
14985
 
14986
+ # [Output Only] The short name of the firewall policy.
14987
+ # Corresponds to the JSON property `shortName`
14988
+ # @return [String]
14989
+ attr_accessor :short_name
14990
+
14625
14991
  # [Output Only] The type of the firewall policy.
14626
14992
  # Corresponds to the JSON property `type`
14627
14993
  # @return [String]
@@ -14636,6 +15002,7 @@ module Google
14636
15002
  @display_name = args[:display_name] if args.key?(:display_name)
14637
15003
  @name = args[:name] if args.key?(:name)
14638
15004
  @rules = args[:rules] if args.key?(:rules)
15005
+ @short_name = args[:short_name] if args.key?(:short_name)
14639
15006
  @type = args[:type] if args.key?(:type)
14640
15007
  end
14641
15008
  end
@@ -15193,6 +15560,19 @@ module Google
15193
15560
  # @return [String]
15194
15561
  attr_accessor :edge_availability_domain
15195
15562
 
15563
+ # Indicates the user-supplied encryption option of this interconnect attachment:
15564
+ # - NONE is the default value, which means that the attachment carries
15565
+ # unencrypted traffic. VMs can send traffic to, or receive traffic from, this
15566
+ # type of attachment.
15567
+ # - IPSEC indicates that the attachment carries only traffic encrypted by an
15568
+ # IPsec device such as an HA VPN gateway. VMs cannot directly send traffic to,
15569
+ # or receive traffic from, such an attachment. To use IPsec-encrypted Cloud
15570
+ # Interconnect, create the attachment using this option.
15571
+ # Not currently available in all Interconnect locations.
15572
+ # Corresponds to the JSON property `encryption`
15573
+ # @return [String]
15574
+ attr_accessor :encryption
15575
+
15196
15576
  # [Output Only] Google reference ID, to be used when raising support tickets
15197
15577
  # with Google or otherwise to debug backend connectivity issues. [Deprecated]
15198
15578
  # This field is not used.
@@ -15212,6 +15592,23 @@ module Google
15212
15592
  # @return [String]
15213
15593
  attr_accessor :interconnect
15214
15594
 
15595
+ # URL of addresses that have been reserved for the interconnect attachment, Used
15596
+ # only for interconnect attachment that has the encryption option as IPSEC. The
15597
+ # addresses must be RFC 1918 IP address ranges. When creating HA VPN gateway
15598
+ # over the interconnect attachment, if the attachment is configured to use an
15599
+ # RFC 1918 IP address, then the VPN gateway's IP address will be allocated from
15600
+ # the IP address range specified here. For example, if the HA VPN gateway's
15601
+ # interface 0 is paired to this interconnect attachment, then an RFC 1918 IP
15602
+ # address for the VPN gateway interface 0 will be allocated from the IP address
15603
+ # specified for this interconnect attachment. If this field is not specified for
15604
+ # interconnect attachment that has encryption option as IPSEC, later on when
15605
+ # creating HA VPN gateway on this interconnect attachment, the HA VPN gateway's
15606
+ # IP address will be allocated from regional external IP address pool.
15607
+ # Not currently available in all Interconnect locations.
15608
+ # Corresponds to the JSON property `ipsecInternalAddresses`
15609
+ # @return [Array<String>]
15610
+ attr_accessor :ipsec_internal_addresses
15611
+
15215
15612
  # [Output Only] Type of the resource. Always compute#interconnectAttachment for
15216
15613
  # interconnect attachments.
15217
15614
  # Corresponds to the JSON property `kind`
@@ -15346,9 +15743,11 @@ module Google
15346
15743
  @dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
15347
15744
  @description = args[:description] if args.key?(:description)
15348
15745
  @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
15746
+ @encryption = args[:encryption] if args.key?(:encryption)
15349
15747
  @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id)
15350
15748
  @id = args[:id] if args.key?(:id)
15351
15749
  @interconnect = args[:interconnect] if args.key?(:interconnect)
15750
+ @ipsec_internal_addresses = args[:ipsec_internal_addresses] if args.key?(:ipsec_internal_addresses)
15352
15751
  @kind = args[:kind] if args.key?(:kind)
15353
15752
  @mtu = args[:mtu] if args.key?(:mtu)
15354
15753
  @name = args[:name] if args.key?(:name)
@@ -16858,7 +17257,7 @@ module Google
16858
17257
  include Google::Apis::Core::Hashable
16859
17258
 
16860
17259
  # Location configurations mapped by location name. Currently only zone names are
16861
- # supported and must be represented as valid internal URLs, like: zones/us-
17260
+ # supported and must be represented as valid internal URLs, such as zones/us-
16862
17261
  # central1-a.
16863
17262
  # Corresponds to the JSON property `locations`
16864
17263
  # @return [Hash<String,Google::Apis::ComputeV1::LocationPolicyLocation>]
@@ -16878,7 +17277,7 @@ module Google
16878
17277
  class LocationPolicyLocation
16879
17278
  include Google::Apis::Core::Hashable
16880
17279
 
16881
- #
17280
+ # Preference for a given locaction: ALLOW or DENY.
16882
17281
  # Corresponds to the JSON property `preference`
16883
17282
  # @return [String]
16884
17283
  attr_accessor :preference
@@ -18931,8 +19330,9 @@ module Google
18931
19330
 
18932
19331
  # Fingerprint hash of contents stored in this network interface. This field will
18933
19332
  # be ignored when inserting an Instance or adding a NetworkInterface. An up-to-
18934
- # date fingerprint must be provided in order to update the NetworkInterface,
18935
- # otherwise the request will fail with error 412 conditionNotMet.
19333
+ # date fingerprint must be provided in order to update the NetworkInterface. The
19334
+ # request will fail with error 400 Bad Request if the fingerprint is not
19335
+ # provided, or 412 Precondition Failed if the fingerprint is out of date.
18936
19336
  # Corresponds to the JSON property `fingerprint`
18937
19337
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
18938
19338
  # @return [String]
@@ -19340,7 +19740,8 @@ module Google
19340
19740
  class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy
19341
19741
  include Google::Apis::Core::Hashable
19342
19742
 
19343
- # [Output Only] The display name of the firewall policy.
19743
+ # [Output Only] Deprecated, please use short name instead. The display name of
19744
+ # the firewall policy.
19344
19745
  # Corresponds to the JSON property `displayName`
19345
19746
  # @return [String]
19346
19747
  attr_accessor :display_name
@@ -19355,6 +19756,11 @@ module Google
19355
19756
  # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
19356
19757
  attr_accessor :rules
19357
19758
 
19759
+ # [Output Only] The short name of the firewall policy.
19760
+ # Corresponds to the JSON property `shortName`
19761
+ # @return [String]
19762
+ attr_accessor :short_name
19763
+
19358
19764
  # [Output Only] The type of the firewall policy.
19359
19765
  # Corresponds to the JSON property `type`
19360
19766
  # @return [String]
@@ -19369,6 +19775,7 @@ module Google
19369
19775
  @display_name = args[:display_name] if args.key?(:display_name)
19370
19776
  @name = args[:name] if args.key?(:name)
19371
19777
  @rules = args[:rules] if args.key?(:rules)
19778
+ @short_name = args[:short_name] if args.key?(:short_name)
19372
19779
  @type = args[:type] if args.key?(:type)
19373
19780
  end
19374
19781
  end
@@ -23351,88 +23758,10 @@ module Google
23351
23758
  end
23352
23759
  end
23353
23760
 
23354
- # A quotas entry.
23355
- class Quota
23356
- include Google::Apis::Core::Hashable
23357
-
23358
- # [Output Only] Quota limit for this metric.
23359
- # Corresponds to the JSON property `limit`
23360
- # @return [Float]
23361
- attr_accessor :limit
23362
-
23363
- # [Output Only] Name of the quota metric.
23364
- # Corresponds to the JSON property `metric`
23365
- # @return [String]
23366
- attr_accessor :metric
23367
-
23368
- # [Output Only] Owning resource. This is the resource on which this quota is
23369
- # applied.
23370
- # Corresponds to the JSON property `owner`
23371
- # @return [String]
23372
- attr_accessor :owner
23373
-
23374
- # [Output Only] Current usage of this metric.
23375
- # Corresponds to the JSON property `usage`
23376
- # @return [Float]
23377
- attr_accessor :usage
23378
-
23379
- def initialize(**args)
23380
- update!(**args)
23381
- end
23382
-
23383
- # Update properties of this object
23384
- def update!(**args)
23385
- @limit = args[:limit] if args.key?(:limit)
23386
- @metric = args[:metric] if args.key?(:metric)
23387
- @owner = args[:owner] if args.key?(:owner)
23388
- @usage = args[:usage] if args.key?(:usage)
23389
- end
23390
- end
23391
-
23392
- # Represents a reference to a resource.
23393
- class Reference
23394
- include Google::Apis::Core::Hashable
23395
-
23396
- # [Output Only] Type of the resource. Always compute#reference for references.
23397
- # Corresponds to the JSON property `kind`
23398
- # @return [String]
23399
- attr_accessor :kind
23400
-
23401
- # A description of the reference type with no implied semantics. Possible values
23402
- # include:
23403
- # - MEMBER_OF
23404
- # Corresponds to the JSON property `referenceType`
23405
- # @return [String]
23406
- attr_accessor :reference_type
23407
-
23408
- # URL of the resource which refers to the target.
23409
- # Corresponds to the JSON property `referrer`
23410
- # @return [String]
23411
- attr_accessor :referrer
23412
-
23413
- # URL of the resource to which this reference points.
23414
- # Corresponds to the JSON property `target`
23415
- # @return [String]
23416
- attr_accessor :target
23417
-
23418
- def initialize(**args)
23419
- update!(**args)
23420
- end
23421
-
23422
- # Update properties of this object
23423
- def update!(**args)
23424
- @kind = args[:kind] if args.key?(:kind)
23425
- @reference_type = args[:reference_type] if args.key?(:reference_type)
23426
- @referrer = args[:referrer] if args.key?(:referrer)
23427
- @target = args[:target] if args.key?(:target)
23428
- end
23429
- end
23430
-
23431
- # Represents a Region resource.
23432
- # A region is a geographical area where a resource is located. For more
23433
- # information, read Regions and Zones. (== resource_for `$api_version`.regions ==
23434
- # )
23435
- class Region
23761
+ # A public advertised prefix represents an aggregated IP prefix or netblock
23762
+ # which customers bring to cloud. The IP prefix is a single unit of route
23763
+ # advertisement and is announced globally to the internet.
23764
+ class PublicAdvertisedPrefix
23436
23765
  include Google::Apis::Core::Hashable
23437
23766
 
23438
23767
  # [Output Only] Creation timestamp in RFC3339 text format.
@@ -23440,59 +23769,78 @@ module Google
23440
23769
  # @return [String]
23441
23770
  attr_accessor :creation_timestamp
23442
23771
 
23443
- # Deprecation status for a public resource.
23444
- # Corresponds to the JSON property `deprecated`
23445
- # @return [Google::Apis::ComputeV1::DeprecationStatus]
23446
- attr_accessor :deprecated
23447
-
23448
- # [Output Only] Textual description of the resource.
23772
+ # An optional description of this resource. Provide this property when you
23773
+ # create the resource.
23449
23774
  # Corresponds to the JSON property `description`
23450
23775
  # @return [String]
23451
23776
  attr_accessor :description
23452
23777
 
23453
- # [Output Only] The unique identifier for the resource. This identifier is
23454
- # defined by the server.
23778
+ # The IPv4 address to be used for reverse DNS verification.
23779
+ # Corresponds to the JSON property `dnsVerificationIp`
23780
+ # @return [String]
23781
+ attr_accessor :dns_verification_ip
23782
+
23783
+ # Fingerprint of this resource. A hash of the contents stored in this object.
23784
+ # This field is used in optimistic locking. This field will be ignored when
23785
+ # inserting a new PublicAdvertisedPrefix. An up-to-date fingerprint must be
23786
+ # provided in order to update the PublicAdvertisedPrefix, otherwise the request
23787
+ # will fail with error 412 conditionNotMet.
23788
+ # To see the latest fingerprint, make a get() request to retrieve a
23789
+ # PublicAdvertisedPrefix.
23790
+ # Corresponds to the JSON property `fingerprint`
23791
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
23792
+ # @return [String]
23793
+ attr_accessor :fingerprint
23794
+
23795
+ # [Output Only] The unique identifier for the resource type. The server
23796
+ # generates this identifier.
23455
23797
  # Corresponds to the JSON property `id`
23456
23798
  # @return [Fixnum]
23457
23799
  attr_accessor :id
23458
23800
 
23459
- # [Output Only] Type of the resource. Always compute#region for regions.
23801
+ # The IPv4 address range, in CIDR format, represented by this public advertised
23802
+ # prefix.
23803
+ # Corresponds to the JSON property `ipCidrRange`
23804
+ # @return [String]
23805
+ attr_accessor :ip_cidr_range
23806
+
23807
+ # [Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for
23808
+ # public advertised prefixes.
23460
23809
  # Corresponds to the JSON property `kind`
23461
23810
  # @return [String]
23462
23811
  attr_accessor :kind
23463
23812
 
23464
- # [Output Only] Name of the resource.
23813
+ # Name of the resource. Provided by the client when the resource is created. The
23814
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
23815
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
23816
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
23817
+ # and all following characters must be a dash, lowercase letter, or digit,
23818
+ # except the last character, which cannot be a dash.
23465
23819
  # Corresponds to the JSON property `name`
23466
23820
  # @return [String]
23467
23821
  attr_accessor :name
23468
23822
 
23469
- # [Output Only] Quotas assigned to this region.
23470
- # Corresponds to the JSON property `quotas`
23471
- # @return [Array<Google::Apis::ComputeV1::Quota>]
23472
- attr_accessor :quotas
23823
+ # [Output Only] The list of public delegated prefixes that exist for this public
23824
+ # advertised prefix.
23825
+ # Corresponds to the JSON property `publicDelegatedPrefixs`
23826
+ # @return [Array<Google::Apis::ComputeV1::PublicAdvertisedPrefixPublicDelegatedPrefix>]
23827
+ attr_accessor :public_delegated_prefixs
23473
23828
 
23474
23829
  # [Output Only] Server-defined URL for the resource.
23475
23830
  # Corresponds to the JSON property `selfLink`
23476
23831
  # @return [String]
23477
23832
  attr_accessor :self_link
23478
23833
 
23479
- # [Output Only] Status of the region, either UP or DOWN.
23834
+ # [Output Only] The shared secret to be used for reverse DNS verification.
23835
+ # Corresponds to the JSON property `sharedSecret`
23836
+ # @return [String]
23837
+ attr_accessor :shared_secret
23838
+
23839
+ # The status of the public advertised prefix.
23480
23840
  # Corresponds to the JSON property `status`
23481
23841
  # @return [String]
23482
23842
  attr_accessor :status
23483
23843
 
23484
- # [Output Only] Reserved for future use.
23485
- # Corresponds to the JSON property `supportsPzs`
23486
- # @return [Boolean]
23487
- attr_accessor :supports_pzs
23488
- alias_method :supports_pzs?, :supports_pzs
23489
-
23490
- # [Output Only] A list of zones available in this region, in the form of
23491
- # resource URLs.
23492
- # Corresponds to the JSON property `zones`
23493
- # @return [Array<String>]
23494
- attr_accessor :zones
23495
-
23496
23844
  def initialize(**args)
23497
23845
  update!(**args)
23498
23846
  end
@@ -23500,21 +23848,22 @@ module Google
23500
23848
  # Update properties of this object
23501
23849
  def update!(**args)
23502
23850
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
23503
- @deprecated = args[:deprecated] if args.key?(:deprecated)
23504
23851
  @description = args[:description] if args.key?(:description)
23852
+ @dns_verification_ip = args[:dns_verification_ip] if args.key?(:dns_verification_ip)
23853
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
23505
23854
  @id = args[:id] if args.key?(:id)
23855
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
23506
23856
  @kind = args[:kind] if args.key?(:kind)
23507
23857
  @name = args[:name] if args.key?(:name)
23508
- @quotas = args[:quotas] if args.key?(:quotas)
23858
+ @public_delegated_prefixs = args[:public_delegated_prefixs] if args.key?(:public_delegated_prefixs)
23509
23859
  @self_link = args[:self_link] if args.key?(:self_link)
23860
+ @shared_secret = args[:shared_secret] if args.key?(:shared_secret)
23510
23861
  @status = args[:status] if args.key?(:status)
23511
- @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
23512
- @zones = args[:zones] if args.key?(:zones)
23513
23862
  end
23514
23863
  end
23515
23864
 
23516
- # Contains a list of autoscalers.
23517
- class RegionAutoscalerList
23865
+ #
23866
+ class PublicAdvertisedPrefixList
23518
23867
  include Google::Apis::Core::Hashable
23519
23868
 
23520
23869
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -23522,12 +23871,13 @@ module Google
23522
23871
  # @return [String]
23523
23872
  attr_accessor :id
23524
23873
 
23525
- # A list of Autoscaler resources.
23874
+ # A list of PublicAdvertisedPrefix resources.
23526
23875
  # Corresponds to the JSON property `items`
23527
- # @return [Array<Google::Apis::ComputeV1::Autoscaler>]
23876
+ # @return [Array<Google::Apis::ComputeV1::PublicAdvertisedPrefix>]
23528
23877
  attr_accessor :items
23529
23878
 
23530
- # Type of resource.
23879
+ # [Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for
23880
+ # public advertised prefixes.
23531
23881
  # Corresponds to the JSON property `kind`
23532
23882
  # @return [String]
23533
23883
  attr_accessor :kind
@@ -23548,7 +23898,843 @@ module Google
23548
23898
 
23549
23899
  # [Output Only] Informational warning message.
23550
23900
  # Corresponds to the JSON property `warning`
23551
- # @return [Google::Apis::ComputeV1::RegionAutoscalerList::Warning]
23901
+ # @return [Google::Apis::ComputeV1::PublicAdvertisedPrefixList::Warning]
23902
+ attr_accessor :warning
23903
+
23904
+ def initialize(**args)
23905
+ update!(**args)
23906
+ end
23907
+
23908
+ # Update properties of this object
23909
+ def update!(**args)
23910
+ @id = args[:id] if args.key?(:id)
23911
+ @items = args[:items] if args.key?(:items)
23912
+ @kind = args[:kind] if args.key?(:kind)
23913
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
23914
+ @self_link = args[:self_link] if args.key?(:self_link)
23915
+ @warning = args[:warning] if args.key?(:warning)
23916
+ end
23917
+
23918
+ # [Output Only] Informational warning message.
23919
+ class Warning
23920
+ include Google::Apis::Core::Hashable
23921
+
23922
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
23923
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
23924
+ # Corresponds to the JSON property `code`
23925
+ # @return [String]
23926
+ attr_accessor :code
23927
+
23928
+ # [Output Only] Metadata about this warning in key: value format. For example:
23929
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
23930
+ # Corresponds to the JSON property `data`
23931
+ # @return [Array<Google::Apis::ComputeV1::PublicAdvertisedPrefixList::Warning::Datum>]
23932
+ attr_accessor :data
23933
+
23934
+ # [Output Only] A human-readable description of the warning code.
23935
+ # Corresponds to the JSON property `message`
23936
+ # @return [String]
23937
+ attr_accessor :message
23938
+
23939
+ def initialize(**args)
23940
+ update!(**args)
23941
+ end
23942
+
23943
+ # Update properties of this object
23944
+ def update!(**args)
23945
+ @code = args[:code] if args.key?(:code)
23946
+ @data = args[:data] if args.key?(:data)
23947
+ @message = args[:message] if args.key?(:message)
23948
+ end
23949
+
23950
+ #
23951
+ class Datum
23952
+ include Google::Apis::Core::Hashable
23953
+
23954
+ # [Output Only] A key that provides more detail on the warning being returned.
23955
+ # For example, for warnings where there are no results in a list request for a
23956
+ # particular zone, this key might be scope and the key value might be the zone
23957
+ # name. Other examples might be a key indicating a deprecated resource and a
23958
+ # suggested replacement, or a warning about invalid network settings (for
23959
+ # example, if an instance attempts to perform IP forwarding but is not enabled
23960
+ # for IP forwarding).
23961
+ # Corresponds to the JSON property `key`
23962
+ # @return [String]
23963
+ attr_accessor :key
23964
+
23965
+ # [Output Only] A warning data value corresponding to the key.
23966
+ # Corresponds to the JSON property `value`
23967
+ # @return [String]
23968
+ attr_accessor :value
23969
+
23970
+ def initialize(**args)
23971
+ update!(**args)
23972
+ end
23973
+
23974
+ # Update properties of this object
23975
+ def update!(**args)
23976
+ @key = args[:key] if args.key?(:key)
23977
+ @value = args[:value] if args.key?(:value)
23978
+ end
23979
+ end
23980
+ end
23981
+ end
23982
+
23983
+ # Represents a CIDR range which can be used to assign addresses.
23984
+ class PublicAdvertisedPrefixPublicDelegatedPrefix
23985
+ include Google::Apis::Core::Hashable
23986
+
23987
+ # The IP address range of the public delegated prefix
23988
+ # Corresponds to the JSON property `ipRange`
23989
+ # @return [String]
23990
+ attr_accessor :ip_range
23991
+
23992
+ # The name of the public delegated prefix
23993
+ # Corresponds to the JSON property `name`
23994
+ # @return [String]
23995
+ attr_accessor :name
23996
+
23997
+ # The project number of the public delegated prefix
23998
+ # Corresponds to the JSON property `project`
23999
+ # @return [String]
24000
+ attr_accessor :project
24001
+
24002
+ # The region of the public delegated prefix if it is regional. If absent, the
24003
+ # prefix is global.
24004
+ # Corresponds to the JSON property `region`
24005
+ # @return [String]
24006
+ attr_accessor :region
24007
+
24008
+ # The status of the public delegated prefix. Possible values are: INITIALIZING:
24009
+ # The public delegated prefix is being initialized and addresses cannot be
24010
+ # created yet. ANNOUNCED: The public delegated prefix is active.
24011
+ # Corresponds to the JSON property `status`
24012
+ # @return [String]
24013
+ attr_accessor :status
24014
+
24015
+ def initialize(**args)
24016
+ update!(**args)
24017
+ end
24018
+
24019
+ # Update properties of this object
24020
+ def update!(**args)
24021
+ @ip_range = args[:ip_range] if args.key?(:ip_range)
24022
+ @name = args[:name] if args.key?(:name)
24023
+ @project = args[:project] if args.key?(:project)
24024
+ @region = args[:region] if args.key?(:region)
24025
+ @status = args[:status] if args.key?(:status)
24026
+ end
24027
+ end
24028
+
24029
+ # A PublicDelegatedPrefix resource represents an IP block within a
24030
+ # PublicAdvertisedPrefix that is configured within a single cloud scope (global
24031
+ # or region). IPs in the block can be allocated to resources within that scope.
24032
+ # Public delegated prefixes may be further broken up into smaller IP blocks in
24033
+ # the same scope as the parent block.
24034
+ class PublicDelegatedPrefix
24035
+ include Google::Apis::Core::Hashable
24036
+
24037
+ # [Output Only] Creation timestamp in RFC3339 text format.
24038
+ # Corresponds to the JSON property `creationTimestamp`
24039
+ # @return [String]
24040
+ attr_accessor :creation_timestamp
24041
+
24042
+ # An optional description of this resource. Provide this property when you
24043
+ # create the resource.
24044
+ # Corresponds to the JSON property `description`
24045
+ # @return [String]
24046
+ attr_accessor :description
24047
+
24048
+ # Fingerprint of this resource. A hash of the contents stored in this object.
24049
+ # This field is used in optimistic locking. This field will be ignored when
24050
+ # inserting a new PublicDelegatedPrefix. An up-to-date fingerprint must be
24051
+ # provided in order to update the PublicDelegatedPrefix, otherwise the request
24052
+ # will fail with error 412 conditionNotMet.
24053
+ # To see the latest fingerprint, make a get() request to retrieve a
24054
+ # PublicDelegatedPrefix.
24055
+ # Corresponds to the JSON property `fingerprint`
24056
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
24057
+ # @return [String]
24058
+ attr_accessor :fingerprint
24059
+
24060
+ # [Output Only] The unique identifier for the resource type. The server
24061
+ # generates this identifier.
24062
+ # Corresponds to the JSON property `id`
24063
+ # @return [Fixnum]
24064
+ attr_accessor :id
24065
+
24066
+ # The IPv4 address range, in CIDR format, represented by this public delegated
24067
+ # prefix.
24068
+ # Corresponds to the JSON property `ipCidrRange`
24069
+ # @return [String]
24070
+ attr_accessor :ip_cidr_range
24071
+
24072
+ # If true, the prefix will be live migrated.
24073
+ # Corresponds to the JSON property `isLiveMigration`
24074
+ # @return [Boolean]
24075
+ attr_accessor :is_live_migration
24076
+ alias_method :is_live_migration?, :is_live_migration
24077
+
24078
+ # [Output Only] Type of the resource. Always compute#publicDelegatedPrefix for
24079
+ # public delegated prefixes.
24080
+ # Corresponds to the JSON property `kind`
24081
+ # @return [String]
24082
+ attr_accessor :kind
24083
+
24084
+ # Name of the resource. Provided by the client when the resource is created. The
24085
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
24086
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
24087
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
24088
+ # and all following characters must be a dash, lowercase letter, or digit,
24089
+ # except the last character, which cannot be a dash.
24090
+ # Corresponds to the JSON property `name`
24091
+ # @return [String]
24092
+ attr_accessor :name
24093
+
24094
+ # The URL of parent prefix. Either PublicAdvertisedPrefix or
24095
+ # PublicDelegatedPrefix.
24096
+ # Corresponds to the JSON property `parentPrefix`
24097
+ # @return [String]
24098
+ attr_accessor :parent_prefix
24099
+
24100
+ # The list of sub public delegated prefixes that exist for this public delegated
24101
+ # prefix.
24102
+ # Corresponds to the JSON property `publicDelegatedSubPrefixs`
24103
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixPublicDelegatedSubPrefix>]
24104
+ attr_accessor :public_delegated_sub_prefixs
24105
+
24106
+ # [Output Only] URL of the region where the public delegated prefix resides.
24107
+ # This field applies only to the region resource. You must specify this field as
24108
+ # part of the HTTP request URL. It is not settable as a field in the request
24109
+ # body.
24110
+ # Corresponds to the JSON property `region`
24111
+ # @return [String]
24112
+ attr_accessor :region
24113
+
24114
+ # [Output Only] Server-defined URL for the resource.
24115
+ # Corresponds to the JSON property `selfLink`
24116
+ # @return [String]
24117
+ attr_accessor :self_link
24118
+
24119
+ # [Output Only] The status of the public delegated prefix.
24120
+ # Corresponds to the JSON property `status`
24121
+ # @return [String]
24122
+ attr_accessor :status
24123
+
24124
+ def initialize(**args)
24125
+ update!(**args)
24126
+ end
24127
+
24128
+ # Update properties of this object
24129
+ def update!(**args)
24130
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
24131
+ @description = args[:description] if args.key?(:description)
24132
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
24133
+ @id = args[:id] if args.key?(:id)
24134
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
24135
+ @is_live_migration = args[:is_live_migration] if args.key?(:is_live_migration)
24136
+ @kind = args[:kind] if args.key?(:kind)
24137
+ @name = args[:name] if args.key?(:name)
24138
+ @parent_prefix = args[:parent_prefix] if args.key?(:parent_prefix)
24139
+ @public_delegated_sub_prefixs = args[:public_delegated_sub_prefixs] if args.key?(:public_delegated_sub_prefixs)
24140
+ @region = args[:region] if args.key?(:region)
24141
+ @self_link = args[:self_link] if args.key?(:self_link)
24142
+ @status = args[:status] if args.key?(:status)
24143
+ end
24144
+ end
24145
+
24146
+ #
24147
+ class PublicDelegatedPrefixAggregatedList
24148
+ include Google::Apis::Core::Hashable
24149
+
24150
+ # [Output Only] Unique identifier for the resource; defined by the server.
24151
+ # Corresponds to the JSON property `id`
24152
+ # @return [String]
24153
+ attr_accessor :id
24154
+
24155
+ # A list of PublicDelegatedPrefixesScopedList resources.
24156
+ # Corresponds to the JSON property `items`
24157
+ # @return [Hash<String,Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList>]
24158
+ attr_accessor :items
24159
+
24160
+ # [Output Only] Type of the resource. Always compute#
24161
+ # publicDelegatedPrefixAggregatedList for aggregated lists of public delegated
24162
+ # prefixes.
24163
+ # Corresponds to the JSON property `kind`
24164
+ # @return [String]
24165
+ attr_accessor :kind
24166
+
24167
+ # [Output Only] This token allows you to get the next page of results for list
24168
+ # requests. If the number of results is larger than maxResults, use the
24169
+ # nextPageToken as a value for the query parameter pageToken in the next list
24170
+ # request. Subsequent list requests will have their own nextPageToken to
24171
+ # continue paging through the results.
24172
+ # Corresponds to the JSON property `nextPageToken`
24173
+ # @return [String]
24174
+ attr_accessor :next_page_token
24175
+
24176
+ # [Output Only] Server-defined URL for this resource.
24177
+ # Corresponds to the JSON property `selfLink`
24178
+ # @return [String]
24179
+ attr_accessor :self_link
24180
+
24181
+ # [Output Only] Unreachable resources.
24182
+ # Corresponds to the JSON property `unreachables`
24183
+ # @return [Array<String>]
24184
+ attr_accessor :unreachables
24185
+
24186
+ # [Output Only] Informational warning message.
24187
+ # Corresponds to the JSON property `warning`
24188
+ # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList::Warning]
24189
+ attr_accessor :warning
24190
+
24191
+ def initialize(**args)
24192
+ update!(**args)
24193
+ end
24194
+
24195
+ # Update properties of this object
24196
+ def update!(**args)
24197
+ @id = args[:id] if args.key?(:id)
24198
+ @items = args[:items] if args.key?(:items)
24199
+ @kind = args[:kind] if args.key?(:kind)
24200
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
24201
+ @self_link = args[:self_link] if args.key?(:self_link)
24202
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
24203
+ @warning = args[:warning] if args.key?(:warning)
24204
+ end
24205
+
24206
+ # [Output Only] Informational warning message.
24207
+ class Warning
24208
+ include Google::Apis::Core::Hashable
24209
+
24210
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24211
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24212
+ # Corresponds to the JSON property `code`
24213
+ # @return [String]
24214
+ attr_accessor :code
24215
+
24216
+ # [Output Only] Metadata about this warning in key: value format. For example:
24217
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24218
+ # Corresponds to the JSON property `data`
24219
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList::Warning::Datum>]
24220
+ attr_accessor :data
24221
+
24222
+ # [Output Only] A human-readable description of the warning code.
24223
+ # Corresponds to the JSON property `message`
24224
+ # @return [String]
24225
+ attr_accessor :message
24226
+
24227
+ def initialize(**args)
24228
+ update!(**args)
24229
+ end
24230
+
24231
+ # Update properties of this object
24232
+ def update!(**args)
24233
+ @code = args[:code] if args.key?(:code)
24234
+ @data = args[:data] if args.key?(:data)
24235
+ @message = args[:message] if args.key?(:message)
24236
+ end
24237
+
24238
+ #
24239
+ class Datum
24240
+ include Google::Apis::Core::Hashable
24241
+
24242
+ # [Output Only] A key that provides more detail on the warning being returned.
24243
+ # For example, for warnings where there are no results in a list request for a
24244
+ # particular zone, this key might be scope and the key value might be the zone
24245
+ # name. Other examples might be a key indicating a deprecated resource and a
24246
+ # suggested replacement, or a warning about invalid network settings (for
24247
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24248
+ # for IP forwarding).
24249
+ # Corresponds to the JSON property `key`
24250
+ # @return [String]
24251
+ attr_accessor :key
24252
+
24253
+ # [Output Only] A warning data value corresponding to the key.
24254
+ # Corresponds to the JSON property `value`
24255
+ # @return [String]
24256
+ attr_accessor :value
24257
+
24258
+ def initialize(**args)
24259
+ update!(**args)
24260
+ end
24261
+
24262
+ # Update properties of this object
24263
+ def update!(**args)
24264
+ @key = args[:key] if args.key?(:key)
24265
+ @value = args[:value] if args.key?(:value)
24266
+ end
24267
+ end
24268
+ end
24269
+ end
24270
+
24271
+ #
24272
+ class PublicDelegatedPrefixList
24273
+ include Google::Apis::Core::Hashable
24274
+
24275
+ # [Output Only] Unique identifier for the resource; defined by the server.
24276
+ # Corresponds to the JSON property `id`
24277
+ # @return [String]
24278
+ attr_accessor :id
24279
+
24280
+ # A list of PublicDelegatedPrefix resources.
24281
+ # Corresponds to the JSON property `items`
24282
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefix>]
24283
+ attr_accessor :items
24284
+
24285
+ # [Output Only] Type of the resource. Always compute#publicDelegatedPrefixList
24286
+ # for public delegated prefixes.
24287
+ # Corresponds to the JSON property `kind`
24288
+ # @return [String]
24289
+ attr_accessor :kind
24290
+
24291
+ # [Output Only] This token allows you to get the next page of results for list
24292
+ # requests. If the number of results is larger than maxResults, use the
24293
+ # nextPageToken as a value for the query parameter pageToken in the next list
24294
+ # request. Subsequent list requests will have their own nextPageToken to
24295
+ # continue paging through the results.
24296
+ # Corresponds to the JSON property `nextPageToken`
24297
+ # @return [String]
24298
+ attr_accessor :next_page_token
24299
+
24300
+ # [Output Only] Server-defined URL for this resource.
24301
+ # Corresponds to the JSON property `selfLink`
24302
+ # @return [String]
24303
+ attr_accessor :self_link
24304
+
24305
+ # [Output Only] Informational warning message.
24306
+ # Corresponds to the JSON property `warning`
24307
+ # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixList::Warning]
24308
+ attr_accessor :warning
24309
+
24310
+ def initialize(**args)
24311
+ update!(**args)
24312
+ end
24313
+
24314
+ # Update properties of this object
24315
+ def update!(**args)
24316
+ @id = args[:id] if args.key?(:id)
24317
+ @items = args[:items] if args.key?(:items)
24318
+ @kind = args[:kind] if args.key?(:kind)
24319
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
24320
+ @self_link = args[:self_link] if args.key?(:self_link)
24321
+ @warning = args[:warning] if args.key?(:warning)
24322
+ end
24323
+
24324
+ # [Output Only] Informational warning message.
24325
+ class Warning
24326
+ include Google::Apis::Core::Hashable
24327
+
24328
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24329
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24330
+ # Corresponds to the JSON property `code`
24331
+ # @return [String]
24332
+ attr_accessor :code
24333
+
24334
+ # [Output Only] Metadata about this warning in key: value format. For example:
24335
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24336
+ # Corresponds to the JSON property `data`
24337
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixList::Warning::Datum>]
24338
+ attr_accessor :data
24339
+
24340
+ # [Output Only] A human-readable description of the warning code.
24341
+ # Corresponds to the JSON property `message`
24342
+ # @return [String]
24343
+ attr_accessor :message
24344
+
24345
+ def initialize(**args)
24346
+ update!(**args)
24347
+ end
24348
+
24349
+ # Update properties of this object
24350
+ def update!(**args)
24351
+ @code = args[:code] if args.key?(:code)
24352
+ @data = args[:data] if args.key?(:data)
24353
+ @message = args[:message] if args.key?(:message)
24354
+ end
24355
+
24356
+ #
24357
+ class Datum
24358
+ include Google::Apis::Core::Hashable
24359
+
24360
+ # [Output Only] A key that provides more detail on the warning being returned.
24361
+ # For example, for warnings where there are no results in a list request for a
24362
+ # particular zone, this key might be scope and the key value might be the zone
24363
+ # name. Other examples might be a key indicating a deprecated resource and a
24364
+ # suggested replacement, or a warning about invalid network settings (for
24365
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24366
+ # for IP forwarding).
24367
+ # Corresponds to the JSON property `key`
24368
+ # @return [String]
24369
+ attr_accessor :key
24370
+
24371
+ # [Output Only] A warning data value corresponding to the key.
24372
+ # Corresponds to the JSON property `value`
24373
+ # @return [String]
24374
+ attr_accessor :value
24375
+
24376
+ def initialize(**args)
24377
+ update!(**args)
24378
+ end
24379
+
24380
+ # Update properties of this object
24381
+ def update!(**args)
24382
+ @key = args[:key] if args.key?(:key)
24383
+ @value = args[:value] if args.key?(:value)
24384
+ end
24385
+ end
24386
+ end
24387
+ end
24388
+
24389
+ # Represents a sub PublicDelegatedPrefix.
24390
+ class PublicDelegatedPrefixPublicDelegatedSubPrefix
24391
+ include Google::Apis::Core::Hashable
24392
+
24393
+ # Name of the project scoping this PublicDelegatedSubPrefix.
24394
+ # Corresponds to the JSON property `delegateeProject`
24395
+ # @return [String]
24396
+ attr_accessor :delegatee_project
24397
+
24398
+ # An optional description of this resource. Provide this property when you
24399
+ # create the resource.
24400
+ # Corresponds to the JSON property `description`
24401
+ # @return [String]
24402
+ attr_accessor :description
24403
+
24404
+ # The IPv4 address range, in CIDR format, represented by this sub public
24405
+ # delegated prefix.
24406
+ # Corresponds to the JSON property `ipCidrRange`
24407
+ # @return [String]
24408
+ attr_accessor :ip_cidr_range
24409
+
24410
+ # Whether the sub prefix is delegated to create Address resources in the
24411
+ # delegatee project.
24412
+ # Corresponds to the JSON property `isAddress`
24413
+ # @return [Boolean]
24414
+ attr_accessor :is_address
24415
+ alias_method :is_address?, :is_address
24416
+
24417
+ # The name of the sub public delegated prefix.
24418
+ # Corresponds to the JSON property `name`
24419
+ # @return [String]
24420
+ attr_accessor :name
24421
+
24422
+ # [Output Only] The region of the sub public delegated prefix if it is regional.
24423
+ # If absent, the sub prefix is global.
24424
+ # Corresponds to the JSON property `region`
24425
+ # @return [String]
24426
+ attr_accessor :region
24427
+
24428
+ # [Output Only] The status of the sub public delegated prefix.
24429
+ # Corresponds to the JSON property `status`
24430
+ # @return [String]
24431
+ attr_accessor :status
24432
+
24433
+ def initialize(**args)
24434
+ update!(**args)
24435
+ end
24436
+
24437
+ # Update properties of this object
24438
+ def update!(**args)
24439
+ @delegatee_project = args[:delegatee_project] if args.key?(:delegatee_project)
24440
+ @description = args[:description] if args.key?(:description)
24441
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
24442
+ @is_address = args[:is_address] if args.key?(:is_address)
24443
+ @name = args[:name] if args.key?(:name)
24444
+ @region = args[:region] if args.key?(:region)
24445
+ @status = args[:status] if args.key?(:status)
24446
+ end
24447
+ end
24448
+
24449
+ #
24450
+ class PublicDelegatedPrefixesScopedList
24451
+ include Google::Apis::Core::Hashable
24452
+
24453
+ # [Output Only] A list of PublicDelegatedPrefixes contained in this scope.
24454
+ # Corresponds to the JSON property `publicDelegatedPrefixes`
24455
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefix>]
24456
+ attr_accessor :public_delegated_prefixes
24457
+
24458
+ # [Output Only] Informational warning which replaces the list of public
24459
+ # delegated prefixes when the list is empty.
24460
+ # Corresponds to the JSON property `warning`
24461
+ # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList::Warning]
24462
+ attr_accessor :warning
24463
+
24464
+ def initialize(**args)
24465
+ update!(**args)
24466
+ end
24467
+
24468
+ # Update properties of this object
24469
+ def update!(**args)
24470
+ @public_delegated_prefixes = args[:public_delegated_prefixes] if args.key?(:public_delegated_prefixes)
24471
+ @warning = args[:warning] if args.key?(:warning)
24472
+ end
24473
+
24474
+ # [Output Only] Informational warning which replaces the list of public
24475
+ # delegated prefixes when the list is empty.
24476
+ class Warning
24477
+ include Google::Apis::Core::Hashable
24478
+
24479
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24480
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24481
+ # Corresponds to the JSON property `code`
24482
+ # @return [String]
24483
+ attr_accessor :code
24484
+
24485
+ # [Output Only] Metadata about this warning in key: value format. For example:
24486
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24487
+ # Corresponds to the JSON property `data`
24488
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList::Warning::Datum>]
24489
+ attr_accessor :data
24490
+
24491
+ # [Output Only] A human-readable description of the warning code.
24492
+ # Corresponds to the JSON property `message`
24493
+ # @return [String]
24494
+ attr_accessor :message
24495
+
24496
+ def initialize(**args)
24497
+ update!(**args)
24498
+ end
24499
+
24500
+ # Update properties of this object
24501
+ def update!(**args)
24502
+ @code = args[:code] if args.key?(:code)
24503
+ @data = args[:data] if args.key?(:data)
24504
+ @message = args[:message] if args.key?(:message)
24505
+ end
24506
+
24507
+ #
24508
+ class Datum
24509
+ include Google::Apis::Core::Hashable
24510
+
24511
+ # [Output Only] A key that provides more detail on the warning being returned.
24512
+ # For example, for warnings where there are no results in a list request for a
24513
+ # particular zone, this key might be scope and the key value might be the zone
24514
+ # name. Other examples might be a key indicating a deprecated resource and a
24515
+ # suggested replacement, or a warning about invalid network settings (for
24516
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24517
+ # for IP forwarding).
24518
+ # Corresponds to the JSON property `key`
24519
+ # @return [String]
24520
+ attr_accessor :key
24521
+
24522
+ # [Output Only] A warning data value corresponding to the key.
24523
+ # Corresponds to the JSON property `value`
24524
+ # @return [String]
24525
+ attr_accessor :value
24526
+
24527
+ def initialize(**args)
24528
+ update!(**args)
24529
+ end
24530
+
24531
+ # Update properties of this object
24532
+ def update!(**args)
24533
+ @key = args[:key] if args.key?(:key)
24534
+ @value = args[:value] if args.key?(:value)
24535
+ end
24536
+ end
24537
+ end
24538
+ end
24539
+
24540
+ # A quotas entry.
24541
+ class Quota
24542
+ include Google::Apis::Core::Hashable
24543
+
24544
+ # [Output Only] Quota limit for this metric.
24545
+ # Corresponds to the JSON property `limit`
24546
+ # @return [Float]
24547
+ attr_accessor :limit
24548
+
24549
+ # [Output Only] Name of the quota metric.
24550
+ # Corresponds to the JSON property `metric`
24551
+ # @return [String]
24552
+ attr_accessor :metric
24553
+
24554
+ # [Output Only] Owning resource. This is the resource on which this quota is
24555
+ # applied.
24556
+ # Corresponds to the JSON property `owner`
24557
+ # @return [String]
24558
+ attr_accessor :owner
24559
+
24560
+ # [Output Only] Current usage of this metric.
24561
+ # Corresponds to the JSON property `usage`
24562
+ # @return [Float]
24563
+ attr_accessor :usage
24564
+
24565
+ def initialize(**args)
24566
+ update!(**args)
24567
+ end
24568
+
24569
+ # Update properties of this object
24570
+ def update!(**args)
24571
+ @limit = args[:limit] if args.key?(:limit)
24572
+ @metric = args[:metric] if args.key?(:metric)
24573
+ @owner = args[:owner] if args.key?(:owner)
24574
+ @usage = args[:usage] if args.key?(:usage)
24575
+ end
24576
+ end
24577
+
24578
+ # Represents a reference to a resource.
24579
+ class Reference
24580
+ include Google::Apis::Core::Hashable
24581
+
24582
+ # [Output Only] Type of the resource. Always compute#reference for references.
24583
+ # Corresponds to the JSON property `kind`
24584
+ # @return [String]
24585
+ attr_accessor :kind
24586
+
24587
+ # A description of the reference type with no implied semantics. Possible values
24588
+ # include:
24589
+ # - MEMBER_OF
24590
+ # Corresponds to the JSON property `referenceType`
24591
+ # @return [String]
24592
+ attr_accessor :reference_type
24593
+
24594
+ # URL of the resource which refers to the target.
24595
+ # Corresponds to the JSON property `referrer`
24596
+ # @return [String]
24597
+ attr_accessor :referrer
24598
+
24599
+ # URL of the resource to which this reference points.
24600
+ # Corresponds to the JSON property `target`
24601
+ # @return [String]
24602
+ attr_accessor :target
24603
+
24604
+ def initialize(**args)
24605
+ update!(**args)
24606
+ end
24607
+
24608
+ # Update properties of this object
24609
+ def update!(**args)
24610
+ @kind = args[:kind] if args.key?(:kind)
24611
+ @reference_type = args[:reference_type] if args.key?(:reference_type)
24612
+ @referrer = args[:referrer] if args.key?(:referrer)
24613
+ @target = args[:target] if args.key?(:target)
24614
+ end
24615
+ end
24616
+
24617
+ # Represents a Region resource.
24618
+ # A region is a geographical area where a resource is located. For more
24619
+ # information, read Regions and Zones. (== resource_for `$api_version`.regions ==
24620
+ # )
24621
+ class Region
24622
+ include Google::Apis::Core::Hashable
24623
+
24624
+ # [Output Only] Creation timestamp in RFC3339 text format.
24625
+ # Corresponds to the JSON property `creationTimestamp`
24626
+ # @return [String]
24627
+ attr_accessor :creation_timestamp
24628
+
24629
+ # Deprecation status for a public resource.
24630
+ # Corresponds to the JSON property `deprecated`
24631
+ # @return [Google::Apis::ComputeV1::DeprecationStatus]
24632
+ attr_accessor :deprecated
24633
+
24634
+ # [Output Only] Textual description of the resource.
24635
+ # Corresponds to the JSON property `description`
24636
+ # @return [String]
24637
+ attr_accessor :description
24638
+
24639
+ # [Output Only] The unique identifier for the resource. This identifier is
24640
+ # defined by the server.
24641
+ # Corresponds to the JSON property `id`
24642
+ # @return [Fixnum]
24643
+ attr_accessor :id
24644
+
24645
+ # [Output Only] Type of the resource. Always compute#region for regions.
24646
+ # Corresponds to the JSON property `kind`
24647
+ # @return [String]
24648
+ attr_accessor :kind
24649
+
24650
+ # [Output Only] Name of the resource.
24651
+ # Corresponds to the JSON property `name`
24652
+ # @return [String]
24653
+ attr_accessor :name
24654
+
24655
+ # [Output Only] Quotas assigned to this region.
24656
+ # Corresponds to the JSON property `quotas`
24657
+ # @return [Array<Google::Apis::ComputeV1::Quota>]
24658
+ attr_accessor :quotas
24659
+
24660
+ # [Output Only] Server-defined URL for the resource.
24661
+ # Corresponds to the JSON property `selfLink`
24662
+ # @return [String]
24663
+ attr_accessor :self_link
24664
+
24665
+ # [Output Only] Status of the region, either UP or DOWN.
24666
+ # Corresponds to the JSON property `status`
24667
+ # @return [String]
24668
+ attr_accessor :status
24669
+
24670
+ # [Output Only] Reserved for future use.
24671
+ # Corresponds to the JSON property `supportsPzs`
24672
+ # @return [Boolean]
24673
+ attr_accessor :supports_pzs
24674
+ alias_method :supports_pzs?, :supports_pzs
24675
+
24676
+ # [Output Only] A list of zones available in this region, in the form of
24677
+ # resource URLs.
24678
+ # Corresponds to the JSON property `zones`
24679
+ # @return [Array<String>]
24680
+ attr_accessor :zones
24681
+
24682
+ def initialize(**args)
24683
+ update!(**args)
24684
+ end
24685
+
24686
+ # Update properties of this object
24687
+ def update!(**args)
24688
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
24689
+ @deprecated = args[:deprecated] if args.key?(:deprecated)
24690
+ @description = args[:description] if args.key?(:description)
24691
+ @id = args[:id] if args.key?(:id)
24692
+ @kind = args[:kind] if args.key?(:kind)
24693
+ @name = args[:name] if args.key?(:name)
24694
+ @quotas = args[:quotas] if args.key?(:quotas)
24695
+ @self_link = args[:self_link] if args.key?(:self_link)
24696
+ @status = args[:status] if args.key?(:status)
24697
+ @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
24698
+ @zones = args[:zones] if args.key?(:zones)
24699
+ end
24700
+ end
24701
+
24702
+ # Contains a list of autoscalers.
24703
+ class RegionAutoscalerList
24704
+ include Google::Apis::Core::Hashable
24705
+
24706
+ # [Output Only] Unique identifier for the resource; defined by the server.
24707
+ # Corresponds to the JSON property `id`
24708
+ # @return [String]
24709
+ attr_accessor :id
24710
+
24711
+ # A list of Autoscaler resources.
24712
+ # Corresponds to the JSON property `items`
24713
+ # @return [Array<Google::Apis::ComputeV1::Autoscaler>]
24714
+ attr_accessor :items
24715
+
24716
+ # Type of resource.
24717
+ # Corresponds to the JSON property `kind`
24718
+ # @return [String]
24719
+ attr_accessor :kind
24720
+
24721
+ # [Output Only] This token allows you to get the next page of results for list
24722
+ # requests. If the number of results is larger than maxResults, use the
24723
+ # nextPageToken as a value for the query parameter pageToken in the next list
24724
+ # request. Subsequent list requests will have their own nextPageToken to
24725
+ # continue paging through the results.
24726
+ # Corresponds to the JSON property `nextPageToken`
24727
+ # @return [String]
24728
+ attr_accessor :next_page_token
24729
+
24730
+ # [Output Only] Server-defined URL for this resource.
24731
+ # Corresponds to the JSON property `selfLink`
24732
+ # @return [String]
24733
+ attr_accessor :self_link
24734
+
24735
+ # [Output Only] Informational warning message.
24736
+ # Corresponds to the JSON property `warning`
24737
+ # @return [Google::Apis::ComputeV1::RegionAutoscalerList::Warning]
23552
24738
  attr_accessor :warning
23553
24739
 
23554
24740
  def initialize(**args)
@@ -26662,6 +27848,14 @@ module Google
26662
27848
  # @return [String]
26663
27849
  attr_accessor :description
26664
27850
 
27851
+ # Field to indicate if a router is dedicated to use with encrypted Interconnect
27852
+ # Attachment (IPsec-encrypted Cloud Interconnect feature).
27853
+ # Not currently available in all Interconnect locations.
27854
+ # Corresponds to the JSON property `encryptedInterconnectRouter`
27855
+ # @return [Boolean]
27856
+ attr_accessor :encrypted_interconnect_router
27857
+ alias_method :encrypted_interconnect_router?, :encrypted_interconnect_router
27858
+
26665
27859
  # [Output Only] The unique identifier for the resource. This identifier is
26666
27860
  # defined by the server.
26667
27861
  # Corresponds to the JSON property `id`
@@ -26722,6 +27916,7 @@ module Google
26722
27916
  @bgp_peers = args[:bgp_peers] if args.key?(:bgp_peers)
26723
27917
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
26724
27918
  @description = args[:description] if args.key?(:description)
27919
+ @encrypted_interconnect_router = args[:encrypted_interconnect_router] if args.key?(:encrypted_interconnect_router)
26725
27920
  @id = args[:id] if args.key?(:id)
26726
27921
  @interfaces = args[:interfaces] if args.key?(:interfaces)
26727
27922
  @kind = args[:kind] if args.key?(:kind)
@@ -26939,12 +28134,11 @@ module Google
26939
28134
  # User-specified list of prefix groups to advertise in custom mode, which can
26940
28135
  # take one of the following options:
26941
28136
  # - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets.
26942
- # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets.
26943
- # - ALL_PEER_VPC_SUBNETS: Advertises peer subnets of the router's VPC network.
26944
- # Note that this field can only be populated if advertise_mode is CUSTOM and
26945
- # overrides the list defined for the router (in the "bgp" message). These groups
26946
- # are advertised in addition to any specified prefixes. Leave this field blank
26947
- # to advertise no custom groups.
28137
+ # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. Note that this
28138
+ # field can only be populated if advertise_mode is CUSTOM and overrides the list
28139
+ # defined for the router (in the "bgp" message). These groups are advertised in
28140
+ # addition to any specified prefixes. Leave this field blank to advertise no
28141
+ # custom groups.
26948
28142
  # Corresponds to the JSON property `advertisedGroups`
26949
28143
  # @return [Array<String>]
26950
28144
  attr_accessor :advertised_groups
@@ -27838,7 +29032,42 @@ module Google
27838
29032
  end
27839
29033
  end
27840
29034
 
27841
- # Sets the scheduling options for an Instance. NextID: 17
29035
+ #
29036
+ class ScalingScheduleStatus
29037
+ include Google::Apis::Core::Hashable
29038
+
29039
+ # [Output Only] The last time the scaling schedule became active. Note: this is
29040
+ # a timestamp when a schedule actually became active, not when it was planned to
29041
+ # do so. The timestamp is in RFC3339 text format.
29042
+ # Corresponds to the JSON property `lastStartTime`
29043
+ # @return [String]
29044
+ attr_accessor :last_start_time
29045
+
29046
+ # [Output Only] The next time the scaling schedule is to become active. Note:
29047
+ # this is a timestamp when a schedule is planned to run, but the actual time
29048
+ # might be slightly different. The timestamp is in RFC3339 text format.
29049
+ # Corresponds to the JSON property `nextStartTime`
29050
+ # @return [String]
29051
+ attr_accessor :next_start_time
29052
+
29053
+ # [Output Only] The current state of a scaling schedule.
29054
+ # Corresponds to the JSON property `state`
29055
+ # @return [String]
29056
+ attr_accessor :state
29057
+
29058
+ def initialize(**args)
29059
+ update!(**args)
29060
+ end
29061
+
29062
+ # Update properties of this object
29063
+ def update!(**args)
29064
+ @last_start_time = args[:last_start_time] if args.key?(:last_start_time)
29065
+ @next_start_time = args[:next_start_time] if args.key?(:next_start_time)
29066
+ @state = args[:state] if args.key?(:state)
29067
+ end
29068
+ end
29069
+
29070
+ # Sets the scheduling options for an Instance. NextID: 20
27842
29071
  class Scheduling
27843
29072
  include Google::Apis::Core::Hashable
27844
29073
 
@@ -28218,7 +29447,7 @@ module Google
28218
29447
  class SecurityPolicyRule
28219
29448
  include Google::Apis::Core::Hashable
28220
29449
 
28221
- # The Action to preform when the client connection triggers the rule. Can
29450
+ # The Action to perform when the client connection triggers the rule. Can
28222
29451
  # currently be either "allow" or "deny()" where valid values for status are 403,
28223
29452
  # 404, and 502.
28224
29453
  # Corresponds to the JSON property `action`
@@ -30044,9 +31273,7 @@ module Google
30044
31273
  # applicable to subnetworks that have the purpose set to
30045
31274
  # INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load
30046
31275
  # balancer are being drained. A subnetwork that is draining cannot be used or
30047
- # modified until it reaches a status of READY CREATING: Subnetwork is
30048
- # provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is
30049
- # being updated
31276
+ # modified until it reaches a status of READY
30050
31277
  # Corresponds to the JSON property `state`
30051
31278
  # @return [String]
30052
31279
  attr_accessor :state
@@ -30359,7 +31586,7 @@ module Google
30359
31586
 
30360
31587
  # Can only be specified if VPC flow logs for this subnetwork is enabled.
30361
31588
  # Configures whether all, none or a subset of metadata fields should be added to
30362
- # the reported VPC flow logs. Default is INCLUDE_ALL_METADATA.
31589
+ # the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.
30363
31590
  # Corresponds to the JSON property `metadata`
30364
31591
  # @return [String]
30365
31592
  attr_accessor :metadata
@@ -31400,6 +32627,17 @@ module Google
31400
32627
  # @return [String]
31401
32628
  attr_accessor :description
31402
32629
 
32630
+ # Fingerprint of this resource. A hash of the contents stored in this object.
32631
+ # This field is used in optimistic locking. This field will be ignored when
32632
+ # inserting a TargetHttpsProxy. An up-to-date fingerprint must be provided in
32633
+ # order to patch the TargetHttpsProxy; otherwise, the request will fail with
32634
+ # error 412 conditionNotMet. To see the latest fingerprint, make a get() request
32635
+ # to retrieve the TargetHttpsProxy.
32636
+ # Corresponds to the JSON property `fingerprint`
32637
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
32638
+ # @return [String]
32639
+ attr_accessor :fingerprint
32640
+
31403
32641
  # [Output Only] The unique identifier for the resource. This identifier is
31404
32642
  # defined by the server.
31405
32643
  # Corresponds to the JSON property `id`
@@ -31502,6 +32740,7 @@ module Google
31502
32740
  @authorization_policy = args[:authorization_policy] if args.key?(:authorization_policy)
31503
32741
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
31504
32742
  @description = args[:description] if args.key?(:description)
32743
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
31505
32744
  @id = args[:id] if args.key?(:id)
31506
32745
  @kind = args[:kind] if args.key?(:kind)
31507
32746
  @name = args[:name] if args.key?(:name)
@@ -35444,6 +36683,15 @@ module Google
35444
36683
  # @return [Fixnum]
35445
36684
  attr_accessor :id
35446
36685
 
36686
+ # URL of the interconnect attachment resource. When the value of this field is
36687
+ # present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect;
36688
+ # all Egress or Ingress traffic for this VPN Gateway interface will go through
36689
+ # the specified interconnect attachment resource.
36690
+ # Not currently available in all Interconnect locations.
36691
+ # Corresponds to the JSON property `interconnectAttachment`
36692
+ # @return [String]
36693
+ attr_accessor :interconnect_attachment
36694
+
35447
36695
  # [Output Only] The external IP address for this VPN gateway interface.
35448
36696
  # Corresponds to the JSON property `ipAddress`
35449
36697
  # @return [String]
@@ -35456,6 +36704,7 @@ module Google
35456
36704
  # Update properties of this object
35457
36705
  def update!(**args)
35458
36706
  @id = args[:id] if args.key?(:id)
36707
+ @interconnect_attachment = args[:interconnect_attachment] if args.key?(:interconnect_attachment)
35459
36708
  @ip_address = args[:ip_address] if args.key?(:ip_address)
35460
36709
  end
35461
36710
  end
@@ -35702,8 +36951,8 @@ module Google
35702
36951
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
35703
36952
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
35704
36953
  # - NO_INCOMING_PACKETS: No incoming packets from peer.
35705
- # - REJECTED: Tunnel configuration was rejected, can be result of being
35706
- # blacklisted.
36954
+ # - REJECTED: Tunnel configuration was rejected, can be result of being denied
36955
+ # access.
35707
36956
  # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
35708
36957
  # resources.
35709
36958
  # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for