google-apis-compute_v1 0.3.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4190f78dc6adbd7cb2f4b21199989ce823a9aa1e9e46d4a22e543204ffe6986d
4
- data.tar.gz: 6395a30be1d2d881fd867fd1f416b0997130a8819bf86bfd1e5dd2f982fba3af
3
+ metadata.gz: 17cf8aab7aae1229f4e8aa8311e9c73e9d8d6e84f50c200d5637f872a7c17b4f
4
+ data.tar.gz: 3039e58e52da7123bf142d4bd8bbc2495bca0a27fe02f32477a3f138668a71b3
5
5
  SHA512:
6
- metadata.gz: 1e95ff2900b99825b50ff0e3754842f95c730c0ed786cd629a42bd995c831bda0359e2dd6bfa63a559449bd10bf58c9a54b40d72b33a8313baa6f4304c911e21
7
- data.tar.gz: d4101023794eeb65980e91ecbedf6650f486b136743a42f8fe607f60828544d83dc19c7c3d3c910a6a74235e872e9309b6863cac73532587f426d72bf99d9d60
6
+ metadata.gz: 8088f3094ffd40c4315d110ca511c83705400b6eb6d70a0867f0389e8b152cc89d8cb3c28157858bffed8fd4c5eb7e856dcfd10fcb4f7b34ccf00003a68770ec
7
+ data.tar.gz: 2a407ca5f11c6ba0f5fb8ba97f6d6e20ae835c4960f581dae86fbf29a5a439497d9ebcc8fbc1d01be2ed436c166a1c386ac8b17641a367ee77292514fefc4ab4
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Release history for google-apis-compute_v1
2
2
 
3
+ ### v0.8.0 (2021-03-30)
4
+
5
+ * Regenerated from discovery document revision 20210316
6
+
7
+ ### v0.7.0 (2021-03-19)
8
+
9
+ * Regenerated from discovery document revision 20210310
10
+
11
+ ### v0.6.0 (2021-03-10)
12
+
13
+ * Regenerated from discovery document revision 20210301
14
+ * Regenerated using generator version 0.2.0
15
+
16
+ ### v0.5.0 (2021-03-04)
17
+
18
+ * Unspecified changes
19
+
20
+ ### v0.4.0 (2021-02-24)
21
+
22
+ * Regenerated from discovery document revision 20210209
23
+
3
24
  ### v0.3.0 (2021-02-16)
4
25
 
5
26
  * Regenerated from discovery document revision 20210129
@@ -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]
@@ -1643,6 +1643,11 @@ module Google
1643
1643
  # @return [String]
1644
1644
  attr_accessor :region
1645
1645
 
1646
+ # [Output Only] Status information of existing scaling schedules.
1647
+ # Corresponds to the JSON property `scalingScheduleStatus`
1648
+ # @return [Hash<String,Google::Apis::ComputeV1::ScalingScheduleStatus>]
1649
+ attr_accessor :scaling_schedule_status
1650
+
1646
1651
  # [Output Only] Server-defined URL for the resource.
1647
1652
  # Corresponds to the JSON property `selfLink`
1648
1653
  # @return [String]
@@ -1693,6 +1698,7 @@ module Google
1693
1698
  @name = args[:name] if args.key?(:name)
1694
1699
  @recommended_size = args[:recommended_size] if args.key?(:recommended_size)
1695
1700
  @region = args[:region] if args.key?(:region)
1701
+ @scaling_schedule_status = args[:scaling_schedule_status] if args.key?(:scaling_schedule_status)
1696
1702
  @self_link = args[:self_link] if args.key?(:self_link)
1697
1703
  @status = args[:status] if args.key?(:status)
1698
1704
  @status_details = args[:status_details] if args.key?(:status_details)
@@ -2153,6 +2159,14 @@ module Google
2153
2159
  # @return [Google::Apis::ComputeV1::AutoscalingPolicyScaleInControl]
2154
2160
  attr_accessor :scale_in_control
2155
2161
 
2162
+ # Scaling schedules defined for an autoscaler. Multiple schedules can be set on
2163
+ # an autoscaler, and they can overlap. During overlapping periods the greatest
2164
+ # min_required_replicas of all scaling schedules is applied. Up to 128 scaling
2165
+ # schedules are allowed.
2166
+ # Corresponds to the JSON property `scalingSchedules`
2167
+ # @return [Hash<String,Google::Apis::ComputeV1::AutoscalingPolicyScalingSchedule>]
2168
+ attr_accessor :scaling_schedules
2169
+
2156
2170
  def initialize(**args)
2157
2171
  update!(**args)
2158
2172
  end
@@ -2167,6 +2181,7 @@ module Google
2167
2181
  @min_num_replicas = args[:min_num_replicas] if args.key?(:min_num_replicas)
2168
2182
  @mode = args[:mode] if args.key?(:mode)
2169
2183
  @scale_in_control = args[:scale_in_control] if args.key?(:scale_in_control)
2184
+ @scaling_schedules = args[:scaling_schedules] if args.key?(:scaling_schedules)
2170
2185
  end
2171
2186
  end
2172
2187
 
@@ -2174,6 +2189,17 @@ module Google
2174
2189
  class AutoscalingPolicyCpuUtilization
2175
2190
  include Google::Apis::Core::Hashable
2176
2191
 
2192
+ # Indicates whether predictive autoscaling based on CPU metric is enabled. Valid
2193
+ # values are:
2194
+ # * NONE (default). No predictive method is used. The autoscaler scales the
2195
+ # group to meet current demand based on real-time metrics. *
2196
+ # OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by
2197
+ # monitoring daily and weekly load patterns and scaling out ahead of anticipated
2198
+ # demand.
2199
+ # Corresponds to the JSON property `predictiveMethod`
2200
+ # @return [String]
2201
+ attr_accessor :predictive_method
2202
+
2177
2203
  # The target CPU utilization that the autoscaler maintains. Must be a float
2178
2204
  # value in the range (0, 1]. If not specified, the default is 0.6.
2179
2205
  # If the CPU level is below the target utilization, the autoscaler scales in the
@@ -2193,6 +2219,7 @@ module Google
2193
2219
 
2194
2220
  # Update properties of this object
2195
2221
  def update!(**args)
2222
+ @predictive_method = args[:predictive_method] if args.key?(:predictive_method)
2196
2223
  @utilization_target = args[:utilization_target] if args.key?(:utilization_target)
2197
2224
  end
2198
2225
  end
@@ -2332,6 +2359,70 @@ module Google
2332
2359
  end
2333
2360
  end
2334
2361
 
2362
+ # Scaling based on user-defined schedule. The message describes a single scaling
2363
+ # schedule. A scaling schedule changes the minimum number of VM instances an
2364
+ # autoscaler can recommend, which can trigger scaling out.
2365
+ class AutoscalingPolicyScalingSchedule
2366
+ include Google::Apis::Core::Hashable
2367
+
2368
+ # A description of a scaling schedule.
2369
+ # Corresponds to the JSON property `description`
2370
+ # @return [String]
2371
+ attr_accessor :description
2372
+
2373
+ # A boolean value that specifies whether a scaling schedule can influence
2374
+ # autoscaler recommendations. If set to true, then a scaling schedule has no
2375
+ # effect. This field is optional, and its value is false by default.
2376
+ # Corresponds to the JSON property `disabled`
2377
+ # @return [Boolean]
2378
+ attr_accessor :disabled
2379
+ alias_method :disabled?, :disabled
2380
+
2381
+ # The duration of time intervals, in seconds, for which this scaling schedule is
2382
+ # to run. The minimum allowed value is 300. This field is required.
2383
+ # Corresponds to the JSON property `durationSec`
2384
+ # @return [Fixnum]
2385
+ attr_accessor :duration_sec
2386
+
2387
+ # The minimum number of VM instances that the autoscaler will recommend in time
2388
+ # intervals starting according to schedule. This field is required.
2389
+ # Corresponds to the JSON property `minRequiredReplicas`
2390
+ # @return [Fixnum]
2391
+ attr_accessor :min_required_replicas
2392
+
2393
+ # The start timestamps of time intervals when this scaling schedule is to
2394
+ # provide a scaling signal. This field uses the extended cron format (with an
2395
+ # optional year field). The expression can describe a single timestamp if the
2396
+ # optional year is set, in which case the scaling schedule runs once. The
2397
+ # schedule is interpreted with respect to time_zone. This field is required.
2398
+ # Note: These timestamps only describe when autoscaler starts providing the
2399
+ # scaling signal. The VMs need additional time to become serving.
2400
+ # Corresponds to the JSON property `schedule`
2401
+ # @return [String]
2402
+ attr_accessor :schedule
2403
+
2404
+ # The time zone to use when interpreting the schedule. The value of this field
2405
+ # must be a time zone name from the tz database: http://en.wikipedia.org/wiki/
2406
+ # Tz_database. This field is assigned a default value of ?UTC? if left empty.
2407
+ # Corresponds to the JSON property `timeZone`
2408
+ # @return [String]
2409
+ attr_accessor :time_zone
2410
+
2411
+ def initialize(**args)
2412
+ update!(**args)
2413
+ end
2414
+
2415
+ # Update properties of this object
2416
+ def update!(**args)
2417
+ @description = args[:description] if args.key?(:description)
2418
+ @disabled = args[:disabled] if args.key?(:disabled)
2419
+ @duration_sec = args[:duration_sec] if args.key?(:duration_sec)
2420
+ @min_required_replicas = args[:min_required_replicas] if args.key?(:min_required_replicas)
2421
+ @schedule = args[:schedule] if args.key?(:schedule)
2422
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
2423
+ end
2424
+ end
2425
+
2335
2426
  # Message containing information of one individual backend.
2336
2427
  class Backend
2337
2428
  include Google::Apis::Core::Hashable
@@ -2546,6 +2637,13 @@ module Google
2546
2637
  class BackendBucketCdnPolicy
2547
2638
  include Google::Apis::Core::Hashable
2548
2639
 
2640
+ # Bypass the cache when the specified request headers are matched - e.g. Pragma
2641
+ # or Authorization headers. Up to 5 headers can be specified. The cache is
2642
+ # bypassed for all cdnPolicy.cacheMode settings.
2643
+ # Corresponds to the JSON property `bypassCacheOnRequestHeaders`
2644
+ # @return [Array<Google::Apis::ComputeV1::BackendBucketCdnPolicyBypassCacheOnRequestHeader>]
2645
+ attr_accessor :bypass_cache_on_request_headers
2646
+
2549
2647
  # Specifies the cache setting for all responses from this backend. The possible
2550
2648
  # values are:
2551
2649
  # USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache
@@ -2563,10 +2661,15 @@ module Google
2563
2661
  # @return [String]
2564
2662
  attr_accessor :cache_mode
2565
2663
 
2566
- # Specifies a separate client (e.g. browser client) TTL, separate from the TTL
2567
- # for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL
2568
- # for both Cloud CDN and the client-facing response. The maximum allowed value
2569
- # is 86400s (1 day).
2664
+ # Specifies a separate client (e.g. browser client) maximum TTL. This is used to
2665
+ # clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL,
2666
+ # the lesser of client_ttl and default_ttl is used for the response max-age
2667
+ # directive, along with a "public" directive. For cacheable content in
2668
+ # CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if
2669
+ # specified), or else sets the response max-age directive to the lesser of the
2670
+ # client_ttl and default_ttl, and also ensures a "public" cache-control
2671
+ # directive is present. If a client TTL is not specified, a default value (1
2672
+ # hour) will be used. The maximum allowed value is 86400s (1 day).
2570
2673
  # Corresponds to the JSON property `clientTtl`
2571
2674
  # @return [Fixnum]
2572
2675
  attr_accessor :client_ttl
@@ -2595,6 +2698,53 @@ module Google
2595
2698
  # @return [Fixnum]
2596
2699
  attr_accessor :max_ttl
2597
2700
 
2701
+ # Negative caching allows per-status code TTLs to be set, in order to apply fine-
2702
+ # grained caching for common errors or redirects. This can reduce the load on
2703
+ # your origin and improve end-user experience by reducing response latency. When
2704
+ # the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative
2705
+ # caching applies to responses with the specified response code that lack any
2706
+ # Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is
2707
+ # set to FORCE_CACHE_ALL, negative caching applies to all responses with the
2708
+ # specified response code, and override any caching headers. By default, Cloud
2709
+ # CDN will apply the following default TTLs to these status codes: HTTP 300 (
2710
+ # Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found),
2711
+ # 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not
2712
+ # Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults
2713
+ # can be overridden in negative_caching_policy.
2714
+ # Corresponds to the JSON property `negativeCaching`
2715
+ # @return [Boolean]
2716
+ attr_accessor :negative_caching
2717
+ alias_method :negative_caching?, :negative_caching
2718
+
2719
+ # Sets a cache TTL for the specified HTTP status code. negative_caching must be
2720
+ # enabled to configure negative_caching_policy. Omitting the policy and leaving
2721
+ # negative_caching enabled will use Cloud CDN's default cache TTLs. Note that
2722
+ # when specifying an explicit negative_caching_policy, you should take care to
2723
+ # specify a cache TTL for all response codes that you wish to cache. Cloud CDN
2724
+ # will not apply any default negative caching when a policy exists.
2725
+ # Corresponds to the JSON property `negativeCachingPolicy`
2726
+ # @return [Array<Google::Apis::ComputeV1::BackendBucketCdnPolicyNegativeCachingPolicy>]
2727
+ attr_accessor :negative_caching_policy
2728
+
2729
+ # If true then Cloud CDN will combine multiple concurrent cache fill requests
2730
+ # into a small number of requests to the origin.
2731
+ # Corresponds to the JSON property `requestCoalescing`
2732
+ # @return [Boolean]
2733
+ attr_accessor :request_coalescing
2734
+ alias_method :request_coalescing?, :request_coalescing
2735
+
2736
+ # Serve existing content from the cache (if available) when revalidating content
2737
+ # with the origin, or when an error is encountered when refreshing the cache.
2738
+ # This setting defines the default "max-stale" duration for any cached responses
2739
+ # that do not specify a max-stale directive. Stale responses that exceed the TTL
2740
+ # configured here will not be served. The default limit (max-stale) is 86400s (1
2741
+ # day), which will allow stale content to be served up to this limit beyond the
2742
+ # max-age (or s-max-age) of a cached response. The maximum allowed value is
2743
+ # 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
2744
+ # Corresponds to the JSON property `serveWhileStale`
2745
+ # @return [Fixnum]
2746
+ attr_accessor :serve_while_stale
2747
+
2598
2748
  # Maximum number of seconds the response to a signed URL request will be
2599
2749
  # considered fresh. After this time period, the response will be revalidated
2600
2750
  # before being served. Defaults to 1hr (3600s). When serving responses to signed
@@ -2617,15 +2767,72 @@ module Google
2617
2767
 
2618
2768
  # Update properties of this object
2619
2769
  def update!(**args)
2770
+ @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
2620
2771
  @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
2621
2772
  @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
2622
2773
  @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
2623
2774
  @max_ttl = args[:max_ttl] if args.key?(:max_ttl)
2775
+ @negative_caching = args[:negative_caching] if args.key?(:negative_caching)
2776
+ @negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy)
2777
+ @request_coalescing = args[:request_coalescing] if args.key?(:request_coalescing)
2778
+ @serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale)
2624
2779
  @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
2625
2780
  @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
2626
2781
  end
2627
2782
  end
2628
2783
 
2784
+ # Bypass the cache when the specified request headers are present, e.g. Pragma
2785
+ # or Authorization headers. Values are case insensitive. The presence of such a
2786
+ # header overrides the cache_mode setting.
2787
+ class BackendBucketCdnPolicyBypassCacheOnRequestHeader
2788
+ include Google::Apis::Core::Hashable
2789
+
2790
+ # The header field name to match on when bypassing cache. Values are case-
2791
+ # insensitive.
2792
+ # Corresponds to the JSON property `headerName`
2793
+ # @return [String]
2794
+ attr_accessor :header_name
2795
+
2796
+ def initialize(**args)
2797
+ update!(**args)
2798
+ end
2799
+
2800
+ # Update properties of this object
2801
+ def update!(**args)
2802
+ @header_name = args[:header_name] if args.key?(:header_name)
2803
+ end
2804
+ end
2805
+
2806
+ # Specify CDN TTLs for response error codes.
2807
+ class BackendBucketCdnPolicyNegativeCachingPolicy
2808
+ include Google::Apis::Core::Hashable
2809
+
2810
+ # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
2811
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
2812
+ # and you cannot specify a status code more than once.
2813
+ # Corresponds to the JSON property `code`
2814
+ # @return [Fixnum]
2815
+ attr_accessor :code
2816
+
2817
+ # The TTL (in seconds) for which to cache responses with the corresponding
2818
+ # status code. The maximum allowed value is 1800s (30 minutes), noting that
2819
+ # infrequently accessed objects may be evicted from the cache before the defined
2820
+ # TTL.
2821
+ # Corresponds to the JSON property `ttl`
2822
+ # @return [Fixnum]
2823
+ attr_accessor :ttl
2824
+
2825
+ def initialize(**args)
2826
+ update!(**args)
2827
+ end
2828
+
2829
+ # Update properties of this object
2830
+ def update!(**args)
2831
+ @code = args[:code] if args.key?(:code)
2832
+ @ttl = args[:ttl] if args.key?(:ttl)
2833
+ end
2834
+ end
2835
+
2629
2836
  # Contains a list of BackendBucket resources.
2630
2837
  class BackendBucketList
2631
2838
  include Google::Apis::Core::Hashable
@@ -2923,6 +3130,14 @@ module Google
2923
3130
  # @return [Google::Apis::ComputeV1::BackendServiceLogConfig]
2924
3131
  attr_accessor :log_config
2925
3132
 
3133
+ # A Duration represents a fixed-length span of time represented as a count of
3134
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
3135
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
3136
+ # 000 years.
3137
+ # Corresponds to the JSON property `maxStreamDuration`
3138
+ # @return [Google::Apis::ComputeV1::Duration]
3139
+ attr_accessor :max_stream_duration
3140
+
2926
3141
  # Name of the resource. Provided by the client when the resource is created. The
2927
3142
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
2928
3143
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3002,7 +3217,7 @@ module Google
3002
3217
 
3003
3218
  # Type of session affinity to use. The default is NONE.
3004
3219
  # When the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the
3005
- # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3220
+ # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3006
3221
  # * For all other load balancers that use loadBalancingScheme=EXTERNAL, the
3007
3222
  # possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use
3008
3223
  # GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.
@@ -3051,6 +3266,7 @@ module Google
3051
3266
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3052
3267
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
3053
3268
  @log_config = args[:log_config] if args.key?(:log_config)
3269
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
3054
3270
  @name = args[:name] if args.key?(:name)
3055
3271
  @network = args[:network] if args.key?(:network)
3056
3272
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
@@ -3193,6 +3409,13 @@ module Google
3193
3409
  class BackendServiceCdnPolicy
3194
3410
  include Google::Apis::Core::Hashable
3195
3411
 
3412
+ # Bypass the cache when the specified request headers are matched - e.g. Pragma
3413
+ # or Authorization headers. Up to 5 headers can be specified. The cache is
3414
+ # bypassed for all cdnPolicy.cacheMode settings.
3415
+ # Corresponds to the JSON property `bypassCacheOnRequestHeaders`
3416
+ # @return [Array<Google::Apis::ComputeV1::BackendServiceCdnPolicyBypassCacheOnRequestHeader>]
3417
+ attr_accessor :bypass_cache_on_request_headers
3418
+
3196
3419
  # Message containing what to include in the cache key for a request for Cloud
3197
3420
  # CDN.
3198
3421
  # Corresponds to the JSON property `cacheKeyPolicy`
@@ -3216,10 +3439,15 @@ module Google
3216
3439
  # @return [String]
3217
3440
  attr_accessor :cache_mode
3218
3441
 
3219
- # Specifies a separate client (e.g. browser client) TTL, separate from the TTL
3220
- # for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL
3221
- # for both Cloud CDN and the client-facing response. The maximum allowed value
3222
- # is 86400s (1 day).
3442
+ # Specifies a separate client (e.g. browser client) maximum TTL. This is used to
3443
+ # clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL,
3444
+ # the lesser of client_ttl and default_ttl is used for the response max-age
3445
+ # directive, along with a "public" directive. For cacheable content in
3446
+ # CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if
3447
+ # specified), or else sets the response max-age directive to the lesser of the
3448
+ # client_ttl and default_ttl, and also ensures a "public" cache-control
3449
+ # directive is present. If a client TTL is not specified, a default value (1
3450
+ # hour) will be used. The maximum allowed value is 86400s (1 day).
3223
3451
  # Corresponds to the JSON property `clientTtl`
3224
3452
  # @return [Fixnum]
3225
3453
  attr_accessor :client_ttl
@@ -3248,6 +3476,53 @@ module Google
3248
3476
  # @return [Fixnum]
3249
3477
  attr_accessor :max_ttl
3250
3478
 
3479
+ # Negative caching allows per-status code TTLs to be set, in order to apply fine-
3480
+ # grained caching for common errors or redirects. This can reduce the load on
3481
+ # your origin and improve end-user experience by reducing response latency. When
3482
+ # the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative
3483
+ # caching applies to responses with the specified response code that lack any
3484
+ # Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is
3485
+ # set to FORCE_CACHE_ALL, negative caching applies to all responses with the
3486
+ # specified response code, and override any caching headers. By default, Cloud
3487
+ # CDN will apply the following default TTLs to these status codes: HTTP 300 (
3488
+ # Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found),
3489
+ # 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not
3490
+ # Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults
3491
+ # can be overridden in negative_caching_policy.
3492
+ # Corresponds to the JSON property `negativeCaching`
3493
+ # @return [Boolean]
3494
+ attr_accessor :negative_caching
3495
+ alias_method :negative_caching?, :negative_caching
3496
+
3497
+ # Sets a cache TTL for the specified HTTP status code. negative_caching must be
3498
+ # enabled to configure negative_caching_policy. Omitting the policy and leaving
3499
+ # negative_caching enabled will use Cloud CDN's default cache TTLs. Note that
3500
+ # when specifying an explicit negative_caching_policy, you should take care to
3501
+ # specify a cache TTL for all response codes that you wish to cache. Cloud CDN
3502
+ # will not apply any default negative caching when a policy exists.
3503
+ # Corresponds to the JSON property `negativeCachingPolicy`
3504
+ # @return [Array<Google::Apis::ComputeV1::BackendServiceCdnPolicyNegativeCachingPolicy>]
3505
+ attr_accessor :negative_caching_policy
3506
+
3507
+ # If true then Cloud CDN will combine multiple concurrent cache fill requests
3508
+ # into a small number of requests to the origin.
3509
+ # Corresponds to the JSON property `requestCoalescing`
3510
+ # @return [Boolean]
3511
+ attr_accessor :request_coalescing
3512
+ alias_method :request_coalescing?, :request_coalescing
3513
+
3514
+ # Serve existing content from the cache (if available) when revalidating content
3515
+ # with the origin, or when an error is encountered when refreshing the cache.
3516
+ # This setting defines the default "max-stale" duration for any cached responses
3517
+ # that do not specify a max-stale directive. Stale responses that exceed the TTL
3518
+ # configured here will not be served. The default limit (max-stale) is 86400s (1
3519
+ # day), which will allow stale content to be served up to this limit beyond the
3520
+ # max-age (or s-max-age) of a cached response. The maximum allowed value is
3521
+ # 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
3522
+ # Corresponds to the JSON property `serveWhileStale`
3523
+ # @return [Fixnum]
3524
+ attr_accessor :serve_while_stale
3525
+
3251
3526
  # Maximum number of seconds the response to a signed URL request will be
3252
3527
  # considered fresh. After this time period, the response will be revalidated
3253
3528
  # before being served. Defaults to 1hr (3600s). When serving responses to signed
@@ -3270,16 +3545,73 @@ module Google
3270
3545
 
3271
3546
  # Update properties of this object
3272
3547
  def update!(**args)
3548
+ @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
3273
3549
  @cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
3274
3550
  @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
3275
3551
  @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
3276
3552
  @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
3277
3553
  @max_ttl = args[:max_ttl] if args.key?(:max_ttl)
3554
+ @negative_caching = args[:negative_caching] if args.key?(:negative_caching)
3555
+ @negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy)
3556
+ @request_coalescing = args[:request_coalescing] if args.key?(:request_coalescing)
3557
+ @serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale)
3278
3558
  @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
3279
3559
  @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
3280
3560
  end
3281
3561
  end
3282
3562
 
3563
+ # Bypass the cache when the specified request headers are present, e.g. Pragma
3564
+ # or Authorization headers. Values are case insensitive. The presence of such a
3565
+ # header overrides the cache_mode setting.
3566
+ class BackendServiceCdnPolicyBypassCacheOnRequestHeader
3567
+ include Google::Apis::Core::Hashable
3568
+
3569
+ # The header field name to match on when bypassing cache. Values are case-
3570
+ # insensitive.
3571
+ # Corresponds to the JSON property `headerName`
3572
+ # @return [String]
3573
+ attr_accessor :header_name
3574
+
3575
+ def initialize(**args)
3576
+ update!(**args)
3577
+ end
3578
+
3579
+ # Update properties of this object
3580
+ def update!(**args)
3581
+ @header_name = args[:header_name] if args.key?(:header_name)
3582
+ end
3583
+ end
3584
+
3585
+ # Specify CDN TTLs for response error codes.
3586
+ class BackendServiceCdnPolicyNegativeCachingPolicy
3587
+ include Google::Apis::Core::Hashable
3588
+
3589
+ # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
3590
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
3591
+ # and you cannot specify a status code more than once.
3592
+ # Corresponds to the JSON property `code`
3593
+ # @return [Fixnum]
3594
+ attr_accessor :code
3595
+
3596
+ # The TTL (in seconds) for which to cache responses with the corresponding
3597
+ # status code. The maximum allowed value is 1800s (30 minutes), noting that
3598
+ # infrequently accessed objects may be evicted from the cache before the defined
3599
+ # TTL.
3600
+ # Corresponds to the JSON property `ttl`
3601
+ # @return [Fixnum]
3602
+ attr_accessor :ttl
3603
+
3604
+ def initialize(**args)
3605
+ update!(**args)
3606
+ end
3607
+
3608
+ # Update properties of this object
3609
+ def update!(**args)
3610
+ @code = args[:code] if args.key?(:code)
3611
+ @ttl = args[:ttl] if args.key?(:ttl)
3612
+ end
3613
+ end
3614
+
3283
3615
  # Applicable only to Failover for Internal TCP/UDP Load Balancing and Network
3284
3616
  # Load Balancing. On failover or failback, this field indicates whether
3285
3617
  # connection draining will be honored. GCP has a fixed connection draining
@@ -3750,6 +4082,105 @@ module Google
3750
4082
  end
3751
4083
  end
3752
4084
 
4085
+ #
4086
+ class BulkInsertInstanceResource
4087
+ include Google::Apis::Core::Hashable
4088
+
4089
+ # The maximum number of instances to create.
4090
+ # Corresponds to the JSON property `count`
4091
+ # @return [Fixnum]
4092
+ attr_accessor :count
4093
+
4094
+ #
4095
+ # Corresponds to the JSON property `instanceProperties`
4096
+ # @return [Google::Apis::ComputeV1::InstanceProperties]
4097
+ attr_accessor :instance_properties
4098
+
4099
+ # Configuration for location policy among multiple possible locations (e.g.
4100
+ # preferences for zone selection among zones in a single region).
4101
+ # Corresponds to the JSON property `locationPolicy`
4102
+ # @return [Google::Apis::ComputeV1::LocationPolicy]
4103
+ attr_accessor :location_policy
4104
+
4105
+ # The minimum number of instances to create. If no min_count is specified then
4106
+ # count is used as the default value. If min_count instances cannot be created,
4107
+ # then no instances will be created.
4108
+ # Corresponds to the JSON property `minCount`
4109
+ # @return [Fixnum]
4110
+ attr_accessor :min_count
4111
+
4112
+ # The string pattern used for the names of the VMs. Either name_pattern or
4113
+ # predefined_names must be set. The pattern should contain one consecutive
4114
+ # sequence of placeholder hash characters (#) with each character corresponding
4115
+ # to one digit of the generated instance name. Example: name_pattern of inst-####
4116
+ # will generate instance names like inst-0001, inst-0002, ... . If there
4117
+ # already exist instance(s) whose names match the name pattern in the same
4118
+ # project and zone, then the generated instance numbers will start after the
4119
+ # biggest existing number. For example, if there exists an instance with name
4120
+ # inst-0050, then instance names generated using the pattern inst-#### will be
4121
+ # inst-0051, inst-0052, etc. The name pattern placeholder #...# can contain up
4122
+ # to 18 characters.
4123
+ # Corresponds to the JSON property `namePattern`
4124
+ # @return [String]
4125
+ attr_accessor :name_pattern
4126
+
4127
+ # Per-instance properties to be set on individual instances. Keys of this map
4128
+ # specify requested instance names. Can be empty if name_pattern is used.
4129
+ # Corresponds to the JSON property `perInstanceProperties`
4130
+ # @return [Hash<String,Google::Apis::ComputeV1::BulkInsertInstanceResourcePerInstanceProperties>]
4131
+ attr_accessor :per_instance_properties
4132
+
4133
+ # Specifies the instance template from which to create instances. You may
4134
+ # combine sourceInstanceTemplate with instanceProperties to override specific
4135
+ # values from an existing instance template. Bulk API follows the semantics of
4136
+ # JSON Merge Patch described by RFC 7396.
4137
+ # It can be a full or partial URL. For example, the following are all valid URLs
4138
+ # to an instance template:
4139
+ # - https://www.googleapis.com/compute/v1/projects/project/global/
4140
+ # instanceTemplates/instanceTemplate
4141
+ # - projects/project/global/instanceTemplates/instanceTemplate
4142
+ # - global/instanceTemplates/instanceTemplate
4143
+ # This field is optional.
4144
+ # Corresponds to the JSON property `sourceInstanceTemplate`
4145
+ # @return [String]
4146
+ attr_accessor :source_instance_template
4147
+
4148
+ def initialize(**args)
4149
+ update!(**args)
4150
+ end
4151
+
4152
+ # Update properties of this object
4153
+ def update!(**args)
4154
+ @count = args[:count] if args.key?(:count)
4155
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
4156
+ @location_policy = args[:location_policy] if args.key?(:location_policy)
4157
+ @min_count = args[:min_count] if args.key?(:min_count)
4158
+ @name_pattern = args[:name_pattern] if args.key?(:name_pattern)
4159
+ @per_instance_properties = args[:per_instance_properties] if args.key?(:per_instance_properties)
4160
+ @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
4161
+ end
4162
+ end
4163
+
4164
+ # Per-instance properties to be set on individual instances. To be extended in
4165
+ # the future.
4166
+ class BulkInsertInstanceResourcePerInstanceProperties
4167
+ include Google::Apis::Core::Hashable
4168
+
4169
+ # This field is only temporary. It will be removed. Do not use it.
4170
+ # Corresponds to the JSON property `name`
4171
+ # @return [String]
4172
+ attr_accessor :name
4173
+
4174
+ def initialize(**args)
4175
+ update!(**args)
4176
+ end
4177
+
4178
+ # Update properties of this object
4179
+ def update!(**args)
4180
+ @name = args[:name] if args.key?(:name)
4181
+ end
4182
+ end
4183
+
3753
4184
  #
3754
4185
  class CacheInvalidationRule
3755
4186
  include Google::Apis::Core::Hashable
@@ -4868,8 +5299,13 @@ module Google
4868
5299
  # The source disk used to create this disk. You can provide this as a partial or
4869
5300
  # full URL to the resource. For example, the following are valid values:
4870
5301
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
5302
+ #
5303
+ # - https://www.googleapis.com/compute/v1/projects/project/regions/region/disks/
5304
+ # disk
4871
5305
  # - projects/project/zones/zone/disks/disk
5306
+ # - projects/project/regions/region/disks/disk
4872
5307
  # - zones/zone/disks/disk
5308
+ # - regions/region/disks/disk
4873
5309
  # Corresponds to the JSON property `sourceDisk`
4874
5310
  # @return [String]
4875
5311
  attr_accessor :source_disk
@@ -5954,6 +6390,13 @@ module Google
5954
6390
  class DistributionPolicy
5955
6391
  include Google::Apis::Core::Hashable
5956
6392
 
6393
+ # The distribution shape to which the group converges either proactively or on
6394
+ # resize events (depending on the value set in updatePolicy.
6395
+ # instanceRedistributionType).
6396
+ # Corresponds to the JSON property `targetShape`
6397
+ # @return [String]
6398
+ attr_accessor :target_shape
6399
+
5957
6400
  # Zones where the regional managed instance group will create and manage its
5958
6401
  # instances.
5959
6402
  # Corresponds to the JSON property `zones`
@@ -5966,6 +6409,7 @@ module Google
5966
6409
 
5967
6410
  # Update properties of this object
5968
6411
  def update!(**args)
6412
+ @target_shape = args[:target_shape] if args.key?(:target_shape)
5969
6413
  @zones = args[:zones] if args.key?(:zones)
5970
6414
  end
5971
6415
  end
@@ -6976,13 +7420,14 @@ module Google
6976
7420
  # @return [String]
6977
7421
  attr_accessor :description
6978
7422
 
6979
- # User-provided name of the Organization firewall plicy. The name should be
6980
- # unique in the organization in which the firewall policy is created. The name
6981
- # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
6982
- # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
6983
- # [a-z0-9])?` which means the first character must be a lowercase letter, and
6984
- # all following characters must be a dash, lowercase letter, or digit, except
6985
- # the last character, which cannot be a dash.
7423
+ # Depreacted, please use short name instead. User-provided name of the
7424
+ # Organization firewall plicy. The name should be unique in the organization in
7425
+ # which the firewall policy is created. The name must be 1-63 characters long,
7426
+ # and comply with RFC1035. Specifically, the name must be 1-63 characters long
7427
+ # and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
7428
+ # first character must be a lowercase letter, and all following characters must
7429
+ # be a dash, lowercase letter, or digit, except the last character, which cannot
7430
+ # be a dash.
6986
7431
  # Corresponds to the JSON property `displayName`
6987
7432
  # @return [String]
6988
7433
  attr_accessor :display_name
@@ -7046,6 +7491,17 @@ module Google
7046
7491
  # @return [String]
7047
7492
  attr_accessor :self_link_with_id
7048
7493
 
7494
+ # User-provided name of the Organization firewall plicy. The name should be
7495
+ # unique in the organization in which the firewall policy is created. The name
7496
+ # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
7497
+ # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
7498
+ # [a-z0-9])?` which means the first character must be a lowercase letter, and
7499
+ # all following characters must be a dash, lowercase letter, or digit, except
7500
+ # the last character, which cannot be a dash.
7501
+ # Corresponds to the JSON property `shortName`
7502
+ # @return [String]
7503
+ attr_accessor :short_name
7504
+
7049
7505
  def initialize(**args)
7050
7506
  update!(**args)
7051
7507
  end
@@ -7065,6 +7521,7 @@ module Google
7065
7521
  @rules = args[:rules] if args.key?(:rules)
7066
7522
  @self_link = args[:self_link] if args.key?(:self_link)
7067
7523
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
7524
+ @short_name = args[:short_name] if args.key?(:short_name)
7068
7525
  end
7069
7526
  end
7070
7527
 
@@ -7077,7 +7534,8 @@ module Google
7077
7534
  # @return [String]
7078
7535
  attr_accessor :attachment_target
7079
7536
 
7080
- # [Output Only] The display name of the firewall policy of the association.
7537
+ # [Output Only] Deprecated, please use short name instead. The display name of
7538
+ # the firewall policy of the association.
7081
7539
  # Corresponds to the JSON property `displayName`
7082
7540
  # @return [String]
7083
7541
  attr_accessor :display_name
@@ -7092,6 +7550,11 @@ module Google
7092
7550
  # @return [String]
7093
7551
  attr_accessor :name
7094
7552
 
7553
+ # [Output Only] The short name of the firewall policy of the association.
7554
+ # Corresponds to the JSON property `shortName`
7555
+ # @return [String]
7556
+ attr_accessor :short_name
7557
+
7095
7558
  def initialize(**args)
7096
7559
  update!(**args)
7097
7560
  end
@@ -7102,6 +7565,7 @@ module Google
7102
7565
  @display_name = args[:display_name] if args.key?(:display_name)
7103
7566
  @firewall_policy_id = args[:firewall_policy_id] if args.key?(:firewall_policy_id)
7104
7567
  @name = args[:name] if args.key?(:name)
7568
+ @short_name = args[:short_name] if args.key?(:short_name)
7105
7569
  end
7106
7570
  end
7107
7571
 
@@ -7471,6 +7935,8 @@ module Google
7471
7935
  # ip_address_specifications).
7472
7936
  # Must be set to `0.0.0.0` when the target is targetGrpcProxy that has
7473
7937
  # validateForProxyless field set to true.
7938
+ # For Private Service Connect forwarding rules that forward traffic to Google
7939
+ # APIs, IP address must be provided.
7474
7940
  # Corresponds to the JSON property `IPAddress`
7475
7941
  # @return [String]
7476
7942
  attr_accessor :ip_address
@@ -7643,6 +8109,8 @@ module Google
7643
8109
  # For Internal TCP/UDP Load Balancing, this field identifies the network that
7644
8110
  # the load balanced IP should belong to for this Forwarding Rule. If this field
7645
8111
  # is not specified, the default network will be used.
8112
+ # For Private Service Connect forwarding rules that forward traffic to Google
8113
+ # APIs, a network must be provided.
7646
8114
  # Corresponds to the JSON property `network`
7647
8115
  # @return [String]
7648
8116
  attr_accessor :network
@@ -7747,12 +8215,7 @@ module Google
7747
8215
  # @return [String]
7748
8216
  attr_accessor :subnetwork
7749
8217
 
7750
- # The URL of the target resource to receive the matched traffic. For regional
7751
- # forwarding rules, this target must be in the same region as the forwarding
7752
- # rule. For global forwarding rules, this target must be a global load balancing
7753
- # resource. The forwarded traffic must be of a type appropriate to the target
7754
- # object. For more information, see the "Target" column in [Port specifications](
7755
- # /load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
8218
+ #
7756
8219
  # Corresponds to the JSON property `target`
7757
8220
  # @return [String]
7758
8221
  attr_accessor :target
@@ -8845,11 +9308,12 @@ module Google
8845
9308
  attr_accessor :log_config
8846
9309
 
8847
9310
  # Name of the resource. Provided by the client when the resource is created. The
8848
- # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
8849
- # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
8850
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
8851
- # and all following characters must be a dash, lowercase letter, or digit,
8852
- # except the last character, which cannot be a dash.
9311
+ # name must be 1-63 characters long, and comply with RFC1035. For example, a
9312
+ # name that is 1-63 characters long, matches the regular expression `[a-z]([-a-
9313
+ # z0-9]*[a-z0-9])?`, and otherwise complies with RFC1035. This regular
9314
+ # expression describes a name where the first character is a lowercase letter,
9315
+ # and all following characters are a dash, lowercase letter, or digit, except
9316
+ # the last character, which isn't a dash.
8853
9317
  # Corresponds to the JSON property `name`
8854
9318
  # @return [String]
8855
9319
  attr_accessor :name
@@ -9573,6 +10037,16 @@ module Google
9573
10037
  # @return [Hash<String,String>]
9574
10038
  attr_accessor :annotations
9575
10039
 
10040
+ # URL of the forwarding rule associated with the health status of the instance.
10041
+ # Corresponds to the JSON property `forwardingRule`
10042
+ # @return [String]
10043
+ attr_accessor :forwarding_rule
10044
+
10045
+ # A forwarding rule IP address assigned to this instance.
10046
+ # Corresponds to the JSON property `forwardingRuleIp`
10047
+ # @return [String]
10048
+ attr_accessor :forwarding_rule_ip
10049
+
9576
10050
  # Health state of the instance.
9577
10051
  # Corresponds to the JSON property `healthState`
9578
10052
  # @return [String]
@@ -9613,6 +10087,8 @@ module Google
9613
10087
  # Update properties of this object
9614
10088
  def update!(**args)
9615
10089
  @annotations = args[:annotations] if args.key?(:annotations)
10090
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
10091
+ @forwarding_rule_ip = args[:forwarding_rule_ip] if args.key?(:forwarding_rule_ip)
9616
10092
  @health_state = args[:health_state] if args.key?(:health_state)
9617
10093
  @instance = args[:instance] if args.key?(:instance)
9618
10094
  @ip_address = args[:ip_address] if args.key?(:ip_address)
@@ -10410,6 +10886,14 @@ module Google
10410
10886
  # @return [Google::Apis::ComputeV1::HttpFaultInjection]
10411
10887
  attr_accessor :fault_injection_policy
10412
10888
 
10889
+ # A Duration represents a fixed-length span of time represented as a count of
10890
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
10891
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
10892
+ # 000 years.
10893
+ # Corresponds to the JSON property `maxStreamDuration`
10894
+ # @return [Google::Apis::ComputeV1::Duration]
10895
+ attr_accessor :max_stream_duration
10896
+
10413
10897
  # A policy that specifies how requests intended for the route's backends are
10414
10898
  # shadowed to a separate mirrored backend service. Loadbalancer does not wait
10415
10899
  # for responses from the shadow service. Prior to sending traffic to the shadow
@@ -10458,6 +10942,7 @@ module Google
10458
10942
  def update!(**args)
10459
10943
  @cors_policy = args[:cors_policy] if args.key?(:cors_policy)
10460
10944
  @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
10945
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
10461
10946
  @request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy)
10462
10947
  @retry_policy = args[:retry_policy] if args.key?(:retry_policy)
10463
10948
  @timeout = args[:timeout] if args.key?(:timeout)
@@ -11498,6 +11983,11 @@ module Google
11498
11983
  # @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
11499
11984
  attr_accessor :network_interfaces
11500
11985
 
11986
+ # PostKeyRevocationActionType of the instance.
11987
+ # Corresponds to the JSON property `postKeyRevocationActionType`
11988
+ # @return [String]
11989
+ attr_accessor :post_key_revocation_action_type
11990
+
11501
11991
  # The private IPv6 google access type for the VM. If not specified, use
11502
11992
  # INHERIT_FROM_SUBNETWORK as default.
11503
11993
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
@@ -11520,7 +12010,7 @@ module Google
11520
12010
  attr_accessor :satisfies_pzs
11521
12011
  alias_method :satisfies_pzs?, :satisfies_pzs
11522
12012
 
11523
- # Sets the scheduling options for an Instance. NextID: 17
12013
+ # Sets the scheduling options for an Instance. NextID: 20
11524
12014
  # Corresponds to the JSON property `scheduling`
11525
12015
  # @return [Google::Apis::ComputeV1::Scheduling]
11526
12016
  attr_accessor :scheduling
@@ -11612,6 +12102,7 @@ module Google
11612
12102
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
11613
12103
  @name = args[:name] if args.key?(:name)
11614
12104
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
12105
+ @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
11615
12106
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
11616
12107
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
11617
12108
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -14124,6 +14615,11 @@ module Google
14124
14615
  # @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
14125
14616
  attr_accessor :network_interfaces
14126
14617
 
14618
+ # PostKeyRevocationActionType of the instance.
14619
+ # Corresponds to the JSON property `postKeyRevocationActionType`
14620
+ # @return [String]
14621
+ attr_accessor :post_key_revocation_action_type
14622
+
14127
14623
  # The private IPv6 google access type for VMs. If not specified, use
14128
14624
  # INHERIT_FROM_SUBNETWORK as default.
14129
14625
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
@@ -14141,7 +14637,7 @@ module Google
14141
14637
  # @return [Array<String>]
14142
14638
  attr_accessor :resource_policies
14143
14639
 
14144
- # Sets the scheduling options for an Instance. NextID: 17
14640
+ # Sets the scheduling options for an Instance. NextID: 20
14145
14641
  # Corresponds to the JSON property `scheduling`
14146
14642
  # @return [Google::Apis::ComputeV1::Scheduling]
14147
14643
  attr_accessor :scheduling
@@ -14181,6 +14677,7 @@ module Google
14181
14677
  @metadata = args[:metadata] if args.key?(:metadata)
14182
14678
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
14183
14679
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
14680
+ @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
14184
14681
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
14185
14682
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
14186
14683
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -14492,7 +14989,8 @@ module Google
14492
14989
  class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy
14493
14990
  include Google::Apis::Core::Hashable
14494
14991
 
14495
- # [Output Only] The display name of the firewall policy.
14992
+ # [Output Only] Deprecated, please use short name instead. The display name of
14993
+ # the firewall policy.
14496
14994
  # Corresponds to the JSON property `displayName`
14497
14995
  # @return [String]
14498
14996
  attr_accessor :display_name
@@ -14507,6 +15005,11 @@ module Google
14507
15005
  # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
14508
15006
  attr_accessor :rules
14509
15007
 
15008
+ # [Output Only] The short name of the firewall policy.
15009
+ # Corresponds to the JSON property `shortName`
15010
+ # @return [String]
15011
+ attr_accessor :short_name
15012
+
14510
15013
  # [Output Only] The type of the firewall policy.
14511
15014
  # Corresponds to the JSON property `type`
14512
15015
  # @return [String]
@@ -14521,6 +15024,7 @@ module Google
14521
15024
  @display_name = args[:display_name] if args.key?(:display_name)
14522
15025
  @name = args[:name] if args.key?(:name)
14523
15026
  @rules = args[:rules] if args.key?(:rules)
15027
+ @short_name = args[:short_name] if args.key?(:short_name)
14524
15028
  @type = args[:type] if args.key?(:type)
14525
15029
  end
14526
15030
  end
@@ -15078,6 +15582,19 @@ module Google
15078
15582
  # @return [String]
15079
15583
  attr_accessor :edge_availability_domain
15080
15584
 
15585
+ # Indicates the user-supplied encryption option of this interconnect attachment:
15586
+ # - NONE is the default value, which means that the attachment carries
15587
+ # unencrypted traffic. VMs can send traffic to, or receive traffic from, this
15588
+ # type of attachment.
15589
+ # - IPSEC indicates that the attachment carries only traffic encrypted by an
15590
+ # IPsec device such as an HA VPN gateway. VMs cannot directly send traffic to,
15591
+ # or receive traffic from, such an attachment. To use IPsec-encrypted Cloud
15592
+ # Interconnect, create the attachment using this option.
15593
+ # Not currently available in all Interconnect locations.
15594
+ # Corresponds to the JSON property `encryption`
15595
+ # @return [String]
15596
+ attr_accessor :encryption
15597
+
15081
15598
  # [Output Only] Google reference ID, to be used when raising support tickets
15082
15599
  # with Google or otherwise to debug backend connectivity issues. [Deprecated]
15083
15600
  # This field is not used.
@@ -15097,6 +15614,23 @@ module Google
15097
15614
  # @return [String]
15098
15615
  attr_accessor :interconnect
15099
15616
 
15617
+ # URL of addresses that have been reserved for the interconnect attachment, Used
15618
+ # only for interconnect attachment that has the encryption option as IPSEC. The
15619
+ # addresses must be RFC 1918 IP address ranges. When creating HA VPN gateway
15620
+ # over the interconnect attachment, if the attachment is configured to use an
15621
+ # RFC 1918 IP address, then the VPN gateway?s IP address will be allocated from
15622
+ # the IP address range specified here. For example, if the HA VPN gateway?s
15623
+ # interface 0 is paired to this interconnect attachment, then an RFC 1918 IP
15624
+ # address for the VPN gateway interface 0 will be allocated from the IP address
15625
+ # specified for this interconnect attachment. If this field is not specified for
15626
+ # interconnect attachment that has encryption option as IPSEC, later on when
15627
+ # creating HA VPN gateway on this interconnect attachment, the HA VPN gateway's
15628
+ # IP address will be allocated from regional external IP address pool.
15629
+ # Not currently available in all Interconnect locations.
15630
+ # Corresponds to the JSON property `ipsecInternalAddresses`
15631
+ # @return [Array<String>]
15632
+ attr_accessor :ipsec_internal_addresses
15633
+
15100
15634
  # [Output Only] Type of the resource. Always compute#interconnectAttachment for
15101
15635
  # interconnect attachments.
15102
15636
  # Corresponds to the JSON property `kind`
@@ -15231,9 +15765,11 @@ module Google
15231
15765
  @dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
15232
15766
  @description = args[:description] if args.key?(:description)
15233
15767
  @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
15768
+ @encryption = args[:encryption] if args.key?(:encryption)
15234
15769
  @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id)
15235
15770
  @id = args[:id] if args.key?(:id)
15236
15771
  @interconnect = args[:interconnect] if args.key?(:interconnect)
15772
+ @ipsec_internal_addresses = args[:ipsec_internal_addresses] if args.key?(:ipsec_internal_addresses)
15237
15773
  @kind = args[:kind] if args.key?(:kind)
15238
15774
  @mtu = args[:mtu] if args.key?(:mtu)
15239
15775
  @name = args[:name] if args.key?(:name)
@@ -16737,6 +17273,47 @@ module Google
16737
17273
  end
16738
17274
  end
16739
17275
 
17276
+ # Configuration for location policy among multiple possible locations (e.g.
17277
+ # preferences for zone selection among zones in a single region).
17278
+ class LocationPolicy
17279
+ include Google::Apis::Core::Hashable
17280
+
17281
+ # Location configurations mapped by location name. Currently only zone names are
17282
+ # supported and must be represented as valid internal URLs, like: zones/us-
17283
+ # central1-a.
17284
+ # Corresponds to the JSON property `locations`
17285
+ # @return [Hash<String,Google::Apis::ComputeV1::LocationPolicyLocation>]
17286
+ attr_accessor :locations
17287
+
17288
+ def initialize(**args)
17289
+ update!(**args)
17290
+ end
17291
+
17292
+ # Update properties of this object
17293
+ def update!(**args)
17294
+ @locations = args[:locations] if args.key?(:locations)
17295
+ end
17296
+ end
17297
+
17298
+ #
17299
+ class LocationPolicyLocation
17300
+ include Google::Apis::Core::Hashable
17301
+
17302
+ #
17303
+ # Corresponds to the JSON property `preference`
17304
+ # @return [String]
17305
+ attr_accessor :preference
17306
+
17307
+ def initialize(**args)
17308
+ update!(**args)
17309
+ end
17310
+
17311
+ # Update properties of this object
17312
+ def update!(**args)
17313
+ @preference = args[:preference] if args.key?(:preference)
17314
+ end
17315
+ end
17316
+
16740
17317
  # Specifies what kind of log the caller must write
16741
17318
  class LogConfig
16742
17319
  include Google::Apis::Core::Hashable
@@ -18775,8 +19352,9 @@ module Google
18775
19352
 
18776
19353
  # Fingerprint hash of contents stored in this network interface. This field will
18777
19354
  # be ignored when inserting an Instance or adding a NetworkInterface. An up-to-
18778
- # date fingerprint must be provided in order to update the NetworkInterface,
18779
- # otherwise the request will fail with error 412 conditionNotMet.
19355
+ # date fingerprint must be provided in order to update the NetworkInterface. The
19356
+ # request will fail with error 400 Bad Request if the fingerprint is not
19357
+ # provided, or 412 Precondition Failed if the fingerprint is out of date.
18780
19358
  # Corresponds to the JSON property `fingerprint`
18781
19359
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
18782
19360
  # @return [String]
@@ -19184,7 +19762,8 @@ module Google
19184
19762
  class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy
19185
19763
  include Google::Apis::Core::Hashable
19186
19764
 
19187
- # [Output Only] The display name of the firewall policy.
19765
+ # [Output Only] Deprecated, please use short name instead. The display name of
19766
+ # the firewall policy.
19188
19767
  # Corresponds to the JSON property `displayName`
19189
19768
  # @return [String]
19190
19769
  attr_accessor :display_name
@@ -19199,6 +19778,11 @@ module Google
19199
19778
  # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
19200
19779
  attr_accessor :rules
19201
19780
 
19781
+ # [Output Only] The short name of the firewall policy.
19782
+ # Corresponds to the JSON property `shortName`
19783
+ # @return [String]
19784
+ attr_accessor :short_name
19785
+
19202
19786
  # [Output Only] The type of the firewall policy.
19203
19787
  # Corresponds to the JSON property `type`
19204
19788
  # @return [String]
@@ -19213,6 +19797,7 @@ module Google
19213
19797
  @display_name = args[:display_name] if args.key?(:display_name)
19214
19798
  @name = args[:name] if args.key?(:name)
19215
19799
  @rules = args[:rules] if args.key?(:rules)
19800
+ @short_name = args[:short_name] if args.key?(:short_name)
19216
19801
  @type = args[:type] if args.key?(:type)
19217
19802
  end
19218
19803
  end
@@ -21282,6 +21867,12 @@ module Google
21282
21867
  # @return [String]
21283
21868
  attr_accessor :name
21284
21869
 
21870
+ # [Output Only] An ID that represents a group of operations, such as when a
21871
+ # group of operations results from a `bulkInsert` API request.
21872
+ # Corresponds to the JSON property `operationGroupId`
21873
+ # @return [String]
21874
+ attr_accessor :operation_group_id
21875
+
21285
21876
  # [Output Only] The type of operation, such as `insert`, `update`, or `delete`,
21286
21877
  # and so on.
21287
21878
  # Corresponds to the JSON property `operationType`
@@ -21373,6 +21964,7 @@ module Google
21373
21964
  @insert_time = args[:insert_time] if args.key?(:insert_time)
21374
21965
  @kind = args[:kind] if args.key?(:kind)
21375
21966
  @name = args[:name] if args.key?(:name)
21967
+ @operation_group_id = args[:operation_group_id] if args.key?(:operation_group_id)
21376
21968
  @operation_type = args[:operation_type] if args.key?(:operation_type)
21377
21969
  @progress = args[:progress] if args.key?(:progress)
21378
21970
  @region = args[:region] if args.key?(:region)
@@ -23188,88 +23780,10 @@ module Google
23188
23780
  end
23189
23781
  end
23190
23782
 
23191
- # A quotas entry.
23192
- class Quota
23193
- include Google::Apis::Core::Hashable
23194
-
23195
- # [Output Only] Quota limit for this metric.
23196
- # Corresponds to the JSON property `limit`
23197
- # @return [Float]
23198
- attr_accessor :limit
23199
-
23200
- # [Output Only] Name of the quota metric.
23201
- # Corresponds to the JSON property `metric`
23202
- # @return [String]
23203
- attr_accessor :metric
23204
-
23205
- # [Output Only] Owning resource. This is the resource on which this quota is
23206
- # applied.
23207
- # Corresponds to the JSON property `owner`
23208
- # @return [String]
23209
- attr_accessor :owner
23210
-
23211
- # [Output Only] Current usage of this metric.
23212
- # Corresponds to the JSON property `usage`
23213
- # @return [Float]
23214
- attr_accessor :usage
23215
-
23216
- def initialize(**args)
23217
- update!(**args)
23218
- end
23219
-
23220
- # Update properties of this object
23221
- def update!(**args)
23222
- @limit = args[:limit] if args.key?(:limit)
23223
- @metric = args[:metric] if args.key?(:metric)
23224
- @owner = args[:owner] if args.key?(:owner)
23225
- @usage = args[:usage] if args.key?(:usage)
23226
- end
23227
- end
23228
-
23229
- # Represents a reference to a resource.
23230
- class Reference
23231
- include Google::Apis::Core::Hashable
23232
-
23233
- # [Output Only] Type of the resource. Always compute#reference for references.
23234
- # Corresponds to the JSON property `kind`
23235
- # @return [String]
23236
- attr_accessor :kind
23237
-
23238
- # A description of the reference type with no implied semantics. Possible values
23239
- # include:
23240
- # - MEMBER_OF
23241
- # Corresponds to the JSON property `referenceType`
23242
- # @return [String]
23243
- attr_accessor :reference_type
23244
-
23245
- # URL of the resource which refers to the target.
23246
- # Corresponds to the JSON property `referrer`
23247
- # @return [String]
23248
- attr_accessor :referrer
23249
-
23250
- # URL of the resource to which this reference points.
23251
- # Corresponds to the JSON property `target`
23252
- # @return [String]
23253
- attr_accessor :target
23254
-
23255
- def initialize(**args)
23256
- update!(**args)
23257
- end
23258
-
23259
- # Update properties of this object
23260
- def update!(**args)
23261
- @kind = args[:kind] if args.key?(:kind)
23262
- @reference_type = args[:reference_type] if args.key?(:reference_type)
23263
- @referrer = args[:referrer] if args.key?(:referrer)
23264
- @target = args[:target] if args.key?(:target)
23265
- end
23266
- end
23267
-
23268
- # Represents a Region resource.
23269
- # A region is a geographical area where a resource is located. For more
23270
- # information, read Regions and Zones. (== resource_for `$api_version`.regions ==
23271
- # )
23272
- class Region
23783
+ # A public advertised prefix represents an aggregated IP prefix or netblock
23784
+ # which customers bring to cloud. The IP prefix is a single unit of route
23785
+ # advertisement and is announced globally to the internet.
23786
+ class PublicAdvertisedPrefix
23273
23787
  include Google::Apis::Core::Hashable
23274
23788
 
23275
23789
  # [Output Only] Creation timestamp in RFC3339 text format.
@@ -23277,59 +23791,78 @@ module Google
23277
23791
  # @return [String]
23278
23792
  attr_accessor :creation_timestamp
23279
23793
 
23280
- # Deprecation status for a public resource.
23281
- # Corresponds to the JSON property `deprecated`
23282
- # @return [Google::Apis::ComputeV1::DeprecationStatus]
23283
- attr_accessor :deprecated
23284
-
23285
- # [Output Only] Textual description of the resource.
23794
+ # An optional description of this resource. Provide this property when you
23795
+ # create the resource.
23286
23796
  # Corresponds to the JSON property `description`
23287
23797
  # @return [String]
23288
23798
  attr_accessor :description
23289
23799
 
23290
- # [Output Only] The unique identifier for the resource. This identifier is
23291
- # defined by the server.
23800
+ # The IPv4 address to be used for reverse DNS verification.
23801
+ # Corresponds to the JSON property `dnsVerificationIp`
23802
+ # @return [String]
23803
+ attr_accessor :dns_verification_ip
23804
+
23805
+ # Fingerprint of this resource. A hash of the contents stored in this object.
23806
+ # This field is used in optimistic locking. This field will be ignored when
23807
+ # inserting a new PublicAdvertisedPrefix. An up-to-date fingerprint must be
23808
+ # provided in order to update the PublicAdvertisedPrefix, otherwise the request
23809
+ # will fail with error 412 conditionNotMet.
23810
+ # To see the latest fingerprint, make a get() request to retrieve a
23811
+ # PublicAdvertisedPrefix.
23812
+ # Corresponds to the JSON property `fingerprint`
23813
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
23814
+ # @return [String]
23815
+ attr_accessor :fingerprint
23816
+
23817
+ # [Output Only] The unique identifier for the resource type. The server
23818
+ # generates this identifier.
23292
23819
  # Corresponds to the JSON property `id`
23293
23820
  # @return [Fixnum]
23294
23821
  attr_accessor :id
23295
23822
 
23296
- # [Output Only] Type of the resource. Always compute#region for regions.
23823
+ # The IPv4 address range, in CIDR format, represented by this public advertised
23824
+ # prefix.
23825
+ # Corresponds to the JSON property `ipCidrRange`
23826
+ # @return [String]
23827
+ attr_accessor :ip_cidr_range
23828
+
23829
+ # [Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for
23830
+ # public advertised prefixes.
23297
23831
  # Corresponds to the JSON property `kind`
23298
23832
  # @return [String]
23299
23833
  attr_accessor :kind
23300
23834
 
23301
- # [Output Only] Name of the resource.
23835
+ # Name of the resource. Provided by the client when the resource is created. The
23836
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
23837
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
23838
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
23839
+ # and all following characters must be a dash, lowercase letter, or digit,
23840
+ # except the last character, which cannot be a dash.
23302
23841
  # Corresponds to the JSON property `name`
23303
23842
  # @return [String]
23304
23843
  attr_accessor :name
23305
23844
 
23306
- # [Output Only] Quotas assigned to this region.
23307
- # Corresponds to the JSON property `quotas`
23308
- # @return [Array<Google::Apis::ComputeV1::Quota>]
23309
- attr_accessor :quotas
23845
+ # [Output Only] The list of public delegated prefixes that exist for this public
23846
+ # advertised prefix.
23847
+ # Corresponds to the JSON property `publicDelegatedPrefixs`
23848
+ # @return [Array<Google::Apis::ComputeV1::PublicAdvertisedPrefixPublicDelegatedPrefix>]
23849
+ attr_accessor :public_delegated_prefixs
23310
23850
 
23311
23851
  # [Output Only] Server-defined URL for the resource.
23312
23852
  # Corresponds to the JSON property `selfLink`
23313
23853
  # @return [String]
23314
23854
  attr_accessor :self_link
23315
23855
 
23316
- # [Output Only] Status of the region, either UP or DOWN.
23856
+ # [Output Only] The shared secret to be used for reverse DNS verification.
23857
+ # Corresponds to the JSON property `sharedSecret`
23858
+ # @return [String]
23859
+ attr_accessor :shared_secret
23860
+
23861
+ # The status of the public advertised prefix.
23317
23862
  # Corresponds to the JSON property `status`
23318
23863
  # @return [String]
23319
23864
  attr_accessor :status
23320
23865
 
23321
- # [Output Only] Reserved for future use.
23322
- # Corresponds to the JSON property `supportsPzs`
23323
- # @return [Boolean]
23324
- attr_accessor :supports_pzs
23325
- alias_method :supports_pzs?, :supports_pzs
23326
-
23327
- # [Output Only] A list of zones available in this region, in the form of
23328
- # resource URLs.
23329
- # Corresponds to the JSON property `zones`
23330
- # @return [Array<String>]
23331
- attr_accessor :zones
23332
-
23333
23866
  def initialize(**args)
23334
23867
  update!(**args)
23335
23868
  end
@@ -23337,138 +23870,22 @@ module Google
23337
23870
  # Update properties of this object
23338
23871
  def update!(**args)
23339
23872
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
23340
- @deprecated = args[:deprecated] if args.key?(:deprecated)
23341
23873
  @description = args[:description] if args.key?(:description)
23874
+ @dns_verification_ip = args[:dns_verification_ip] if args.key?(:dns_verification_ip)
23875
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
23342
23876
  @id = args[:id] if args.key?(:id)
23877
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
23343
23878
  @kind = args[:kind] if args.key?(:kind)
23344
23879
  @name = args[:name] if args.key?(:name)
23345
- @quotas = args[:quotas] if args.key?(:quotas)
23880
+ @public_delegated_prefixs = args[:public_delegated_prefixs] if args.key?(:public_delegated_prefixs)
23346
23881
  @self_link = args[:self_link] if args.key?(:self_link)
23882
+ @shared_secret = args[:shared_secret] if args.key?(:shared_secret)
23347
23883
  @status = args[:status] if args.key?(:status)
23348
- @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
23349
- @zones = args[:zones] if args.key?(:zones)
23350
- end
23351
- end
23352
-
23353
- # Contains a list of autoscalers.
23354
- class RegionAutoscalerList
23355
- include Google::Apis::Core::Hashable
23356
-
23357
- # [Output Only] Unique identifier for the resource; defined by the server.
23358
- # Corresponds to the JSON property `id`
23359
- # @return [String]
23360
- attr_accessor :id
23361
-
23362
- # A list of Autoscaler resources.
23363
- # Corresponds to the JSON property `items`
23364
- # @return [Array<Google::Apis::ComputeV1::Autoscaler>]
23365
- attr_accessor :items
23366
-
23367
- # Type of resource.
23368
- # Corresponds to the JSON property `kind`
23369
- # @return [String]
23370
- attr_accessor :kind
23371
-
23372
- # [Output Only] This token allows you to get the next page of results for list
23373
- # requests. If the number of results is larger than maxResults, use the
23374
- # nextPageToken as a value for the query parameter pageToken in the next list
23375
- # request. Subsequent list requests will have their own nextPageToken to
23376
- # continue paging through the results.
23377
- # Corresponds to the JSON property `nextPageToken`
23378
- # @return [String]
23379
- attr_accessor :next_page_token
23380
-
23381
- # [Output Only] Server-defined URL for this resource.
23382
- # Corresponds to the JSON property `selfLink`
23383
- # @return [String]
23384
- attr_accessor :self_link
23385
-
23386
- # [Output Only] Informational warning message.
23387
- # Corresponds to the JSON property `warning`
23388
- # @return [Google::Apis::ComputeV1::RegionAutoscalerList::Warning]
23389
- attr_accessor :warning
23390
-
23391
- def initialize(**args)
23392
- update!(**args)
23393
- end
23394
-
23395
- # Update properties of this object
23396
- def update!(**args)
23397
- @id = args[:id] if args.key?(:id)
23398
- @items = args[:items] if args.key?(:items)
23399
- @kind = args[:kind] if args.key?(:kind)
23400
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
23401
- @self_link = args[:self_link] if args.key?(:self_link)
23402
- @warning = args[:warning] if args.key?(:warning)
23403
- end
23404
-
23405
- # [Output Only] Informational warning message.
23406
- class Warning
23407
- include Google::Apis::Core::Hashable
23408
-
23409
- # [Output Only] A warning code, if applicable. For example, Compute Engine
23410
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
23411
- # Corresponds to the JSON property `code`
23412
- # @return [String]
23413
- attr_accessor :code
23414
-
23415
- # [Output Only] Metadata about this warning in key: value format. For example:
23416
- # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
23417
- # Corresponds to the JSON property `data`
23418
- # @return [Array<Google::Apis::ComputeV1::RegionAutoscalerList::Warning::Datum>]
23419
- attr_accessor :data
23420
-
23421
- # [Output Only] A human-readable description of the warning code.
23422
- # Corresponds to the JSON property `message`
23423
- # @return [String]
23424
- attr_accessor :message
23425
-
23426
- def initialize(**args)
23427
- update!(**args)
23428
- end
23429
-
23430
- # Update properties of this object
23431
- def update!(**args)
23432
- @code = args[:code] if args.key?(:code)
23433
- @data = args[:data] if args.key?(:data)
23434
- @message = args[:message] if args.key?(:message)
23435
- end
23436
-
23437
- #
23438
- class Datum
23439
- include Google::Apis::Core::Hashable
23440
-
23441
- # [Output Only] A key that provides more detail on the warning being returned.
23442
- # For example, for warnings where there are no results in a list request for a
23443
- # particular zone, this key might be scope and the key value might be the zone
23444
- # name. Other examples might be a key indicating a deprecated resource and a
23445
- # suggested replacement, or a warning about invalid network settings (for
23446
- # example, if an instance attempts to perform IP forwarding but is not enabled
23447
- # for IP forwarding).
23448
- # Corresponds to the JSON property `key`
23449
- # @return [String]
23450
- attr_accessor :key
23451
-
23452
- # [Output Only] A warning data value corresponding to the key.
23453
- # Corresponds to the JSON property `value`
23454
- # @return [String]
23455
- attr_accessor :value
23456
-
23457
- def initialize(**args)
23458
- update!(**args)
23459
- end
23460
-
23461
- # Update properties of this object
23462
- def update!(**args)
23463
- @key = args[:key] if args.key?(:key)
23464
- @value = args[:value] if args.key?(:value)
23465
- end
23466
- end
23467
23884
  end
23468
23885
  end
23469
23886
 
23470
23887
  #
23471
- class RegionDiskTypeList
23888
+ class PublicAdvertisedPrefixList
23472
23889
  include Google::Apis::Core::Hashable
23473
23890
 
23474
23891
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -23476,13 +23893,13 @@ module Google
23476
23893
  # @return [String]
23477
23894
  attr_accessor :id
23478
23895
 
23479
- # A list of DiskType resources.
23896
+ # A list of PublicAdvertisedPrefix resources.
23480
23897
  # Corresponds to the JSON property `items`
23481
- # @return [Array<Google::Apis::ComputeV1::DiskType>]
23898
+ # @return [Array<Google::Apis::ComputeV1::PublicAdvertisedPrefix>]
23482
23899
  attr_accessor :items
23483
23900
 
23484
- # [Output Only] Type of resource. Always compute#regionDiskTypeList for region
23485
- # disk types.
23901
+ # [Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for
23902
+ # public advertised prefixes.
23486
23903
  # Corresponds to the JSON property `kind`
23487
23904
  # @return [String]
23488
23905
  attr_accessor :kind
@@ -23503,7 +23920,961 @@ module Google
23503
23920
 
23504
23921
  # [Output Only] Informational warning message.
23505
23922
  # Corresponds to the JSON property `warning`
23506
- # @return [Google::Apis::ComputeV1::RegionDiskTypeList::Warning]
23923
+ # @return [Google::Apis::ComputeV1::PublicAdvertisedPrefixList::Warning]
23924
+ attr_accessor :warning
23925
+
23926
+ def initialize(**args)
23927
+ update!(**args)
23928
+ end
23929
+
23930
+ # Update properties of this object
23931
+ def update!(**args)
23932
+ @id = args[:id] if args.key?(:id)
23933
+ @items = args[:items] if args.key?(:items)
23934
+ @kind = args[:kind] if args.key?(:kind)
23935
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
23936
+ @self_link = args[:self_link] if args.key?(:self_link)
23937
+ @warning = args[:warning] if args.key?(:warning)
23938
+ end
23939
+
23940
+ # [Output Only] Informational warning message.
23941
+ class Warning
23942
+ include Google::Apis::Core::Hashable
23943
+
23944
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
23945
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
23946
+ # Corresponds to the JSON property `code`
23947
+ # @return [String]
23948
+ attr_accessor :code
23949
+
23950
+ # [Output Only] Metadata about this warning in key: value format. For example:
23951
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
23952
+ # Corresponds to the JSON property `data`
23953
+ # @return [Array<Google::Apis::ComputeV1::PublicAdvertisedPrefixList::Warning::Datum>]
23954
+ attr_accessor :data
23955
+
23956
+ # [Output Only] A human-readable description of the warning code.
23957
+ # Corresponds to the JSON property `message`
23958
+ # @return [String]
23959
+ attr_accessor :message
23960
+
23961
+ def initialize(**args)
23962
+ update!(**args)
23963
+ end
23964
+
23965
+ # Update properties of this object
23966
+ def update!(**args)
23967
+ @code = args[:code] if args.key?(:code)
23968
+ @data = args[:data] if args.key?(:data)
23969
+ @message = args[:message] if args.key?(:message)
23970
+ end
23971
+
23972
+ #
23973
+ class Datum
23974
+ include Google::Apis::Core::Hashable
23975
+
23976
+ # [Output Only] A key that provides more detail on the warning being returned.
23977
+ # For example, for warnings where there are no results in a list request for a
23978
+ # particular zone, this key might be scope and the key value might be the zone
23979
+ # name. Other examples might be a key indicating a deprecated resource and a
23980
+ # suggested replacement, or a warning about invalid network settings (for
23981
+ # example, if an instance attempts to perform IP forwarding but is not enabled
23982
+ # for IP forwarding).
23983
+ # Corresponds to the JSON property `key`
23984
+ # @return [String]
23985
+ attr_accessor :key
23986
+
23987
+ # [Output Only] A warning data value corresponding to the key.
23988
+ # Corresponds to the JSON property `value`
23989
+ # @return [String]
23990
+ attr_accessor :value
23991
+
23992
+ def initialize(**args)
23993
+ update!(**args)
23994
+ end
23995
+
23996
+ # Update properties of this object
23997
+ def update!(**args)
23998
+ @key = args[:key] if args.key?(:key)
23999
+ @value = args[:value] if args.key?(:value)
24000
+ end
24001
+ end
24002
+ end
24003
+ end
24004
+
24005
+ # Represents a CIDR range which can be used to assign addresses.
24006
+ class PublicAdvertisedPrefixPublicDelegatedPrefix
24007
+ include Google::Apis::Core::Hashable
24008
+
24009
+ # The IP address range of the public delegated prefix
24010
+ # Corresponds to the JSON property `ipRange`
24011
+ # @return [String]
24012
+ attr_accessor :ip_range
24013
+
24014
+ # The name of the public delegated prefix
24015
+ # Corresponds to the JSON property `name`
24016
+ # @return [String]
24017
+ attr_accessor :name
24018
+
24019
+ # The project number of the public delegated prefix
24020
+ # Corresponds to the JSON property `project`
24021
+ # @return [String]
24022
+ attr_accessor :project
24023
+
24024
+ # The region of the public delegated prefix if it is regional. If absent, the
24025
+ # prefix is global.
24026
+ # Corresponds to the JSON property `region`
24027
+ # @return [String]
24028
+ attr_accessor :region
24029
+
24030
+ # The status of the public delegated prefix. Possible values are: INITIALIZING:
24031
+ # The public delegated prefix is being initialized and addresses cannot be
24032
+ # created yet. ANNOUNCED: The public delegated prefix is active.
24033
+ # Corresponds to the JSON property `status`
24034
+ # @return [String]
24035
+ attr_accessor :status
24036
+
24037
+ def initialize(**args)
24038
+ update!(**args)
24039
+ end
24040
+
24041
+ # Update properties of this object
24042
+ def update!(**args)
24043
+ @ip_range = args[:ip_range] if args.key?(:ip_range)
24044
+ @name = args[:name] if args.key?(:name)
24045
+ @project = args[:project] if args.key?(:project)
24046
+ @region = args[:region] if args.key?(:region)
24047
+ @status = args[:status] if args.key?(:status)
24048
+ end
24049
+ end
24050
+
24051
+ # A PublicDelegatedPrefix resource represents an IP block within a
24052
+ # PublicAdvertisedPrefix that is configured within a single cloud scope (global
24053
+ # or region). IPs in the block can be allocated to resources within that scope.
24054
+ # Public delegated prefixes may be further broken up into smaller IP blocks in
24055
+ # the same scope as the parent block.
24056
+ class PublicDelegatedPrefix
24057
+ include Google::Apis::Core::Hashable
24058
+
24059
+ # [Output Only] Creation timestamp in RFC3339 text format.
24060
+ # Corresponds to the JSON property `creationTimestamp`
24061
+ # @return [String]
24062
+ attr_accessor :creation_timestamp
24063
+
24064
+ # An optional description of this resource. Provide this property when you
24065
+ # create the resource.
24066
+ # Corresponds to the JSON property `description`
24067
+ # @return [String]
24068
+ attr_accessor :description
24069
+
24070
+ # Fingerprint of this resource. A hash of the contents stored in this object.
24071
+ # This field is used in optimistic locking. This field will be ignored when
24072
+ # inserting a new PublicDelegatedPrefix. An up-to-date fingerprint must be
24073
+ # provided in order to update the PublicDelegatedPrefix, otherwise the request
24074
+ # will fail with error 412 conditionNotMet.
24075
+ # To see the latest fingerprint, make a get() request to retrieve a
24076
+ # PublicDelegatedPrefix.
24077
+ # Corresponds to the JSON property `fingerprint`
24078
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
24079
+ # @return [String]
24080
+ attr_accessor :fingerprint
24081
+
24082
+ # [Output Only] The unique identifier for the resource type. The server
24083
+ # generates this identifier.
24084
+ # Corresponds to the JSON property `id`
24085
+ # @return [Fixnum]
24086
+ attr_accessor :id
24087
+
24088
+ # The IPv4 address range, in CIDR format, represented by this public delegated
24089
+ # prefix.
24090
+ # Corresponds to the JSON property `ipCidrRange`
24091
+ # @return [String]
24092
+ attr_accessor :ip_cidr_range
24093
+
24094
+ # If true, the prefix will be live migrated.
24095
+ # Corresponds to the JSON property `isLiveMigration`
24096
+ # @return [Boolean]
24097
+ attr_accessor :is_live_migration
24098
+ alias_method :is_live_migration?, :is_live_migration
24099
+
24100
+ # [Output Only] Type of the resource. Always compute#publicDelegatedPrefix for
24101
+ # public delegated prefixes.
24102
+ # Corresponds to the JSON property `kind`
24103
+ # @return [String]
24104
+ attr_accessor :kind
24105
+
24106
+ # Name of the resource. Provided by the client when the resource is created. The
24107
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
24108
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
24109
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
24110
+ # and all following characters must be a dash, lowercase letter, or digit,
24111
+ # except the last character, which cannot be a dash.
24112
+ # Corresponds to the JSON property `name`
24113
+ # @return [String]
24114
+ attr_accessor :name
24115
+
24116
+ # The URL of parent prefix. Either PublicAdvertisedPrefix or
24117
+ # PublicDelegatedPrefix.
24118
+ # Corresponds to the JSON property `parentPrefix`
24119
+ # @return [String]
24120
+ attr_accessor :parent_prefix
24121
+
24122
+ # The list of sub public delegated prefixes that exist for this public delegated
24123
+ # prefix.
24124
+ # Corresponds to the JSON property `publicDelegatedSubPrefixs`
24125
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixPublicDelegatedSubPrefix>]
24126
+ attr_accessor :public_delegated_sub_prefixs
24127
+
24128
+ # [Output Only] URL of the region where the public delegated prefix resides.
24129
+ # This field applies only to the region resource. You must specify this field as
24130
+ # part of the HTTP request URL. It is not settable as a field in the request
24131
+ # body.
24132
+ # Corresponds to the JSON property `region`
24133
+ # @return [String]
24134
+ attr_accessor :region
24135
+
24136
+ # [Output Only] Server-defined URL for the resource.
24137
+ # Corresponds to the JSON property `selfLink`
24138
+ # @return [String]
24139
+ attr_accessor :self_link
24140
+
24141
+ # [Output Only] The status of the public delegated prefix.
24142
+ # Corresponds to the JSON property `status`
24143
+ # @return [String]
24144
+ attr_accessor :status
24145
+
24146
+ def initialize(**args)
24147
+ update!(**args)
24148
+ end
24149
+
24150
+ # Update properties of this object
24151
+ def update!(**args)
24152
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
24153
+ @description = args[:description] if args.key?(:description)
24154
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
24155
+ @id = args[:id] if args.key?(:id)
24156
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
24157
+ @is_live_migration = args[:is_live_migration] if args.key?(:is_live_migration)
24158
+ @kind = args[:kind] if args.key?(:kind)
24159
+ @name = args[:name] if args.key?(:name)
24160
+ @parent_prefix = args[:parent_prefix] if args.key?(:parent_prefix)
24161
+ @public_delegated_sub_prefixs = args[:public_delegated_sub_prefixs] if args.key?(:public_delegated_sub_prefixs)
24162
+ @region = args[:region] if args.key?(:region)
24163
+ @self_link = args[:self_link] if args.key?(:self_link)
24164
+ @status = args[:status] if args.key?(:status)
24165
+ end
24166
+ end
24167
+
24168
+ #
24169
+ class PublicDelegatedPrefixAggregatedList
24170
+ include Google::Apis::Core::Hashable
24171
+
24172
+ # [Output Only] Unique identifier for the resource; defined by the server.
24173
+ # Corresponds to the JSON property `id`
24174
+ # @return [String]
24175
+ attr_accessor :id
24176
+
24177
+ # A list of PublicDelegatedPrefixesScopedList resources.
24178
+ # Corresponds to the JSON property `items`
24179
+ # @return [Hash<String,Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList>]
24180
+ attr_accessor :items
24181
+
24182
+ # [Output Only] Type of the resource. Always compute#
24183
+ # publicDelegatedPrefixAggregatedList for aggregated lists of public delegated
24184
+ # prefixes.
24185
+ # Corresponds to the JSON property `kind`
24186
+ # @return [String]
24187
+ attr_accessor :kind
24188
+
24189
+ # [Output Only] This token allows you to get the next page of results for list
24190
+ # requests. If the number of results is larger than maxResults, use the
24191
+ # nextPageToken as a value for the query parameter pageToken in the next list
24192
+ # request. Subsequent list requests will have their own nextPageToken to
24193
+ # continue paging through the results.
24194
+ # Corresponds to the JSON property `nextPageToken`
24195
+ # @return [String]
24196
+ attr_accessor :next_page_token
24197
+
24198
+ # [Output Only] Server-defined URL for this resource.
24199
+ # Corresponds to the JSON property `selfLink`
24200
+ # @return [String]
24201
+ attr_accessor :self_link
24202
+
24203
+ # [Output Only] Unreachable resources.
24204
+ # Corresponds to the JSON property `unreachables`
24205
+ # @return [Array<String>]
24206
+ attr_accessor :unreachables
24207
+
24208
+ # [Output Only] Informational warning message.
24209
+ # Corresponds to the JSON property `warning`
24210
+ # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList::Warning]
24211
+ attr_accessor :warning
24212
+
24213
+ def initialize(**args)
24214
+ update!(**args)
24215
+ end
24216
+
24217
+ # Update properties of this object
24218
+ def update!(**args)
24219
+ @id = args[:id] if args.key?(:id)
24220
+ @items = args[:items] if args.key?(:items)
24221
+ @kind = args[:kind] if args.key?(:kind)
24222
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
24223
+ @self_link = args[:self_link] if args.key?(:self_link)
24224
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
24225
+ @warning = args[:warning] if args.key?(:warning)
24226
+ end
24227
+
24228
+ # [Output Only] Informational warning message.
24229
+ class Warning
24230
+ include Google::Apis::Core::Hashable
24231
+
24232
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24233
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24234
+ # Corresponds to the JSON property `code`
24235
+ # @return [String]
24236
+ attr_accessor :code
24237
+
24238
+ # [Output Only] Metadata about this warning in key: value format. For example:
24239
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24240
+ # Corresponds to the JSON property `data`
24241
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList::Warning::Datum>]
24242
+ attr_accessor :data
24243
+
24244
+ # [Output Only] A human-readable description of the warning code.
24245
+ # Corresponds to the JSON property `message`
24246
+ # @return [String]
24247
+ attr_accessor :message
24248
+
24249
+ def initialize(**args)
24250
+ update!(**args)
24251
+ end
24252
+
24253
+ # Update properties of this object
24254
+ def update!(**args)
24255
+ @code = args[:code] if args.key?(:code)
24256
+ @data = args[:data] if args.key?(:data)
24257
+ @message = args[:message] if args.key?(:message)
24258
+ end
24259
+
24260
+ #
24261
+ class Datum
24262
+ include Google::Apis::Core::Hashable
24263
+
24264
+ # [Output Only] A key that provides more detail on the warning being returned.
24265
+ # For example, for warnings where there are no results in a list request for a
24266
+ # particular zone, this key might be scope and the key value might be the zone
24267
+ # name. Other examples might be a key indicating a deprecated resource and a
24268
+ # suggested replacement, or a warning about invalid network settings (for
24269
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24270
+ # for IP forwarding).
24271
+ # Corresponds to the JSON property `key`
24272
+ # @return [String]
24273
+ attr_accessor :key
24274
+
24275
+ # [Output Only] A warning data value corresponding to the key.
24276
+ # Corresponds to the JSON property `value`
24277
+ # @return [String]
24278
+ attr_accessor :value
24279
+
24280
+ def initialize(**args)
24281
+ update!(**args)
24282
+ end
24283
+
24284
+ # Update properties of this object
24285
+ def update!(**args)
24286
+ @key = args[:key] if args.key?(:key)
24287
+ @value = args[:value] if args.key?(:value)
24288
+ end
24289
+ end
24290
+ end
24291
+ end
24292
+
24293
+ #
24294
+ class PublicDelegatedPrefixList
24295
+ include Google::Apis::Core::Hashable
24296
+
24297
+ # [Output Only] Unique identifier for the resource; defined by the server.
24298
+ # Corresponds to the JSON property `id`
24299
+ # @return [String]
24300
+ attr_accessor :id
24301
+
24302
+ # A list of PublicDelegatedPrefix resources.
24303
+ # Corresponds to the JSON property `items`
24304
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefix>]
24305
+ attr_accessor :items
24306
+
24307
+ # [Output Only] Type of the resource. Always compute#publicDelegatedPrefixList
24308
+ # for public delegated prefixes.
24309
+ # Corresponds to the JSON property `kind`
24310
+ # @return [String]
24311
+ attr_accessor :kind
24312
+
24313
+ # [Output Only] This token allows you to get the next page of results for list
24314
+ # requests. If the number of results is larger than maxResults, use the
24315
+ # nextPageToken as a value for the query parameter pageToken in the next list
24316
+ # request. Subsequent list requests will have their own nextPageToken to
24317
+ # continue paging through the results.
24318
+ # Corresponds to the JSON property `nextPageToken`
24319
+ # @return [String]
24320
+ attr_accessor :next_page_token
24321
+
24322
+ # [Output Only] Server-defined URL for this resource.
24323
+ # Corresponds to the JSON property `selfLink`
24324
+ # @return [String]
24325
+ attr_accessor :self_link
24326
+
24327
+ # [Output Only] Informational warning message.
24328
+ # Corresponds to the JSON property `warning`
24329
+ # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixList::Warning]
24330
+ attr_accessor :warning
24331
+
24332
+ def initialize(**args)
24333
+ update!(**args)
24334
+ end
24335
+
24336
+ # Update properties of this object
24337
+ def update!(**args)
24338
+ @id = args[:id] if args.key?(:id)
24339
+ @items = args[:items] if args.key?(:items)
24340
+ @kind = args[:kind] if args.key?(:kind)
24341
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
24342
+ @self_link = args[:self_link] if args.key?(:self_link)
24343
+ @warning = args[:warning] if args.key?(:warning)
24344
+ end
24345
+
24346
+ # [Output Only] Informational warning message.
24347
+ class Warning
24348
+ include Google::Apis::Core::Hashable
24349
+
24350
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24351
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24352
+ # Corresponds to the JSON property `code`
24353
+ # @return [String]
24354
+ attr_accessor :code
24355
+
24356
+ # [Output Only] Metadata about this warning in key: value format. For example:
24357
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24358
+ # Corresponds to the JSON property `data`
24359
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixList::Warning::Datum>]
24360
+ attr_accessor :data
24361
+
24362
+ # [Output Only] A human-readable description of the warning code.
24363
+ # Corresponds to the JSON property `message`
24364
+ # @return [String]
24365
+ attr_accessor :message
24366
+
24367
+ def initialize(**args)
24368
+ update!(**args)
24369
+ end
24370
+
24371
+ # Update properties of this object
24372
+ def update!(**args)
24373
+ @code = args[:code] if args.key?(:code)
24374
+ @data = args[:data] if args.key?(:data)
24375
+ @message = args[:message] if args.key?(:message)
24376
+ end
24377
+
24378
+ #
24379
+ class Datum
24380
+ include Google::Apis::Core::Hashable
24381
+
24382
+ # [Output Only] A key that provides more detail on the warning being returned.
24383
+ # For example, for warnings where there are no results in a list request for a
24384
+ # particular zone, this key might be scope and the key value might be the zone
24385
+ # name. Other examples might be a key indicating a deprecated resource and a
24386
+ # suggested replacement, or a warning about invalid network settings (for
24387
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24388
+ # for IP forwarding).
24389
+ # Corresponds to the JSON property `key`
24390
+ # @return [String]
24391
+ attr_accessor :key
24392
+
24393
+ # [Output Only] A warning data value corresponding to the key.
24394
+ # Corresponds to the JSON property `value`
24395
+ # @return [String]
24396
+ attr_accessor :value
24397
+
24398
+ def initialize(**args)
24399
+ update!(**args)
24400
+ end
24401
+
24402
+ # Update properties of this object
24403
+ def update!(**args)
24404
+ @key = args[:key] if args.key?(:key)
24405
+ @value = args[:value] if args.key?(:value)
24406
+ end
24407
+ end
24408
+ end
24409
+ end
24410
+
24411
+ # Represents a sub PublicDelegatedPrefix.
24412
+ class PublicDelegatedPrefixPublicDelegatedSubPrefix
24413
+ include Google::Apis::Core::Hashable
24414
+
24415
+ # Name of the project scoping this PublicDelegatedSubPrefix.
24416
+ # Corresponds to the JSON property `delegateeProject`
24417
+ # @return [String]
24418
+ attr_accessor :delegatee_project
24419
+
24420
+ # An optional description of this resource. Provide this property when you
24421
+ # create the resource.
24422
+ # Corresponds to the JSON property `description`
24423
+ # @return [String]
24424
+ attr_accessor :description
24425
+
24426
+ # The IPv4 address range, in CIDR format, represented by this sub public
24427
+ # delegated prefix.
24428
+ # Corresponds to the JSON property `ipCidrRange`
24429
+ # @return [String]
24430
+ attr_accessor :ip_cidr_range
24431
+
24432
+ # Whether the sub prefix is delegated to create Address resources in the
24433
+ # delegatee project.
24434
+ # Corresponds to the JSON property `isAddress`
24435
+ # @return [Boolean]
24436
+ attr_accessor :is_address
24437
+ alias_method :is_address?, :is_address
24438
+
24439
+ # The name of the sub public delegated prefix.
24440
+ # Corresponds to the JSON property `name`
24441
+ # @return [String]
24442
+ attr_accessor :name
24443
+
24444
+ # [Output Only] The region of the sub public delegated prefix if it is regional.
24445
+ # If absent, the sub prefix is global.
24446
+ # Corresponds to the JSON property `region`
24447
+ # @return [String]
24448
+ attr_accessor :region
24449
+
24450
+ # [Output Only] The status of the sub public delegated prefix.
24451
+ # Corresponds to the JSON property `status`
24452
+ # @return [String]
24453
+ attr_accessor :status
24454
+
24455
+ def initialize(**args)
24456
+ update!(**args)
24457
+ end
24458
+
24459
+ # Update properties of this object
24460
+ def update!(**args)
24461
+ @delegatee_project = args[:delegatee_project] if args.key?(:delegatee_project)
24462
+ @description = args[:description] if args.key?(:description)
24463
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
24464
+ @is_address = args[:is_address] if args.key?(:is_address)
24465
+ @name = args[:name] if args.key?(:name)
24466
+ @region = args[:region] if args.key?(:region)
24467
+ @status = args[:status] if args.key?(:status)
24468
+ end
24469
+ end
24470
+
24471
+ #
24472
+ class PublicDelegatedPrefixesScopedList
24473
+ include Google::Apis::Core::Hashable
24474
+
24475
+ # [Output Only] A list of PublicDelegatedPrefixes contained in this scope.
24476
+ # Corresponds to the JSON property `publicDelegatedPrefixes`
24477
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefix>]
24478
+ attr_accessor :public_delegated_prefixes
24479
+
24480
+ # [Output Only] Informational warning which replaces the list of public
24481
+ # delegated prefixes when the list is empty.
24482
+ # Corresponds to the JSON property `warning`
24483
+ # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList::Warning]
24484
+ attr_accessor :warning
24485
+
24486
+ def initialize(**args)
24487
+ update!(**args)
24488
+ end
24489
+
24490
+ # Update properties of this object
24491
+ def update!(**args)
24492
+ @public_delegated_prefixes = args[:public_delegated_prefixes] if args.key?(:public_delegated_prefixes)
24493
+ @warning = args[:warning] if args.key?(:warning)
24494
+ end
24495
+
24496
+ # [Output Only] Informational warning which replaces the list of public
24497
+ # delegated prefixes when the list is empty.
24498
+ class Warning
24499
+ include Google::Apis::Core::Hashable
24500
+
24501
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24502
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24503
+ # Corresponds to the JSON property `code`
24504
+ # @return [String]
24505
+ attr_accessor :code
24506
+
24507
+ # [Output Only] Metadata about this warning in key: value format. For example:
24508
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24509
+ # Corresponds to the JSON property `data`
24510
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList::Warning::Datum>]
24511
+ attr_accessor :data
24512
+
24513
+ # [Output Only] A human-readable description of the warning code.
24514
+ # Corresponds to the JSON property `message`
24515
+ # @return [String]
24516
+ attr_accessor :message
24517
+
24518
+ def initialize(**args)
24519
+ update!(**args)
24520
+ end
24521
+
24522
+ # Update properties of this object
24523
+ def update!(**args)
24524
+ @code = args[:code] if args.key?(:code)
24525
+ @data = args[:data] if args.key?(:data)
24526
+ @message = args[:message] if args.key?(:message)
24527
+ end
24528
+
24529
+ #
24530
+ class Datum
24531
+ include Google::Apis::Core::Hashable
24532
+
24533
+ # [Output Only] A key that provides more detail on the warning being returned.
24534
+ # For example, for warnings where there are no results in a list request for a
24535
+ # particular zone, this key might be scope and the key value might be the zone
24536
+ # name. Other examples might be a key indicating a deprecated resource and a
24537
+ # suggested replacement, or a warning about invalid network settings (for
24538
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24539
+ # for IP forwarding).
24540
+ # Corresponds to the JSON property `key`
24541
+ # @return [String]
24542
+ attr_accessor :key
24543
+
24544
+ # [Output Only] A warning data value corresponding to the key.
24545
+ # Corresponds to the JSON property `value`
24546
+ # @return [String]
24547
+ attr_accessor :value
24548
+
24549
+ def initialize(**args)
24550
+ update!(**args)
24551
+ end
24552
+
24553
+ # Update properties of this object
24554
+ def update!(**args)
24555
+ @key = args[:key] if args.key?(:key)
24556
+ @value = args[:value] if args.key?(:value)
24557
+ end
24558
+ end
24559
+ end
24560
+ end
24561
+
24562
+ # A quotas entry.
24563
+ class Quota
24564
+ include Google::Apis::Core::Hashable
24565
+
24566
+ # [Output Only] Quota limit for this metric.
24567
+ # Corresponds to the JSON property `limit`
24568
+ # @return [Float]
24569
+ attr_accessor :limit
24570
+
24571
+ # [Output Only] Name of the quota metric.
24572
+ # Corresponds to the JSON property `metric`
24573
+ # @return [String]
24574
+ attr_accessor :metric
24575
+
24576
+ # [Output Only] Owning resource. This is the resource on which this quota is
24577
+ # applied.
24578
+ # Corresponds to the JSON property `owner`
24579
+ # @return [String]
24580
+ attr_accessor :owner
24581
+
24582
+ # [Output Only] Current usage of this metric.
24583
+ # Corresponds to the JSON property `usage`
24584
+ # @return [Float]
24585
+ attr_accessor :usage
24586
+
24587
+ def initialize(**args)
24588
+ update!(**args)
24589
+ end
24590
+
24591
+ # Update properties of this object
24592
+ def update!(**args)
24593
+ @limit = args[:limit] if args.key?(:limit)
24594
+ @metric = args[:metric] if args.key?(:metric)
24595
+ @owner = args[:owner] if args.key?(:owner)
24596
+ @usage = args[:usage] if args.key?(:usage)
24597
+ end
24598
+ end
24599
+
24600
+ # Represents a reference to a resource.
24601
+ class Reference
24602
+ include Google::Apis::Core::Hashable
24603
+
24604
+ # [Output Only] Type of the resource. Always compute#reference for references.
24605
+ # Corresponds to the JSON property `kind`
24606
+ # @return [String]
24607
+ attr_accessor :kind
24608
+
24609
+ # A description of the reference type with no implied semantics. Possible values
24610
+ # include:
24611
+ # - MEMBER_OF
24612
+ # Corresponds to the JSON property `referenceType`
24613
+ # @return [String]
24614
+ attr_accessor :reference_type
24615
+
24616
+ # URL of the resource which refers to the target.
24617
+ # Corresponds to the JSON property `referrer`
24618
+ # @return [String]
24619
+ attr_accessor :referrer
24620
+
24621
+ # URL of the resource to which this reference points.
24622
+ # Corresponds to the JSON property `target`
24623
+ # @return [String]
24624
+ attr_accessor :target
24625
+
24626
+ def initialize(**args)
24627
+ update!(**args)
24628
+ end
24629
+
24630
+ # Update properties of this object
24631
+ def update!(**args)
24632
+ @kind = args[:kind] if args.key?(:kind)
24633
+ @reference_type = args[:reference_type] if args.key?(:reference_type)
24634
+ @referrer = args[:referrer] if args.key?(:referrer)
24635
+ @target = args[:target] if args.key?(:target)
24636
+ end
24637
+ end
24638
+
24639
+ # Represents a Region resource.
24640
+ # A region is a geographical area where a resource is located. For more
24641
+ # information, read Regions and Zones. (== resource_for `$api_version`.regions ==
24642
+ # )
24643
+ class Region
24644
+ include Google::Apis::Core::Hashable
24645
+
24646
+ # [Output Only] Creation timestamp in RFC3339 text format.
24647
+ # Corresponds to the JSON property `creationTimestamp`
24648
+ # @return [String]
24649
+ attr_accessor :creation_timestamp
24650
+
24651
+ # Deprecation status for a public resource.
24652
+ # Corresponds to the JSON property `deprecated`
24653
+ # @return [Google::Apis::ComputeV1::DeprecationStatus]
24654
+ attr_accessor :deprecated
24655
+
24656
+ # [Output Only] Textual description of the resource.
24657
+ # Corresponds to the JSON property `description`
24658
+ # @return [String]
24659
+ attr_accessor :description
24660
+
24661
+ # [Output Only] The unique identifier for the resource. This identifier is
24662
+ # defined by the server.
24663
+ # Corresponds to the JSON property `id`
24664
+ # @return [Fixnum]
24665
+ attr_accessor :id
24666
+
24667
+ # [Output Only] Type of the resource. Always compute#region for regions.
24668
+ # Corresponds to the JSON property `kind`
24669
+ # @return [String]
24670
+ attr_accessor :kind
24671
+
24672
+ # [Output Only] Name of the resource.
24673
+ # Corresponds to the JSON property `name`
24674
+ # @return [String]
24675
+ attr_accessor :name
24676
+
24677
+ # [Output Only] Quotas assigned to this region.
24678
+ # Corresponds to the JSON property `quotas`
24679
+ # @return [Array<Google::Apis::ComputeV1::Quota>]
24680
+ attr_accessor :quotas
24681
+
24682
+ # [Output Only] Server-defined URL for the resource.
24683
+ # Corresponds to the JSON property `selfLink`
24684
+ # @return [String]
24685
+ attr_accessor :self_link
24686
+
24687
+ # [Output Only] Status of the region, either UP or DOWN.
24688
+ # Corresponds to the JSON property `status`
24689
+ # @return [String]
24690
+ attr_accessor :status
24691
+
24692
+ # [Output Only] Reserved for future use.
24693
+ # Corresponds to the JSON property `supportsPzs`
24694
+ # @return [Boolean]
24695
+ attr_accessor :supports_pzs
24696
+ alias_method :supports_pzs?, :supports_pzs
24697
+
24698
+ # [Output Only] A list of zones available in this region, in the form of
24699
+ # resource URLs.
24700
+ # Corresponds to the JSON property `zones`
24701
+ # @return [Array<String>]
24702
+ attr_accessor :zones
24703
+
24704
+ def initialize(**args)
24705
+ update!(**args)
24706
+ end
24707
+
24708
+ # Update properties of this object
24709
+ def update!(**args)
24710
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
24711
+ @deprecated = args[:deprecated] if args.key?(:deprecated)
24712
+ @description = args[:description] if args.key?(:description)
24713
+ @id = args[:id] if args.key?(:id)
24714
+ @kind = args[:kind] if args.key?(:kind)
24715
+ @name = args[:name] if args.key?(:name)
24716
+ @quotas = args[:quotas] if args.key?(:quotas)
24717
+ @self_link = args[:self_link] if args.key?(:self_link)
24718
+ @status = args[:status] if args.key?(:status)
24719
+ @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
24720
+ @zones = args[:zones] if args.key?(:zones)
24721
+ end
24722
+ end
24723
+
24724
+ # Contains a list of autoscalers.
24725
+ class RegionAutoscalerList
24726
+ include Google::Apis::Core::Hashable
24727
+
24728
+ # [Output Only] Unique identifier for the resource; defined by the server.
24729
+ # Corresponds to the JSON property `id`
24730
+ # @return [String]
24731
+ attr_accessor :id
24732
+
24733
+ # A list of Autoscaler resources.
24734
+ # Corresponds to the JSON property `items`
24735
+ # @return [Array<Google::Apis::ComputeV1::Autoscaler>]
24736
+ attr_accessor :items
24737
+
24738
+ # Type of resource.
24739
+ # Corresponds to the JSON property `kind`
24740
+ # @return [String]
24741
+ attr_accessor :kind
24742
+
24743
+ # [Output Only] This token allows you to get the next page of results for list
24744
+ # requests. If the number of results is larger than maxResults, use the
24745
+ # nextPageToken as a value for the query parameter pageToken in the next list
24746
+ # request. Subsequent list requests will have their own nextPageToken to
24747
+ # continue paging through the results.
24748
+ # Corresponds to the JSON property `nextPageToken`
24749
+ # @return [String]
24750
+ attr_accessor :next_page_token
24751
+
24752
+ # [Output Only] Server-defined URL for this resource.
24753
+ # Corresponds to the JSON property `selfLink`
24754
+ # @return [String]
24755
+ attr_accessor :self_link
24756
+
24757
+ # [Output Only] Informational warning message.
24758
+ # Corresponds to the JSON property `warning`
24759
+ # @return [Google::Apis::ComputeV1::RegionAutoscalerList::Warning]
24760
+ attr_accessor :warning
24761
+
24762
+ def initialize(**args)
24763
+ update!(**args)
24764
+ end
24765
+
24766
+ # Update properties of this object
24767
+ def update!(**args)
24768
+ @id = args[:id] if args.key?(:id)
24769
+ @items = args[:items] if args.key?(:items)
24770
+ @kind = args[:kind] if args.key?(:kind)
24771
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
24772
+ @self_link = args[:self_link] if args.key?(:self_link)
24773
+ @warning = args[:warning] if args.key?(:warning)
24774
+ end
24775
+
24776
+ # [Output Only] Informational warning message.
24777
+ class Warning
24778
+ include Google::Apis::Core::Hashable
24779
+
24780
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24781
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24782
+ # Corresponds to the JSON property `code`
24783
+ # @return [String]
24784
+ attr_accessor :code
24785
+
24786
+ # [Output Only] Metadata about this warning in key: value format. For example:
24787
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24788
+ # Corresponds to the JSON property `data`
24789
+ # @return [Array<Google::Apis::ComputeV1::RegionAutoscalerList::Warning::Datum>]
24790
+ attr_accessor :data
24791
+
24792
+ # [Output Only] A human-readable description of the warning code.
24793
+ # Corresponds to the JSON property `message`
24794
+ # @return [String]
24795
+ attr_accessor :message
24796
+
24797
+ def initialize(**args)
24798
+ update!(**args)
24799
+ end
24800
+
24801
+ # Update properties of this object
24802
+ def update!(**args)
24803
+ @code = args[:code] if args.key?(:code)
24804
+ @data = args[:data] if args.key?(:data)
24805
+ @message = args[:message] if args.key?(:message)
24806
+ end
24807
+
24808
+ #
24809
+ class Datum
24810
+ include Google::Apis::Core::Hashable
24811
+
24812
+ # [Output Only] A key that provides more detail on the warning being returned.
24813
+ # For example, for warnings where there are no results in a list request for a
24814
+ # particular zone, this key might be scope and the key value might be the zone
24815
+ # name. Other examples might be a key indicating a deprecated resource and a
24816
+ # suggested replacement, or a warning about invalid network settings (for
24817
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24818
+ # for IP forwarding).
24819
+ # Corresponds to the JSON property `key`
24820
+ # @return [String]
24821
+ attr_accessor :key
24822
+
24823
+ # [Output Only] A warning data value corresponding to the key.
24824
+ # Corresponds to the JSON property `value`
24825
+ # @return [String]
24826
+ attr_accessor :value
24827
+
24828
+ def initialize(**args)
24829
+ update!(**args)
24830
+ end
24831
+
24832
+ # Update properties of this object
24833
+ def update!(**args)
24834
+ @key = args[:key] if args.key?(:key)
24835
+ @value = args[:value] if args.key?(:value)
24836
+ end
24837
+ end
24838
+ end
24839
+ end
24840
+
24841
+ #
24842
+ class RegionDiskTypeList
24843
+ include Google::Apis::Core::Hashable
24844
+
24845
+ # [Output Only] Unique identifier for the resource; defined by the server.
24846
+ # Corresponds to the JSON property `id`
24847
+ # @return [String]
24848
+ attr_accessor :id
24849
+
24850
+ # A list of DiskType resources.
24851
+ # Corresponds to the JSON property `items`
24852
+ # @return [Array<Google::Apis::ComputeV1::DiskType>]
24853
+ attr_accessor :items
24854
+
24855
+ # [Output Only] Type of resource. Always compute#regionDiskTypeList for region
24856
+ # disk types.
24857
+ # Corresponds to the JSON property `kind`
24858
+ # @return [String]
24859
+ attr_accessor :kind
24860
+
24861
+ # [Output Only] This token allows you to get the next page of results for list
24862
+ # requests. If the number of results is larger than maxResults, use the
24863
+ # nextPageToken as a value for the query parameter pageToken in the next list
24864
+ # request. Subsequent list requests will have their own nextPageToken to
24865
+ # continue paging through the results.
24866
+ # Corresponds to the JSON property `nextPageToken`
24867
+ # @return [String]
24868
+ attr_accessor :next_page_token
24869
+
24870
+ # [Output Only] Server-defined URL for this resource.
24871
+ # Corresponds to the JSON property `selfLink`
24872
+ # @return [String]
24873
+ attr_accessor :self_link
24874
+
24875
+ # [Output Only] Informational warning message.
24876
+ # Corresponds to the JSON property `warning`
24877
+ # @return [Google::Apis::ComputeV1::RegionDiskTypeList::Warning]
23507
24878
  attr_accessor :warning
23508
24879
 
23509
24880
  def initialize(**args)
@@ -26499,6 +27870,14 @@ module Google
26499
27870
  # @return [String]
26500
27871
  attr_accessor :description
26501
27872
 
27873
+ # Field to indicate if a router is dedicated to use with encrypted Interconnect
27874
+ # Attachment (IPsec-encrypted Cloud Interconnect feature).
27875
+ # Not currently available in all Interconnect locations.
27876
+ # Corresponds to the JSON property `encryptedInterconnectRouter`
27877
+ # @return [Boolean]
27878
+ attr_accessor :encrypted_interconnect_router
27879
+ alias_method :encrypted_interconnect_router?, :encrypted_interconnect_router
27880
+
26502
27881
  # [Output Only] The unique identifier for the resource. This identifier is
26503
27882
  # defined by the server.
26504
27883
  # Corresponds to the JSON property `id`
@@ -26559,6 +27938,7 @@ module Google
26559
27938
  @bgp_peers = args[:bgp_peers] if args.key?(:bgp_peers)
26560
27939
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
26561
27940
  @description = args[:description] if args.key?(:description)
27941
+ @encrypted_interconnect_router = args[:encrypted_interconnect_router] if args.key?(:encrypted_interconnect_router)
26562
27942
  @id = args[:id] if args.key?(:id)
26563
27943
  @interfaces = args[:interfaces] if args.key?(:interfaces)
26564
27944
  @kind = args[:kind] if args.key?(:kind)
@@ -26776,12 +28156,11 @@ module Google
26776
28156
  # User-specified list of prefix groups to advertise in custom mode, which can
26777
28157
  # take one of the following options:
26778
28158
  # - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets.
26779
- # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets.
26780
- # - ALL_PEER_VPC_SUBNETS: Advertises peer subnets of the router's VPC network.
26781
- # Note that this field can only be populated if advertise_mode is CUSTOM and
26782
- # overrides the list defined for the router (in the "bgp" message). These groups
26783
- # are advertised in addition to any specified prefixes. Leave this field blank
26784
- # to advertise no custom groups.
28159
+ # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. Note that this
28160
+ # field can only be populated if advertise_mode is CUSTOM and overrides the list
28161
+ # defined for the router (in the "bgp" message). These groups are advertised in
28162
+ # addition to any specified prefixes. Leave this field blank to advertise no
28163
+ # custom groups.
26785
28164
  # Corresponds to the JSON property `advertisedGroups`
26786
28165
  # @return [Array<String>]
26787
28166
  attr_accessor :advertised_groups
@@ -27675,7 +29054,42 @@ module Google
27675
29054
  end
27676
29055
  end
27677
29056
 
27678
- # Sets the scheduling options for an Instance. NextID: 17
29057
+ #
29058
+ class ScalingScheduleStatus
29059
+ include Google::Apis::Core::Hashable
29060
+
29061
+ # [Output Only] The last time the scaling schedule became active. Note: this is
29062
+ # a timestamp when a schedule actually became active, not when it was planned to
29063
+ # do so. The timestamp is in RFC3339 text format.
29064
+ # Corresponds to the JSON property `lastStartTime`
29065
+ # @return [String]
29066
+ attr_accessor :last_start_time
29067
+
29068
+ # [Output Only] The next time the scaling schedule is to become active. Note:
29069
+ # this is a timestamp when a schedule is planned to run, but the actual time
29070
+ # might be slightly different. The timestamp is in RFC3339 text format.
29071
+ # Corresponds to the JSON property `nextStartTime`
29072
+ # @return [String]
29073
+ attr_accessor :next_start_time
29074
+
29075
+ # [Output Only] The current state of a scaling schedule.
29076
+ # Corresponds to the JSON property `state`
29077
+ # @return [String]
29078
+ attr_accessor :state
29079
+
29080
+ def initialize(**args)
29081
+ update!(**args)
29082
+ end
29083
+
29084
+ # Update properties of this object
29085
+ def update!(**args)
29086
+ @last_start_time = args[:last_start_time] if args.key?(:last_start_time)
29087
+ @next_start_time = args[:next_start_time] if args.key?(:next_start_time)
29088
+ @state = args[:state] if args.key?(:state)
29089
+ end
29090
+ end
29091
+
29092
+ # Sets the scheduling options for an Instance. NextID: 20
27679
29093
  class Scheduling
27680
29094
  include Google::Apis::Core::Hashable
27681
29095
 
@@ -28055,7 +29469,7 @@ module Google
28055
29469
  class SecurityPolicyRule
28056
29470
  include Google::Apis::Core::Hashable
28057
29471
 
28058
- # The Action to preform when the client connection triggers the rule. Can
29472
+ # The Action to perform when the client connection triggers the rule. Can
28059
29473
  # currently be either "allow" or "deny()" where valid values for status are 403,
28060
29474
  # 404, and 502.
28061
29475
  # Corresponds to the JSON property `action`
@@ -29779,9 +31193,9 @@ module Google
29779
31193
  # The range of internal addresses that are owned by this subnetwork. Provide
29780
31194
  # this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.
29781
31195
  # 64.0.0/10. Ranges must be unique and non-overlapping within a network. Only
29782
- # IPv4 is supported. This field is set at resource creation time. This may be a
29783
- # RFC 1918 IP range, or a privately routed, non-RFC 1918 IP range, not belonging
29784
- # to Google. The range can be expanded after creation using expandIpCidrRange.
31196
+ # IPv4 is supported. This field is set at resource creation time. The range can
31197
+ # be any range listed in the Valid ranges list. The range can be expanded after
31198
+ # creation using expandIpCidrRange.
29785
31199
  # Corresponds to the JSON property `ipCidrRange`
29786
31200
  # @return [String]
29787
31201
  attr_accessor :ip_cidr_range
@@ -30196,7 +31610,7 @@ module Google
30196
31610
 
30197
31611
  # Can only be specified if VPC flow logs for this subnetwork is enabled.
30198
31612
  # Configures whether all, none or a subset of metadata fields should be added to
30199
- # the reported VPC flow logs. Default is INCLUDE_ALL_METADATA.
31613
+ # the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.
30200
31614
  # Corresponds to the JSON property `metadata`
30201
31615
  # @return [String]
30202
31616
  attr_accessor :metadata
@@ -30229,8 +31643,8 @@ module Google
30229
31643
  # The range of IP addresses belonging to this subnetwork secondary range.
30230
31644
  # Provide this property when you create the subnetwork. Ranges must be unique
30231
31645
  # and non-overlapping with all primary and secondary IP ranges within a network.
30232
- # Only IPv4 is supported. This may be a RFC 1918 IP range, or a privately, non-
30233
- # RFC 1918 IP range, not belonging to Google.
31646
+ # Only IPv4 is supported. The range can be any range listed in the Valid ranges
31647
+ # list.
30234
31648
  # Corresponds to the JSON property `ipCidrRange`
30235
31649
  # @return [String]
30236
31650
  attr_accessor :ip_cidr_range
@@ -31237,6 +32651,17 @@ module Google
31237
32651
  # @return [String]
31238
32652
  attr_accessor :description
31239
32653
 
32654
+ # Fingerprint of this resource. A hash of the contents stored in this object.
32655
+ # This field is used in optimistic locking. This field will be ignored when
32656
+ # inserting a TargetHttpsProxy. An up-to-date fingerprint must be provided in
32657
+ # order to patch the TargetHttpsProxy; otherwise, the request will fail with
32658
+ # error 412 conditionNotMet. To see the latest fingerprint, make a get() request
32659
+ # to retrieve the TargetHttpsProxy.
32660
+ # Corresponds to the JSON property `fingerprint`
32661
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
32662
+ # @return [String]
32663
+ attr_accessor :fingerprint
32664
+
31240
32665
  # [Output Only] The unique identifier for the resource. This identifier is
31241
32666
  # defined by the server.
31242
32667
  # Corresponds to the JSON property `id`
@@ -31339,6 +32764,7 @@ module Google
31339
32764
  @authorization_policy = args[:authorization_policy] if args.key?(:authorization_policy)
31340
32765
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
31341
32766
  @description = args[:description] if args.key?(:description)
32767
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
31342
32768
  @id = args[:id] if args.key?(:id)
31343
32769
  @kind = args[:kind] if args.key?(:kind)
31344
32770
  @name = args[:name] if args.key?(:name)
@@ -35281,6 +36707,15 @@ module Google
35281
36707
  # @return [Fixnum]
35282
36708
  attr_accessor :id
35283
36709
 
36710
+ # URL of the interconnect attachment resource. When the value of this field is
36711
+ # present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect;
36712
+ # all Egress or Ingress traffic for this VPN Gateway interface will go through
36713
+ # the specified interconnect attachment resource.
36714
+ # Not currently available in all Interconnect locations.
36715
+ # Corresponds to the JSON property `interconnectAttachment`
36716
+ # @return [String]
36717
+ attr_accessor :interconnect_attachment
36718
+
35284
36719
  # [Output Only] The external IP address for this VPN gateway interface.
35285
36720
  # Corresponds to the JSON property `ipAddress`
35286
36721
  # @return [String]
@@ -35293,6 +36728,7 @@ module Google
35293
36728
  # Update properties of this object
35294
36729
  def update!(**args)
35295
36730
  @id = args[:id] if args.key?(:id)
36731
+ @interconnect_attachment = args[:interconnect_attachment] if args.key?(:interconnect_attachment)
35296
36732
  @ip_address = args[:ip_address] if args.key?(:ip_address)
35297
36733
  end
35298
36734
  end
@@ -35539,8 +36975,8 @@ module Google
35539
36975
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
35540
36976
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
35541
36977
  # - NO_INCOMING_PACKETS: No incoming packets from peer.
35542
- # - REJECTED: Tunnel configuration was rejected, can be result of being
35543
- # blacklisted.
36978
+ # - REJECTED: Tunnel configuration was rejected, can be result of being denied
36979
+ # access.
35544
36980
  # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
35545
36981
  # resources.
35546
36982
  # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for