google-apis-compute_v1 0.2.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 683bbfb2a2e68971229566c711bec6132a4c202f90dc10338505a5ce839b4e7c
4
- data.tar.gz: 58f56cd15cbcc79c8b28805c950e18f237731a2d11c54a5a4183159926239b2f
3
+ metadata.gz: 399c98b7064cdd4a62e98eb5a1e4a113958da8977c58e9a319c956c9295623b8
4
+ data.tar.gz: 87931d442e7fa46e3a9e2d0c13bfb1371daf10ace8da731a80d07bd1bfa051b8
5
5
  SHA512:
6
- metadata.gz: 13e54f6d901ce721e276e8bd540d3493542c72465e7278427b77859add8c52bde7f2a6849dc18fba2c4cea54ac738055078782d70a8a3c9a8c47da930364de19
7
- data.tar.gz: f934e33b4f6b2961fe492aa4962481079172273af542eec92813397d86a41b10ff9c3f59d1aab553a764e06cddd047848a769dd03ade4dc1ca1a95d386f68ae7
6
+ metadata.gz: 6993281f113446c656b349f6ef40ce4da23f75b8f73deb4eae60fec1b6ee61baea94a628528d95aacc9c6b6d2d3e508da75ee44009bd0348bb1e453375122588
7
+ data.tar.gz: 14f625d987bb7c79fa7e4d199c0e8c2ad1caf1c43aed3a9d1b7844d582f3c522845c1726bbca1a50d366b241219ffc002f201ede7e8b5d81774a6dcb99b56031
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Release history for google-apis-compute_v1
2
2
 
3
+ ### v0.7.0 (2021-03-19)
4
+
5
+ * Regenerated from discovery document revision 20210310
6
+
7
+ ### v0.6.0 (2021-03-10)
8
+
9
+ * Regenerated from discovery document revision 20210301
10
+ * Regenerated using generator version 0.2.0
11
+
12
+ ### v0.5.0 (2021-03-04)
13
+
14
+ * Unspecified changes
15
+
16
+ ### v0.4.0 (2021-02-24)
17
+
18
+ * Regenerated from discovery document revision 20210209
19
+
20
+ ### v0.3.0 (2021-02-16)
21
+
22
+ * Regenerated from discovery document revision 20210129
23
+
3
24
  ### v0.2.0 (2021-01-29)
4
25
 
5
26
  * Regenerated from discovery document revision 20210111
@@ -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,15 +630,15 @@ 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]
637
637
  attr_accessor :purpose
638
638
 
639
- # [Output Only] The URL of the region where the regional address resides. This
640
- # field is not applicable to global addresses. You must specify this field as
641
- # part of the HTTP request URL.
639
+ # [Output Only] The URL of the region where a regional address resides. For
640
+ # regional addresses, you must specify the region as a path parameter in the
641
+ # HTTP request URL. This field is not applicable to global addresses.
642
642
  # Corresponds to the JSON property `region`
643
643
  # @return [String]
644
644
  attr_accessor :region
@@ -1124,6 +1124,12 @@ module Google
1124
1124
  # @return [Array<Google::Apis::ComputeV1::AllocationSpecificSkuAllocationAllocatedInstancePropertiesReservedDisk>]
1125
1125
  attr_accessor :local_ssds
1126
1126
 
1127
+ # An opaque location hint used to place the allocation close to other resources.
1128
+ # This field is for use by internal tools that use the public API.
1129
+ # Corresponds to the JSON property `locationHint`
1130
+ # @return [String]
1131
+ attr_accessor :location_hint
1132
+
1127
1133
  # Specifies type of machine (name only) which has fixed number of vCPUs and
1128
1134
  # fixed amount of memory. This also includes specifying custom machine type
1129
1135
  # following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.
@@ -1144,6 +1150,7 @@ module Google
1144
1150
  def update!(**args)
1145
1151
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
1146
1152
  @local_ssds = args[:local_ssds] if args.key?(:local_ssds)
1153
+ @location_hint = args[:location_hint] if args.key?(:location_hint)
1147
1154
  @machine_type = args[:machine_type] if args.key?(:machine_type)
1148
1155
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
1149
1156
  end
@@ -1386,6 +1393,11 @@ module Google
1386
1393
  # @return [String]
1387
1394
  attr_accessor :on_update_action
1388
1395
 
1396
+ # Indicates how many IOPS must be provisioned for the disk.
1397
+ # Corresponds to the JSON property `provisionedIops`
1398
+ # @return [Fixnum]
1399
+ attr_accessor :provisioned_iops
1400
+
1389
1401
  # Resource policies applied to this disk for automatic snapshot creations.
1390
1402
  # Specified using the full or partial URL. For instance template, specify only
1391
1403
  # the resource policy name.
@@ -1451,6 +1463,7 @@ module Google
1451
1463
  @disk_type = args[:disk_type] if args.key?(:disk_type)
1452
1464
  @labels = args[:labels] if args.key?(:labels)
1453
1465
  @on_update_action = args[:on_update_action] if args.key?(:on_update_action)
1466
+ @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
1454
1467
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
1455
1468
  @source_image = args[:source_image] if args.key?(:source_image)
1456
1469
  @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
@@ -1630,6 +1643,11 @@ module Google
1630
1643
  # @return [String]
1631
1644
  attr_accessor :region
1632
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
+
1633
1651
  # [Output Only] Server-defined URL for the resource.
1634
1652
  # Corresponds to the JSON property `selfLink`
1635
1653
  # @return [String]
@@ -1680,6 +1698,7 @@ module Google
1680
1698
  @name = args[:name] if args.key?(:name)
1681
1699
  @recommended_size = args[:recommended_size] if args.key?(:recommended_size)
1682
1700
  @region = args[:region] if args.key?(:region)
1701
+ @scaling_schedule_status = args[:scaling_schedule_status] if args.key?(:scaling_schedule_status)
1683
1702
  @self_link = args[:self_link] if args.key?(:self_link)
1684
1703
  @status = args[:status] if args.key?(:status)
1685
1704
  @status_details = args[:status_details] if args.key?(:status_details)
@@ -2140,6 +2159,14 @@ module Google
2140
2159
  # @return [Google::Apis::ComputeV1::AutoscalingPolicyScaleInControl]
2141
2160
  attr_accessor :scale_in_control
2142
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
+
2143
2170
  def initialize(**args)
2144
2171
  update!(**args)
2145
2172
  end
@@ -2154,6 +2181,7 @@ module Google
2154
2181
  @min_num_replicas = args[:min_num_replicas] if args.key?(:min_num_replicas)
2155
2182
  @mode = args[:mode] if args.key?(:mode)
2156
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)
2157
2185
  end
2158
2186
  end
2159
2187
 
@@ -2319,6 +2347,70 @@ module Google
2319
2347
  end
2320
2348
  end
2321
2349
 
2350
+ # Scaling based on user-defined schedule. The message describes a single scaling
2351
+ # schedule. A scaling schedule changes the minimum number of VM instances an
2352
+ # autoscaler can recommend, which can trigger scaling out.
2353
+ class AutoscalingPolicyScalingSchedule
2354
+ include Google::Apis::Core::Hashable
2355
+
2356
+ # A description of a scaling schedule.
2357
+ # Corresponds to the JSON property `description`
2358
+ # @return [String]
2359
+ attr_accessor :description
2360
+
2361
+ # A boolean value that specifies whether a scaling schedule can influence
2362
+ # autoscaler recommendations. If set to true, then a scaling schedule has no
2363
+ # effect. This field is optional, and its value is false by default.
2364
+ # Corresponds to the JSON property `disabled`
2365
+ # @return [Boolean]
2366
+ attr_accessor :disabled
2367
+ alias_method :disabled?, :disabled
2368
+
2369
+ # The duration of time intervals, in seconds, for which this scaling schedule is
2370
+ # to run. The minimum allowed value is 300. This field is required.
2371
+ # Corresponds to the JSON property `durationSec`
2372
+ # @return [Fixnum]
2373
+ attr_accessor :duration_sec
2374
+
2375
+ # The minimum number of VM instances that the autoscaler will recommend in time
2376
+ # intervals starting according to schedule. This field is required.
2377
+ # Corresponds to the JSON property `minRequiredReplicas`
2378
+ # @return [Fixnum]
2379
+ attr_accessor :min_required_replicas
2380
+
2381
+ # The start timestamps of time intervals when this scaling schedule is to
2382
+ # provide a scaling signal. This field uses the extended cron format (with an
2383
+ # optional year field). The expression can describe a single timestamp if the
2384
+ # optional year is set, in which case the scaling schedule runs once. The
2385
+ # schedule is interpreted with respect to time_zone. This field is required.
2386
+ # Note: These timestamps only describe when autoscaler starts providing the
2387
+ # scaling signal. The VMs need additional time to become serving.
2388
+ # Corresponds to the JSON property `schedule`
2389
+ # @return [String]
2390
+ attr_accessor :schedule
2391
+
2392
+ # The time zone to use when interpreting the schedule. The value of this field
2393
+ # must be a time zone name from the tz database: http://en.wikipedia.org/wiki/
2394
+ # Tz_database. This field is assigned a default value of ?UTC? if left empty.
2395
+ # Corresponds to the JSON property `timeZone`
2396
+ # @return [String]
2397
+ attr_accessor :time_zone
2398
+
2399
+ def initialize(**args)
2400
+ update!(**args)
2401
+ end
2402
+
2403
+ # Update properties of this object
2404
+ def update!(**args)
2405
+ @description = args[:description] if args.key?(:description)
2406
+ @disabled = args[:disabled] if args.key?(:disabled)
2407
+ @duration_sec = args[:duration_sec] if args.key?(:duration_sec)
2408
+ @min_required_replicas = args[:min_required_replicas] if args.key?(:min_required_replicas)
2409
+ @schedule = args[:schedule] if args.key?(:schedule)
2410
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
2411
+ end
2412
+ end
2413
+
2322
2414
  # Message containing information of one individual backend.
2323
2415
  class Backend
2324
2416
  include Google::Apis::Core::Hashable
@@ -2533,6 +2625,13 @@ module Google
2533
2625
  class BackendBucketCdnPolicy
2534
2626
  include Google::Apis::Core::Hashable
2535
2627
 
2628
+ # Bypass the cache when the specified request headers are matched - e.g. Pragma
2629
+ # or Authorization headers. Up to 5 headers can be specified. The cache is
2630
+ # bypassed for all cdnPolicy.cacheMode settings.
2631
+ # Corresponds to the JSON property `bypassCacheOnRequestHeaders`
2632
+ # @return [Array<Google::Apis::ComputeV1::BackendBucketCdnPolicyBypassCacheOnRequestHeader>]
2633
+ attr_accessor :bypass_cache_on_request_headers
2634
+
2536
2635
  # Specifies the cache setting for all responses from this backend. The possible
2537
2636
  # values are:
2538
2637
  # USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache
@@ -2550,10 +2649,15 @@ module Google
2550
2649
  # @return [String]
2551
2650
  attr_accessor :cache_mode
2552
2651
 
2553
- # Specifies a separate client (e.g. browser client) TTL, separate from the TTL
2554
- # for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL
2555
- # for both Cloud CDN and the client-facing response. The maximum allowed value
2556
- # is 86400s (1 day).
2652
+ # Specifies a separate client (e.g. browser client) maximum TTL. This is used to
2653
+ # clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL,
2654
+ # the lesser of client_ttl and default_ttl is used for the response max-age
2655
+ # directive, along with a "public" directive. For cacheable content in
2656
+ # CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if
2657
+ # specified), or else sets the response max-age directive to the lesser of the
2658
+ # client_ttl and default_ttl, and also ensures a "public" cache-control
2659
+ # directive is present. If a client TTL is not specified, a default value (1
2660
+ # hour) will be used. The maximum allowed value is 86400s (1 day).
2557
2661
  # Corresponds to the JSON property `clientTtl`
2558
2662
  # @return [Fixnum]
2559
2663
  attr_accessor :client_ttl
@@ -2582,6 +2686,46 @@ module Google
2582
2686
  # @return [Fixnum]
2583
2687
  attr_accessor :max_ttl
2584
2688
 
2689
+ # Negative caching allows per-status code TTLs to be set, in order to apply fine-
2690
+ # grained caching for common errors or redirects. This can reduce the load on
2691
+ # your origin and improve end-user experience by reducing response latency. When
2692
+ # the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative
2693
+ # caching applies to responses with the specified response code that lack any
2694
+ # Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is
2695
+ # set to FORCE_CACHE_ALL, negative caching applies to all responses with the
2696
+ # specified response code, and override any caching headers. By default, Cloud
2697
+ # CDN will apply the following default TTLs to these status codes: HTTP 300 (
2698
+ # Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found),
2699
+ # 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not
2700
+ # Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults
2701
+ # can be overridden in negative_caching_policy.
2702
+ # Corresponds to the JSON property `negativeCaching`
2703
+ # @return [Boolean]
2704
+ attr_accessor :negative_caching
2705
+ alias_method :negative_caching?, :negative_caching
2706
+
2707
+ # Sets a cache TTL for the specified HTTP status code. negative_caching must be
2708
+ # enabled to configure negative_caching_policy. Omitting the policy and leaving
2709
+ # negative_caching enabled will use Cloud CDN's default cache TTLs. Note that
2710
+ # when specifying an explicit negative_caching_policy, you should take care to
2711
+ # specify a cache TTL for all response codes that you wish to cache. Cloud CDN
2712
+ # will not apply any default negative caching when a policy exists.
2713
+ # Corresponds to the JSON property `negativeCachingPolicy`
2714
+ # @return [Array<Google::Apis::ComputeV1::BackendBucketCdnPolicyNegativeCachingPolicy>]
2715
+ attr_accessor :negative_caching_policy
2716
+
2717
+ # Serve existing content from the cache (if available) when revalidating content
2718
+ # with the origin, or when an error is encountered when refreshing the cache.
2719
+ # This setting defines the default "max-stale" duration for any cached responses
2720
+ # that do not specify a max-stale directive. Stale responses that exceed the TTL
2721
+ # configured here will not be served. The default limit (max-stale) is 86400s (1
2722
+ # day), which will allow stale content to be served up to this limit beyond the
2723
+ # max-age (or s-max-age) of a cached response. The maximum allowed value is
2724
+ # 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
2725
+ # Corresponds to the JSON property `serveWhileStale`
2726
+ # @return [Fixnum]
2727
+ attr_accessor :serve_while_stale
2728
+
2585
2729
  # Maximum number of seconds the response to a signed URL request will be
2586
2730
  # considered fresh. After this time period, the response will be revalidated
2587
2731
  # before being served. Defaults to 1hr (3600s). When serving responses to signed
@@ -2604,15 +2748,71 @@ module Google
2604
2748
 
2605
2749
  # Update properties of this object
2606
2750
  def update!(**args)
2751
+ @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
2607
2752
  @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
2608
2753
  @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
2609
2754
  @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
2610
2755
  @max_ttl = args[:max_ttl] if args.key?(:max_ttl)
2756
+ @negative_caching = args[:negative_caching] if args.key?(:negative_caching)
2757
+ @negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy)
2758
+ @serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale)
2611
2759
  @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
2612
2760
  @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
2613
2761
  end
2614
2762
  end
2615
2763
 
2764
+ # Bypass the cache when the specified request headers are present, e.g. Pragma
2765
+ # or Authorization headers. Values are case insensitive. The presence of such a
2766
+ # header overrides the cache_mode setting.
2767
+ class BackendBucketCdnPolicyBypassCacheOnRequestHeader
2768
+ include Google::Apis::Core::Hashable
2769
+
2770
+ # The header field name to match on when bypassing cache. Values are case-
2771
+ # insensitive.
2772
+ # Corresponds to the JSON property `headerName`
2773
+ # @return [String]
2774
+ attr_accessor :header_name
2775
+
2776
+ def initialize(**args)
2777
+ update!(**args)
2778
+ end
2779
+
2780
+ # Update properties of this object
2781
+ def update!(**args)
2782
+ @header_name = args[:header_name] if args.key?(:header_name)
2783
+ end
2784
+ end
2785
+
2786
+ # Specify CDN TTLs for response error codes.
2787
+ class BackendBucketCdnPolicyNegativeCachingPolicy
2788
+ include Google::Apis::Core::Hashable
2789
+
2790
+ # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
2791
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
2792
+ # and you cannot specify a status code more than once.
2793
+ # Corresponds to the JSON property `code`
2794
+ # @return [Fixnum]
2795
+ attr_accessor :code
2796
+
2797
+ # The TTL (in seconds) for which to cache responses with the corresponding
2798
+ # status code. The maximum allowed value is 1800s (30 minutes), noting that
2799
+ # infrequently accessed objects may be evicted from the cache before the defined
2800
+ # TTL.
2801
+ # Corresponds to the JSON property `ttl`
2802
+ # @return [Fixnum]
2803
+ attr_accessor :ttl
2804
+
2805
+ def initialize(**args)
2806
+ update!(**args)
2807
+ end
2808
+
2809
+ # Update properties of this object
2810
+ def update!(**args)
2811
+ @code = args[:code] if args.key?(:code)
2812
+ @ttl = args[:ttl] if args.key?(:ttl)
2813
+ end
2814
+ end
2815
+
2616
2816
  # Contains a list of BackendBucket resources.
2617
2817
  class BackendBucketList
2618
2818
  include Google::Apis::Core::Hashable
@@ -2910,6 +3110,14 @@ module Google
2910
3110
  # @return [Google::Apis::ComputeV1::BackendServiceLogConfig]
2911
3111
  attr_accessor :log_config
2912
3112
 
3113
+ # A Duration represents a fixed-length span of time represented as a count of
3114
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
3115
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
3116
+ # 000 years.
3117
+ # Corresponds to the JSON property `maxStreamDuration`
3118
+ # @return [Google::Apis::ComputeV1::Duration]
3119
+ attr_accessor :max_stream_duration
3120
+
2913
3121
  # Name of the resource. Provided by the client when the resource is created. The
2914
3122
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
2915
3123
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -2934,8 +3142,8 @@ module Google
2934
3142
 
2935
3143
  # Deprecated in favor of portName. The TCP port to connect on the backend. The
2936
3144
  # default value is 80.
2937
- # This cannot be used if the loadBalancingScheme is INTERNAL (Internal TCP/UDP
2938
- # Load Balancing).
3145
+ # Backend services for Internal TCP/UDP Load Balancing and Network Load
3146
+ # Balancing require you omit port.
2939
3147
  # Corresponds to the JSON property `port`
2940
3148
  # @return [Fixnum]
2941
3149
  attr_accessor :port
@@ -3038,6 +3246,7 @@ module Google
3038
3246
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3039
3247
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
3040
3248
  @log_config = args[:log_config] if args.key?(:log_config)
3249
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
3041
3250
  @name = args[:name] if args.key?(:name)
3042
3251
  @network = args[:network] if args.key?(:network)
3043
3252
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
@@ -3180,6 +3389,13 @@ module Google
3180
3389
  class BackendServiceCdnPolicy
3181
3390
  include Google::Apis::Core::Hashable
3182
3391
 
3392
+ # Bypass the cache when the specified request headers are matched - e.g. Pragma
3393
+ # or Authorization headers. Up to 5 headers can be specified. The cache is
3394
+ # bypassed for all cdnPolicy.cacheMode settings.
3395
+ # Corresponds to the JSON property `bypassCacheOnRequestHeaders`
3396
+ # @return [Array<Google::Apis::ComputeV1::BackendServiceCdnPolicyBypassCacheOnRequestHeader>]
3397
+ attr_accessor :bypass_cache_on_request_headers
3398
+
3183
3399
  # Message containing what to include in the cache key for a request for Cloud
3184
3400
  # CDN.
3185
3401
  # Corresponds to the JSON property `cacheKeyPolicy`
@@ -3203,10 +3419,15 @@ module Google
3203
3419
  # @return [String]
3204
3420
  attr_accessor :cache_mode
3205
3421
 
3206
- # Specifies a separate client (e.g. browser client) TTL, separate from the TTL
3207
- # for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL
3208
- # for both Cloud CDN and the client-facing response. The maximum allowed value
3209
- # is 86400s (1 day).
3422
+ # Specifies a separate client (e.g. browser client) maximum TTL. This is used to
3423
+ # clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL,
3424
+ # the lesser of client_ttl and default_ttl is used for the response max-age
3425
+ # directive, along with a "public" directive. For cacheable content in
3426
+ # CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if
3427
+ # specified), or else sets the response max-age directive to the lesser of the
3428
+ # client_ttl and default_ttl, and also ensures a "public" cache-control
3429
+ # directive is present. If a client TTL is not specified, a default value (1
3430
+ # hour) will be used. The maximum allowed value is 86400s (1 day).
3210
3431
  # Corresponds to the JSON property `clientTtl`
3211
3432
  # @return [Fixnum]
3212
3433
  attr_accessor :client_ttl
@@ -3235,6 +3456,46 @@ module Google
3235
3456
  # @return [Fixnum]
3236
3457
  attr_accessor :max_ttl
3237
3458
 
3459
+ # Negative caching allows per-status code TTLs to be set, in order to apply fine-
3460
+ # grained caching for common errors or redirects. This can reduce the load on
3461
+ # your origin and improve end-user experience by reducing response latency. When
3462
+ # the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative
3463
+ # caching applies to responses with the specified response code that lack any
3464
+ # Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is
3465
+ # set to FORCE_CACHE_ALL, negative caching applies to all responses with the
3466
+ # specified response code, and override any caching headers. By default, Cloud
3467
+ # CDN will apply the following default TTLs to these status codes: HTTP 300 (
3468
+ # Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found),
3469
+ # 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not
3470
+ # Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults
3471
+ # can be overridden in negative_caching_policy.
3472
+ # Corresponds to the JSON property `negativeCaching`
3473
+ # @return [Boolean]
3474
+ attr_accessor :negative_caching
3475
+ alias_method :negative_caching?, :negative_caching
3476
+
3477
+ # Sets a cache TTL for the specified HTTP status code. negative_caching must be
3478
+ # enabled to configure negative_caching_policy. Omitting the policy and leaving
3479
+ # negative_caching enabled will use Cloud CDN's default cache TTLs. Note that
3480
+ # when specifying an explicit negative_caching_policy, you should take care to
3481
+ # specify a cache TTL for all response codes that you wish to cache. Cloud CDN
3482
+ # will not apply any default negative caching when a policy exists.
3483
+ # Corresponds to the JSON property `negativeCachingPolicy`
3484
+ # @return [Array<Google::Apis::ComputeV1::BackendServiceCdnPolicyNegativeCachingPolicy>]
3485
+ attr_accessor :negative_caching_policy
3486
+
3487
+ # Serve existing content from the cache (if available) when revalidating content
3488
+ # with the origin, or when an error is encountered when refreshing the cache.
3489
+ # This setting defines the default "max-stale" duration for any cached responses
3490
+ # that do not specify a max-stale directive. Stale responses that exceed the TTL
3491
+ # configured here will not be served. The default limit (max-stale) is 86400s (1
3492
+ # day), which will allow stale content to be served up to this limit beyond the
3493
+ # max-age (or s-max-age) of a cached response. The maximum allowed value is
3494
+ # 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
3495
+ # Corresponds to the JSON property `serveWhileStale`
3496
+ # @return [Fixnum]
3497
+ attr_accessor :serve_while_stale
3498
+
3238
3499
  # Maximum number of seconds the response to a signed URL request will be
3239
3500
  # considered fresh. After this time period, the response will be revalidated
3240
3501
  # before being served. Defaults to 1hr (3600s). When serving responses to signed
@@ -3257,16 +3518,72 @@ module Google
3257
3518
 
3258
3519
  # Update properties of this object
3259
3520
  def update!(**args)
3521
+ @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
3260
3522
  @cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
3261
3523
  @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
3262
3524
  @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
3263
3525
  @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
3264
3526
  @max_ttl = args[:max_ttl] if args.key?(:max_ttl)
3527
+ @negative_caching = args[:negative_caching] if args.key?(:negative_caching)
3528
+ @negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy)
3529
+ @serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale)
3265
3530
  @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
3266
3531
  @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
3267
3532
  end
3268
3533
  end
3269
3534
 
3535
+ # Bypass the cache when the specified request headers are present, e.g. Pragma
3536
+ # or Authorization headers. Values are case insensitive. The presence of such a
3537
+ # header overrides the cache_mode setting.
3538
+ class BackendServiceCdnPolicyBypassCacheOnRequestHeader
3539
+ include Google::Apis::Core::Hashable
3540
+
3541
+ # The header field name to match on when bypassing cache. Values are case-
3542
+ # insensitive.
3543
+ # Corresponds to the JSON property `headerName`
3544
+ # @return [String]
3545
+ attr_accessor :header_name
3546
+
3547
+ def initialize(**args)
3548
+ update!(**args)
3549
+ end
3550
+
3551
+ # Update properties of this object
3552
+ def update!(**args)
3553
+ @header_name = args[:header_name] if args.key?(:header_name)
3554
+ end
3555
+ end
3556
+
3557
+ # Specify CDN TTLs for response error codes.
3558
+ class BackendServiceCdnPolicyNegativeCachingPolicy
3559
+ include Google::Apis::Core::Hashable
3560
+
3561
+ # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
3562
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
3563
+ # and you cannot specify a status code more than once.
3564
+ # Corresponds to the JSON property `code`
3565
+ # @return [Fixnum]
3566
+ attr_accessor :code
3567
+
3568
+ # The TTL (in seconds) for which to cache responses with the corresponding
3569
+ # status code. The maximum allowed value is 1800s (30 minutes), noting that
3570
+ # infrequently accessed objects may be evicted from the cache before the defined
3571
+ # TTL.
3572
+ # Corresponds to the JSON property `ttl`
3573
+ # @return [Fixnum]
3574
+ attr_accessor :ttl
3575
+
3576
+ def initialize(**args)
3577
+ update!(**args)
3578
+ end
3579
+
3580
+ # Update properties of this object
3581
+ def update!(**args)
3582
+ @code = args[:code] if args.key?(:code)
3583
+ @ttl = args[:ttl] if args.key?(:ttl)
3584
+ end
3585
+ end
3586
+
3270
3587
  # Applicable only to Failover for Internal TCP/UDP Load Balancing and Network
3271
3588
  # Load Balancing. On failover or failback, this field indicates whether
3272
3589
  # connection draining will be honored. GCP has a fixed connection draining
@@ -3737,6 +4054,105 @@ module Google
3737
4054
  end
3738
4055
  end
3739
4056
 
4057
+ #
4058
+ class BulkInsertInstanceResource
4059
+ include Google::Apis::Core::Hashable
4060
+
4061
+ # The maximum number of instances to create.
4062
+ # Corresponds to the JSON property `count`
4063
+ # @return [Fixnum]
4064
+ attr_accessor :count
4065
+
4066
+ #
4067
+ # Corresponds to the JSON property `instanceProperties`
4068
+ # @return [Google::Apis::ComputeV1::InstanceProperties]
4069
+ attr_accessor :instance_properties
4070
+
4071
+ # Configuration for location policy among multiple possible locations (e.g.
4072
+ # preferences for zone selection among zones in a single region).
4073
+ # Corresponds to the JSON property `locationPolicy`
4074
+ # @return [Google::Apis::ComputeV1::LocationPolicy]
4075
+ attr_accessor :location_policy
4076
+
4077
+ # The minimum number of instances to create. If no min_count is specified then
4078
+ # count is used as the default value. If min_count instances cannot be created,
4079
+ # then no instances will be created.
4080
+ # Corresponds to the JSON property `minCount`
4081
+ # @return [Fixnum]
4082
+ attr_accessor :min_count
4083
+
4084
+ # The string pattern used for the names of the VMs. Either name_pattern or
4085
+ # predefined_names must be set. The pattern should contain one consecutive
4086
+ # sequence of placeholder hash characters (#) with each character corresponding
4087
+ # to one digit of the generated instance name. Example: name_pattern of inst-####
4088
+ # will generate instance names like inst-0001, inst-0002, ... . If there
4089
+ # already exist instance(s) whose names match the name pattern in the same
4090
+ # project and zone, then the generated instance numbers will start after the
4091
+ # biggest existing number. For example, if there exists an instance with name
4092
+ # inst-0050, then instance names generated using the pattern inst-#### will be
4093
+ # inst-0051, inst-0052, etc. The name pattern placeholder #...# can contain up
4094
+ # to 18 characters.
4095
+ # Corresponds to the JSON property `namePattern`
4096
+ # @return [String]
4097
+ attr_accessor :name_pattern
4098
+
4099
+ # Per-instance properties to be set on individual instances. Keys of this map
4100
+ # specify requested instance names. Can be empty if name_pattern is used.
4101
+ # Corresponds to the JSON property `perInstanceProperties`
4102
+ # @return [Hash<String,Google::Apis::ComputeV1::BulkInsertInstanceResourcePerInstanceProperties>]
4103
+ attr_accessor :per_instance_properties
4104
+
4105
+ # Specifies the instance template from which to create instances. You may
4106
+ # combine sourceInstanceTemplate with instanceProperties to override specific
4107
+ # values from an existing instance template. Bulk API follows the semantics of
4108
+ # JSON Merge Patch described by RFC 7396.
4109
+ # It can be a full or partial URL. For example, the following are all valid URLs
4110
+ # to an instance template:
4111
+ # - https://www.googleapis.com/compute/v1/projects/project/global/
4112
+ # instanceTemplates/instanceTemplate
4113
+ # - projects/project/global/instanceTemplates/instanceTemplate
4114
+ # - global/instanceTemplates/instanceTemplate
4115
+ # This field is optional.
4116
+ # Corresponds to the JSON property `sourceInstanceTemplate`
4117
+ # @return [String]
4118
+ attr_accessor :source_instance_template
4119
+
4120
+ def initialize(**args)
4121
+ update!(**args)
4122
+ end
4123
+
4124
+ # Update properties of this object
4125
+ def update!(**args)
4126
+ @count = args[:count] if args.key?(:count)
4127
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
4128
+ @location_policy = args[:location_policy] if args.key?(:location_policy)
4129
+ @min_count = args[:min_count] if args.key?(:min_count)
4130
+ @name_pattern = args[:name_pattern] if args.key?(:name_pattern)
4131
+ @per_instance_properties = args[:per_instance_properties] if args.key?(:per_instance_properties)
4132
+ @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
4133
+ end
4134
+ end
4135
+
4136
+ # Per-instance properties to be set on individual instances. To be extended in
4137
+ # the future.
4138
+ class BulkInsertInstanceResourcePerInstanceProperties
4139
+ include Google::Apis::Core::Hashable
4140
+
4141
+ # This field is only temporary. It will be removed. Do not use it.
4142
+ # Corresponds to the JSON property `name`
4143
+ # @return [String]
4144
+ attr_accessor :name
4145
+
4146
+ def initialize(**args)
4147
+ update!(**args)
4148
+ end
4149
+
4150
+ # Update properties of this object
4151
+ def update!(**args)
4152
+ @name = args[:name] if args.key?(:name)
4153
+ end
4154
+ end
4155
+
3740
4156
  #
3741
4157
  class CacheInvalidationRule
3742
4158
  include Google::Apis::Core::Hashable
@@ -4809,6 +5225,11 @@ module Google
4809
5225
  # @return [Fixnum]
4810
5226
  attr_accessor :physical_block_size_bytes
4811
5227
 
5228
+ # Indicates how many IOPS must be provisioned for the disk.
5229
+ # Corresponds to the JSON property `provisionedIops`
5230
+ # @return [Fixnum]
5231
+ attr_accessor :provisioned_iops
5232
+
4812
5233
  # [Output Only] URL of the region where the disk resides. Only applicable for
4813
5234
  # regional resources. You must specify this field as part of the HTTP request
4814
5235
  # URL. It is not settable as a field in the request body.
@@ -4850,8 +5271,13 @@ module Google
4850
5271
  # The source disk used to create this disk. You can provide this as a partial or
4851
5272
  # full URL to the resource. For example, the following are valid values:
4852
5273
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
5274
+ #
5275
+ # - https://www.googleapis.com/compute/v1/projects/project/regions/region/disks/
5276
+ # disk
4853
5277
  # - projects/project/zones/zone/disks/disk
5278
+ # - projects/project/regions/region/disks/disk
4854
5279
  # - zones/zone/disks/disk
5280
+ # - regions/region/disks/disk
4855
5281
  # Corresponds to the JSON property `sourceDisk`
4856
5282
  # @return [String]
4857
5283
  attr_accessor :source_disk
@@ -4987,6 +5413,7 @@ module Google
4987
5413
  @name = args[:name] if args.key?(:name)
4988
5414
  @options = args[:options] if args.key?(:options)
4989
5415
  @physical_block_size_bytes = args[:physical_block_size_bytes] if args.key?(:physical_block_size_bytes)
5416
+ @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
4990
5417
  @region = args[:region] if args.key?(:region)
4991
5418
  @replica_zones = args[:replica_zones] if args.key?(:replica_zones)
4992
5419
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -6957,13 +7384,14 @@ module Google
6957
7384
  # @return [String]
6958
7385
  attr_accessor :description
6959
7386
 
6960
- # User-provided name of the Organization firewall plicy. The name should be
6961
- # unique in the organization in which the firewall policy is created. The name
6962
- # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
6963
- # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
6964
- # [a-z0-9])?` which means the first character must be a lowercase letter, and
6965
- # all following characters must be a dash, lowercase letter, or digit, except
6966
- # the last character, which cannot be a dash.
7387
+ # Depreacted, please use short name instead. User-provided name of the
7388
+ # Organization firewall plicy. The name should be unique in the organization in
7389
+ # which the firewall policy is created. The name must be 1-63 characters long,
7390
+ # and comply with RFC1035. Specifically, the name must be 1-63 characters long
7391
+ # and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
7392
+ # first character must be a lowercase letter, and all following characters must
7393
+ # be a dash, lowercase letter, or digit, except the last character, which cannot
7394
+ # be a dash.
6967
7395
  # Corresponds to the JSON property `displayName`
6968
7396
  # @return [String]
6969
7397
  attr_accessor :display_name
@@ -7027,6 +7455,17 @@ module Google
7027
7455
  # @return [String]
7028
7456
  attr_accessor :self_link_with_id
7029
7457
 
7458
+ # User-provided name of the Organization firewall plicy. The name should be
7459
+ # unique in the organization in which the firewall policy is created. The name
7460
+ # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
7461
+ # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
7462
+ # [a-z0-9])?` which means the first character must be a lowercase letter, and
7463
+ # all following characters must be a dash, lowercase letter, or digit, except
7464
+ # the last character, which cannot be a dash.
7465
+ # Corresponds to the JSON property `shortName`
7466
+ # @return [String]
7467
+ attr_accessor :short_name
7468
+
7030
7469
  def initialize(**args)
7031
7470
  update!(**args)
7032
7471
  end
@@ -7046,6 +7485,7 @@ module Google
7046
7485
  @rules = args[:rules] if args.key?(:rules)
7047
7486
  @self_link = args[:self_link] if args.key?(:self_link)
7048
7487
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
7488
+ @short_name = args[:short_name] if args.key?(:short_name)
7049
7489
  end
7050
7490
  end
7051
7491
 
@@ -7058,7 +7498,8 @@ module Google
7058
7498
  # @return [String]
7059
7499
  attr_accessor :attachment_target
7060
7500
 
7061
- # [Output Only] The display name of the firewall policy of the association.
7501
+ # [Output Only] Deprecated, please use short name instead. The display name of
7502
+ # the firewall policy of the association.
7062
7503
  # Corresponds to the JSON property `displayName`
7063
7504
  # @return [String]
7064
7505
  attr_accessor :display_name
@@ -7073,6 +7514,11 @@ module Google
7073
7514
  # @return [String]
7074
7515
  attr_accessor :name
7075
7516
 
7517
+ # [Output Only] The short name of the firewall policy of the association.
7518
+ # Corresponds to the JSON property `shortName`
7519
+ # @return [String]
7520
+ attr_accessor :short_name
7521
+
7076
7522
  def initialize(**args)
7077
7523
  update!(**args)
7078
7524
  end
@@ -7083,6 +7529,7 @@ module Google
7083
7529
  @display_name = args[:display_name] if args.key?(:display_name)
7084
7530
  @firewall_policy_id = args[:firewall_policy_id] if args.key?(:firewall_policy_id)
7085
7531
  @name = args[:name] if args.key?(:name)
7532
+ @short_name = args[:short_name] if args.key?(:short_name)
7086
7533
  end
7087
7534
  end
7088
7535
 
@@ -7210,8 +7657,7 @@ module Google
7210
7657
  # @return [String]
7211
7658
  attr_accessor :action
7212
7659
 
7213
- # An optional description of this resource. Provide this property when you
7214
- # create the resource.
7660
+ # An optional description for this resource.
7215
7661
  # Corresponds to the JSON property `description`
7216
7662
  # @return [String]
7217
7663
  attr_accessor :description
@@ -7453,6 +7899,8 @@ module Google
7453
7899
  # ip_address_specifications).
7454
7900
  # Must be set to `0.0.0.0` when the target is targetGrpcProxy that has
7455
7901
  # validateForProxyless field set to true.
7902
+ # For Private Service Connect forwarding rules that forward traffic to Google
7903
+ # APIs, IP address must be provided.
7456
7904
  # Corresponds to the JSON property `IPAddress`
7457
7905
  # @return [String]
7458
7906
  attr_accessor :ip_address
@@ -7625,6 +8073,8 @@ module Google
7625
8073
  # For Internal TCP/UDP Load Balancing, this field identifies the network that
7626
8074
  # the load balanced IP should belong to for this Forwarding Rule. If this field
7627
8075
  # is not specified, the default network will be used.
8076
+ # For Private Service Connect forwarding rules that forward traffic to Google
8077
+ # APIs, a network must be provided.
7628
8078
  # Corresponds to the JSON property `network`
7629
8079
  # @return [String]
7630
8080
  attr_accessor :network
@@ -7674,6 +8124,11 @@ module Google
7674
8124
  # @return [Array<String>]
7675
8125
  attr_accessor :ports
7676
8126
 
8127
+ # [Output Only] The PSC connection id of the PSC Forwarding Rule.
8128
+ # Corresponds to the JSON property `pscConnectionId`
8129
+ # @return [Fixnum]
8130
+ attr_accessor :psc_connection_id
8131
+
7677
8132
  # [Output Only] URL of the region where the regional forwarding rule resides.
7678
8133
  # This field is not applicable to global forwarding rules. You must specify this
7679
8134
  # field as part of the HTTP request URL. It is not settable as a field in the
@@ -7687,6 +8142,14 @@ module Google
7687
8142
  # @return [String]
7688
8143
  attr_accessor :self_link
7689
8144
 
8145
+ # Service Directory resources to register this forwarding rule with. Currently,
8146
+ # only supports a single Service Directory resource.
8147
+ # It is only supported for Internal TCP/UDP Load Balancing and Internal HTTP(S)
8148
+ # Load Balancing.
8149
+ # Corresponds to the JSON property `serviceDirectoryRegistrations`
8150
+ # @return [Array<Google::Apis::ComputeV1::ForwardingRuleServiceDirectoryRegistration>]
8151
+ attr_accessor :service_directory_registrations
8152
+
7690
8153
  # An optional prefix to the service name for this Forwarding Rule. If specified,
7691
8154
  # the prefix is the first label of the fully qualified service name.
7692
8155
  # The label must be 1-63 characters long, and comply with RFC1035. Specifically,
@@ -7716,12 +8179,7 @@ module Google
7716
8179
  # @return [String]
7717
8180
  attr_accessor :subnetwork
7718
8181
 
7719
- # The URL of the target resource to receive the matched traffic. For regional
7720
- # forwarding rules, this target must be in the same region as the forwarding
7721
- # rule. For global forwarding rules, this target must be a global load balancing
7722
- # resource. The forwarded traffic must be of a type appropriate to the target
7723
- # object. For more information, see the "Target" column in [Port specifications](
7724
- # /load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
8182
+ #
7725
8183
  # Corresponds to the JSON property `target`
7726
8184
  # @return [String]
7727
8185
  attr_accessor :target
@@ -7753,8 +8211,10 @@ module Google
7753
8211
  @network_tier = args[:network_tier] if args.key?(:network_tier)
7754
8212
  @port_range = args[:port_range] if args.key?(:port_range)
7755
8213
  @ports = args[:ports] if args.key?(:ports)
8214
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
7756
8215
  @region = args[:region] if args.key?(:region)
7757
8216
  @self_link = args[:self_link] if args.key?(:self_link)
8217
+ @service_directory_registrations = args[:service_directory_registrations] if args.key?(:service_directory_registrations)
7758
8218
  @service_label = args[:service_label] if args.key?(:service_label)
7759
8219
  @service_name = args[:service_name] if args.key?(:service_name)
7760
8220
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
@@ -8022,6 +8482,42 @@ module Google
8022
8482
  end
8023
8483
  end
8024
8484
 
8485
+ # Describes the auto-registration of the Forwarding Rule to Service Directory.
8486
+ # The region and project of the Service Directory resource generated from this
8487
+ # registration will be the same as this Forwarding Rule.
8488
+ class ForwardingRuleServiceDirectoryRegistration
8489
+ include Google::Apis::Core::Hashable
8490
+
8491
+ # Service Directory namespace to register the forwarding rule under.
8492
+ # Corresponds to the JSON property `namespace`
8493
+ # @return [String]
8494
+ attr_accessor :namespace
8495
+
8496
+ # Service Directory service to register the forwarding rule under.
8497
+ # Corresponds to the JSON property `service`
8498
+ # @return [String]
8499
+ attr_accessor :service
8500
+
8501
+ # [Optional] Service Directory region to register this global forwarding rule
8502
+ # under. Default to "us-central1". Only used for PSC for Google APIs. All PSC
8503
+ # for Google APIs Forwarding Rules on the same network should use the same
8504
+ # Service Directory region.
8505
+ # Corresponds to the JSON property `serviceDirectoryRegion`
8506
+ # @return [String]
8507
+ attr_accessor :service_directory_region
8508
+
8509
+ def initialize(**args)
8510
+ update!(**args)
8511
+ end
8512
+
8513
+ # Update properties of this object
8514
+ def update!(**args)
8515
+ @namespace = args[:namespace] if args.key?(:namespace)
8516
+ @service = args[:service] if args.key?(:service)
8517
+ @service_directory_region = args[:service_directory_region] if args.key?(:service_directory_region)
8518
+ end
8519
+ end
8520
+
8025
8521
  #
8026
8522
  class ForwardingRulesScopedList
8027
8523
  include Google::Apis::Core::Hashable
@@ -8776,11 +9272,12 @@ module Google
8776
9272
  attr_accessor :log_config
8777
9273
 
8778
9274
  # Name of the resource. Provided by the client when the resource is created. The
8779
- # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
8780
- # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
8781
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
8782
- # and all following characters must be a dash, lowercase letter, or digit,
8783
- # except the last character, which cannot be a dash.
9275
+ # name must be 1-63 characters long, and comply with RFC1035. For example, a
9276
+ # name that is 1-63 characters long, matches the regular expression `[a-z]([-a-
9277
+ # z0-9]*[a-z0-9])?`, and otherwise complies with RFC1035. This regular
9278
+ # expression describes a name where the first character is a lowercase letter,
9279
+ # and all following characters are a dash, lowercase letter, or digit, except
9280
+ # the last character, which isn't a dash.
8784
9281
  # Corresponds to the JSON property `name`
8785
9282
  # @return [String]
8786
9283
  attr_accessor :name
@@ -9514,7 +10011,9 @@ module Google
9514
10011
  # @return [String]
9515
10012
  attr_accessor :instance
9516
10013
 
9517
- # A forwarding rule IP address assigned to this instance.
10014
+ # For target pool based Network Load Balancing, it indicates the forwarding rule'
10015
+ # s IP address assigned to this instance. For other types of load balancing, the
10016
+ # field indicates VM internal ip.
9518
10017
  # Corresponds to the JSON property `ipAddress`
9519
10018
  # @return [String]
9520
10019
  attr_accessor :ip_address
@@ -10339,6 +10838,14 @@ module Google
10339
10838
  # @return [Google::Apis::ComputeV1::HttpFaultInjection]
10340
10839
  attr_accessor :fault_injection_policy
10341
10840
 
10841
+ # A Duration represents a fixed-length span of time represented as a count of
10842
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
10843
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
10844
+ # 000 years.
10845
+ # Corresponds to the JSON property `maxStreamDuration`
10846
+ # @return [Google::Apis::ComputeV1::Duration]
10847
+ attr_accessor :max_stream_duration
10848
+
10342
10849
  # A policy that specifies how requests intended for the route's backends are
10343
10850
  # shadowed to a separate mirrored backend service. Loadbalancer does not wait
10344
10851
  # for responses from the shadow service. Prior to sending traffic to the shadow
@@ -10387,6 +10894,7 @@ module Google
10387
10894
  def update!(**args)
10388
10895
  @cors_policy = args[:cors_policy] if args.key?(:cors_policy)
10389
10896
  @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
10897
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
10390
10898
  @request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy)
10391
10899
  @retry_policy = args[:retry_policy] if args.key?(:retry_policy)
10392
10900
  @timeout = args[:timeout] if args.key?(:timeout)
@@ -10911,6 +11419,12 @@ module Google
10911
11419
  # @return [Google::Apis::ComputeV1::Image::RawDisk]
10912
11420
  attr_accessor :raw_disk
10913
11421
 
11422
+ # [Output Only] Reserved for future use.
11423
+ # Corresponds to the JSON property `satisfiesPzs`
11424
+ # @return [Boolean]
11425
+ attr_accessor :satisfies_pzs
11426
+ alias_method :satisfies_pzs?, :satisfies_pzs
11427
+
10914
11428
  # [Output Only] Server-defined URL for the resource.
10915
11429
  # Corresponds to the JSON property `selfLink`
10916
11430
  # @return [String]
@@ -11037,6 +11551,7 @@ module Google
11037
11551
  @licenses = args[:licenses] if args.key?(:licenses)
11038
11552
  @name = args[:name] if args.key?(:name)
11039
11553
  @raw_disk = args[:raw_disk] if args.key?(:raw_disk)
11554
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
11040
11555
  @self_link = args[:self_link] if args.key?(:self_link)
11041
11556
  @shielded_instance_initial_state = args[:shielded_instance_initial_state] if args.key?(:shielded_instance_initial_state)
11042
11557
  @source_disk = args[:source_disk] if args.key?(:source_disk)
@@ -11420,6 +11935,11 @@ module Google
11420
11935
  # @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
11421
11936
  attr_accessor :network_interfaces
11422
11937
 
11938
+ # PostKeyRevocationActionType of the instance.
11939
+ # Corresponds to the JSON property `postKeyRevocationActionType`
11940
+ # @return [String]
11941
+ attr_accessor :post_key_revocation_action_type
11942
+
11423
11943
  # The private IPv6 google access type for the VM. If not specified, use
11424
11944
  # INHERIT_FROM_SUBNETWORK as default.
11425
11945
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
@@ -11442,7 +11962,7 @@ module Google
11442
11962
  attr_accessor :satisfies_pzs
11443
11963
  alias_method :satisfies_pzs?, :satisfies_pzs
11444
11964
 
11445
- # Sets the scheduling options for an Instance. NextID: 13
11965
+ # Sets the scheduling options for an Instance. NextID: 20
11446
11966
  # Corresponds to the JSON property `scheduling`
11447
11967
  # @return [Google::Apis::ComputeV1::Scheduling]
11448
11968
  attr_accessor :scheduling
@@ -11534,6 +12054,7 @@ module Google
11534
12054
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
11535
12055
  @name = args[:name] if args.key?(:name)
11536
12056
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
12057
+ @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
11537
12058
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
11538
12059
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
11539
12060
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -14046,6 +14567,11 @@ module Google
14046
14567
  # @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
14047
14568
  attr_accessor :network_interfaces
14048
14569
 
14570
+ # PostKeyRevocationActionType of the instance.
14571
+ # Corresponds to the JSON property `postKeyRevocationActionType`
14572
+ # @return [String]
14573
+ attr_accessor :post_key_revocation_action_type
14574
+
14049
14575
  # The private IPv6 google access type for VMs. If not specified, use
14050
14576
  # INHERIT_FROM_SUBNETWORK as default.
14051
14577
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
@@ -14063,7 +14589,7 @@ module Google
14063
14589
  # @return [Array<String>]
14064
14590
  attr_accessor :resource_policies
14065
14591
 
14066
- # Sets the scheduling options for an Instance. NextID: 13
14592
+ # Sets the scheduling options for an Instance. NextID: 20
14067
14593
  # Corresponds to the JSON property `scheduling`
14068
14594
  # @return [Google::Apis::ComputeV1::Scheduling]
14069
14595
  attr_accessor :scheduling
@@ -14103,6 +14629,7 @@ module Google
14103
14629
  @metadata = args[:metadata] if args.key?(:metadata)
14104
14630
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
14105
14631
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
14632
+ @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
14106
14633
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
14107
14634
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
14108
14635
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -14385,6 +14912,75 @@ module Google
14385
14912
  end
14386
14913
  end
14387
14914
 
14915
+ #
14916
+ class InstancesGetEffectiveFirewallsResponse
14917
+ include Google::Apis::Core::Hashable
14918
+
14919
+ # Effective firewalls from firewall policies.
14920
+ # Corresponds to the JSON property `firewallPolicys`
14921
+ # @return [Array<Google::Apis::ComputeV1::InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
14922
+ attr_accessor :firewall_policys
14923
+
14924
+ # Effective firewalls on the instance.
14925
+ # Corresponds to the JSON property `firewalls`
14926
+ # @return [Array<Google::Apis::ComputeV1::Firewall>]
14927
+ attr_accessor :firewalls
14928
+
14929
+ def initialize(**args)
14930
+ update!(**args)
14931
+ end
14932
+
14933
+ # Update properties of this object
14934
+ def update!(**args)
14935
+ @firewall_policys = args[:firewall_policys] if args.key?(:firewall_policys)
14936
+ @firewalls = args[:firewalls] if args.key?(:firewalls)
14937
+ end
14938
+ end
14939
+
14940
+ #
14941
+ class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy
14942
+ include Google::Apis::Core::Hashable
14943
+
14944
+ # [Output Only] Deprecated, please use short name instead. The display name of
14945
+ # the firewall policy.
14946
+ # Corresponds to the JSON property `displayName`
14947
+ # @return [String]
14948
+ attr_accessor :display_name
14949
+
14950
+ # [Output Only] The name of the firewall policy.
14951
+ # Corresponds to the JSON property `name`
14952
+ # @return [String]
14953
+ attr_accessor :name
14954
+
14955
+ # The rules that apply to the network.
14956
+ # Corresponds to the JSON property `rules`
14957
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
14958
+ attr_accessor :rules
14959
+
14960
+ # [Output Only] The short name of the firewall policy.
14961
+ # Corresponds to the JSON property `shortName`
14962
+ # @return [String]
14963
+ attr_accessor :short_name
14964
+
14965
+ # [Output Only] The type of the firewall policy.
14966
+ # Corresponds to the JSON property `type`
14967
+ # @return [String]
14968
+ attr_accessor :type
14969
+
14970
+ def initialize(**args)
14971
+ update!(**args)
14972
+ end
14973
+
14974
+ # Update properties of this object
14975
+ def update!(**args)
14976
+ @display_name = args[:display_name] if args.key?(:display_name)
14977
+ @name = args[:name] if args.key?(:name)
14978
+ @rules = args[:rules] if args.key?(:rules)
14979
+ @short_name = args[:short_name] if args.key?(:short_name)
14980
+ @type = args[:type] if args.key?(:type)
14981
+ end
14982
+ end
14983
+
14388
14984
  #
14389
14985
  class InstancesRemoveResourcePoliciesRequest
14390
14986
  include Google::Apis::Core::Hashable
@@ -14938,6 +15534,18 @@ module Google
14938
15534
  # @return [String]
14939
15535
  attr_accessor :edge_availability_domain
14940
15536
 
15537
+ # Indicates the user-supplied encryption option of this interconnect attachment:
15538
+ # - NONE is the default value, which means that the attachment carries
15539
+ # unencrypted traffic. VMs can send traffic to, or receive traffic from, this
15540
+ # type of attachment.
15541
+ # - IPSEC indicates that the attachment carries only traffic encrypted by an
15542
+ # IPsec device such as an HA VPN gateway. VMs cannot directly send traffic to,
15543
+ # or receive traffic from, such an attachment. To use IPsec-encrypted Cloud
15544
+ # Interconnect, create the attachment using this option.
15545
+ # Corresponds to the JSON property `encryption`
15546
+ # @return [String]
15547
+ attr_accessor :encryption
15548
+
14941
15549
  # [Output Only] Google reference ID, to be used when raising support tickets
14942
15550
  # with Google or otherwise to debug backend connectivity issues. [Deprecated]
14943
15551
  # This field is not used.
@@ -14957,6 +15565,22 @@ module Google
14957
15565
  # @return [String]
14958
15566
  attr_accessor :interconnect
14959
15567
 
15568
+ # URL of addresses that have been reserved for the interconnect attachment, Used
15569
+ # only for interconnect attachment that has the encryption option as IPSEC. The
15570
+ # addresses must be RFC 1918 IP address ranges. When creating HA VPN gateway
15571
+ # over the interconnect attachment, if the attachment is configured to use an
15572
+ # RFC 1918 IP address, then the VPN gateway?s IP address will be allocated from
15573
+ # the IP address range specified here. For example, if the HA VPN gateway?s
15574
+ # interface 0 is paired to this interconnect attachment, then an RFC 1918 IP
15575
+ # address for the VPN gateway interface 0 will be allocated from the IP address
15576
+ # specified for this interconnect attachment. If this field is not specified for
15577
+ # interconnect attachment that has encryption option as IPSEC, later on when
15578
+ # creating HA VPN gateway on this interconnect attachment, the HA VPN gateway's
15579
+ # IP address will be allocated from regional external IP address pool.
15580
+ # Corresponds to the JSON property `ipsecInternalAddresses`
15581
+ # @return [Array<String>]
15582
+ attr_accessor :ipsec_internal_addresses
15583
+
14960
15584
  # [Output Only] Type of the resource. Always compute#interconnectAttachment for
14961
15585
  # interconnect attachments.
14962
15586
  # Corresponds to the JSON property `kind`
@@ -15091,9 +15715,11 @@ module Google
15091
15715
  @dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
15092
15716
  @description = args[:description] if args.key?(:description)
15093
15717
  @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
15718
+ @encryption = args[:encryption] if args.key?(:encryption)
15094
15719
  @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id)
15095
15720
  @id = args[:id] if args.key?(:id)
15096
15721
  @interconnect = args[:interconnect] if args.key?(:interconnect)
15722
+ @ipsec_internal_addresses = args[:ipsec_internal_addresses] if args.key?(:ipsec_internal_addresses)
15097
15723
  @kind = args[:kind] if args.key?(:kind)
15098
15724
  @mtu = args[:mtu] if args.key?(:mtu)
15099
15725
  @name = args[:name] if args.key?(:name)
@@ -16597,6 +17223,47 @@ module Google
16597
17223
  end
16598
17224
  end
16599
17225
 
17226
+ # Configuration for location policy among multiple possible locations (e.g.
17227
+ # preferences for zone selection among zones in a single region).
17228
+ class LocationPolicy
17229
+ include Google::Apis::Core::Hashable
17230
+
17231
+ # Location configurations mapped by location name. Currently only zone names are
17232
+ # supported and must be represented as valid internal URLs, like: zones/us-
17233
+ # central1-a.
17234
+ # Corresponds to the JSON property `locations`
17235
+ # @return [Hash<String,Google::Apis::ComputeV1::LocationPolicyLocation>]
17236
+ attr_accessor :locations
17237
+
17238
+ def initialize(**args)
17239
+ update!(**args)
17240
+ end
17241
+
17242
+ # Update properties of this object
17243
+ def update!(**args)
17244
+ @locations = args[:locations] if args.key?(:locations)
17245
+ end
17246
+ end
17247
+
17248
+ #
17249
+ class LocationPolicyLocation
17250
+ include Google::Apis::Core::Hashable
17251
+
17252
+ #
17253
+ # Corresponds to the JSON property `preference`
17254
+ # @return [String]
17255
+ attr_accessor :preference
17256
+
17257
+ def initialize(**args)
17258
+ update!(**args)
17259
+ end
17260
+
17261
+ # Update properties of this object
17262
+ def update!(**args)
17263
+ @preference = args[:preference] if args.key?(:preference)
17264
+ end
17265
+ end
17266
+
16600
17267
  # Specifies what kind of log the caller must write
16601
17268
  class LogConfig
16602
17269
  include Google::Apis::Core::Hashable
@@ -18635,8 +19302,9 @@ module Google
18635
19302
 
18636
19303
  # Fingerprint hash of contents stored in this network interface. This field will
18637
19304
  # be ignored when inserting an Instance or adding a NetworkInterface. An up-to-
18638
- # date fingerprint must be provided in order to update the NetworkInterface,
18639
- # otherwise the request will fail with error 412 conditionNotMet.
19305
+ # date fingerprint must be provided in order to update the NetworkInterface. The
19306
+ # request will fail with error 400 Bad Request if the fingerprint is not
19307
+ # provided, or 412 Precondition Failed if the fingerprint is out of date.
18640
19308
  # Corresponds to the JSON property `fingerprint`
18641
19309
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
18642
19310
  # @return [String]
@@ -19015,6 +19683,75 @@ module Google
19015
19683
  end
19016
19684
  end
19017
19685
 
19686
+ #
19687
+ class NetworksGetEffectiveFirewallsResponse
19688
+ include Google::Apis::Core::Hashable
19689
+
19690
+ # Effective firewalls from firewall policy.
19691
+ # Corresponds to the JSON property `firewallPolicys`
19692
+ # @return [Array<Google::Apis::ComputeV1::NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
19693
+ attr_accessor :firewall_policys
19694
+
19695
+ # Effective firewalls on the network.
19696
+ # Corresponds to the JSON property `firewalls`
19697
+ # @return [Array<Google::Apis::ComputeV1::Firewall>]
19698
+ attr_accessor :firewalls
19699
+
19700
+ def initialize(**args)
19701
+ update!(**args)
19702
+ end
19703
+
19704
+ # Update properties of this object
19705
+ def update!(**args)
19706
+ @firewall_policys = args[:firewall_policys] if args.key?(:firewall_policys)
19707
+ @firewalls = args[:firewalls] if args.key?(:firewalls)
19708
+ end
19709
+ end
19710
+
19711
+ #
19712
+ class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy
19713
+ include Google::Apis::Core::Hashable
19714
+
19715
+ # [Output Only] Deprecated, please use short name instead. The display name of
19716
+ # the firewall policy.
19717
+ # Corresponds to the JSON property `displayName`
19718
+ # @return [String]
19719
+ attr_accessor :display_name
19720
+
19721
+ # [Output Only] The name of the firewall policy.
19722
+ # Corresponds to the JSON property `name`
19723
+ # @return [String]
19724
+ attr_accessor :name
19725
+
19726
+ # The rules that apply to the network.
19727
+ # Corresponds to the JSON property `rules`
19728
+ # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
19729
+ attr_accessor :rules
19730
+
19731
+ # [Output Only] The short name of the firewall policy.
19732
+ # Corresponds to the JSON property `shortName`
19733
+ # @return [String]
19734
+ attr_accessor :short_name
19735
+
19736
+ # [Output Only] The type of the firewall policy.
19737
+ # Corresponds to the JSON property `type`
19738
+ # @return [String]
19739
+ attr_accessor :type
19740
+
19741
+ def initialize(**args)
19742
+ update!(**args)
19743
+ end
19744
+
19745
+ # Update properties of this object
19746
+ def update!(**args)
19747
+ @display_name = args[:display_name] if args.key?(:display_name)
19748
+ @name = args[:name] if args.key?(:name)
19749
+ @rules = args[:rules] if args.key?(:rules)
19750
+ @short_name = args[:short_name] if args.key?(:short_name)
19751
+ @type = args[:type] if args.key?(:type)
19752
+ end
19753
+ end
19754
+
19018
19755
  #
19019
19756
  class NetworksRemovePeeringRequest
19020
19757
  include Google::Apis::Core::Hashable
@@ -19098,6 +19835,13 @@ module Google
19098
19835
  # @return [String]
19099
19836
  attr_accessor :kind
19100
19837
 
19838
+ # An opaque location hint used to place the Node close to other resources. This
19839
+ # field is for use by internal tools that use the public API. The location hint
19840
+ # here on the NodeGroup overrides any location_hint present in the NodeTemplate.
19841
+ # Corresponds to the JSON property `locationHint`
19842
+ # @return [String]
19843
+ attr_accessor :location_hint
19844
+
19101
19845
  # Specifies how to handle instances when a node in the group undergoes
19102
19846
  # maintenance. Set to one of: DEFAULT, RESTART_IN_PLACE, or
19103
19847
  # MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT. For more information,
@@ -19161,6 +19905,7 @@ module Google
19161
19905
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
19162
19906
  @id = args[:id] if args.key?(:id)
19163
19907
  @kind = args[:kind] if args.key?(:kind)
19908
+ @location_hint = args[:location_hint] if args.key?(:location_hint)
19164
19909
  @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
19165
19910
  @maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
19166
19911
  @name = args[:name] if args.key?(:name)
@@ -19512,6 +20257,12 @@ module Google
19512
20257
  # @return [String]
19513
20258
  attr_accessor :node_type
19514
20259
 
20260
+ # [Output Only] Reserved for future use.
20261
+ # Corresponds to the JSON property `satisfiesPzs`
20262
+ # @return [Boolean]
20263
+ attr_accessor :satisfies_pzs
20264
+ alias_method :satisfies_pzs?, :satisfies_pzs
20265
+
19515
20266
  # Binding properties for the physical server.
19516
20267
  # Corresponds to the JSON property `serverBinding`
19517
20268
  # @return [Google::Apis::ComputeV1::ServerBinding]
@@ -19539,6 +20290,7 @@ module Google
19539
20290
  @instances = args[:instances] if args.key?(:instances)
19540
20291
  @name = args[:name] if args.key?(:name)
19541
20292
  @node_type = args[:node_type] if args.key?(:node_type)
20293
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
19542
20294
  @server_binding = args[:server_binding] if args.key?(:server_binding)
19543
20295
  @server_id = args[:server_id] if args.key?(:server_id)
19544
20296
  @status = args[:status] if args.key?(:status)
@@ -21065,6 +21817,12 @@ module Google
21065
21817
  # @return [String]
21066
21818
  attr_accessor :name
21067
21819
 
21820
+ # [Output Only] An ID that represents a group of operations, such as when a
21821
+ # group of operations results from a `bulkInsert` API request.
21822
+ # Corresponds to the JSON property `operationGroupId`
21823
+ # @return [String]
21824
+ attr_accessor :operation_group_id
21825
+
21068
21826
  # [Output Only] The type of operation, such as `insert`, `update`, or `delete`,
21069
21827
  # and so on.
21070
21828
  # Corresponds to the JSON property `operationType`
@@ -21156,6 +21914,7 @@ module Google
21156
21914
  @insert_time = args[:insert_time] if args.key?(:insert_time)
21157
21915
  @kind = args[:kind] if args.key?(:kind)
21158
21916
  @name = args[:name] if args.key?(:name)
21917
+ @operation_group_id = args[:operation_group_id] if args.key?(:operation_group_id)
21159
21918
  @operation_type = args[:operation_type] if args.key?(:operation_type)
21160
21919
  @progress = args[:progress] if args.key?(:progress)
21161
21920
  @region = args[:region] if args.key?(:region)
@@ -22971,88 +23730,10 @@ module Google
22971
23730
  end
22972
23731
  end
22973
23732
 
22974
- # A quotas entry.
22975
- class Quota
22976
- include Google::Apis::Core::Hashable
22977
-
22978
- # [Output Only] Quota limit for this metric.
22979
- # Corresponds to the JSON property `limit`
22980
- # @return [Float]
22981
- attr_accessor :limit
22982
-
22983
- # [Output Only] Name of the quota metric.
22984
- # Corresponds to the JSON property `metric`
22985
- # @return [String]
22986
- attr_accessor :metric
22987
-
22988
- # [Output Only] Owning resource. This is the resource on which this quota is
22989
- # applied.
22990
- # Corresponds to the JSON property `owner`
22991
- # @return [String]
22992
- attr_accessor :owner
22993
-
22994
- # [Output Only] Current usage of this metric.
22995
- # Corresponds to the JSON property `usage`
22996
- # @return [Float]
22997
- attr_accessor :usage
22998
-
22999
- def initialize(**args)
23000
- update!(**args)
23001
- end
23002
-
23003
- # Update properties of this object
23004
- def update!(**args)
23005
- @limit = args[:limit] if args.key?(:limit)
23006
- @metric = args[:metric] if args.key?(:metric)
23007
- @owner = args[:owner] if args.key?(:owner)
23008
- @usage = args[:usage] if args.key?(:usage)
23009
- end
23010
- end
23011
-
23012
- # Represents a reference to a resource.
23013
- class Reference
23014
- include Google::Apis::Core::Hashable
23015
-
23016
- # [Output Only] Type of the resource. Always compute#reference for references.
23017
- # Corresponds to the JSON property `kind`
23018
- # @return [String]
23019
- attr_accessor :kind
23020
-
23021
- # A description of the reference type with no implied semantics. Possible values
23022
- # include:
23023
- # - MEMBER_OF
23024
- # Corresponds to the JSON property `referenceType`
23025
- # @return [String]
23026
- attr_accessor :reference_type
23027
-
23028
- # URL of the resource which refers to the target.
23029
- # Corresponds to the JSON property `referrer`
23030
- # @return [String]
23031
- attr_accessor :referrer
23032
-
23033
- # URL of the resource to which this reference points.
23034
- # Corresponds to the JSON property `target`
23035
- # @return [String]
23036
- attr_accessor :target
23037
-
23038
- def initialize(**args)
23039
- update!(**args)
23040
- end
23041
-
23042
- # Update properties of this object
23043
- def update!(**args)
23044
- @kind = args[:kind] if args.key?(:kind)
23045
- @reference_type = args[:reference_type] if args.key?(:reference_type)
23046
- @referrer = args[:referrer] if args.key?(:referrer)
23047
- @target = args[:target] if args.key?(:target)
23048
- end
23049
- end
23050
-
23051
- # Represents a Region resource.
23052
- # A region is a geographical area where a resource is located. For more
23053
- # information, read Regions and Zones. (== resource_for `$api_version`.regions ==
23054
- # )
23055
- class Region
23733
+ # A public advertised prefix represents an aggregated IP prefix or netblock
23734
+ # which customers bring to cloud. The IP prefix is a single unit of route
23735
+ # advertisement and is announced globally to the internet.
23736
+ class PublicAdvertisedPrefix
23056
23737
  include Google::Apis::Core::Hashable
23057
23738
 
23058
23739
  # [Output Only] Creation timestamp in RFC3339 text format.
@@ -23060,59 +23741,78 @@ module Google
23060
23741
  # @return [String]
23061
23742
  attr_accessor :creation_timestamp
23062
23743
 
23063
- # Deprecation status for a public resource.
23064
- # Corresponds to the JSON property `deprecated`
23065
- # @return [Google::Apis::ComputeV1::DeprecationStatus]
23066
- attr_accessor :deprecated
23067
-
23068
- # [Output Only] Textual description of the resource.
23744
+ # An optional description of this resource. Provide this property when you
23745
+ # create the resource.
23069
23746
  # Corresponds to the JSON property `description`
23070
23747
  # @return [String]
23071
23748
  attr_accessor :description
23072
23749
 
23073
- # [Output Only] The unique identifier for the resource. This identifier is
23074
- # defined by the server.
23750
+ # The IPv4 address to be used for reverse DNS verification.
23751
+ # Corresponds to the JSON property `dnsVerificationIp`
23752
+ # @return [String]
23753
+ attr_accessor :dns_verification_ip
23754
+
23755
+ # Fingerprint of this resource. A hash of the contents stored in this object.
23756
+ # This field is used in optimistic locking. This field will be ignored when
23757
+ # inserting a new PublicAdvertisedPrefix. An up-to-date fingerprint must be
23758
+ # provided in order to update the PublicAdvertisedPrefix, otherwise the request
23759
+ # will fail with error 412 conditionNotMet.
23760
+ # To see the latest fingerprint, make a get() request to retrieve a
23761
+ # PublicAdvertisedPrefix.
23762
+ # Corresponds to the JSON property `fingerprint`
23763
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
23764
+ # @return [String]
23765
+ attr_accessor :fingerprint
23766
+
23767
+ # [Output Only] The unique identifier for the resource type. The server
23768
+ # generates this identifier.
23075
23769
  # Corresponds to the JSON property `id`
23076
23770
  # @return [Fixnum]
23077
23771
  attr_accessor :id
23078
23772
 
23079
- # [Output Only] Type of the resource. Always compute#region for regions.
23773
+ # The IPv4 address range, in CIDR format, represented by this public advertised
23774
+ # prefix.
23775
+ # Corresponds to the JSON property `ipCidrRange`
23776
+ # @return [String]
23777
+ attr_accessor :ip_cidr_range
23778
+
23779
+ # [Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for
23780
+ # public advertised prefixes.
23080
23781
  # Corresponds to the JSON property `kind`
23081
23782
  # @return [String]
23082
23783
  attr_accessor :kind
23083
23784
 
23084
- # [Output Only] Name of the resource.
23785
+ # Name of the resource. Provided by the client when the resource is created. The
23786
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
23787
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
23788
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
23789
+ # and all following characters must be a dash, lowercase letter, or digit,
23790
+ # except the last character, which cannot be a dash.
23085
23791
  # Corresponds to the JSON property `name`
23086
23792
  # @return [String]
23087
23793
  attr_accessor :name
23088
23794
 
23089
- # [Output Only] Quotas assigned to this region.
23090
- # Corresponds to the JSON property `quotas`
23091
- # @return [Array<Google::Apis::ComputeV1::Quota>]
23092
- attr_accessor :quotas
23795
+ # [Output Only] The list of public delegated prefixes that exist for this public
23796
+ # advertised prefix.
23797
+ # Corresponds to the JSON property `publicDelegatedPrefixs`
23798
+ # @return [Array<Google::Apis::ComputeV1::PublicAdvertisedPrefixPublicDelegatedPrefix>]
23799
+ attr_accessor :public_delegated_prefixs
23093
23800
 
23094
23801
  # [Output Only] Server-defined URL for the resource.
23095
23802
  # Corresponds to the JSON property `selfLink`
23096
23803
  # @return [String]
23097
23804
  attr_accessor :self_link
23098
23805
 
23099
- # [Output Only] Status of the region, either UP or DOWN.
23806
+ # [Output Only] The shared secret to be used for reverse DNS verification.
23807
+ # Corresponds to the JSON property `sharedSecret`
23808
+ # @return [String]
23809
+ attr_accessor :shared_secret
23810
+
23811
+ # The status of the public advertised prefix.
23100
23812
  # Corresponds to the JSON property `status`
23101
23813
  # @return [String]
23102
23814
  attr_accessor :status
23103
23815
 
23104
- # [Output Only] Reserved for future use.
23105
- # Corresponds to the JSON property `supportsPzs`
23106
- # @return [Boolean]
23107
- attr_accessor :supports_pzs
23108
- alias_method :supports_pzs?, :supports_pzs
23109
-
23110
- # [Output Only] A list of zones available in this region, in the form of
23111
- # resource URLs.
23112
- # Corresponds to the JSON property `zones`
23113
- # @return [Array<String>]
23114
- attr_accessor :zones
23115
-
23116
23816
  def initialize(**args)
23117
23817
  update!(**args)
23118
23818
  end
@@ -23120,138 +23820,22 @@ module Google
23120
23820
  # Update properties of this object
23121
23821
  def update!(**args)
23122
23822
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
23123
- @deprecated = args[:deprecated] if args.key?(:deprecated)
23124
23823
  @description = args[:description] if args.key?(:description)
23824
+ @dns_verification_ip = args[:dns_verification_ip] if args.key?(:dns_verification_ip)
23825
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
23125
23826
  @id = args[:id] if args.key?(:id)
23827
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
23126
23828
  @kind = args[:kind] if args.key?(:kind)
23127
23829
  @name = args[:name] if args.key?(:name)
23128
- @quotas = args[:quotas] if args.key?(:quotas)
23830
+ @public_delegated_prefixs = args[:public_delegated_prefixs] if args.key?(:public_delegated_prefixs)
23129
23831
  @self_link = args[:self_link] if args.key?(:self_link)
23832
+ @shared_secret = args[:shared_secret] if args.key?(:shared_secret)
23130
23833
  @status = args[:status] if args.key?(:status)
23131
- @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
23132
- @zones = args[:zones] if args.key?(:zones)
23133
- end
23134
- end
23135
-
23136
- # Contains a list of autoscalers.
23137
- class RegionAutoscalerList
23138
- include Google::Apis::Core::Hashable
23139
-
23140
- # [Output Only] Unique identifier for the resource; defined by the server.
23141
- # Corresponds to the JSON property `id`
23142
- # @return [String]
23143
- attr_accessor :id
23144
-
23145
- # A list of Autoscaler resources.
23146
- # Corresponds to the JSON property `items`
23147
- # @return [Array<Google::Apis::ComputeV1::Autoscaler>]
23148
- attr_accessor :items
23149
-
23150
- # Type of resource.
23151
- # Corresponds to the JSON property `kind`
23152
- # @return [String]
23153
- attr_accessor :kind
23154
-
23155
- # [Output Only] This token allows you to get the next page of results for list
23156
- # requests. If the number of results is larger than maxResults, use the
23157
- # nextPageToken as a value for the query parameter pageToken in the next list
23158
- # request. Subsequent list requests will have their own nextPageToken to
23159
- # continue paging through the results.
23160
- # Corresponds to the JSON property `nextPageToken`
23161
- # @return [String]
23162
- attr_accessor :next_page_token
23163
-
23164
- # [Output Only] Server-defined URL for this resource.
23165
- # Corresponds to the JSON property `selfLink`
23166
- # @return [String]
23167
- attr_accessor :self_link
23168
-
23169
- # [Output Only] Informational warning message.
23170
- # Corresponds to the JSON property `warning`
23171
- # @return [Google::Apis::ComputeV1::RegionAutoscalerList::Warning]
23172
- attr_accessor :warning
23173
-
23174
- def initialize(**args)
23175
- update!(**args)
23176
- end
23177
-
23178
- # Update properties of this object
23179
- def update!(**args)
23180
- @id = args[:id] if args.key?(:id)
23181
- @items = args[:items] if args.key?(:items)
23182
- @kind = args[:kind] if args.key?(:kind)
23183
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
23184
- @self_link = args[:self_link] if args.key?(:self_link)
23185
- @warning = args[:warning] if args.key?(:warning)
23186
- end
23187
-
23188
- # [Output Only] Informational warning message.
23189
- class Warning
23190
- include Google::Apis::Core::Hashable
23191
-
23192
- # [Output Only] A warning code, if applicable. For example, Compute Engine
23193
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
23194
- # Corresponds to the JSON property `code`
23195
- # @return [String]
23196
- attr_accessor :code
23197
-
23198
- # [Output Only] Metadata about this warning in key: value format. For example:
23199
- # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
23200
- # Corresponds to the JSON property `data`
23201
- # @return [Array<Google::Apis::ComputeV1::RegionAutoscalerList::Warning::Datum>]
23202
- attr_accessor :data
23203
-
23204
- # [Output Only] A human-readable description of the warning code.
23205
- # Corresponds to the JSON property `message`
23206
- # @return [String]
23207
- attr_accessor :message
23208
-
23209
- def initialize(**args)
23210
- update!(**args)
23211
- end
23212
-
23213
- # Update properties of this object
23214
- def update!(**args)
23215
- @code = args[:code] if args.key?(:code)
23216
- @data = args[:data] if args.key?(:data)
23217
- @message = args[:message] if args.key?(:message)
23218
- end
23219
-
23220
- #
23221
- class Datum
23222
- include Google::Apis::Core::Hashable
23223
-
23224
- # [Output Only] A key that provides more detail on the warning being returned.
23225
- # For example, for warnings where there are no results in a list request for a
23226
- # particular zone, this key might be scope and the key value might be the zone
23227
- # name. Other examples might be a key indicating a deprecated resource and a
23228
- # suggested replacement, or a warning about invalid network settings (for
23229
- # example, if an instance attempts to perform IP forwarding but is not enabled
23230
- # for IP forwarding).
23231
- # Corresponds to the JSON property `key`
23232
- # @return [String]
23233
- attr_accessor :key
23234
-
23235
- # [Output Only] A warning data value corresponding to the key.
23236
- # Corresponds to the JSON property `value`
23237
- # @return [String]
23238
- attr_accessor :value
23239
-
23240
- def initialize(**args)
23241
- update!(**args)
23242
- end
23243
-
23244
- # Update properties of this object
23245
- def update!(**args)
23246
- @key = args[:key] if args.key?(:key)
23247
- @value = args[:value] if args.key?(:value)
23248
- end
23249
- end
23250
23834
  end
23251
23835
  end
23252
23836
 
23253
23837
  #
23254
- class RegionDiskTypeList
23838
+ class PublicAdvertisedPrefixList
23255
23839
  include Google::Apis::Core::Hashable
23256
23840
 
23257
23841
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -23259,13 +23843,13 @@ module Google
23259
23843
  # @return [String]
23260
23844
  attr_accessor :id
23261
23845
 
23262
- # A list of DiskType resources.
23846
+ # A list of PublicAdvertisedPrefix resources.
23263
23847
  # Corresponds to the JSON property `items`
23264
- # @return [Array<Google::Apis::ComputeV1::DiskType>]
23848
+ # @return [Array<Google::Apis::ComputeV1::PublicAdvertisedPrefix>]
23265
23849
  attr_accessor :items
23266
23850
 
23267
- # [Output Only] Type of resource. Always compute#regionDiskTypeList for region
23268
- # disk types.
23851
+ # [Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for
23852
+ # public advertised prefixes.
23269
23853
  # Corresponds to the JSON property `kind`
23270
23854
  # @return [String]
23271
23855
  attr_accessor :kind
@@ -23286,7 +23870,961 @@ module Google
23286
23870
 
23287
23871
  # [Output Only] Informational warning message.
23288
23872
  # Corresponds to the JSON property `warning`
23289
- # @return [Google::Apis::ComputeV1::RegionDiskTypeList::Warning]
23873
+ # @return [Google::Apis::ComputeV1::PublicAdvertisedPrefixList::Warning]
23874
+ attr_accessor :warning
23875
+
23876
+ def initialize(**args)
23877
+ update!(**args)
23878
+ end
23879
+
23880
+ # Update properties of this object
23881
+ def update!(**args)
23882
+ @id = args[:id] if args.key?(:id)
23883
+ @items = args[:items] if args.key?(:items)
23884
+ @kind = args[:kind] if args.key?(:kind)
23885
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
23886
+ @self_link = args[:self_link] if args.key?(:self_link)
23887
+ @warning = args[:warning] if args.key?(:warning)
23888
+ end
23889
+
23890
+ # [Output Only] Informational warning message.
23891
+ class Warning
23892
+ include Google::Apis::Core::Hashable
23893
+
23894
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
23895
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
23896
+ # Corresponds to the JSON property `code`
23897
+ # @return [String]
23898
+ attr_accessor :code
23899
+
23900
+ # [Output Only] Metadata about this warning in key: value format. For example:
23901
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
23902
+ # Corresponds to the JSON property `data`
23903
+ # @return [Array<Google::Apis::ComputeV1::PublicAdvertisedPrefixList::Warning::Datum>]
23904
+ attr_accessor :data
23905
+
23906
+ # [Output Only] A human-readable description of the warning code.
23907
+ # Corresponds to the JSON property `message`
23908
+ # @return [String]
23909
+ attr_accessor :message
23910
+
23911
+ def initialize(**args)
23912
+ update!(**args)
23913
+ end
23914
+
23915
+ # Update properties of this object
23916
+ def update!(**args)
23917
+ @code = args[:code] if args.key?(:code)
23918
+ @data = args[:data] if args.key?(:data)
23919
+ @message = args[:message] if args.key?(:message)
23920
+ end
23921
+
23922
+ #
23923
+ class Datum
23924
+ include Google::Apis::Core::Hashable
23925
+
23926
+ # [Output Only] A key that provides more detail on the warning being returned.
23927
+ # For example, for warnings where there are no results in a list request for a
23928
+ # particular zone, this key might be scope and the key value might be the zone
23929
+ # name. Other examples might be a key indicating a deprecated resource and a
23930
+ # suggested replacement, or a warning about invalid network settings (for
23931
+ # example, if an instance attempts to perform IP forwarding but is not enabled
23932
+ # for IP forwarding).
23933
+ # Corresponds to the JSON property `key`
23934
+ # @return [String]
23935
+ attr_accessor :key
23936
+
23937
+ # [Output Only] A warning data value corresponding to the key.
23938
+ # Corresponds to the JSON property `value`
23939
+ # @return [String]
23940
+ attr_accessor :value
23941
+
23942
+ def initialize(**args)
23943
+ update!(**args)
23944
+ end
23945
+
23946
+ # Update properties of this object
23947
+ def update!(**args)
23948
+ @key = args[:key] if args.key?(:key)
23949
+ @value = args[:value] if args.key?(:value)
23950
+ end
23951
+ end
23952
+ end
23953
+ end
23954
+
23955
+ # Represents a CIDR range which can be used to assign addresses.
23956
+ class PublicAdvertisedPrefixPublicDelegatedPrefix
23957
+ include Google::Apis::Core::Hashable
23958
+
23959
+ # The IP address range of the public delegated prefix
23960
+ # Corresponds to the JSON property `ipRange`
23961
+ # @return [String]
23962
+ attr_accessor :ip_range
23963
+
23964
+ # The name of the public delegated prefix
23965
+ # Corresponds to the JSON property `name`
23966
+ # @return [String]
23967
+ attr_accessor :name
23968
+
23969
+ # The project number of the public delegated prefix
23970
+ # Corresponds to the JSON property `project`
23971
+ # @return [String]
23972
+ attr_accessor :project
23973
+
23974
+ # The region of the public delegated prefix if it is regional. If absent, the
23975
+ # prefix is global.
23976
+ # Corresponds to the JSON property `region`
23977
+ # @return [String]
23978
+ attr_accessor :region
23979
+
23980
+ # The status of the public delegated prefix. Possible values are: INITIALIZING:
23981
+ # The public delegated prefix is being initialized and addresses cannot be
23982
+ # created yet. ANNOUNCED: The public delegated prefix is active.
23983
+ # Corresponds to the JSON property `status`
23984
+ # @return [String]
23985
+ attr_accessor :status
23986
+
23987
+ def initialize(**args)
23988
+ update!(**args)
23989
+ end
23990
+
23991
+ # Update properties of this object
23992
+ def update!(**args)
23993
+ @ip_range = args[:ip_range] if args.key?(:ip_range)
23994
+ @name = args[:name] if args.key?(:name)
23995
+ @project = args[:project] if args.key?(:project)
23996
+ @region = args[:region] if args.key?(:region)
23997
+ @status = args[:status] if args.key?(:status)
23998
+ end
23999
+ end
24000
+
24001
+ # A PublicDelegatedPrefix resource represents an IP block within a
24002
+ # PublicAdvertisedPrefix that is configured within a single cloud scope (global
24003
+ # or region). IPs in the block can be allocated to resources within that scope.
24004
+ # Public delegated prefixes may be further broken up into smaller IP blocks in
24005
+ # the same scope as the parent block.
24006
+ class PublicDelegatedPrefix
24007
+ include Google::Apis::Core::Hashable
24008
+
24009
+ # [Output Only] Creation timestamp in RFC3339 text format.
24010
+ # Corresponds to the JSON property `creationTimestamp`
24011
+ # @return [String]
24012
+ attr_accessor :creation_timestamp
24013
+
24014
+ # An optional description of this resource. Provide this property when you
24015
+ # create the resource.
24016
+ # Corresponds to the JSON property `description`
24017
+ # @return [String]
24018
+ attr_accessor :description
24019
+
24020
+ # Fingerprint of this resource. A hash of the contents stored in this object.
24021
+ # This field is used in optimistic locking. This field will be ignored when
24022
+ # inserting a new PublicDelegatedPrefix. An up-to-date fingerprint must be
24023
+ # provided in order to update the PublicDelegatedPrefix, otherwise the request
24024
+ # will fail with error 412 conditionNotMet.
24025
+ # To see the latest fingerprint, make a get() request to retrieve a
24026
+ # PublicDelegatedPrefix.
24027
+ # Corresponds to the JSON property `fingerprint`
24028
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
24029
+ # @return [String]
24030
+ attr_accessor :fingerprint
24031
+
24032
+ # [Output Only] The unique identifier for the resource type. The server
24033
+ # generates this identifier.
24034
+ # Corresponds to the JSON property `id`
24035
+ # @return [Fixnum]
24036
+ attr_accessor :id
24037
+
24038
+ # The IPv4 address range, in CIDR format, represented by this public delegated
24039
+ # prefix.
24040
+ # Corresponds to the JSON property `ipCidrRange`
24041
+ # @return [String]
24042
+ attr_accessor :ip_cidr_range
24043
+
24044
+ # If true, the prefix will be live migrated.
24045
+ # Corresponds to the JSON property `isLiveMigration`
24046
+ # @return [Boolean]
24047
+ attr_accessor :is_live_migration
24048
+ alias_method :is_live_migration?, :is_live_migration
24049
+
24050
+ # [Output Only] Type of the resource. Always compute#publicDelegatedPrefix for
24051
+ # public delegated prefixes.
24052
+ # Corresponds to the JSON property `kind`
24053
+ # @return [String]
24054
+ attr_accessor :kind
24055
+
24056
+ # Name of the resource. Provided by the client when the resource is created. The
24057
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
24058
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
24059
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
24060
+ # and all following characters must be a dash, lowercase letter, or digit,
24061
+ # except the last character, which cannot be a dash.
24062
+ # Corresponds to the JSON property `name`
24063
+ # @return [String]
24064
+ attr_accessor :name
24065
+
24066
+ # The URL of parent prefix. Either PublicAdvertisedPrefix or
24067
+ # PublicDelegatedPrefix.
24068
+ # Corresponds to the JSON property `parentPrefix`
24069
+ # @return [String]
24070
+ attr_accessor :parent_prefix
24071
+
24072
+ # The list of sub public delegated prefixes that exist for this public delegated
24073
+ # prefix.
24074
+ # Corresponds to the JSON property `publicDelegatedSubPrefixs`
24075
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixPublicDelegatedSubPrefix>]
24076
+ attr_accessor :public_delegated_sub_prefixs
24077
+
24078
+ # [Output Only] URL of the region where the public delegated prefix resides.
24079
+ # This field applies only to the region resource. You must specify this field as
24080
+ # part of the HTTP request URL. It is not settable as a field in the request
24081
+ # body.
24082
+ # Corresponds to the JSON property `region`
24083
+ # @return [String]
24084
+ attr_accessor :region
24085
+
24086
+ # [Output Only] Server-defined URL for the resource.
24087
+ # Corresponds to the JSON property `selfLink`
24088
+ # @return [String]
24089
+ attr_accessor :self_link
24090
+
24091
+ # [Output Only] The status of the public delegated prefix.
24092
+ # Corresponds to the JSON property `status`
24093
+ # @return [String]
24094
+ attr_accessor :status
24095
+
24096
+ def initialize(**args)
24097
+ update!(**args)
24098
+ end
24099
+
24100
+ # Update properties of this object
24101
+ def update!(**args)
24102
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
24103
+ @description = args[:description] if args.key?(:description)
24104
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
24105
+ @id = args[:id] if args.key?(:id)
24106
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
24107
+ @is_live_migration = args[:is_live_migration] if args.key?(:is_live_migration)
24108
+ @kind = args[:kind] if args.key?(:kind)
24109
+ @name = args[:name] if args.key?(:name)
24110
+ @parent_prefix = args[:parent_prefix] if args.key?(:parent_prefix)
24111
+ @public_delegated_sub_prefixs = args[:public_delegated_sub_prefixs] if args.key?(:public_delegated_sub_prefixs)
24112
+ @region = args[:region] if args.key?(:region)
24113
+ @self_link = args[:self_link] if args.key?(:self_link)
24114
+ @status = args[:status] if args.key?(:status)
24115
+ end
24116
+ end
24117
+
24118
+ #
24119
+ class PublicDelegatedPrefixAggregatedList
24120
+ include Google::Apis::Core::Hashable
24121
+
24122
+ # [Output Only] Unique identifier for the resource; defined by the server.
24123
+ # Corresponds to the JSON property `id`
24124
+ # @return [String]
24125
+ attr_accessor :id
24126
+
24127
+ # A list of PublicDelegatedPrefixesScopedList resources.
24128
+ # Corresponds to the JSON property `items`
24129
+ # @return [Hash<String,Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList>]
24130
+ attr_accessor :items
24131
+
24132
+ # [Output Only] Type of the resource. Always compute#
24133
+ # publicDelegatedPrefixAggregatedList for aggregated lists of public delegated
24134
+ # prefixes.
24135
+ # Corresponds to the JSON property `kind`
24136
+ # @return [String]
24137
+ attr_accessor :kind
24138
+
24139
+ # [Output Only] This token allows you to get the next page of results for list
24140
+ # requests. If the number of results is larger than maxResults, use the
24141
+ # nextPageToken as a value for the query parameter pageToken in the next list
24142
+ # request. Subsequent list requests will have their own nextPageToken to
24143
+ # continue paging through the results.
24144
+ # Corresponds to the JSON property `nextPageToken`
24145
+ # @return [String]
24146
+ attr_accessor :next_page_token
24147
+
24148
+ # [Output Only] Server-defined URL for this resource.
24149
+ # Corresponds to the JSON property `selfLink`
24150
+ # @return [String]
24151
+ attr_accessor :self_link
24152
+
24153
+ # [Output Only] Unreachable resources.
24154
+ # Corresponds to the JSON property `unreachables`
24155
+ # @return [Array<String>]
24156
+ attr_accessor :unreachables
24157
+
24158
+ # [Output Only] Informational warning message.
24159
+ # Corresponds to the JSON property `warning`
24160
+ # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList::Warning]
24161
+ attr_accessor :warning
24162
+
24163
+ def initialize(**args)
24164
+ update!(**args)
24165
+ end
24166
+
24167
+ # Update properties of this object
24168
+ def update!(**args)
24169
+ @id = args[:id] if args.key?(:id)
24170
+ @items = args[:items] if args.key?(:items)
24171
+ @kind = args[:kind] if args.key?(:kind)
24172
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
24173
+ @self_link = args[:self_link] if args.key?(:self_link)
24174
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
24175
+ @warning = args[:warning] if args.key?(:warning)
24176
+ end
24177
+
24178
+ # [Output Only] Informational warning message.
24179
+ class Warning
24180
+ include Google::Apis::Core::Hashable
24181
+
24182
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24183
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24184
+ # Corresponds to the JSON property `code`
24185
+ # @return [String]
24186
+ attr_accessor :code
24187
+
24188
+ # [Output Only] Metadata about this warning in key: value format. For example:
24189
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24190
+ # Corresponds to the JSON property `data`
24191
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList::Warning::Datum>]
24192
+ attr_accessor :data
24193
+
24194
+ # [Output Only] A human-readable description of the warning code.
24195
+ # Corresponds to the JSON property `message`
24196
+ # @return [String]
24197
+ attr_accessor :message
24198
+
24199
+ def initialize(**args)
24200
+ update!(**args)
24201
+ end
24202
+
24203
+ # Update properties of this object
24204
+ def update!(**args)
24205
+ @code = args[:code] if args.key?(:code)
24206
+ @data = args[:data] if args.key?(:data)
24207
+ @message = args[:message] if args.key?(:message)
24208
+ end
24209
+
24210
+ #
24211
+ class Datum
24212
+ include Google::Apis::Core::Hashable
24213
+
24214
+ # [Output Only] A key that provides more detail on the warning being returned.
24215
+ # For example, for warnings where there are no results in a list request for a
24216
+ # particular zone, this key might be scope and the key value might be the zone
24217
+ # name. Other examples might be a key indicating a deprecated resource and a
24218
+ # suggested replacement, or a warning about invalid network settings (for
24219
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24220
+ # for IP forwarding).
24221
+ # Corresponds to the JSON property `key`
24222
+ # @return [String]
24223
+ attr_accessor :key
24224
+
24225
+ # [Output Only] A warning data value corresponding to the key.
24226
+ # Corresponds to the JSON property `value`
24227
+ # @return [String]
24228
+ attr_accessor :value
24229
+
24230
+ def initialize(**args)
24231
+ update!(**args)
24232
+ end
24233
+
24234
+ # Update properties of this object
24235
+ def update!(**args)
24236
+ @key = args[:key] if args.key?(:key)
24237
+ @value = args[:value] if args.key?(:value)
24238
+ end
24239
+ end
24240
+ end
24241
+ end
24242
+
24243
+ #
24244
+ class PublicDelegatedPrefixList
24245
+ include Google::Apis::Core::Hashable
24246
+
24247
+ # [Output Only] Unique identifier for the resource; defined by the server.
24248
+ # Corresponds to the JSON property `id`
24249
+ # @return [String]
24250
+ attr_accessor :id
24251
+
24252
+ # A list of PublicDelegatedPrefix resources.
24253
+ # Corresponds to the JSON property `items`
24254
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefix>]
24255
+ attr_accessor :items
24256
+
24257
+ # [Output Only] Type of the resource. Always compute#publicDelegatedPrefixList
24258
+ # for public delegated prefixes.
24259
+ # Corresponds to the JSON property `kind`
24260
+ # @return [String]
24261
+ attr_accessor :kind
24262
+
24263
+ # [Output Only] This token allows you to get the next page of results for list
24264
+ # requests. If the number of results is larger than maxResults, use the
24265
+ # nextPageToken as a value for the query parameter pageToken in the next list
24266
+ # request. Subsequent list requests will have their own nextPageToken to
24267
+ # continue paging through the results.
24268
+ # Corresponds to the JSON property `nextPageToken`
24269
+ # @return [String]
24270
+ attr_accessor :next_page_token
24271
+
24272
+ # [Output Only] Server-defined URL for this resource.
24273
+ # Corresponds to the JSON property `selfLink`
24274
+ # @return [String]
24275
+ attr_accessor :self_link
24276
+
24277
+ # [Output Only] Informational warning message.
24278
+ # Corresponds to the JSON property `warning`
24279
+ # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixList::Warning]
24280
+ attr_accessor :warning
24281
+
24282
+ def initialize(**args)
24283
+ update!(**args)
24284
+ end
24285
+
24286
+ # Update properties of this object
24287
+ def update!(**args)
24288
+ @id = args[:id] if args.key?(:id)
24289
+ @items = args[:items] if args.key?(:items)
24290
+ @kind = args[:kind] if args.key?(:kind)
24291
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
24292
+ @self_link = args[:self_link] if args.key?(:self_link)
24293
+ @warning = args[:warning] if args.key?(:warning)
24294
+ end
24295
+
24296
+ # [Output Only] Informational warning message.
24297
+ class Warning
24298
+ include Google::Apis::Core::Hashable
24299
+
24300
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24301
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24302
+ # Corresponds to the JSON property `code`
24303
+ # @return [String]
24304
+ attr_accessor :code
24305
+
24306
+ # [Output Only] Metadata about this warning in key: value format. For example:
24307
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24308
+ # Corresponds to the JSON property `data`
24309
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixList::Warning::Datum>]
24310
+ attr_accessor :data
24311
+
24312
+ # [Output Only] A human-readable description of the warning code.
24313
+ # Corresponds to the JSON property `message`
24314
+ # @return [String]
24315
+ attr_accessor :message
24316
+
24317
+ def initialize(**args)
24318
+ update!(**args)
24319
+ end
24320
+
24321
+ # Update properties of this object
24322
+ def update!(**args)
24323
+ @code = args[:code] if args.key?(:code)
24324
+ @data = args[:data] if args.key?(:data)
24325
+ @message = args[:message] if args.key?(:message)
24326
+ end
24327
+
24328
+ #
24329
+ class Datum
24330
+ include Google::Apis::Core::Hashable
24331
+
24332
+ # [Output Only] A key that provides more detail on the warning being returned.
24333
+ # For example, for warnings where there are no results in a list request for a
24334
+ # particular zone, this key might be scope and the key value might be the zone
24335
+ # name. Other examples might be a key indicating a deprecated resource and a
24336
+ # suggested replacement, or a warning about invalid network settings (for
24337
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24338
+ # for IP forwarding).
24339
+ # Corresponds to the JSON property `key`
24340
+ # @return [String]
24341
+ attr_accessor :key
24342
+
24343
+ # [Output Only] A warning data value corresponding to the key.
24344
+ # Corresponds to the JSON property `value`
24345
+ # @return [String]
24346
+ attr_accessor :value
24347
+
24348
+ def initialize(**args)
24349
+ update!(**args)
24350
+ end
24351
+
24352
+ # Update properties of this object
24353
+ def update!(**args)
24354
+ @key = args[:key] if args.key?(:key)
24355
+ @value = args[:value] if args.key?(:value)
24356
+ end
24357
+ end
24358
+ end
24359
+ end
24360
+
24361
+ # Represents a sub PublicDelegatedPrefix.
24362
+ class PublicDelegatedPrefixPublicDelegatedSubPrefix
24363
+ include Google::Apis::Core::Hashable
24364
+
24365
+ # Name of the project scoping this PublicDelegatedSubPrefix.
24366
+ # Corresponds to the JSON property `delegateeProject`
24367
+ # @return [String]
24368
+ attr_accessor :delegatee_project
24369
+
24370
+ # An optional description of this resource. Provide this property when you
24371
+ # create the resource.
24372
+ # Corresponds to the JSON property `description`
24373
+ # @return [String]
24374
+ attr_accessor :description
24375
+
24376
+ # The IPv4 address range, in CIDR format, represented by this sub public
24377
+ # delegated prefix.
24378
+ # Corresponds to the JSON property `ipCidrRange`
24379
+ # @return [String]
24380
+ attr_accessor :ip_cidr_range
24381
+
24382
+ # Whether the sub prefix is delegated to create Address resources in the
24383
+ # delegatee project.
24384
+ # Corresponds to the JSON property `isAddress`
24385
+ # @return [Boolean]
24386
+ attr_accessor :is_address
24387
+ alias_method :is_address?, :is_address
24388
+
24389
+ # The name of the sub public delegated prefix.
24390
+ # Corresponds to the JSON property `name`
24391
+ # @return [String]
24392
+ attr_accessor :name
24393
+
24394
+ # [Output Only] The region of the sub public delegated prefix if it is regional.
24395
+ # If absent, the sub prefix is global.
24396
+ # Corresponds to the JSON property `region`
24397
+ # @return [String]
24398
+ attr_accessor :region
24399
+
24400
+ # [Output Only] The status of the sub public delegated prefix.
24401
+ # Corresponds to the JSON property `status`
24402
+ # @return [String]
24403
+ attr_accessor :status
24404
+
24405
+ def initialize(**args)
24406
+ update!(**args)
24407
+ end
24408
+
24409
+ # Update properties of this object
24410
+ def update!(**args)
24411
+ @delegatee_project = args[:delegatee_project] if args.key?(:delegatee_project)
24412
+ @description = args[:description] if args.key?(:description)
24413
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
24414
+ @is_address = args[:is_address] if args.key?(:is_address)
24415
+ @name = args[:name] if args.key?(:name)
24416
+ @region = args[:region] if args.key?(:region)
24417
+ @status = args[:status] if args.key?(:status)
24418
+ end
24419
+ end
24420
+
24421
+ #
24422
+ class PublicDelegatedPrefixesScopedList
24423
+ include Google::Apis::Core::Hashable
24424
+
24425
+ # [Output Only] A list of PublicDelegatedPrefixes contained in this scope.
24426
+ # Corresponds to the JSON property `publicDelegatedPrefixes`
24427
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefix>]
24428
+ attr_accessor :public_delegated_prefixes
24429
+
24430
+ # [Output Only] Informational warning which replaces the list of public
24431
+ # delegated prefixes when the list is empty.
24432
+ # Corresponds to the JSON property `warning`
24433
+ # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList::Warning]
24434
+ attr_accessor :warning
24435
+
24436
+ def initialize(**args)
24437
+ update!(**args)
24438
+ end
24439
+
24440
+ # Update properties of this object
24441
+ def update!(**args)
24442
+ @public_delegated_prefixes = args[:public_delegated_prefixes] if args.key?(:public_delegated_prefixes)
24443
+ @warning = args[:warning] if args.key?(:warning)
24444
+ end
24445
+
24446
+ # [Output Only] Informational warning which replaces the list of public
24447
+ # delegated prefixes when the list is empty.
24448
+ class Warning
24449
+ include Google::Apis::Core::Hashable
24450
+
24451
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24452
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24453
+ # Corresponds to the JSON property `code`
24454
+ # @return [String]
24455
+ attr_accessor :code
24456
+
24457
+ # [Output Only] Metadata about this warning in key: value format. For example:
24458
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24459
+ # Corresponds to the JSON property `data`
24460
+ # @return [Array<Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList::Warning::Datum>]
24461
+ attr_accessor :data
24462
+
24463
+ # [Output Only] A human-readable description of the warning code.
24464
+ # Corresponds to the JSON property `message`
24465
+ # @return [String]
24466
+ attr_accessor :message
24467
+
24468
+ def initialize(**args)
24469
+ update!(**args)
24470
+ end
24471
+
24472
+ # Update properties of this object
24473
+ def update!(**args)
24474
+ @code = args[:code] if args.key?(:code)
24475
+ @data = args[:data] if args.key?(:data)
24476
+ @message = args[:message] if args.key?(:message)
24477
+ end
24478
+
24479
+ #
24480
+ class Datum
24481
+ include Google::Apis::Core::Hashable
24482
+
24483
+ # [Output Only] A key that provides more detail on the warning being returned.
24484
+ # For example, for warnings where there are no results in a list request for a
24485
+ # particular zone, this key might be scope and the key value might be the zone
24486
+ # name. Other examples might be a key indicating a deprecated resource and a
24487
+ # suggested replacement, or a warning about invalid network settings (for
24488
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24489
+ # for IP forwarding).
24490
+ # Corresponds to the JSON property `key`
24491
+ # @return [String]
24492
+ attr_accessor :key
24493
+
24494
+ # [Output Only] A warning data value corresponding to the key.
24495
+ # Corresponds to the JSON property `value`
24496
+ # @return [String]
24497
+ attr_accessor :value
24498
+
24499
+ def initialize(**args)
24500
+ update!(**args)
24501
+ end
24502
+
24503
+ # Update properties of this object
24504
+ def update!(**args)
24505
+ @key = args[:key] if args.key?(:key)
24506
+ @value = args[:value] if args.key?(:value)
24507
+ end
24508
+ end
24509
+ end
24510
+ end
24511
+
24512
+ # A quotas entry.
24513
+ class Quota
24514
+ include Google::Apis::Core::Hashable
24515
+
24516
+ # [Output Only] Quota limit for this metric.
24517
+ # Corresponds to the JSON property `limit`
24518
+ # @return [Float]
24519
+ attr_accessor :limit
24520
+
24521
+ # [Output Only] Name of the quota metric.
24522
+ # Corresponds to the JSON property `metric`
24523
+ # @return [String]
24524
+ attr_accessor :metric
24525
+
24526
+ # [Output Only] Owning resource. This is the resource on which this quota is
24527
+ # applied.
24528
+ # Corresponds to the JSON property `owner`
24529
+ # @return [String]
24530
+ attr_accessor :owner
24531
+
24532
+ # [Output Only] Current usage of this metric.
24533
+ # Corresponds to the JSON property `usage`
24534
+ # @return [Float]
24535
+ attr_accessor :usage
24536
+
24537
+ def initialize(**args)
24538
+ update!(**args)
24539
+ end
24540
+
24541
+ # Update properties of this object
24542
+ def update!(**args)
24543
+ @limit = args[:limit] if args.key?(:limit)
24544
+ @metric = args[:metric] if args.key?(:metric)
24545
+ @owner = args[:owner] if args.key?(:owner)
24546
+ @usage = args[:usage] if args.key?(:usage)
24547
+ end
24548
+ end
24549
+
24550
+ # Represents a reference to a resource.
24551
+ class Reference
24552
+ include Google::Apis::Core::Hashable
24553
+
24554
+ # [Output Only] Type of the resource. Always compute#reference for references.
24555
+ # Corresponds to the JSON property `kind`
24556
+ # @return [String]
24557
+ attr_accessor :kind
24558
+
24559
+ # A description of the reference type with no implied semantics. Possible values
24560
+ # include:
24561
+ # - MEMBER_OF
24562
+ # Corresponds to the JSON property `referenceType`
24563
+ # @return [String]
24564
+ attr_accessor :reference_type
24565
+
24566
+ # URL of the resource which refers to the target.
24567
+ # Corresponds to the JSON property `referrer`
24568
+ # @return [String]
24569
+ attr_accessor :referrer
24570
+
24571
+ # URL of the resource to which this reference points.
24572
+ # Corresponds to the JSON property `target`
24573
+ # @return [String]
24574
+ attr_accessor :target
24575
+
24576
+ def initialize(**args)
24577
+ update!(**args)
24578
+ end
24579
+
24580
+ # Update properties of this object
24581
+ def update!(**args)
24582
+ @kind = args[:kind] if args.key?(:kind)
24583
+ @reference_type = args[:reference_type] if args.key?(:reference_type)
24584
+ @referrer = args[:referrer] if args.key?(:referrer)
24585
+ @target = args[:target] if args.key?(:target)
24586
+ end
24587
+ end
24588
+
24589
+ # Represents a Region resource.
24590
+ # A region is a geographical area where a resource is located. For more
24591
+ # information, read Regions and Zones. (== resource_for `$api_version`.regions ==
24592
+ # )
24593
+ class Region
24594
+ include Google::Apis::Core::Hashable
24595
+
24596
+ # [Output Only] Creation timestamp in RFC3339 text format.
24597
+ # Corresponds to the JSON property `creationTimestamp`
24598
+ # @return [String]
24599
+ attr_accessor :creation_timestamp
24600
+
24601
+ # Deprecation status for a public resource.
24602
+ # Corresponds to the JSON property `deprecated`
24603
+ # @return [Google::Apis::ComputeV1::DeprecationStatus]
24604
+ attr_accessor :deprecated
24605
+
24606
+ # [Output Only] Textual description of the resource.
24607
+ # Corresponds to the JSON property `description`
24608
+ # @return [String]
24609
+ attr_accessor :description
24610
+
24611
+ # [Output Only] The unique identifier for the resource. This identifier is
24612
+ # defined by the server.
24613
+ # Corresponds to the JSON property `id`
24614
+ # @return [Fixnum]
24615
+ attr_accessor :id
24616
+
24617
+ # [Output Only] Type of the resource. Always compute#region for regions.
24618
+ # Corresponds to the JSON property `kind`
24619
+ # @return [String]
24620
+ attr_accessor :kind
24621
+
24622
+ # [Output Only] Name of the resource.
24623
+ # Corresponds to the JSON property `name`
24624
+ # @return [String]
24625
+ attr_accessor :name
24626
+
24627
+ # [Output Only] Quotas assigned to this region.
24628
+ # Corresponds to the JSON property `quotas`
24629
+ # @return [Array<Google::Apis::ComputeV1::Quota>]
24630
+ attr_accessor :quotas
24631
+
24632
+ # [Output Only] Server-defined URL for the resource.
24633
+ # Corresponds to the JSON property `selfLink`
24634
+ # @return [String]
24635
+ attr_accessor :self_link
24636
+
24637
+ # [Output Only] Status of the region, either UP or DOWN.
24638
+ # Corresponds to the JSON property `status`
24639
+ # @return [String]
24640
+ attr_accessor :status
24641
+
24642
+ # [Output Only] Reserved for future use.
24643
+ # Corresponds to the JSON property `supportsPzs`
24644
+ # @return [Boolean]
24645
+ attr_accessor :supports_pzs
24646
+ alias_method :supports_pzs?, :supports_pzs
24647
+
24648
+ # [Output Only] A list of zones available in this region, in the form of
24649
+ # resource URLs.
24650
+ # Corresponds to the JSON property `zones`
24651
+ # @return [Array<String>]
24652
+ attr_accessor :zones
24653
+
24654
+ def initialize(**args)
24655
+ update!(**args)
24656
+ end
24657
+
24658
+ # Update properties of this object
24659
+ def update!(**args)
24660
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
24661
+ @deprecated = args[:deprecated] if args.key?(:deprecated)
24662
+ @description = args[:description] if args.key?(:description)
24663
+ @id = args[:id] if args.key?(:id)
24664
+ @kind = args[:kind] if args.key?(:kind)
24665
+ @name = args[:name] if args.key?(:name)
24666
+ @quotas = args[:quotas] if args.key?(:quotas)
24667
+ @self_link = args[:self_link] if args.key?(:self_link)
24668
+ @status = args[:status] if args.key?(:status)
24669
+ @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
24670
+ @zones = args[:zones] if args.key?(:zones)
24671
+ end
24672
+ end
24673
+
24674
+ # Contains a list of autoscalers.
24675
+ class RegionAutoscalerList
24676
+ include Google::Apis::Core::Hashable
24677
+
24678
+ # [Output Only] Unique identifier for the resource; defined by the server.
24679
+ # Corresponds to the JSON property `id`
24680
+ # @return [String]
24681
+ attr_accessor :id
24682
+
24683
+ # A list of Autoscaler resources.
24684
+ # Corresponds to the JSON property `items`
24685
+ # @return [Array<Google::Apis::ComputeV1::Autoscaler>]
24686
+ attr_accessor :items
24687
+
24688
+ # Type of resource.
24689
+ # Corresponds to the JSON property `kind`
24690
+ # @return [String]
24691
+ attr_accessor :kind
24692
+
24693
+ # [Output Only] This token allows you to get the next page of results for list
24694
+ # requests. If the number of results is larger than maxResults, use the
24695
+ # nextPageToken as a value for the query parameter pageToken in the next list
24696
+ # request. Subsequent list requests will have their own nextPageToken to
24697
+ # continue paging through the results.
24698
+ # Corresponds to the JSON property `nextPageToken`
24699
+ # @return [String]
24700
+ attr_accessor :next_page_token
24701
+
24702
+ # [Output Only] Server-defined URL for this resource.
24703
+ # Corresponds to the JSON property `selfLink`
24704
+ # @return [String]
24705
+ attr_accessor :self_link
24706
+
24707
+ # [Output Only] Informational warning message.
24708
+ # Corresponds to the JSON property `warning`
24709
+ # @return [Google::Apis::ComputeV1::RegionAutoscalerList::Warning]
24710
+ attr_accessor :warning
24711
+
24712
+ def initialize(**args)
24713
+ update!(**args)
24714
+ end
24715
+
24716
+ # Update properties of this object
24717
+ def update!(**args)
24718
+ @id = args[:id] if args.key?(:id)
24719
+ @items = args[:items] if args.key?(:items)
24720
+ @kind = args[:kind] if args.key?(:kind)
24721
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
24722
+ @self_link = args[:self_link] if args.key?(:self_link)
24723
+ @warning = args[:warning] if args.key?(:warning)
24724
+ end
24725
+
24726
+ # [Output Only] Informational warning message.
24727
+ class Warning
24728
+ include Google::Apis::Core::Hashable
24729
+
24730
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
24731
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
24732
+ # Corresponds to the JSON property `code`
24733
+ # @return [String]
24734
+ attr_accessor :code
24735
+
24736
+ # [Output Only] Metadata about this warning in key: value format. For example:
24737
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
24738
+ # Corresponds to the JSON property `data`
24739
+ # @return [Array<Google::Apis::ComputeV1::RegionAutoscalerList::Warning::Datum>]
24740
+ attr_accessor :data
24741
+
24742
+ # [Output Only] A human-readable description of the warning code.
24743
+ # Corresponds to the JSON property `message`
24744
+ # @return [String]
24745
+ attr_accessor :message
24746
+
24747
+ def initialize(**args)
24748
+ update!(**args)
24749
+ end
24750
+
24751
+ # Update properties of this object
24752
+ def update!(**args)
24753
+ @code = args[:code] if args.key?(:code)
24754
+ @data = args[:data] if args.key?(:data)
24755
+ @message = args[:message] if args.key?(:message)
24756
+ end
24757
+
24758
+ #
24759
+ class Datum
24760
+ include Google::Apis::Core::Hashable
24761
+
24762
+ # [Output Only] A key that provides more detail on the warning being returned.
24763
+ # For example, for warnings where there are no results in a list request for a
24764
+ # particular zone, this key might be scope and the key value might be the zone
24765
+ # name. Other examples might be a key indicating a deprecated resource and a
24766
+ # suggested replacement, or a warning about invalid network settings (for
24767
+ # example, if an instance attempts to perform IP forwarding but is not enabled
24768
+ # for IP forwarding).
24769
+ # Corresponds to the JSON property `key`
24770
+ # @return [String]
24771
+ attr_accessor :key
24772
+
24773
+ # [Output Only] A warning data value corresponding to the key.
24774
+ # Corresponds to the JSON property `value`
24775
+ # @return [String]
24776
+ attr_accessor :value
24777
+
24778
+ def initialize(**args)
24779
+ update!(**args)
24780
+ end
24781
+
24782
+ # Update properties of this object
24783
+ def update!(**args)
24784
+ @key = args[:key] if args.key?(:key)
24785
+ @value = args[:value] if args.key?(:value)
24786
+ end
24787
+ end
24788
+ end
24789
+ end
24790
+
24791
+ #
24792
+ class RegionDiskTypeList
24793
+ include Google::Apis::Core::Hashable
24794
+
24795
+ # [Output Only] Unique identifier for the resource; defined by the server.
24796
+ # Corresponds to the JSON property `id`
24797
+ # @return [String]
24798
+ attr_accessor :id
24799
+
24800
+ # A list of DiskType resources.
24801
+ # Corresponds to the JSON property `items`
24802
+ # @return [Array<Google::Apis::ComputeV1::DiskType>]
24803
+ attr_accessor :items
24804
+
24805
+ # [Output Only] Type of resource. Always compute#regionDiskTypeList for region
24806
+ # disk types.
24807
+ # Corresponds to the JSON property `kind`
24808
+ # @return [String]
24809
+ attr_accessor :kind
24810
+
24811
+ # [Output Only] This token allows you to get the next page of results for list
24812
+ # requests. If the number of results is larger than maxResults, use the
24813
+ # nextPageToken as a value for the query parameter pageToken in the next list
24814
+ # request. Subsequent list requests will have their own nextPageToken to
24815
+ # continue paging through the results.
24816
+ # Corresponds to the JSON property `nextPageToken`
24817
+ # @return [String]
24818
+ attr_accessor :next_page_token
24819
+
24820
+ # [Output Only] Server-defined URL for this resource.
24821
+ # Corresponds to the JSON property `selfLink`
24822
+ # @return [String]
24823
+ attr_accessor :self_link
24824
+
24825
+ # [Output Only] Informational warning message.
24826
+ # Corresponds to the JSON property `warning`
24827
+ # @return [Google::Apis::ComputeV1::RegionDiskTypeList::Warning]
23290
24828
  attr_accessor :warning
23291
24829
 
23292
24830
  def initialize(**args)
@@ -24573,6 +26111,12 @@ module Google
24573
26111
  # @return [String]
24574
26112
  attr_accessor :name
24575
26113
 
26114
+ # [Output Only] Reserved for future use.
26115
+ # Corresponds to the JSON property `satisfiesPzs`
26116
+ # @return [Boolean]
26117
+ attr_accessor :satisfies_pzs
26118
+ alias_method :satisfies_pzs?, :satisfies_pzs
26119
+
24576
26120
  # [Output Only] Server-defined fully-qualified URL for this resource.
24577
26121
  # Corresponds to the JSON property `selfLink`
24578
26122
  # @return [String]
@@ -24614,6 +26158,7 @@ module Google
24614
26158
  @id = args[:id] if args.key?(:id)
24615
26159
  @kind = args[:kind] if args.key?(:kind)
24616
26160
  @name = args[:name] if args.key?(:name)
26161
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
24617
26162
  @self_link = args[:self_link] if args.key?(:self_link)
24618
26163
  @specific_reservation = args[:specific_reservation] if args.key?(:specific_reservation)
24619
26164
  @specific_reservation_required = args[:specific_reservation_required] if args.key?(:specific_reservation_required)
@@ -25187,6 +26732,12 @@ module Google
25187
26732
  # @return [Fixnum]
25188
26733
  attr_accessor :id
25189
26734
 
26735
+ # An InstanceSchedulePolicy specifies when and how frequent certain operations
26736
+ # are performed on the instance.
26737
+ # Corresponds to the JSON property `instanceSchedulePolicy`
26738
+ # @return [Google::Apis::ComputeV1::ResourcePolicyInstanceSchedulePolicy]
26739
+ attr_accessor :instance_schedule_policy
26740
+
25190
26741
  # [Output Only] Type of the resource. Always compute#resource_policies for
25191
26742
  # resource policies.
25192
26743
  # Corresponds to the JSON property `kind`
@@ -25209,6 +26760,13 @@ module Google
25209
26760
  # @return [String]
25210
26761
  attr_accessor :region
25211
26762
 
26763
+ # Contains output only fields. Use this sub-message for all output fields set on
26764
+ # ResourcePolicy. The internal structure of this "status" field should mimic the
26765
+ # structure of ResourcePolicy proto specification.
26766
+ # Corresponds to the JSON property `resourceStatus`
26767
+ # @return [Google::Apis::ComputeV1::ResourcePolicyResourceStatus]
26768
+ attr_accessor :resource_status
26769
+
25212
26770
  # [Output Only] Server-defined fully-qualified URL for this resource.
25213
26771
  # Corresponds to the JSON property `selfLink`
25214
26772
  # @return [String]
@@ -25236,9 +26794,11 @@ module Google
25236
26794
  @description = args[:description] if args.key?(:description)
25237
26795
  @group_placement_policy = args[:group_placement_policy] if args.key?(:group_placement_policy)
25238
26796
  @id = args[:id] if args.key?(:id)
26797
+ @instance_schedule_policy = args[:instance_schedule_policy] if args.key?(:instance_schedule_policy)
25239
26798
  @kind = args[:kind] if args.key?(:kind)
25240
26799
  @name = args[:name] if args.key?(:name)
25241
26800
  @region = args[:region] if args.key?(:region)
26801
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
25242
26802
  @self_link = args[:self_link] if args.key?(:self_link)
25243
26803
  @snapshot_schedule_policy = args[:snapshot_schedule_policy] if args.key?(:snapshot_schedule_policy)
25244
26804
  @status = args[:status] if args.key?(:status)
@@ -25477,6 +27037,71 @@ module Google
25477
27037
  end
25478
27038
  end
25479
27039
 
27040
+ # An InstanceSchedulePolicy specifies when and how frequent certain operations
27041
+ # are performed on the instance.
27042
+ class ResourcePolicyInstanceSchedulePolicy
27043
+ include Google::Apis::Core::Hashable
27044
+
27045
+ # The expiration time of the schedule. The timestamp is an RFC3339 string.
27046
+ # Corresponds to the JSON property `expirationTime`
27047
+ # @return [String]
27048
+ attr_accessor :expiration_time
27049
+
27050
+ # The start time of the schedule. The timestamp is an RFC3339 string.
27051
+ # Corresponds to the JSON property `startTime`
27052
+ # @return [String]
27053
+ attr_accessor :start_time
27054
+
27055
+ # Specifies the time zone to be used in interpreting Schedule.schedule. The
27056
+ # value of this field must be a time zone name from the tz database: http://en.
27057
+ # wikipedia.org/wiki/Tz_database.
27058
+ # Corresponds to the JSON property `timeZone`
27059
+ # @return [String]
27060
+ attr_accessor :time_zone
27061
+
27062
+ # Schedule for an instance operation.
27063
+ # Corresponds to the JSON property `vmStartSchedule`
27064
+ # @return [Google::Apis::ComputeV1::ResourcePolicyInstanceSchedulePolicySchedule]
27065
+ attr_accessor :vm_start_schedule
27066
+
27067
+ # Schedule for an instance operation.
27068
+ # Corresponds to the JSON property `vmStopSchedule`
27069
+ # @return [Google::Apis::ComputeV1::ResourcePolicyInstanceSchedulePolicySchedule]
27070
+ attr_accessor :vm_stop_schedule
27071
+
27072
+ def initialize(**args)
27073
+ update!(**args)
27074
+ end
27075
+
27076
+ # Update properties of this object
27077
+ def update!(**args)
27078
+ @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
27079
+ @start_time = args[:start_time] if args.key?(:start_time)
27080
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
27081
+ @vm_start_schedule = args[:vm_start_schedule] if args.key?(:vm_start_schedule)
27082
+ @vm_stop_schedule = args[:vm_stop_schedule] if args.key?(:vm_stop_schedule)
27083
+ end
27084
+ end
27085
+
27086
+ # Schedule for an instance operation.
27087
+ class ResourcePolicyInstanceSchedulePolicySchedule
27088
+ include Google::Apis::Core::Hashable
27089
+
27090
+ # Specifies the frequency for the operation, using the unix-cron format.
27091
+ # Corresponds to the JSON property `schedule`
27092
+ # @return [String]
27093
+ attr_accessor :schedule
27094
+
27095
+ def initialize(**args)
27096
+ update!(**args)
27097
+ end
27098
+
27099
+ # Update properties of this object
27100
+ def update!(**args)
27101
+ @schedule = args[:schedule] if args.key?(:schedule)
27102
+ end
27103
+ end
27104
+
25480
27105
  #
25481
27106
  class ResourcePolicyList
25482
27107
  include Google::Apis::Core::Hashable
@@ -25602,6 +27227,56 @@ module Google
25602
27227
  end
25603
27228
  end
25604
27229
 
27230
+ # Contains output only fields. Use this sub-message for all output fields set on
27231
+ # ResourcePolicy. The internal structure of this "status" field should mimic the
27232
+ # structure of ResourcePolicy proto specification.
27233
+ class ResourcePolicyResourceStatus
27234
+ include Google::Apis::Core::Hashable
27235
+
27236
+ # [Output Only] Specifies a set of output values reffering to the
27237
+ # instance_schedule_policy system status. This field should have the same name
27238
+ # as corresponding policy field.
27239
+ # Corresponds to the JSON property `instanceSchedulePolicy`
27240
+ # @return [Google::Apis::ComputeV1::ResourcePolicyResourceStatusInstanceSchedulePolicyStatus]
27241
+ attr_accessor :instance_schedule_policy
27242
+
27243
+ def initialize(**args)
27244
+ update!(**args)
27245
+ end
27246
+
27247
+ # Update properties of this object
27248
+ def update!(**args)
27249
+ @instance_schedule_policy = args[:instance_schedule_policy] if args.key?(:instance_schedule_policy)
27250
+ end
27251
+ end
27252
+
27253
+ #
27254
+ class ResourcePolicyResourceStatusInstanceSchedulePolicyStatus
27255
+ include Google::Apis::Core::Hashable
27256
+
27257
+ # [Output Only] The last time the schedule successfully ran. The timestamp is an
27258
+ # RFC3339 string.
27259
+ # Corresponds to the JSON property `lastRunStartTime`
27260
+ # @return [String]
27261
+ attr_accessor :last_run_start_time
27262
+
27263
+ # [Output Only] The next time the schedule is planned to run. The actual time
27264
+ # might be slightly different. The timestamp is an RFC3339 string.
27265
+ # Corresponds to the JSON property `nextRunStartTime`
27266
+ # @return [String]
27267
+ attr_accessor :next_run_start_time
27268
+
27269
+ def initialize(**args)
27270
+ update!(**args)
27271
+ end
27272
+
27273
+ # Update properties of this object
27274
+ def update!(**args)
27275
+ @last_run_start_time = args[:last_run_start_time] if args.key?(:last_run_start_time)
27276
+ @next_run_start_time = args[:next_run_start_time] if args.key?(:next_run_start_time)
27277
+ end
27278
+ end
27279
+
25605
27280
  # A snapshot schedule policy specifies when and how frequently snapshots are to
25606
27281
  # be created for the target disk. Also specifies how many and how long these
25607
27282
  # scheduled snapshots should be retained.
@@ -26145,6 +27820,13 @@ module Google
26145
27820
  # @return [String]
26146
27821
  attr_accessor :description
26147
27822
 
27823
+ # Field to indicate if a router is dedicated to use with encrypted Interconnect
27824
+ # Attachment (IPsec-encrypted Cloud Interconnect feature).
27825
+ # Corresponds to the JSON property `encryptedInterconnectRouter`
27826
+ # @return [Boolean]
27827
+ attr_accessor :encrypted_interconnect_router
27828
+ alias_method :encrypted_interconnect_router?, :encrypted_interconnect_router
27829
+
26148
27830
  # [Output Only] The unique identifier for the resource. This identifier is
26149
27831
  # defined by the server.
26150
27832
  # Corresponds to the JSON property `id`
@@ -26205,6 +27887,7 @@ module Google
26205
27887
  @bgp_peers = args[:bgp_peers] if args.key?(:bgp_peers)
26206
27888
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
26207
27889
  @description = args[:description] if args.key?(:description)
27890
+ @encrypted_interconnect_router = args[:encrypted_interconnect_router] if args.key?(:encrypted_interconnect_router)
26208
27891
  @id = args[:id] if args.key?(:id)
26209
27892
  @interfaces = args[:interfaces] if args.key?(:interfaces)
26210
27893
  @kind = args[:kind] if args.key?(:kind)
@@ -26422,12 +28105,11 @@ module Google
26422
28105
  # User-specified list of prefix groups to advertise in custom mode, which can
26423
28106
  # take one of the following options:
26424
28107
  # - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets.
26425
- # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets.
26426
- # - ALL_PEER_VPC_SUBNETS: Advertises peer subnets of the router's VPC network.
26427
- # Note that this field can only be populated if advertise_mode is CUSTOM and
26428
- # overrides the list defined for the router (in the "bgp" message). These groups
26429
- # are advertised in addition to any specified prefixes. Leave this field blank
26430
- # to advertise no custom groups.
28108
+ # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. Note that this
28109
+ # field can only be populated if advertise_mode is CUSTOM and overrides the list
28110
+ # defined for the router (in the "bgp" message). These groups are advertised in
28111
+ # addition to any specified prefixes. Leave this field blank to advertise no
28112
+ # custom groups.
26431
28113
  # Corresponds to the JSON property `advertisedGroups`
26432
28114
  # @return [Array<String>]
26433
28115
  attr_accessor :advertised_groups
@@ -27321,7 +29003,42 @@ module Google
27321
29003
  end
27322
29004
  end
27323
29005
 
27324
- # Sets the scheduling options for an Instance. NextID: 13
29006
+ #
29007
+ class ScalingScheduleStatus
29008
+ include Google::Apis::Core::Hashable
29009
+
29010
+ # [Output Only] The last time the scaling schedule became active. Note: this is
29011
+ # a timestamp when a schedule actually became active, not when it was planned to
29012
+ # do so. The timestamp is in RFC3339 text format.
29013
+ # Corresponds to the JSON property `lastStartTime`
29014
+ # @return [String]
29015
+ attr_accessor :last_start_time
29016
+
29017
+ # [Output Only] The next time the scaling schedule is to become active. Note:
29018
+ # this is a timestamp when a schedule is planned to run, but the actual time
29019
+ # might be slightly different. The timestamp is in RFC3339 text format.
29020
+ # Corresponds to the JSON property `nextStartTime`
29021
+ # @return [String]
29022
+ attr_accessor :next_start_time
29023
+
29024
+ # [Output Only] The current state of a scaling schedule.
29025
+ # Corresponds to the JSON property `state`
29026
+ # @return [String]
29027
+ attr_accessor :state
29028
+
29029
+ def initialize(**args)
29030
+ update!(**args)
29031
+ end
29032
+
29033
+ # Update properties of this object
29034
+ def update!(**args)
29035
+ @last_start_time = args[:last_start_time] if args.key?(:last_start_time)
29036
+ @next_start_time = args[:next_start_time] if args.key?(:next_start_time)
29037
+ @state = args[:state] if args.key?(:state)
29038
+ end
29039
+ end
29040
+
29041
+ # Sets the scheduling options for an Instance. NextID: 20
27325
29042
  class Scheduling
27326
29043
  include Google::Apis::Core::Hashable
27327
29044
 
@@ -29425,9 +31142,9 @@ module Google
29425
31142
  # The range of internal addresses that are owned by this subnetwork. Provide
29426
31143
  # this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.
29427
31144
  # 64.0.0/10. Ranges must be unique and non-overlapping within a network. Only
29428
- # IPv4 is supported. This field is set at resource creation time. This may be a
29429
- # RFC 1918 IP range, or a privately routed, non-RFC 1918 IP range, not belonging
29430
- # to Google. The range can be expanded after creation using expandIpCidrRange.
31145
+ # IPv4 is supported. This field is set at resource creation time. The range can
31146
+ # be any range listed in the Valid ranges list. The range can be expanded after
31147
+ # creation using expandIpCidrRange.
29431
31148
  # Corresponds to the JSON property `ipCidrRange`
29432
31149
  # @return [String]
29433
31150
  attr_accessor :ip_cidr_range
@@ -29875,8 +31592,8 @@ module Google
29875
31592
  # The range of IP addresses belonging to this subnetwork secondary range.
29876
31593
  # Provide this property when you create the subnetwork. Ranges must be unique
29877
31594
  # and non-overlapping with all primary and secondary IP ranges within a network.
29878
- # Only IPv4 is supported. This may be a RFC 1918 IP range, or a privately, non-
29879
- # RFC 1918 IP range, not belonging to Google.
31595
+ # Only IPv4 is supported. The range can be any range listed in the Valid ranges
31596
+ # list.
29880
31597
  # Corresponds to the JSON property `ipCidrRange`
29881
31598
  # @return [String]
29882
31599
  attr_accessor :ip_cidr_range
@@ -30883,6 +32600,17 @@ module Google
30883
32600
  # @return [String]
30884
32601
  attr_accessor :description
30885
32602
 
32603
+ # Fingerprint of this resource. A hash of the contents stored in this object.
32604
+ # This field is used in optimistic locking. This field will be ignored when
32605
+ # inserting a TargetHttpsProxy. An up-to-date fingerprint must be provided in
32606
+ # order to patch the TargetHttpsProxy; otherwise, the request will fail with
32607
+ # error 412 conditionNotMet. To see the latest fingerprint, make a get() request
32608
+ # to retrieve the TargetHttpsProxy.
32609
+ # Corresponds to the JSON property `fingerprint`
32610
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
32611
+ # @return [String]
32612
+ attr_accessor :fingerprint
32613
+
30886
32614
  # [Output Only] The unique identifier for the resource. This identifier is
30887
32615
  # defined by the server.
30888
32616
  # Corresponds to the JSON property `id`
@@ -30985,6 +32713,7 @@ module Google
30985
32713
  @authorization_policy = args[:authorization_policy] if args.key?(:authorization_policy)
30986
32714
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
30987
32715
  @description = args[:description] if args.key?(:description)
32716
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
30988
32717
  @id = args[:id] if args.key?(:id)
30989
32718
  @kind = args[:kind] if args.key?(:kind)
30990
32719
  @name = args[:name] if args.key?(:name)
@@ -32596,6 +34325,19 @@ module Google
32596
34325
  # @return [String]
32597
34326
  attr_accessor :name
32598
34327
 
34328
+ # This field only applies when the forwarding rule that references this target
34329
+ # proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED.
34330
+ # When this field is set to true, Envoy proxies set up inbound traffic
34331
+ # interception and bind to the IP address and port specified in the forwarding
34332
+ # rule. This is generally useful when using Traffic Director to configure Envoy
34333
+ # as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy
34334
+ # proxy listens for inbound requests and handles requests when it receives them.
34335
+ # The default is false.
34336
+ # Corresponds to the JSON property `proxyBind`
34337
+ # @return [Boolean]
34338
+ attr_accessor :proxy_bind
34339
+ alias_method :proxy_bind?, :proxy_bind
34340
+
32599
34341
  # Specifies the type of proxy header to append before sending data to the
32600
34342
  # backend, either NONE or PROXY_V1. The default is NONE.
32601
34343
  # Corresponds to the JSON property `proxyHeader`
@@ -32623,6 +34365,7 @@ module Google
32623
34365
  @id = args[:id] if args.key?(:id)
32624
34366
  @kind = args[:kind] if args.key?(:kind)
32625
34367
  @name = args[:name] if args.key?(:name)
34368
+ @proxy_bind = args[:proxy_bind] if args.key?(:proxy_bind)
32626
34369
  @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
32627
34370
  @self_link = args[:self_link] if args.key?(:self_link)
32628
34371
  @service = args[:service] if args.key?(:service)
@@ -34913,6 +36656,14 @@ module Google
34913
36656
  # @return [Fixnum]
34914
36657
  attr_accessor :id
34915
36658
 
36659
+ # URL of the interconnect attachment resource. When the value of this field is
36660
+ # present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect;
36661
+ # all Egress or Ingress traffic for this VPN Gateway interface will go through
36662
+ # the specified interconnect attachment resource.
36663
+ # Corresponds to the JSON property `interconnectAttachment`
36664
+ # @return [String]
36665
+ attr_accessor :interconnect_attachment
36666
+
34916
36667
  # [Output Only] The external IP address for this VPN gateway interface.
34917
36668
  # Corresponds to the JSON property `ipAddress`
34918
36669
  # @return [String]
@@ -34925,6 +36676,7 @@ module Google
34925
36676
  # Update properties of this object
34926
36677
  def update!(**args)
34927
36678
  @id = args[:id] if args.key?(:id)
36679
+ @interconnect_attachment = args[:interconnect_attachment] if args.key?(:interconnect_attachment)
34928
36680
  @ip_address = args[:ip_address] if args.key?(:ip_address)
34929
36681
  end
34930
36682
  end