google-apis-compute_beta 0.4.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2d635336309fb9ad374e35d41c7bc3af7faff07bc71a7362ddacf925d317f3c8
4
- data.tar.gz: e772796db78cff638c35c82841920a2b0e3292539d979c3effd702a3e2e23db0
3
+ metadata.gz: ddd7488ab673fba76c65083cab940d4e6a2db83c2b94809b599248ab7d68bf49
4
+ data.tar.gz: 96d1013193b78e8501bc6b2a5316efe63e732e5a566edbee423f643178886312
5
5
  SHA512:
6
- metadata.gz: af2de9467e02171ad38bf6933e61d31769af1012ea9313a98db995d42ff00266658d493470145fc4e0f0b428a0600bf3c09e6f37ac7a5e1c88f8321449a24f2e
7
- data.tar.gz: 2e17c33cbf572f5c6af1dbddf97b19a1d4132f6262856725d94379ad76b84d28c14415f3fc3c81d1d0ad11090c7e4ec829364a7d380c65a7b82695ee4edc9723
6
+ metadata.gz: 8d6d862705118b761703e90a63de2e694d69762758053cb75a251aef412961f0102835489618890626e1236a8a147a4f76f646e878b7427a8e0b1f4a6125f9ec
7
+ data.tar.gz: c6a6da29af2b3564d031aa1bec0359962d0ddb2883f525217c0e43913cd88e1afe20bb5e4b6c05f3260d0abc7bb070a0e1842355cc1a4a41b956ad01812453f6
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Release history for google-apis-compute_beta
2
2
 
3
+ ### v0.9.0 (2021-05-05)
4
+
5
+ * Regenerated from discovery document revision 20210415
6
+
7
+ ### v0.8.0 (2021-03-30)
8
+
9
+ * Regenerated from discovery document revision 20210316
10
+
11
+ ### v0.7.0 (2021-03-19)
12
+
13
+ * Regenerated from discovery document revision 20210310
14
+
15
+ ### v0.6.0 (2021-03-10)
16
+
17
+ * Regenerated from discovery document revision 20210301
18
+ * Regenerated using generator version 0.2.0
19
+
20
+ ### v0.5.0 (2021-03-04)
21
+
22
+ * Unspecified changes
23
+
3
24
  ### v0.4.0 (2021-02-24)
4
25
 
5
26
  * Regenerated from discovery document revision 20210209
@@ -29,7 +29,7 @@ module Google
29
29
  # This is NOT the gem version.
30
30
  VERSION = 'Beta'
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
@@ -636,7 +636,7 @@ module Google
636
636
  # @return [String]
637
637
  attr_accessor :network_tier
638
638
 
639
- # The prefix length if the resource reprensents an IP range.
639
+ # The prefix length if the resource represents an IP range.
640
640
  # Corresponds to the JSON property `prefixLength`
641
641
  # @return [Fixnum]
642
642
  attr_accessor :prefix_length
@@ -649,7 +649,7 @@ module Google
649
649
  # - `NAT_AUTO` for addresses that are external IP addresses automatically
650
650
  # reserved for Cloud NAT.
651
651
  # - `IPSEC_INTERCONNECT` for addresses created from a private IP range that are
652
- # reserved for a VLAN attachment in an IPsec encrypted Interconnect
652
+ # reserved for a VLAN attachment in an IPsec-encrypted Cloud Interconnect
653
653
  # configuration. These addresses are regional resources.
654
654
  # Corresponds to the JSON property `purpose`
655
655
  # @return [String]
@@ -1063,6 +1063,13 @@ module Google
1063
1063
  attr_accessor :enable_nested_virtualization
1064
1064
  alias_method :enable_nested_virtualization?, :enable_nested_virtualization
1065
1065
 
1066
+ # The number of threads per physical core. To disable simultaneous
1067
+ # multithreading (SMT) set this to 1. If unset, the maximum number of threads
1068
+ # supported per core by the underlying processor is assumed.
1069
+ # Corresponds to the JSON property `threadsPerCore`
1070
+ # @return [Fixnum]
1071
+ attr_accessor :threads_per_core
1072
+
1066
1073
  def initialize(**args)
1067
1074
  update!(**args)
1068
1075
  end
@@ -1070,6 +1077,7 @@ module Google
1070
1077
  # Update properties of this object
1071
1078
  def update!(**args)
1072
1079
  @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1080
+ @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1073
1081
  end
1074
1082
  end
1075
1083
 
@@ -1158,6 +1166,18 @@ module Google
1158
1166
  # @return [String]
1159
1167
  attr_accessor :machine_type
1160
1168
 
1169
+ # Specifies the number of hours after reservation creation where instances using
1170
+ # the reservation won't be scheduled for maintenance.
1171
+ # Corresponds to the JSON property `maintenanceFreezeDurationHours`
1172
+ # @return [Fixnum]
1173
+ attr_accessor :maintenance_freeze_duration_hours
1174
+
1175
+ # For more information about maintenance intervals, see Setting maintenance
1176
+ # intervals.
1177
+ # Corresponds to the JSON property `maintenanceInterval`
1178
+ # @return [String]
1179
+ attr_accessor :maintenance_interval
1180
+
1161
1181
  # Minimum cpu platform the reservation.
1162
1182
  # Corresponds to the JSON property `minCpuPlatform`
1163
1183
  # @return [String]
@@ -1173,6 +1193,8 @@ module Google
1173
1193
  @local_ssds = args[:local_ssds] if args.key?(:local_ssds)
1174
1194
  @location_hint = args[:location_hint] if args.key?(:location_hint)
1175
1195
  @machine_type = args[:machine_type] if args.key?(:machine_type)
1196
+ @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
1197
+ @maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
1176
1198
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
1177
1199
  end
1178
1200
  end
@@ -2719,6 +2741,12 @@ module Google
2719
2741
  # @return [Array<Google::Apis::ComputeBeta::BackendBucketCdnPolicyBypassCacheOnRequestHeader>]
2720
2742
  attr_accessor :bypass_cache_on_request_headers
2721
2743
 
2744
+ # Message containing what to include in the cache key for a request for Cloud
2745
+ # CDN.
2746
+ # Corresponds to the JSON property `cacheKeyPolicy`
2747
+ # @return [Google::Apis::ComputeBeta::BackendBucketCdnPolicyCacheKeyPolicy]
2748
+ attr_accessor :cache_key_policy
2749
+
2722
2750
  # Specifies the cache setting for all responses from this backend. The possible
2723
2751
  # values are:
2724
2752
  # USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache
@@ -2843,6 +2871,7 @@ module Google
2843
2871
  # Update properties of this object
2844
2872
  def update!(**args)
2845
2873
  @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
2874
+ @cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
2846
2875
  @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
2847
2876
  @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
2848
2877
  @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
@@ -2878,13 +2907,41 @@ module Google
2878
2907
  end
2879
2908
  end
2880
2909
 
2910
+ # Message containing what to include in the cache key for a request for Cloud
2911
+ # CDN.
2912
+ class BackendBucketCdnPolicyCacheKeyPolicy
2913
+ include Google::Apis::Core::Hashable
2914
+
2915
+ # Allows HTTP request headers (by name) to be used in the cache key.
2916
+ # Corresponds to the JSON property `includeHttpHeaders`
2917
+ # @return [Array<String>]
2918
+ attr_accessor :include_http_headers
2919
+
2920
+ # Names of query string parameters to include in cache keys. All other
2921
+ # parameters will be excluded. '&' and '=' will be percent encoded and not
2922
+ # treated as delimiters.
2923
+ # Corresponds to the JSON property `queryStringWhitelist`
2924
+ # @return [Array<String>]
2925
+ attr_accessor :query_string_whitelist
2926
+
2927
+ def initialize(**args)
2928
+ update!(**args)
2929
+ end
2930
+
2931
+ # Update properties of this object
2932
+ def update!(**args)
2933
+ @include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
2934
+ @query_string_whitelist = args[:query_string_whitelist] if args.key?(:query_string_whitelist)
2935
+ end
2936
+ end
2937
+
2881
2938
  # Specify CDN TTLs for response error codes.
2882
2939
  class BackendBucketCdnPolicyNegativeCachingPolicy
2883
2940
  include Google::Apis::Core::Hashable
2884
2941
 
2885
2942
  # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
2886
- # 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you
2887
- # cannot specify a status code more than once.
2943
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
2944
+ # and you cannot specify a status code more than once.
2888
2945
  # Corresponds to the JSON property `code`
2889
2946
  # @return [Fixnum]
2890
2947
  attr_accessor :code
@@ -3210,6 +3267,14 @@ module Google
3210
3267
  # @return [Google::Apis::ComputeBeta::BackendServiceLogConfig]
3211
3268
  attr_accessor :log_config
3212
3269
 
3270
+ # A Duration represents a fixed-length span of time represented as a count of
3271
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
3272
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
3273
+ # 000 years.
3274
+ # Corresponds to the JSON property `maxStreamDuration`
3275
+ # @return [Google::Apis::ComputeBeta::Duration]
3276
+ attr_accessor :max_stream_duration
3277
+
3213
3278
  # Name of the resource. Provided by the client when the resource is created. The
3214
3279
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
3215
3280
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3289,7 +3354,7 @@ module Google
3289
3354
 
3290
3355
  # Type of session affinity to use. The default is NONE.
3291
3356
  # When the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the
3292
- # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3357
+ # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3293
3358
  # * For all other load balancers that use loadBalancingScheme=EXTERNAL, the
3294
3359
  # possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use
3295
3360
  # GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.
@@ -3304,6 +3369,12 @@ module Google
3304
3369
  # @return [String]
3305
3370
  attr_accessor :session_affinity
3306
3371
 
3372
+ # Subsetting configuration for this BackendService. Currently this is applicable
3373
+ # only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
3374
+ # Corresponds to the JSON property `subsetting`
3375
+ # @return [Google::Apis::ComputeBeta::Subsetting]
3376
+ attr_accessor :subsetting
3377
+
3307
3378
  # The backend service timeout has a different meaning depending on the type of
3308
3379
  # load balancer. For more information see, Backend service settings The default
3309
3380
  # is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647
@@ -3339,6 +3410,7 @@ module Google
3339
3410
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3340
3411
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
3341
3412
  @log_config = args[:log_config] if args.key?(:log_config)
3413
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
3342
3414
  @name = args[:name] if args.key?(:name)
3343
3415
  @network = args[:network] if args.key?(:network)
3344
3416
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
@@ -3350,6 +3422,7 @@ module Google
3350
3422
  @security_settings = args[:security_settings] if args.key?(:security_settings)
3351
3423
  @self_link = args[:self_link] if args.key?(:self_link)
3352
3424
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
3425
+ @subsetting = args[:subsetting] if args.key?(:subsetting)
3353
3426
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
3354
3427
  end
3355
3428
  end
@@ -3659,8 +3732,8 @@ module Google
3659
3732
  include Google::Apis::Core::Hashable
3660
3733
 
3661
3734
  # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
3662
- # 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you
3663
- # cannot specify a status code more than once.
3735
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
3736
+ # and you cannot specify a status code more than once.
3664
3737
  # Corresponds to the JSON property `code`
3665
3738
  # @return [Fixnum]
3666
3739
  attr_accessor :code
@@ -4477,16 +4550,17 @@ module Google
4477
4550
 
4478
4551
  # The minimum number of instances to create. If no min_count is specified then
4479
4552
  # count is used as the default value. If min_count instances cannot be created,
4480
- # then no instances will be created.
4553
+ # then no instances will be created and instances already created will be
4554
+ # deleted.
4481
4555
  # Corresponds to the JSON property `minCount`
4482
4556
  # @return [Fixnum]
4483
4557
  attr_accessor :min_count
4484
4558
 
4485
4559
  # The string pattern used for the names of the VMs. Either name_pattern or
4486
- # predefined_names must be set. The pattern should contain one consecutive
4560
+ # per_instance_properties must be set. The pattern should contain one continuous
4487
4561
  # sequence of placeholder hash characters (#) with each character corresponding
4488
4562
  # to one digit of the generated instance name. Example: name_pattern of inst-####
4489
- # will generate instance names like inst-0001, inst-0002, ... . If there
4563
+ # will generate instance names such as inst-0001, inst-0002, ... . If there
4490
4564
  # already exist instance(s) whose names match the name pattern in the same
4491
4565
  # project and zone, then the generated instance numbers will start after the
4492
4566
  # biggest existing number. For example, if there exists an instance with name
@@ -4591,6 +4665,17 @@ module Google
4591
4665
  attr_accessor :include_host
4592
4666
  alias_method :include_host?, :include_host
4593
4667
 
4668
+ # Allows HTTP request headers (by name) to be used in the cache key.
4669
+ # Corresponds to the JSON property `includeHttpHeaders`
4670
+ # @return [Array<String>]
4671
+ attr_accessor :include_http_headers
4672
+
4673
+ # Allows HTTP cookies (by name) to be used in the cache key. The name=value pair
4674
+ # will be used in the cache key Cloud CDN generates.
4675
+ # Corresponds to the JSON property `includeNamedCookies`
4676
+ # @return [Array<String>]
4677
+ attr_accessor :include_named_cookies
4678
+
4594
4679
  # If true, http and https requests will be cached separately.
4595
4680
  # Corresponds to the JSON property `includeProtocol`
4596
4681
  # @return [Boolean]
@@ -4629,6 +4714,8 @@ module Google
4629
4714
  # Update properties of this object
4630
4715
  def update!(**args)
4631
4716
  @include_host = args[:include_host] if args.key?(:include_host)
4717
+ @include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
4718
+ @include_named_cookies = args[:include_named_cookies] if args.key?(:include_named_cookies)
4632
4719
  @include_protocol = args[:include_protocol] if args.key?(:include_protocol)
4633
4720
  @include_query_string = args[:include_query_string] if args.key?(:include_query_string)
4634
4721
  @query_string_blacklist = args[:query_string_blacklist] if args.key?(:query_string_blacklist)
@@ -7862,13 +7949,14 @@ module Google
7862
7949
  # @return [String]
7863
7950
  attr_accessor :description
7864
7951
 
7865
- # User-provided name of the Organization firewall plicy. The name should be
7866
- # unique in the organization in which the firewall policy is created. The name
7867
- # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
7868
- # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
7869
- # [a-z0-9])?` which means the first character must be a lowercase letter, and
7870
- # all following characters must be a dash, lowercase letter, or digit, except
7871
- # the last character, which cannot be a dash.
7952
+ # Depreacted, please use short name instead. User-provided name of the
7953
+ # Organization firewall plicy. The name should be unique in the organization in
7954
+ # which the firewall policy is created. The name must be 1-63 characters long,
7955
+ # and comply with RFC1035. Specifically, the name must be 1-63 characters long
7956
+ # and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
7957
+ # first character must be a lowercase letter, and all following characters must
7958
+ # be a dash, lowercase letter, or digit, except the last character, which cannot
7959
+ # be a dash.
7872
7960
  # Corresponds to the JSON property `displayName`
7873
7961
  # @return [String]
7874
7962
  attr_accessor :display_name
@@ -7932,6 +8020,17 @@ module Google
7932
8020
  # @return [String]
7933
8021
  attr_accessor :self_link_with_id
7934
8022
 
8023
+ # User-provided name of the Organization firewall plicy. The name should be
8024
+ # unique in the organization in which the firewall policy is created. The name
8025
+ # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
8026
+ # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
8027
+ # [a-z0-9])?` which means the first character must be a lowercase letter, and
8028
+ # all following characters must be a dash, lowercase letter, or digit, except
8029
+ # the last character, which cannot be a dash.
8030
+ # Corresponds to the JSON property `shortName`
8031
+ # @return [String]
8032
+ attr_accessor :short_name
8033
+
7935
8034
  def initialize(**args)
7936
8035
  update!(**args)
7937
8036
  end
@@ -7951,6 +8050,7 @@ module Google
7951
8050
  @rules = args[:rules] if args.key?(:rules)
7952
8051
  @self_link = args[:self_link] if args.key?(:self_link)
7953
8052
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
8053
+ @short_name = args[:short_name] if args.key?(:short_name)
7954
8054
  end
7955
8055
  end
7956
8056
 
@@ -7963,7 +8063,8 @@ module Google
7963
8063
  # @return [String]
7964
8064
  attr_accessor :attachment_target
7965
8065
 
7966
- # [Output Only] The display name of the firewall policy of the association.
8066
+ # [Output Only] Deprecated, please use short name instead. The display name of
8067
+ # the firewall policy of the association.
7967
8068
  # Corresponds to the JSON property `displayName`
7968
8069
  # @return [String]
7969
8070
  attr_accessor :display_name
@@ -7978,6 +8079,11 @@ module Google
7978
8079
  # @return [String]
7979
8080
  attr_accessor :name
7980
8081
 
8082
+ # [Output Only] The short name of the firewall policy of the association.
8083
+ # Corresponds to the JSON property `shortName`
8084
+ # @return [String]
8085
+ attr_accessor :short_name
8086
+
7981
8087
  def initialize(**args)
7982
8088
  update!(**args)
7983
8089
  end
@@ -7988,6 +8094,7 @@ module Google
7988
8094
  @display_name = args[:display_name] if args.key?(:display_name)
7989
8095
  @firewall_policy_id = args[:firewall_policy_id] if args.key?(:firewall_policy_id)
7990
8096
  @name = args[:name] if args.key?(:name)
8097
+ @short_name = args[:short_name] if args.key?(:short_name)
7991
8098
  end
7992
8099
  end
7993
8100
 
@@ -8174,17 +8281,6 @@ module Google
8174
8281
  # @return [Array<String>]
8175
8282
  attr_accessor :target_resources
8176
8283
 
8177
- # A list of secure labels that controls which instances the firewall rule
8178
- # applies to. If targetSecureLabel are specified, then the firewall rule applies
8179
- # only to instances in the VPC network that have one of those secure labels.
8180
- # targetSecureLabel may not be set at the same time as targetServiceAccounts. If
8181
- # neither targetServiceAccounts nor targetSecureLabel are specified, the
8182
- # firewall rule applies to all instances on the specified network. Maximum
8183
- # number of target label values allowed is 256.
8184
- # Corresponds to the JSON property `targetSecureLabels`
8185
- # @return [Array<String>]
8186
- attr_accessor :target_secure_labels
8187
-
8188
8284
  # A list of service accounts indicating the sets of instances that are applied
8189
8285
  # with this rule.
8190
8286
  # Corresponds to the JSON property `targetServiceAccounts`
@@ -8207,7 +8303,6 @@ module Google
8207
8303
  @priority = args[:priority] if args.key?(:priority)
8208
8304
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
8209
8305
  @target_resources = args[:target_resources] if args.key?(:target_resources)
8210
- @target_secure_labels = args[:target_secure_labels] if args.key?(:target_secure_labels)
8211
8306
  @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
8212
8307
  end
8213
8308
  end
@@ -8233,12 +8328,6 @@ module Google
8233
8328
  # @return [Array<String>]
8234
8329
  attr_accessor :src_ip_ranges
8235
8330
 
8236
- # List of firewall label values, which should be matched at the source of the
8237
- # traffic. Maximum number of source label values allowed is 256.
8238
- # Corresponds to the JSON property `srcSecureLabels`
8239
- # @return [Array<String>]
8240
- attr_accessor :src_secure_labels
8241
-
8242
8331
  def initialize(**args)
8243
8332
  update!(**args)
8244
8333
  end
@@ -8248,7 +8337,6 @@ module Google
8248
8337
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
8249
8338
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
8250
8339
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
8251
- @src_secure_labels = args[:src_secure_labels] if args.key?(:src_secure_labels)
8252
8340
  end
8253
8341
  end
8254
8342
 
@@ -8357,6 +8445,8 @@ module Google
8357
8445
  # ip_address_specifications).
8358
8446
  # Must be set to `0.0.0.0` when the target is targetGrpcProxy that has
8359
8447
  # validateForProxyless field set to true.
8448
+ # For Private Service Connect forwarding rules that forward traffic to Google
8449
+ # APIs, IP address must be provided.
8360
8450
  # Corresponds to the JSON property `IPAddress`
8361
8451
  # @return [String]
8362
8452
  attr_accessor :ip_address
@@ -8529,6 +8619,8 @@ module Google
8529
8619
  # For Internal TCP/UDP Load Balancing, this field identifies the network that
8530
8620
  # the load balanced IP should belong to for this Forwarding Rule. If this field
8531
8621
  # is not specified, the default network will be used.
8622
+ # For Private Service Connect forwarding rules that forward traffic to Google
8623
+ # APIs, a network must be provided.
8532
8624
  # Corresponds to the JSON property `network`
8533
8625
  # @return [String]
8534
8626
  attr_accessor :network
@@ -8633,12 +8725,7 @@ module Google
8633
8725
  # @return [String]
8634
8726
  attr_accessor :subnetwork
8635
8727
 
8636
- # The URL of the target resource to receive the matched traffic. For regional
8637
- # forwarding rules, this target must be in the same region as the forwarding
8638
- # rule. For global forwarding rules, this target must be a global load balancing
8639
- # resource. The forwarded traffic must be of a type appropriate to the target
8640
- # object. For more information, see the "Target" column in [Port specifications](
8641
- # /load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
8728
+ #
8642
8729
  # Corresponds to the JSON property `target`
8643
8730
  # @return [String]
8644
8731
  attr_accessor :target
@@ -10473,6 +10560,16 @@ module Google
10473
10560
  # @return [Hash<String,String>]
10474
10561
  attr_accessor :annotations
10475
10562
 
10563
+ # URL of the forwarding rule associated with the health status of the instance.
10564
+ # Corresponds to the JSON property `forwardingRule`
10565
+ # @return [String]
10566
+ attr_accessor :forwarding_rule
10567
+
10568
+ # A forwarding rule IP address assigned to this instance.
10569
+ # Corresponds to the JSON property `forwardingRuleIp`
10570
+ # @return [String]
10571
+ attr_accessor :forwarding_rule_ip
10572
+
10476
10573
  # Health state of the instance.
10477
10574
  # Corresponds to the JSON property `healthState`
10478
10575
  # @return [String]
@@ -10513,6 +10610,8 @@ module Google
10513
10610
  # Update properties of this object
10514
10611
  def update!(**args)
10515
10612
  @annotations = args[:annotations] if args.key?(:annotations)
10613
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
10614
+ @forwarding_rule_ip = args[:forwarding_rule_ip] if args.key?(:forwarding_rule_ip)
10516
10615
  @health_state = args[:health_state] if args.key?(:health_state)
10517
10616
  @instance = args[:instance] if args.key?(:instance)
10518
10617
  @ip_address = args[:ip_address] if args.key?(:ip_address)
@@ -11347,6 +11446,14 @@ module Google
11347
11446
  # @return [Google::Apis::ComputeBeta::HttpFaultInjection]
11348
11447
  attr_accessor :fault_injection_policy
11349
11448
 
11449
+ # A Duration represents a fixed-length span of time represented as a count of
11450
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
11451
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
11452
+ # 000 years.
11453
+ # Corresponds to the JSON property `maxStreamDuration`
11454
+ # @return [Google::Apis::ComputeBeta::Duration]
11455
+ attr_accessor :max_stream_duration
11456
+
11350
11457
  # A policy that specifies how requests intended for the route's backends are
11351
11458
  # shadowed to a separate mirrored backend service. Loadbalancer does not wait
11352
11459
  # for responses from the shadow service. Prior to sending traffic to the shadow
@@ -11395,6 +11502,7 @@ module Google
11395
11502
  def update!(**args)
11396
11503
  @cors_policy = args[:cors_policy] if args.key?(:cors_policy)
11397
11504
  @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
11505
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
11398
11506
  @request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy)
11399
11507
  @retry_policy = args[:retry_policy] if args.key?(:retry_policy)
11400
11508
  @timeout = args[:timeout] if args.key?(:timeout)
@@ -12127,6 +12235,27 @@ module Google
12127
12235
  end
12128
12236
  end
12129
12237
 
12238
+ #
12239
+ class ImageFamilyView
12240
+ include Google::Apis::Core::Hashable
12241
+
12242
+ # Represents an Image resource.
12243
+ # You can use images to create boot disks for your VM instances. For more
12244
+ # information, read Images. (== resource_for `$api_version`.images ==)
12245
+ # Corresponds to the JSON property `image`
12246
+ # @return [Google::Apis::ComputeBeta::Image]
12247
+ attr_accessor :image
12248
+
12249
+ def initialize(**args)
12250
+ update!(**args)
12251
+ end
12252
+
12253
+ # Update properties of this object
12254
+ def update!(**args)
12255
+ @image = args[:image] if args.key?(:image)
12256
+ end
12257
+ end
12258
+
12130
12259
  # Contains a list of images.
12131
12260
  class ImageList
12132
12261
  include Google::Apis::Core::Hashable
@@ -12470,6 +12599,11 @@ module Google
12470
12599
  # @return [Google::Apis::ComputeBeta::NetworkPerformanceConfig]
12471
12600
  attr_accessor :network_performance_config
12472
12601
 
12602
+ # PostKeyRevocationActionType of the instance.
12603
+ # Corresponds to the JSON property `postKeyRevocationActionType`
12604
+ # @return [String]
12605
+ attr_accessor :post_key_revocation_action_type
12606
+
12473
12607
  # The private IPv6 google access type for the VM. If not specified, use
12474
12608
  # INHERIT_FROM_SUBNETWORK as default.
12475
12609
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
@@ -12492,7 +12626,7 @@ module Google
12492
12626
  attr_accessor :satisfies_pzs
12493
12627
  alias_method :satisfies_pzs?, :satisfies_pzs
12494
12628
 
12495
- # Sets the scheduling options for an Instance. NextID: 17
12629
+ # Sets the scheduling options for an Instance. NextID: 20
12496
12630
  # Corresponds to the JSON property `scheduling`
12497
12631
  # @return [Google::Apis::ComputeBeta::Scheduling]
12498
12632
  attr_accessor :scheduling
@@ -12538,7 +12672,8 @@ module Google
12538
12672
  # @return [String]
12539
12673
  attr_accessor :source_machine_image
12540
12674
 
12541
- # Source GMI encryption key when creating an instance from GMI.
12675
+ # Source machine image encryption key when creating an instance from a machine
12676
+ # image.
12542
12677
  # Corresponds to the JSON property `sourceMachineImageEncryptionKey`
12543
12678
  # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
12544
12679
  attr_accessor :source_machine_image_encryption_key
@@ -12607,6 +12742,7 @@ module Google
12607
12742
  @name = args[:name] if args.key?(:name)
12608
12743
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
12609
12744
  @network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
12745
+ @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
12610
12746
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
12611
12747
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
12612
12748
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -13849,6 +13985,17 @@ module Google
13849
13985
  # @return [String]
13850
13986
  attr_accessor :minimal_action
13851
13987
 
13988
+ # Most disruptive action that is allowed to be taken on an instance. You can
13989
+ # specify either NONE to forbid any actions, REFRESH to allow actions that do
13990
+ # not need instance restart, RESTART to allow actions that can be applied
13991
+ # without instance replacing or REPLACE to allow all possible actions. If the
13992
+ # Updater determines that the minimal update action needed is more disruptive
13993
+ # than most disruptive allowed action you specify it will not perform the update
13994
+ # at all.
13995
+ # Corresponds to the JSON property `mostDisruptiveAllowedAction`
13996
+ # @return [String]
13997
+ attr_accessor :most_disruptive_allowed_action
13998
+
13852
13999
  # What action should be used to replace instances. See minimal_action.REPLACE
13853
14000
  # Corresponds to the JSON property `replacementMethod`
13854
14001
  # @return [String]
@@ -13874,6 +14021,7 @@ module Google
13874
14021
  @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
13875
14022
  @min_ready_sec = args[:min_ready_sec] if args.key?(:min_ready_sec)
13876
14023
  @minimal_action = args[:minimal_action] if args.key?(:minimal_action)
14024
+ @most_disruptive_allowed_action = args[:most_disruptive_allowed_action] if args.key?(:most_disruptive_allowed_action)
13877
14025
  @replacement_method = args[:replacement_method] if args.key?(:replacement_method)
13878
14026
  @type = args[:type] if args.key?(:type)
13879
14027
  end
@@ -15252,7 +15400,7 @@ module Google
15252
15400
  # @return [Array<String>]
15253
15401
  attr_accessor :resource_policies
15254
15402
 
15255
- # Sets the scheduling options for an Instance. NextID: 17
15403
+ # Sets the scheduling options for an Instance. NextID: 20
15256
15404
  # Corresponds to the JSON property `scheduling`
15257
15405
  # @return [Google::Apis::ComputeBeta::Scheduling]
15258
15406
  attr_accessor :scheduling
@@ -15618,7 +15766,8 @@ module Google
15618
15766
  class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy
15619
15767
  include Google::Apis::Core::Hashable
15620
15768
 
15621
- # [Output Only] The display name of the firewall policy.
15769
+ # [Output Only] Deprecated, please use short name instead. The display name of
15770
+ # the firewall policy.
15622
15771
  # Corresponds to the JSON property `displayName`
15623
15772
  # @return [String]
15624
15773
  attr_accessor :display_name
@@ -15633,6 +15782,11 @@ module Google
15633
15782
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
15634
15783
  attr_accessor :rules
15635
15784
 
15785
+ # [Output Only] The short name of the firewall policy.
15786
+ # Corresponds to the JSON property `shortName`
15787
+ # @return [String]
15788
+ attr_accessor :short_name
15789
+
15636
15790
  # [Output Only] The type of the firewall policy.
15637
15791
  # Corresponds to the JSON property `type`
15638
15792
  # @return [String]
@@ -15647,6 +15801,7 @@ module Google
15647
15801
  @display_name = args[:display_name] if args.key?(:display_name)
15648
15802
  @name = args[:name] if args.key?(:name)
15649
15803
  @rules = args[:rules] if args.key?(:rules)
15804
+ @short_name = args[:short_name] if args.key?(:short_name)
15650
15805
  @type = args[:type] if args.key?(:type)
15651
15806
  end
15652
15807
  end
@@ -16312,6 +16467,19 @@ module Google
16312
16467
  # @return [String]
16313
16468
  attr_accessor :edge_availability_domain
16314
16469
 
16470
+ # Indicates the user-supplied encryption option of this interconnect attachment:
16471
+ # - NONE is the default value, which means that the attachment carries
16472
+ # unencrypted traffic. VMs can send traffic to, or receive traffic from, this
16473
+ # type of attachment.
16474
+ # - IPSEC indicates that the attachment carries only traffic encrypted by an
16475
+ # IPsec device such as an HA VPN gateway. VMs cannot directly send traffic to,
16476
+ # or receive traffic from, such an attachment. To use IPsec-encrypted Cloud
16477
+ # Interconnect, create the attachment using this option.
16478
+ # Not currently available in all Interconnect locations.
16479
+ # Corresponds to the JSON property `encryption`
16480
+ # @return [String]
16481
+ attr_accessor :encryption
16482
+
16315
16483
  # [Output Only] Google reference ID, to be used when raising support tickets
16316
16484
  # with Google or otherwise to debug backend connectivity issues. [Deprecated]
16317
16485
  # This field is not used.
@@ -16331,6 +16499,23 @@ module Google
16331
16499
  # @return [String]
16332
16500
  attr_accessor :interconnect
16333
16501
 
16502
+ # URL of addresses that have been reserved for the interconnect attachment, Used
16503
+ # only for interconnect attachment that has the encryption option as IPSEC. The
16504
+ # addresses must be RFC 1918 IP address ranges. When creating HA VPN gateway
16505
+ # over the interconnect attachment, if the attachment is configured to use an
16506
+ # RFC 1918 IP address, then the VPN gateway's IP address will be allocated from
16507
+ # the IP address range specified here. For example, if the HA VPN gateway's
16508
+ # interface 0 is paired to this interconnect attachment, then an RFC 1918 IP
16509
+ # address for the VPN gateway interface 0 will be allocated from the IP address
16510
+ # specified for this interconnect attachment. If this field is not specified for
16511
+ # interconnect attachment that has encryption option as IPSEC, later on when
16512
+ # creating HA VPN gateway on this interconnect attachment, the HA VPN gateway's
16513
+ # IP address will be allocated from regional external IP address pool.
16514
+ # Not currently available in all Interconnect locations.
16515
+ # Corresponds to the JSON property `ipsecInternalAddresses`
16516
+ # @return [Array<String>]
16517
+ attr_accessor :ipsec_internal_addresses
16518
+
16334
16519
  # [Output Only] Type of the resource. Always compute#interconnectAttachment for
16335
16520
  # interconnect attachments.
16336
16521
  # Corresponds to the JSON property `kind`
@@ -16485,9 +16670,11 @@ module Google
16485
16670
  @dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
16486
16671
  @description = args[:description] if args.key?(:description)
16487
16672
  @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
16673
+ @encryption = args[:encryption] if args.key?(:encryption)
16488
16674
  @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id)
16489
16675
  @id = args[:id] if args.key?(:id)
16490
16676
  @interconnect = args[:interconnect] if args.key?(:interconnect)
16677
+ @ipsec_internal_addresses = args[:ipsec_internal_addresses] if args.key?(:ipsec_internal_addresses)
16491
16678
  @kind = args[:kind] if args.key?(:kind)
16492
16679
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
16493
16680
  @labels = args[:labels] if args.key?(:labels)
@@ -17999,7 +18186,7 @@ module Google
17999
18186
  include Google::Apis::Core::Hashable
18000
18187
 
18001
18188
  # Location configurations mapped by location name. Currently only zone names are
18002
- # supported and must be represented as valid internal URLs, like: zones/us-
18189
+ # supported and must be represented as valid internal URLs, such as zones/us-
18003
18190
  # central1-a.
18004
18191
  # Corresponds to the JSON property `locations`
18005
18192
  # @return [Hash<String,Google::Apis::ComputeBeta::LocationPolicyLocation>]
@@ -18019,7 +18206,7 @@ module Google
18019
18206
  class LocationPolicyLocation
18020
18207
  include Google::Apis::Core::Hashable
18021
18208
 
18022
- #
18209
+ # Preference for a given locaction: ALLOW or DENY.
18023
18210
  # Corresponds to the JSON property `preference`
18024
18211
  # @return [String]
18025
18212
  attr_accessor :preference
@@ -20370,8 +20557,9 @@ module Google
20370
20557
 
20371
20558
  # Fingerprint hash of contents stored in this network interface. This field will
20372
20559
  # be ignored when inserting an Instance or adding a NetworkInterface. An up-to-
20373
- # date fingerprint must be provided in order to update the NetworkInterface,
20374
- # otherwise the request will fail with error 412 conditionNotMet.
20560
+ # date fingerprint must be provided in order to update the NetworkInterface. The
20561
+ # request will fail with error 400 Bad Request if the fingerprint is not
20562
+ # provided, or 412 Precondition Failed if the fingerprint is out of date.
20375
20563
  # Corresponds to the JSON property `fingerprint`
20376
20564
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
20377
20565
  # @return [String]
@@ -20804,7 +20992,8 @@ module Google
20804
20992
  class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy
20805
20993
  include Google::Apis::Core::Hashable
20806
20994
 
20807
- # [Output Only] The display name of the firewall policy.
20995
+ # [Output Only] Deprecated, please use short name instead. The display name of
20996
+ # the firewall policy.
20808
20997
  # Corresponds to the JSON property `displayName`
20809
20998
  # @return [String]
20810
20999
  attr_accessor :display_name
@@ -20819,6 +21008,11 @@ module Google
20819
21008
  # @return [Array<Google::Apis::ComputeBeta::FirewallPolicyRule>]
20820
21009
  attr_accessor :rules
20821
21010
 
21011
+ # [Output Only] The short name of the firewall policy.
21012
+ # Corresponds to the JSON property `shortName`
21013
+ # @return [String]
21014
+ attr_accessor :short_name
21015
+
20822
21016
  # [Output Only] The type of the firewall policy.
20823
21017
  # Corresponds to the JSON property `type`
20824
21018
  # @return [String]
@@ -20833,6 +21027,7 @@ module Google
20833
21027
  @display_name = args[:display_name] if args.key?(:display_name)
20834
21028
  @name = args[:name] if args.key?(:name)
20835
21029
  @rules = args[:rules] if args.key?(:rules)
21030
+ @short_name = args[:short_name] if args.key?(:short_name)
20836
21031
  @type = args[:type] if args.key?(:type)
20837
21032
  end
20838
21033
  end
@@ -29053,6 +29248,14 @@ module Google
29053
29248
  # @return [String]
29054
29249
  attr_accessor :description
29055
29250
 
29251
+ # Field to indicate if a router is dedicated to use with encrypted Interconnect
29252
+ # Attachment (IPsec-encrypted Cloud Interconnect feature).
29253
+ # Not currently available in all Interconnect locations.
29254
+ # Corresponds to the JSON property `encryptedInterconnectRouter`
29255
+ # @return [Boolean]
29256
+ attr_accessor :encrypted_interconnect_router
29257
+ alias_method :encrypted_interconnect_router?, :encrypted_interconnect_router
29258
+
29056
29259
  # [Output Only] The unique identifier for the resource. This identifier is
29057
29260
  # defined by the server.
29058
29261
  # Corresponds to the JSON property `id`
@@ -29113,6 +29316,7 @@ module Google
29113
29316
  @bgp_peers = args[:bgp_peers] if args.key?(:bgp_peers)
29114
29317
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
29115
29318
  @description = args[:description] if args.key?(:description)
29319
+ @encrypted_interconnect_router = args[:encrypted_interconnect_router] if args.key?(:encrypted_interconnect_router)
29116
29320
  @id = args[:id] if args.key?(:id)
29117
29321
  @interfaces = args[:interfaces] if args.key?(:interfaces)
29118
29322
  @kind = args[:kind] if args.key?(:kind)
@@ -29313,7 +29517,7 @@ module Google
29313
29517
  # successive keepalive messages that BGP receives from a peer.
29314
29518
  # BGP will use the smaller of either the local hold time value or the peer's
29315
29519
  # hold time value as the hold time for the BGP connection between the two peers.
29316
- # If set, this value must be between 1 and 120. The default is 20.
29520
+ # If set, this value must be between 20 and 60. The default is 20.
29317
29521
  # Corresponds to the JSON property `keepaliveInterval`
29318
29522
  # @return [Fixnum]
29319
29523
  attr_accessor :keepalive_interval
@@ -29344,12 +29548,11 @@ module Google
29344
29548
  # User-specified list of prefix groups to advertise in custom mode, which can
29345
29549
  # take one of the following options:
29346
29550
  # - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets.
29347
- # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets.
29348
- # - ALL_PEER_VPC_SUBNETS: Advertises peer subnets of the router's VPC network.
29349
- # Note that this field can only be populated if advertise_mode is CUSTOM and
29350
- # overrides the list defined for the router (in the "bgp" message). These groups
29351
- # are advertised in addition to any specified prefixes. Leave this field blank
29352
- # to advertise no custom groups.
29551
+ # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. Note that this
29552
+ # field can only be populated if advertise_mode is CUSTOM and overrides the list
29553
+ # defined for the router (in the "bgp" message). These groups are advertised in
29554
+ # addition to any specified prefixes. Leave this field blank to advertise no
29555
+ # custom groups.
29353
29556
  # Corresponds to the JSON property `advertisedGroups`
29354
29557
  # @return [Array<String>]
29355
29558
  attr_accessor :advertised_groups
@@ -29429,6 +29632,14 @@ module Google
29429
29632
  # @return [String]
29430
29633
  attr_accessor :peer_ip_address
29431
29634
 
29635
+ # URI of the VM instance that is used as third-party router appliances such as
29636
+ # Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
29637
+ # must be located in zones contained in the same region as this Cloud Router.
29638
+ # The VM instance is the peer side of the BGP session.
29639
+ # Corresponds to the JSON property `routerApplianceInstance`
29640
+ # @return [String]
29641
+ attr_accessor :router_appliance_instance
29642
+
29432
29643
  def initialize(**args)
29433
29644
  update!(**args)
29434
29645
  end
@@ -29447,6 +29658,7 @@ module Google
29447
29658
  @name = args[:name] if args.key?(:name)
29448
29659
  @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
29449
29660
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
29661
+ @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
29450
29662
  end
29451
29663
  end
29452
29664
 
@@ -29554,6 +29766,35 @@ module Google
29554
29766
  # @return [String]
29555
29767
  attr_accessor :name
29556
29768
 
29769
+ # The regional private internal IP address that is used to establish BGP
29770
+ # sessions to a VM instance acting as a third-party Router Appliance, such as a
29771
+ # Next Gen Firewall, a Virtual Router, or an SD-WAN VM.
29772
+ # Corresponds to the JSON property `privateIpAddress`
29773
+ # @return [String]
29774
+ attr_accessor :private_ip_address
29775
+
29776
+ # Name of the interface that will be redundant with the current interface you
29777
+ # are creating. The redundantInterface must belong to the same Cloud Router as
29778
+ # the interface here. To establish the BGP session to a Router Appliance VM, you
29779
+ # must create two BGP peers. The two BGP peers must be attached to two separate
29780
+ # interfaces that are redundant with each other. The redundant_interface must be
29781
+ # 1-63 characters long, and comply with RFC1035. Specifically, the
29782
+ # redundant_interface must be 1-63 characters long and match the regular
29783
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must
29784
+ # be a lowercase letter, and all following characters must be a dash, lowercase
29785
+ # letter, or digit, except the last character, which cannot be a dash.
29786
+ # Corresponds to the JSON property `redundantInterface`
29787
+ # @return [String]
29788
+ attr_accessor :redundant_interface
29789
+
29790
+ # The URL of the subnetwork resource that this interface belongs to, which must
29791
+ # be in the same region as the Cloud Router. When you establish a BGP session to
29792
+ # a VM instance using this interface, the VM instance must belong to the same
29793
+ # subnetwork as the subnetwork specified here.
29794
+ # Corresponds to the JSON property `subnetwork`
29795
+ # @return [String]
29796
+ attr_accessor :subnetwork
29797
+
29557
29798
  def initialize(**args)
29558
29799
  update!(**args)
29559
29800
  end
@@ -29565,6 +29806,9 @@ module Google
29565
29806
  @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
29566
29807
  @management_type = args[:management_type] if args.key?(:management_type)
29567
29808
  @name = args[:name] if args.key?(:name)
29809
+ @private_ip_address = args[:private_ip_address] if args.key?(:private_ip_address)
29810
+ @redundant_interface = args[:redundant_interface] if args.key?(:redundant_interface)
29811
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
29568
29812
  end
29569
29813
  end
29570
29814
 
@@ -29955,6 +30199,13 @@ module Google
29955
30199
  # @return [String]
29956
30200
  attr_accessor :peer_ip_address
29957
30201
 
30202
+ # [Output only] URI of the VM instance that is used as third-party router
30203
+ # appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances.
30204
+ # The VM instance is the peer side of the BGP session.
30205
+ # Corresponds to the JSON property `routerApplianceInstance`
30206
+ # @return [String]
30207
+ attr_accessor :router_appliance_instance
30208
+
29958
30209
  # BGP state as specified in RFC1771.
29959
30210
  # Corresponds to the JSON property `state`
29960
30211
  # @return [String]
@@ -29989,6 +30240,7 @@ module Google
29989
30240
  @name = args[:name] if args.key?(:name)
29990
30241
  @num_learned_routes = args[:num_learned_routes] if args.key?(:num_learned_routes)
29991
30242
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
30243
+ @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
29992
30244
  @state = args[:state] if args.key?(:state)
29993
30245
  @status = args[:status] if args.key?(:status)
29994
30246
  @uptime = args[:uptime] if args.key?(:uptime)
@@ -30482,7 +30734,7 @@ module Google
30482
30734
  end
30483
30735
  end
30484
30736
 
30485
- # Sets the scheduling options for an Instance. NextID: 17
30737
+ # Sets the scheduling options for an Instance. NextID: 20
30486
30738
  class Scheduling
30487
30739
  include Google::Apis::Core::Hashable
30488
30740
 
@@ -30503,6 +30755,18 @@ module Google
30503
30755
  # @return [String]
30504
30756
  attr_accessor :location_hint
30505
30757
 
30758
+ # Specifies the number of hours after VM instance creation where the VM won't be
30759
+ # scheduled for maintenance.
30760
+ # Corresponds to the JSON property `maintenanceFreezeDurationHours`
30761
+ # @return [Fixnum]
30762
+ attr_accessor :maintenance_freeze_duration_hours
30763
+
30764
+ # For more information about maintenance intervals, see Setting maintenance
30765
+ # intervals.
30766
+ # Corresponds to the JSON property `maintenanceInterval`
30767
+ # @return [String]
30768
+ attr_accessor :maintenance_interval
30769
+
30506
30770
  # The minimum number of virtual CPUs this instance will consume when running on
30507
30771
  # a sole-tenant node.
30508
30772
  # Corresponds to the JSON property `minNodeCpus`
@@ -30540,6 +30804,8 @@ module Google
30540
30804
  def update!(**args)
30541
30805
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
30542
30806
  @location_hint = args[:location_hint] if args.key?(:location_hint)
30807
+ @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
30808
+ @maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
30543
30809
  @min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
30544
30810
  @node_affinities = args[:node_affinities] if args.key?(:node_affinities)
30545
30811
  @on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
@@ -31016,7 +31282,7 @@ module Google
31016
31282
  class SecurityPolicyRule
31017
31283
  include Google::Apis::Core::Hashable
31018
31284
 
31019
- # The Action to preform when the client connection triggers the rule. Can
31285
+ # The Action to perform when the client connection triggers the rule. Can
31020
31286
  # currently be either "allow" or "deny()" where valid values for status are 403,
31021
31287
  # 404, and 502.
31022
31288
  # Corresponds to the JSON property `action`
@@ -31387,10 +31653,16 @@ module Google
31387
31653
  # A service attachment represents a service that a producer has exposed. It
31388
31654
  # encapsulates the load balancer which fronts the service runs and a list of NAT
31389
31655
  # IP ranges that the producers uses to represent the consumers connecting to the
31390
- # service. next tag = 16
31656
+ # service. next tag = 19
31391
31657
  class ServiceAttachment
31392
31658
  include Google::Apis::Core::Hashable
31393
31659
 
31660
+ # [Output Only] An array of connections for all the consumers connected to this
31661
+ # service attachment.
31662
+ # Corresponds to the JSON property `connectedEndpoints`
31663
+ # @return [Array<Google::Apis::ComputeBeta::ServiceAttachmentConnectedEndpoint>]
31664
+ attr_accessor :connected_endpoints
31665
+
31394
31666
  # The connection preference of service attachment. The value can be set to
31395
31667
  # ACCEPT_AUTOMATIC. An ACCEPT_AUTOMATIC service attachment is one that always
31396
31668
  # accepts the connection from consumer forwarding rules.
@@ -31398,12 +31670,23 @@ module Google
31398
31670
  # @return [String]
31399
31671
  attr_accessor :connection_preference
31400
31672
 
31673
+ # Projects that are allowed to connect to this service attachment.
31674
+ # Corresponds to the JSON property `consumerAcceptLists`
31675
+ # @return [Array<Google::Apis::ComputeBeta::ServiceAttachmentConsumerProjectLimit>]
31676
+ attr_accessor :consumer_accept_lists
31677
+
31401
31678
  # [Output Only] An array of forwarding rules for all the consumers connected to
31402
31679
  # this service attachment.
31403
31680
  # Corresponds to the JSON property `consumerForwardingRules`
31404
31681
  # @return [Array<Google::Apis::ComputeBeta::ServiceAttachmentConsumerForwardingRule>]
31405
31682
  attr_accessor :consumer_forwarding_rules
31406
31683
 
31684
+ # Projects that are not allowed to connect to this service attachment. The
31685
+ # project can be specified using its id or number.
31686
+ # Corresponds to the JSON property `consumerRejectLists`
31687
+ # @return [Array<String>]
31688
+ attr_accessor :consumer_reject_lists
31689
+
31407
31690
  # [Output Only] Creation timestamp in RFC3339 text format.
31408
31691
  # Corresponds to the JSON property `creationTimestamp`
31409
31692
  # @return [String]
@@ -31423,6 +31706,17 @@ module Google
31423
31706
  attr_accessor :enable_proxy_protocol
31424
31707
  alias_method :enable_proxy_protocol?, :enable_proxy_protocol
31425
31708
 
31709
+ # Fingerprint of this resource. A hash of the contents stored in this object.
31710
+ # This field is used in optimistic locking. This field will be ignored when
31711
+ # inserting a ServiceAttachment. An up-to-date fingerprint must be provided in
31712
+ # order to patch/update the ServiceAttachment; otherwise, the request will fail
31713
+ # with error 412 conditionNotMet. To see the latest fingerprint, make a get()
31714
+ # request to retrieve the ServiceAttachment.
31715
+ # Corresponds to the JSON property `fingerprint`
31716
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
31717
+ # @return [String]
31718
+ attr_accessor :fingerprint
31719
+
31426
31720
  # [Output Only] The unique identifier for the resource type. The server
31427
31721
  # generates this identifier.
31428
31722
  # Corresponds to the JSON property `id`
@@ -31457,6 +31751,11 @@ module Google
31457
31751
  # @return [String]
31458
31752
  attr_accessor :producer_forwarding_rule
31459
31753
 
31754
+ # [Output Only] An 128-bit global unique ID of the PSC service attachment.
31755
+ # Corresponds to the JSON property `pscServiceAttachmentId`
31756
+ # @return [Google::Apis::ComputeBeta::Uint128]
31757
+ attr_accessor :psc_service_attachment_id
31758
+
31460
31759
  # [Output Only] URL of the region where the service attachment resides. This
31461
31760
  # field applies only to the region resource. You must specify this field as part
31462
31761
  # of the HTTP request URL. It is not settable as a field in the request body.
@@ -31469,24 +31768,36 @@ module Google
31469
31768
  # @return [String]
31470
31769
  attr_accessor :self_link
31471
31770
 
31771
+ # The URL of a service serving the endpoint identified by this service
31772
+ # attachment.
31773
+ # Corresponds to the JSON property `targetService`
31774
+ # @return [String]
31775
+ attr_accessor :target_service
31776
+
31472
31777
  def initialize(**args)
31473
31778
  update!(**args)
31474
31779
  end
31475
31780
 
31476
31781
  # Update properties of this object
31477
31782
  def update!(**args)
31783
+ @connected_endpoints = args[:connected_endpoints] if args.key?(:connected_endpoints)
31478
31784
  @connection_preference = args[:connection_preference] if args.key?(:connection_preference)
31785
+ @consumer_accept_lists = args[:consumer_accept_lists] if args.key?(:consumer_accept_lists)
31479
31786
  @consumer_forwarding_rules = args[:consumer_forwarding_rules] if args.key?(:consumer_forwarding_rules)
31787
+ @consumer_reject_lists = args[:consumer_reject_lists] if args.key?(:consumer_reject_lists)
31480
31788
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
31481
31789
  @description = args[:description] if args.key?(:description)
31482
31790
  @enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
31791
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
31483
31792
  @id = args[:id] if args.key?(:id)
31484
31793
  @kind = args[:kind] if args.key?(:kind)
31485
31794
  @name = args[:name] if args.key?(:name)
31486
31795
  @nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets)
31487
31796
  @producer_forwarding_rule = args[:producer_forwarding_rule] if args.key?(:producer_forwarding_rule)
31797
+ @psc_service_attachment_id = args[:psc_service_attachment_id] if args.key?(:psc_service_attachment_id)
31488
31798
  @region = args[:region] if args.key?(:region)
31489
31799
  @self_link = args[:self_link] if args.key?(:self_link)
31800
+ @target_service = args[:target_service] if args.key?(:target_service)
31490
31801
  end
31491
31802
  end
31492
31803
 
@@ -31613,7 +31924,45 @@ module Google
31613
31924
  end
31614
31925
  end
31615
31926
 
31927
+ # [Output Only] A connection connected to this service attachment.
31928
+ class ServiceAttachmentConnectedEndpoint
31929
+ include Google::Apis::Core::Hashable
31930
+
31931
+ # The url of a connected endpoint.
31932
+ # Corresponds to the JSON property `endpoint`
31933
+ # @return [String]
31934
+ attr_accessor :endpoint
31935
+
31936
+ # The url of a consumer forwarding rule. [Deprecated] Do not use.
31937
+ # Corresponds to the JSON property `forwardingRule`
31938
+ # @return [String]
31939
+ attr_accessor :forwarding_rule
31940
+
31941
+ # The PSC connection id of the connected endpoint.
31942
+ # Corresponds to the JSON property `pscConnectionId`
31943
+ # @return [Fixnum]
31944
+ attr_accessor :psc_connection_id
31945
+
31946
+ # The status of a connected endpoint to this service attachment.
31947
+ # Corresponds to the JSON property `status`
31948
+ # @return [String]
31949
+ attr_accessor :status
31950
+
31951
+ def initialize(**args)
31952
+ update!(**args)
31953
+ end
31954
+
31955
+ # Update properties of this object
31956
+ def update!(**args)
31957
+ @endpoint = args[:endpoint] if args.key?(:endpoint)
31958
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
31959
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
31960
+ @status = args[:status] if args.key?(:status)
31961
+ end
31962
+ end
31963
+
31616
31964
  # [Output Only] A consumer forwarding rule connected to this service attachment.
31965
+ # [Deprecated] Do not use.
31617
31966
  class ServiceAttachmentConsumerForwardingRule
31618
31967
  include Google::Apis::Core::Hashable
31619
31968
 
@@ -31622,6 +31971,11 @@ module Google
31622
31971
  # @return [String]
31623
31972
  attr_accessor :forwarding_rule
31624
31973
 
31974
+ # The PSC connection id of the PSC Forwarding Rule.
31975
+ # Corresponds to the JSON property `pscConnectionId`
31976
+ # @return [Fixnum]
31977
+ attr_accessor :psc_connection_id
31978
+
31625
31979
  # The status of the forwarding rule.
31626
31980
  # Corresponds to the JSON property `status`
31627
31981
  # @return [String]
@@ -31634,10 +31988,36 @@ module Google
31634
31988
  # Update properties of this object
31635
31989
  def update!(**args)
31636
31990
  @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
31991
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
31637
31992
  @status = args[:status] if args.key?(:status)
31638
31993
  end
31639
31994
  end
31640
31995
 
31996
+ #
31997
+ class ServiceAttachmentConsumerProjectLimit
31998
+ include Google::Apis::Core::Hashable
31999
+
32000
+ # The value of the limit to set.
32001
+ # Corresponds to the JSON property `connectionLimit`
32002
+ # @return [Fixnum]
32003
+ attr_accessor :connection_limit
32004
+
32005
+ # The project id or number for the project to set the limit for.
32006
+ # Corresponds to the JSON property `projectIdOrNum`
32007
+ # @return [String]
32008
+ attr_accessor :project_id_or_num
32009
+
32010
+ def initialize(**args)
32011
+ update!(**args)
32012
+ end
32013
+
32014
+ # Update properties of this object
32015
+ def update!(**args)
32016
+ @connection_limit = args[:connection_limit] if args.key?(:connection_limit)
32017
+ @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num)
32018
+ end
32019
+ end
32020
+
31641
32021
  #
31642
32022
  class ServiceAttachmentList
31643
32023
  include Google::Apis::Core::Hashable
@@ -32564,7 +32944,7 @@ module Google
32564
32944
  # @return [String]
32565
32945
  attr_accessor :post_key_revocation_action_type
32566
32946
 
32567
- # Sets the scheduling options for an Instance. NextID: 17
32947
+ # Sets the scheduling options for an Instance. NextID: 20
32568
32948
  # Corresponds to the JSON property `scheduling`
32569
32949
  # @return [Google::Apis::ComputeBeta::Scheduling]
32570
32950
  attr_accessor :scheduling
@@ -33690,9 +34070,7 @@ module Google
33690
34070
  # applicable to subnetworks that have the purpose set to
33691
34071
  # INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load
33692
34072
  # balancer are being drained. A subnetwork that is draining cannot be used or
33693
- # modified until it reaches a status of READY CREATING: Subnetwork is
33694
- # provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is
33695
- # being updated
34073
+ # modified until it reaches a status of READY
33696
34074
  # Corresponds to the JSON property `state`
33697
34075
  # @return [String]
33698
34076
  attr_accessor :state
@@ -34006,7 +34384,7 @@ module Google
34006
34384
 
34007
34385
  # Can only be specified if VPC flow logs for this subnetwork is enabled.
34008
34386
  # Configures whether all, none or a subset of metadata fields should be added to
34009
- # the reported VPC flow logs. Default is INCLUDE_ALL_METADATA.
34387
+ # the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.
34010
34388
  # Corresponds to the JSON property `metadata`
34011
34389
  # @return [String]
34012
34390
  attr_accessor :metadata
@@ -34194,6 +34572,26 @@ module Google
34194
34572
  end
34195
34573
  end
34196
34574
 
34575
+ # Subsetting configuration for this BackendService. Currently this is applicable
34576
+ # only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
34577
+ class Subsetting
34578
+ include Google::Apis::Core::Hashable
34579
+
34580
+ #
34581
+ # Corresponds to the JSON property `policy`
34582
+ # @return [String]
34583
+ attr_accessor :policy
34584
+
34585
+ def initialize(**args)
34586
+ update!(**args)
34587
+ end
34588
+
34589
+ # Update properties of this object
34590
+ def update!(**args)
34591
+ @policy = args[:policy] if args.key?(:policy)
34592
+ end
34593
+ end
34594
+
34197
34595
  #
34198
34596
  class TcpHealthCheck
34199
34597
  include Google::Apis::Core::Hashable
@@ -35143,6 +35541,17 @@ module Google
35143
35541
  # @return [String]
35144
35542
  attr_accessor :description
35145
35543
 
35544
+ # Fingerprint of this resource. A hash of the contents stored in this object.
35545
+ # This field is used in optimistic locking. This field will be ignored when
35546
+ # inserting a TargetHttpsProxy. An up-to-date fingerprint must be provided in
35547
+ # order to patch the TargetHttpsProxy; otherwise, the request will fail with
35548
+ # error 412 conditionNotMet. To see the latest fingerprint, make a get() request
35549
+ # to retrieve the TargetHttpsProxy.
35550
+ # Corresponds to the JSON property `fingerprint`
35551
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
35552
+ # @return [String]
35553
+ attr_accessor :fingerprint
35554
+
35146
35555
  # URLs to networkservices.HttpFilter resources enabled for xDS clients using
35147
35556
  # this configuration. For example, https://networkservices.googleapis.com/beta/
35148
35557
  # projects/project/locations/locationhttpFilters/httpFilter Only filters that
@@ -35262,6 +35671,7 @@ module Google
35262
35671
  @authorization_policy = args[:authorization_policy] if args.key?(:authorization_policy)
35263
35672
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
35264
35673
  @description = args[:description] if args.key?(:description)
35674
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
35265
35675
  @http_filters = args[:http_filters] if args.key?(:http_filters)
35266
35676
  @id = args[:id] if args.key?(:id)
35267
35677
  @kind = args[:kind] if args.key?(:kind)
@@ -37609,6 +38019,31 @@ module Google
37609
38019
  end
37610
38020
  end
37611
38021
 
38022
+ #
38023
+ class Uint128
38024
+ include Google::Apis::Core::Hashable
38025
+
38026
+ #
38027
+ # Corresponds to the JSON property `high`
38028
+ # @return [Fixnum]
38029
+ attr_accessor :high
38030
+
38031
+ #
38032
+ # Corresponds to the JSON property `low`
38033
+ # @return [Fixnum]
38034
+ attr_accessor :low
38035
+
38036
+ def initialize(**args)
38037
+ update!(**args)
38038
+ end
38039
+
38040
+ # Update properties of this object
38041
+ def update!(**args)
38042
+ @high = args[:high] if args.key?(:high)
38043
+ @low = args[:low] if args.key?(:low)
38044
+ end
38045
+ end
38046
+
37612
38047
  # Represents a URL Map resource.
37613
38048
  # Google Compute Engine has two URL Map resources:
37614
38049
  # * [Global](/compute/docs/reference/rest/`$api_version`/urlMaps) * [Regional](/
@@ -39235,6 +39670,15 @@ module Google
39235
39670
  # @return [Fixnum]
39236
39671
  attr_accessor :id
39237
39672
 
39673
+ # URL of the interconnect attachment resource. When the value of this field is
39674
+ # present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect;
39675
+ # all Egress or Ingress traffic for this VPN Gateway interface will go through
39676
+ # the specified interconnect attachment resource.
39677
+ # Not currently available in all Interconnect locations.
39678
+ # Corresponds to the JSON property `interconnectAttachment`
39679
+ # @return [String]
39680
+ attr_accessor :interconnect_attachment
39681
+
39238
39682
  # [Output Only] The external IP address for this VPN gateway interface.
39239
39683
  # Corresponds to the JSON property `ipAddress`
39240
39684
  # @return [String]
@@ -39247,6 +39691,7 @@ module Google
39247
39691
  # Update properties of this object
39248
39692
  def update!(**args)
39249
39693
  @id = args[:id] if args.key?(:id)
39694
+ @interconnect_attachment = args[:interconnect_attachment] if args.key?(:interconnect_attachment)
39250
39695
  @ip_address = args[:ip_address] if args.key?(:ip_address)
39251
39696
  end
39252
39697
  end
@@ -39512,8 +39957,8 @@ module Google
39512
39957
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
39513
39958
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
39514
39959
  # - NO_INCOMING_PACKETS: No incoming packets from peer.
39515
- # - REJECTED: Tunnel configuration was rejected, can be result of being
39516
- # blacklisted.
39960
+ # - REJECTED: Tunnel configuration was rejected, can be result of being denied
39961
+ # access.
39517
39962
  # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
39518
39963
  # resources.
39519
39964
  # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for