google-apis-compute_v1 0.3.0 → 0.8.0

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