google-apis-compute_beta 0.4.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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