google-apis-compute_v1 0.4.0 → 0.9.0

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