google-apis-compute_v1 0.2.0 → 0.7.0

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