google-apis-compute_v1 0.103.0 → 0.104.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -9285,7 +9285,9 @@ module Google
9285
9285
  include Google::Apis::Core::Hashable
9286
9286
 
9287
9287
  # The Action to perform when the client connection triggers the rule. Valid
9288
- # actions are "allow", "deny" and "goto_next".
9288
+ # actions for firewall rules are: "allow", "deny", "apply_security_profile_group"
9289
+ # and "goto_next". Valid actions for packet mirroring rules are: "mirror", "
9290
+ # do_not_mirror" and "goto_next".
9289
9291
  # Corresponds to the JSON property `action`
9290
9292
  # @return [String]
9291
9293
  attr_accessor :action
@@ -9317,8 +9319,8 @@ module Google
9317
9319
  attr_accessor :enable_logging
9318
9320
  alias_method :enable_logging?, :enable_logging
9319
9321
 
9320
- # [Output only] Type of the resource. Always compute#firewallPolicyRule for
9321
- # firewall policy rules
9322
+ # [Output only] Type of the resource. Returns compute#firewallPolicyRule for
9323
+ # firewall rules and compute#packetMirroringRule for packet mirroring rules.
9322
9324
  # Corresponds to the JSON property `kind`
9323
9325
  # @return [String]
9324
9326
  attr_accessor :kind
@@ -9332,7 +9334,7 @@ module Google
9332
9334
  # An integer indicating the priority of a rule in the list. The priority must be
9333
9335
  # a positive value between 0 and 2147483647. Rules are evaluated from highest to
9334
9336
  # lowest priority where 0 is the highest priority and 2147483647 is the lowest
9335
- # prority.
9337
+ # priority.
9336
9338
  # Corresponds to the JSON property `priority`
9337
9339
  # @return [Fixnum]
9338
9340
  attr_accessor :priority
@@ -9350,8 +9352,9 @@ module Google
9350
9352
 
9351
9353
  # A fully-qualified URL of a SecurityProfile resource instance. Example: https://
9352
9354
  # networksecurity.googleapis.com/v1/projects/`project`/locations/`location`/
9353
- # securityProfileGroups/my-security-profile-group Must be specified if action = '
9354
- # apply_security_profile_group' and cannot be specified for other actions.
9355
+ # securityProfileGroups/my-security-profile-group Must be specified if action is
9356
+ # one of 'apply_security_profile_group' or 'mirror'. Cannot be specified for
9357
+ # other actions.
9355
9358
  # Corresponds to the JSON property `securityProfileGroup`
9356
9359
  # @return [String]
9357
9360
  attr_accessor :security_profile_group
@@ -9887,88 +9890,925 @@ module Google
9887
9890
  # @return [Array<String>]
9888
9891
  attr_accessor :ports
9889
9892
 
9890
- # [Output Only] The PSC connection id of the PSC forwarding rule.
9891
- # Corresponds to the JSON property `pscConnectionId`
9892
- # @return [Fixnum]
9893
- attr_accessor :psc_connection_id
9893
+ # [Output Only] The PSC connection id of the PSC forwarding rule.
9894
+ # Corresponds to the JSON property `pscConnectionId`
9895
+ # @return [Fixnum]
9896
+ attr_accessor :psc_connection_id
9897
+
9898
+ #
9899
+ # Corresponds to the JSON property `pscConnectionStatus`
9900
+ # @return [String]
9901
+ attr_accessor :psc_connection_status
9902
+
9903
+ # [Output Only] URL of the region where the regional forwarding rule resides.
9904
+ # This field is not applicable to global forwarding rules. You must specify this
9905
+ # field as part of the HTTP request URL. It is not settable as a field in the
9906
+ # request body.
9907
+ # Corresponds to the JSON property `region`
9908
+ # @return [String]
9909
+ attr_accessor :region
9910
+
9911
+ # [Output Only] Server-defined URL for the resource.
9912
+ # Corresponds to the JSON property `selfLink`
9913
+ # @return [String]
9914
+ attr_accessor :self_link
9915
+
9916
+ # Service Directory resources to register this forwarding rule with. Currently,
9917
+ # only supports a single Service Directory resource.
9918
+ # Corresponds to the JSON property `serviceDirectoryRegistrations`
9919
+ # @return [Array<Google::Apis::ComputeV1::ForwardingRuleServiceDirectoryRegistration>]
9920
+ attr_accessor :service_directory_registrations
9921
+
9922
+ # An optional prefix to the service name for this forwarding rule. If specified,
9923
+ # the prefix is the first label of the fully qualified service name. The label
9924
+ # must be 1-63 characters long, and comply with RFC1035. Specifically, the label
9925
+ # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
9926
+ # [a-z0-9])?` which means the first character must be a lowercase letter, and
9927
+ # all following characters must be a dash, lowercase letter, or digit, except
9928
+ # the last character, which cannot be a dash. This field is only used for
9929
+ # internal load balancing.
9930
+ # Corresponds to the JSON property `serviceLabel`
9931
+ # @return [String]
9932
+ attr_accessor :service_label
9933
+
9934
+ # [Output Only] The internal fully qualified service name for this forwarding
9935
+ # rule. This field is only used for internal load balancing.
9936
+ # Corresponds to the JSON property `serviceName`
9937
+ # @return [String]
9938
+ attr_accessor :service_name
9939
+
9940
+ # If not empty, this forwarding rule will only forward the traffic when the
9941
+ # source IP address matches one of the IP addresses or CIDR ranges set here.
9942
+ # Note that a forwarding rule can only have up to 64 source IP ranges, and this
9943
+ # field can only be used with a regional forwarding rule whose scheme is
9944
+ # EXTERNAL. Each source_ip_range entry should be either an IP address (for
9945
+ # example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
9946
+ # Corresponds to the JSON property `sourceIpRanges`
9947
+ # @return [Array<String>]
9948
+ attr_accessor :source_ip_ranges
9949
+
9950
+ # This field identifies the subnetwork that the load balanced IP should belong
9951
+ # to for this forwarding rule, used with internal load balancers and external
9952
+ # passthrough Network Load Balancers with IPv6. If the network specified is in
9953
+ # auto subnet mode, this field is optional. However, a subnetwork must be
9954
+ # specified if the network is in custom subnet mode or when creating external
9955
+ # forwarding rule with IPv6.
9956
+ # Corresponds to the JSON property `subnetwork`
9957
+ # @return [String]
9958
+ attr_accessor :subnetwork
9959
+
9960
+ # The URL of the target resource to receive the matched traffic. For regional
9961
+ # forwarding rules, this target must be in the same region as the forwarding
9962
+ # rule. For global forwarding rules, this target must be a global load balancing
9963
+ # resource. The forwarded traffic must be of a type appropriate to the target
9964
+ # object. - For load balancers, see the "Target" column in [Port specifications](
9965
+ # https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#
9966
+ # ip_address_specifications). - For Private Service Connect forwarding rules
9967
+ # that forward traffic to Google APIs, provide the name of a supported Google
9968
+ # API bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis -
9969
+ # All supported Google APIs. - For Private Service Connect forwarding rules that
9970
+ # forward traffic to managed services, the target must be a service attachment.
9971
+ # The target is not mutable once set as a service attachment.
9972
+ # Corresponds to the JSON property `target`
9973
+ # @return [String]
9974
+ attr_accessor :target
9975
+
9976
+ def initialize(**args)
9977
+ update!(**args)
9978
+ end
9979
+
9980
+ # Update properties of this object
9981
+ def update!(**args)
9982
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
9983
+ @ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
9984
+ @all_ports = args[:all_ports] if args.key?(:all_ports)
9985
+ @allow_global_access = args[:allow_global_access] if args.key?(:allow_global_access)
9986
+ @allow_psc_global_access = args[:allow_psc_global_access] if args.key?(:allow_psc_global_access)
9987
+ @backend_service = args[:backend_service] if args.key?(:backend_service)
9988
+ @base_forwarding_rule = args[:base_forwarding_rule] if args.key?(:base_forwarding_rule)
9989
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
9990
+ @description = args[:description] if args.key?(:description)
9991
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
9992
+ @id = args[:id] if args.key?(:id)
9993
+ @ip_collection = args[:ip_collection] if args.key?(:ip_collection)
9994
+ @ip_version = args[:ip_version] if args.key?(:ip_version)
9995
+ @is_mirroring_collector = args[:is_mirroring_collector] if args.key?(:is_mirroring_collector)
9996
+ @kind = args[:kind] if args.key?(:kind)
9997
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
9998
+ @labels = args[:labels] if args.key?(:labels)
9999
+ @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
10000
+ @metadata_filters = args[:metadata_filters] if args.key?(:metadata_filters)
10001
+ @name = args[:name] if args.key?(:name)
10002
+ @network = args[:network] if args.key?(:network)
10003
+ @network_tier = args[:network_tier] if args.key?(:network_tier)
10004
+ @no_automate_dns_zone = args[:no_automate_dns_zone] if args.key?(:no_automate_dns_zone)
10005
+ @port_range = args[:port_range] if args.key?(:port_range)
10006
+ @ports = args[:ports] if args.key?(:ports)
10007
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
10008
+ @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
10009
+ @region = args[:region] if args.key?(:region)
10010
+ @self_link = args[:self_link] if args.key?(:self_link)
10011
+ @service_directory_registrations = args[:service_directory_registrations] if args.key?(:service_directory_registrations)
10012
+ @service_label = args[:service_label] if args.key?(:service_label)
10013
+ @service_name = args[:service_name] if args.key?(:service_name)
10014
+ @source_ip_ranges = args[:source_ip_ranges] if args.key?(:source_ip_ranges)
10015
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
10016
+ @target = args[:target] if args.key?(:target)
10017
+ end
10018
+ end
10019
+
10020
+ #
10021
+ class ForwardingRuleAggregatedList
10022
+ include Google::Apis::Core::Hashable
10023
+
10024
+ # [Output Only] Unique identifier for the resource; defined by the server.
10025
+ # Corresponds to the JSON property `id`
10026
+ # @return [String]
10027
+ attr_accessor :id
10028
+
10029
+ # A list of ForwardingRulesScopedList resources.
10030
+ # Corresponds to the JSON property `items`
10031
+ # @return [Hash<String,Google::Apis::ComputeV1::ForwardingRulesScopedList>]
10032
+ attr_accessor :items
10033
+
10034
+ # [Output Only] Type of resource. Always compute#forwardingRuleAggregatedList
10035
+ # for lists of forwarding rules.
10036
+ # Corresponds to the JSON property `kind`
10037
+ # @return [String]
10038
+ attr_accessor :kind
10039
+
10040
+ # [Output Only] This token allows you to get the next page of results for list
10041
+ # requests. If the number of results is larger than maxResults, use the
10042
+ # nextPageToken as a value for the query parameter pageToken in the next list
10043
+ # request. Subsequent list requests will have their own nextPageToken to
10044
+ # continue paging through the results.
10045
+ # Corresponds to the JSON property `nextPageToken`
10046
+ # @return [String]
10047
+ attr_accessor :next_page_token
10048
+
10049
+ # [Output Only] Server-defined URL for this resource.
10050
+ # Corresponds to the JSON property `selfLink`
10051
+ # @return [String]
10052
+ attr_accessor :self_link
10053
+
10054
+ # [Output Only] Unreachable resources.
10055
+ # Corresponds to the JSON property `unreachables`
10056
+ # @return [Array<String>]
10057
+ attr_accessor :unreachables
10058
+
10059
+ # [Output Only] Informational warning message.
10060
+ # Corresponds to the JSON property `warning`
10061
+ # @return [Google::Apis::ComputeV1::ForwardingRuleAggregatedList::Warning]
10062
+ attr_accessor :warning
10063
+
10064
+ def initialize(**args)
10065
+ update!(**args)
10066
+ end
10067
+
10068
+ # Update properties of this object
10069
+ def update!(**args)
10070
+ @id = args[:id] if args.key?(:id)
10071
+ @items = args[:items] if args.key?(:items)
10072
+ @kind = args[:kind] if args.key?(:kind)
10073
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10074
+ @self_link = args[:self_link] if args.key?(:self_link)
10075
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
10076
+ @warning = args[:warning] if args.key?(:warning)
10077
+ end
10078
+
10079
+ # [Output Only] Informational warning message.
10080
+ class Warning
10081
+ include Google::Apis::Core::Hashable
10082
+
10083
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10084
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10085
+ # Corresponds to the JSON property `code`
10086
+ # @return [String]
10087
+ attr_accessor :code
10088
+
10089
+ # [Output Only] Metadata about this warning in key: value format. For example: "
10090
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10091
+ # Corresponds to the JSON property `data`
10092
+ # @return [Array<Google::Apis::ComputeV1::ForwardingRuleAggregatedList::Warning::Datum>]
10093
+ attr_accessor :data
10094
+
10095
+ # [Output Only] A human-readable description of the warning code.
10096
+ # Corresponds to the JSON property `message`
10097
+ # @return [String]
10098
+ attr_accessor :message
10099
+
10100
+ def initialize(**args)
10101
+ update!(**args)
10102
+ end
10103
+
10104
+ # Update properties of this object
10105
+ def update!(**args)
10106
+ @code = args[:code] if args.key?(:code)
10107
+ @data = args[:data] if args.key?(:data)
10108
+ @message = args[:message] if args.key?(:message)
10109
+ end
10110
+
10111
+ #
10112
+ class Datum
10113
+ include Google::Apis::Core::Hashable
10114
+
10115
+ # [Output Only] A key that provides more detail on the warning being returned.
10116
+ # For example, for warnings where there are no results in a list request for a
10117
+ # particular zone, this key might be scope and the key value might be the zone
10118
+ # name. Other examples might be a key indicating a deprecated resource and a
10119
+ # suggested replacement, or a warning about invalid network settings (for
10120
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10121
+ # for IP forwarding).
10122
+ # Corresponds to the JSON property `key`
10123
+ # @return [String]
10124
+ attr_accessor :key
10125
+
10126
+ # [Output Only] A warning data value corresponding to the key.
10127
+ # Corresponds to the JSON property `value`
10128
+ # @return [String]
10129
+ attr_accessor :value
10130
+
10131
+ def initialize(**args)
10132
+ update!(**args)
10133
+ end
10134
+
10135
+ # Update properties of this object
10136
+ def update!(**args)
10137
+ @key = args[:key] if args.key?(:key)
10138
+ @value = args[:value] if args.key?(:value)
10139
+ end
10140
+ end
10141
+ end
10142
+ end
10143
+
10144
+ # Contains a list of ForwardingRule resources.
10145
+ class ForwardingRuleList
10146
+ include Google::Apis::Core::Hashable
10147
+
10148
+ # [Output Only] Unique identifier for the resource; defined by the server.
10149
+ # Corresponds to the JSON property `id`
10150
+ # @return [String]
10151
+ attr_accessor :id
10152
+
10153
+ # A list of ForwardingRule resources.
10154
+ # Corresponds to the JSON property `items`
10155
+ # @return [Array<Google::Apis::ComputeV1::ForwardingRule>]
10156
+ attr_accessor :items
10157
+
10158
+ # Type of resource.
10159
+ # Corresponds to the JSON property `kind`
10160
+ # @return [String]
10161
+ attr_accessor :kind
10162
+
10163
+ # [Output Only] This token allows you to get the next page of results for list
10164
+ # requests. If the number of results is larger than maxResults, use the
10165
+ # nextPageToken as a value for the query parameter pageToken in the next list
10166
+ # request. Subsequent list requests will have their own nextPageToken to
10167
+ # continue paging through the results.
10168
+ # Corresponds to the JSON property `nextPageToken`
10169
+ # @return [String]
10170
+ attr_accessor :next_page_token
10171
+
10172
+ # [Output Only] Server-defined URL for this resource.
10173
+ # Corresponds to the JSON property `selfLink`
10174
+ # @return [String]
10175
+ attr_accessor :self_link
10176
+
10177
+ # [Output Only] Informational warning message.
10178
+ # Corresponds to the JSON property `warning`
10179
+ # @return [Google::Apis::ComputeV1::ForwardingRuleList::Warning]
10180
+ attr_accessor :warning
10181
+
10182
+ def initialize(**args)
10183
+ update!(**args)
10184
+ end
10185
+
10186
+ # Update properties of this object
10187
+ def update!(**args)
10188
+ @id = args[:id] if args.key?(:id)
10189
+ @items = args[:items] if args.key?(:items)
10190
+ @kind = args[:kind] if args.key?(:kind)
10191
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10192
+ @self_link = args[:self_link] if args.key?(:self_link)
10193
+ @warning = args[:warning] if args.key?(:warning)
10194
+ end
10195
+
10196
+ # [Output Only] Informational warning message.
10197
+ class Warning
10198
+ include Google::Apis::Core::Hashable
10199
+
10200
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10201
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10202
+ # Corresponds to the JSON property `code`
10203
+ # @return [String]
10204
+ attr_accessor :code
10205
+
10206
+ # [Output Only] Metadata about this warning in key: value format. For example: "
10207
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10208
+ # Corresponds to the JSON property `data`
10209
+ # @return [Array<Google::Apis::ComputeV1::ForwardingRuleList::Warning::Datum>]
10210
+ attr_accessor :data
10211
+
10212
+ # [Output Only] A human-readable description of the warning code.
10213
+ # Corresponds to the JSON property `message`
10214
+ # @return [String]
10215
+ attr_accessor :message
10216
+
10217
+ def initialize(**args)
10218
+ update!(**args)
10219
+ end
10220
+
10221
+ # Update properties of this object
10222
+ def update!(**args)
10223
+ @code = args[:code] if args.key?(:code)
10224
+ @data = args[:data] if args.key?(:data)
10225
+ @message = args[:message] if args.key?(:message)
10226
+ end
10227
+
10228
+ #
10229
+ class Datum
10230
+ include Google::Apis::Core::Hashable
10231
+
10232
+ # [Output Only] A key that provides more detail on the warning being returned.
10233
+ # For example, for warnings where there are no results in a list request for a
10234
+ # particular zone, this key might be scope and the key value might be the zone
10235
+ # name. Other examples might be a key indicating a deprecated resource and a
10236
+ # suggested replacement, or a warning about invalid network settings (for
10237
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10238
+ # for IP forwarding).
10239
+ # Corresponds to the JSON property `key`
10240
+ # @return [String]
10241
+ attr_accessor :key
10242
+
10243
+ # [Output Only] A warning data value corresponding to the key.
10244
+ # Corresponds to the JSON property `value`
10245
+ # @return [String]
10246
+ attr_accessor :value
10247
+
10248
+ def initialize(**args)
10249
+ update!(**args)
10250
+ end
10251
+
10252
+ # Update properties of this object
10253
+ def update!(**args)
10254
+ @key = args[:key] if args.key?(:key)
10255
+ @value = args[:value] if args.key?(:value)
10256
+ end
10257
+ end
10258
+ end
10259
+ end
10260
+
10261
+ #
10262
+ class ForwardingRuleReference
10263
+ include Google::Apis::Core::Hashable
10264
+
10265
+ #
10266
+ # Corresponds to the JSON property `forwardingRule`
10267
+ # @return [String]
10268
+ attr_accessor :forwarding_rule
10269
+
10270
+ def initialize(**args)
10271
+ update!(**args)
10272
+ end
10273
+
10274
+ # Update properties of this object
10275
+ def update!(**args)
10276
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
10277
+ end
10278
+ end
10279
+
10280
+ # Describes the auto-registration of the forwarding rule to Service Directory.
10281
+ # The region and project of the Service Directory resource generated from this
10282
+ # registration will be the same as this forwarding rule.
10283
+ class ForwardingRuleServiceDirectoryRegistration
10284
+ include Google::Apis::Core::Hashable
10285
+
10286
+ # Service Directory namespace to register the forwarding rule under.
10287
+ # Corresponds to the JSON property `namespace`
10288
+ # @return [String]
10289
+ attr_accessor :namespace
10290
+
10291
+ # Service Directory service to register the forwarding rule under.
10292
+ # Corresponds to the JSON property `service`
10293
+ # @return [String]
10294
+ attr_accessor :service
10295
+
10296
+ # [Optional] Service Directory region to register this global forwarding rule
10297
+ # under. Default to "us-central1". Only used for PSC for Google APIs. All PSC
10298
+ # for Google APIs forwarding rules on the same network should use the same
10299
+ # Service Directory region.
10300
+ # Corresponds to the JSON property `serviceDirectoryRegion`
10301
+ # @return [String]
10302
+ attr_accessor :service_directory_region
10303
+
10304
+ def initialize(**args)
10305
+ update!(**args)
10306
+ end
10307
+
10308
+ # Update properties of this object
10309
+ def update!(**args)
10310
+ @namespace = args[:namespace] if args.key?(:namespace)
10311
+ @service = args[:service] if args.key?(:service)
10312
+ @service_directory_region = args[:service_directory_region] if args.key?(:service_directory_region)
10313
+ end
10314
+ end
10315
+
10316
+ #
10317
+ class ForwardingRulesScopedList
10318
+ include Google::Apis::Core::Hashable
10319
+
10320
+ # A list of forwarding rules contained in this scope.
10321
+ # Corresponds to the JSON property `forwardingRules`
10322
+ # @return [Array<Google::Apis::ComputeV1::ForwardingRule>]
10323
+ attr_accessor :forwarding_rules
10324
+
10325
+ # Informational warning which replaces the list of forwarding rules when the
10326
+ # list is empty.
10327
+ # Corresponds to the JSON property `warning`
10328
+ # @return [Google::Apis::ComputeV1::ForwardingRulesScopedList::Warning]
10329
+ attr_accessor :warning
10330
+
10331
+ def initialize(**args)
10332
+ update!(**args)
10333
+ end
10334
+
10335
+ # Update properties of this object
10336
+ def update!(**args)
10337
+ @forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules)
10338
+ @warning = args[:warning] if args.key?(:warning)
10339
+ end
10340
+
10341
+ # Informational warning which replaces the list of forwarding rules when the
10342
+ # list is empty.
10343
+ class Warning
10344
+ include Google::Apis::Core::Hashable
10345
+
10346
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10347
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10348
+ # Corresponds to the JSON property `code`
10349
+ # @return [String]
10350
+ attr_accessor :code
10351
+
10352
+ # [Output Only] Metadata about this warning in key: value format. For example: "
10353
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10354
+ # Corresponds to the JSON property `data`
10355
+ # @return [Array<Google::Apis::ComputeV1::ForwardingRulesScopedList::Warning::Datum>]
10356
+ attr_accessor :data
10357
+
10358
+ # [Output Only] A human-readable description of the warning code.
10359
+ # Corresponds to the JSON property `message`
10360
+ # @return [String]
10361
+ attr_accessor :message
10362
+
10363
+ def initialize(**args)
10364
+ update!(**args)
10365
+ end
10366
+
10367
+ # Update properties of this object
10368
+ def update!(**args)
10369
+ @code = args[:code] if args.key?(:code)
10370
+ @data = args[:data] if args.key?(:data)
10371
+ @message = args[:message] if args.key?(:message)
10372
+ end
10373
+
10374
+ #
10375
+ class Datum
10376
+ include Google::Apis::Core::Hashable
10377
+
10378
+ # [Output Only] A key that provides more detail on the warning being returned.
10379
+ # For example, for warnings where there are no results in a list request for a
10380
+ # particular zone, this key might be scope and the key value might be the zone
10381
+ # name. Other examples might be a key indicating a deprecated resource and a
10382
+ # suggested replacement, or a warning about invalid network settings (for
10383
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10384
+ # for IP forwarding).
10385
+ # Corresponds to the JSON property `key`
10386
+ # @return [String]
10387
+ attr_accessor :key
10388
+
10389
+ # [Output Only] A warning data value corresponding to the key.
10390
+ # Corresponds to the JSON property `value`
10391
+ # @return [String]
10392
+ attr_accessor :value
10393
+
10394
+ def initialize(**args)
10395
+ update!(**args)
10396
+ end
10397
+
10398
+ # Update properties of this object
10399
+ def update!(**args)
10400
+ @key = args[:key] if args.key?(:key)
10401
+ @value = args[:value] if args.key?(:value)
10402
+ end
10403
+ end
10404
+ end
10405
+ end
10406
+
10407
+ #
10408
+ class FutureReservation
10409
+ include Google::Apis::Core::Hashable
10410
+
10411
+ # Future timestamp when the FR auto-created reservations will be deleted by
10412
+ # Compute Engine. Format of this field must be a valid href="https://www.ietf.
10413
+ # org/rfc/rfc3339.txt">RFC3339 value.
10414
+ # Corresponds to the JSON property `autoCreatedReservationsDeleteTime`
10415
+ # @return [String]
10416
+ attr_accessor :auto_created_reservations_delete_time
10417
+
10418
+ # A Duration represents a fixed-length span of time represented as a count of
10419
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
10420
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
10421
+ # 000 years.
10422
+ # Corresponds to the JSON property `autoCreatedReservationsDuration`
10423
+ # @return [Google::Apis::ComputeV1::Duration]
10424
+ attr_accessor :auto_created_reservations_duration
10425
+
10426
+ # Setting for enabling or disabling automatic deletion for auto-created
10427
+ # reservation. If set to true, auto-created reservations will be deleted at
10428
+ # Future Reservation's end time (default) or at user's defined timestamp if any
10429
+ # of the [auto_created_reservations_delete_time,
10430
+ # auto_created_reservations_duration] values is specified. For keeping auto-
10431
+ # created reservation indefinitely, this value should be set to false.
10432
+ # Corresponds to the JSON property `autoDeleteAutoCreatedReservations`
10433
+ # @return [Boolean]
10434
+ attr_accessor :auto_delete_auto_created_reservations
10435
+ alias_method :auto_delete_auto_created_reservations?, :auto_delete_auto_created_reservations
10436
+
10437
+ # [Output Only] The creation timestamp for this future reservation in RFC3339
10438
+ # text format.
10439
+ # Corresponds to the JSON property `creationTimestamp`
10440
+ # @return [String]
10441
+ attr_accessor :creation_timestamp
10442
+
10443
+ # An optional description of this resource. Provide this property when you
10444
+ # create the future reservation.
10445
+ # Corresponds to the JSON property `description`
10446
+ # @return [String]
10447
+ attr_accessor :description
10448
+
10449
+ # [Output Only] A unique identifier for this future reservation. The server
10450
+ # defines this identifier.
10451
+ # Corresponds to the JSON property `id`
10452
+ # @return [Fixnum]
10453
+ attr_accessor :id
10454
+
10455
+ # [Output Only] Type of the resource. Always compute#futureReservation for
10456
+ # future reservations.
10457
+ # Corresponds to the JSON property `kind`
10458
+ # @return [String]
10459
+ attr_accessor :kind
10460
+
10461
+ # The name of the resource, provided by the client when initially creating the
10462
+ # resource. The resource name must be 1-63 characters long, and comply with
10463
+ # RFC1035. Specifically, the name must be 1-63 characters long and match the
10464
+ # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
10465
+ # character must be a lowercase letter, and all following characters must be a
10466
+ # dash, lowercase letter, or digit, except the last character, which cannot be a
10467
+ # dash.
10468
+ # Corresponds to the JSON property `name`
10469
+ # @return [String]
10470
+ attr_accessor :name
10471
+
10472
+ # Name prefix for the reservations to be created at the time of delivery. The
10473
+ # name prefix must comply with RFC1035. Maximum allowed length for name prefix
10474
+ # is 20. Automatically created reservations name format will be -date-####.
10475
+ # Corresponds to the JSON property `namePrefix`
10476
+ # @return [String]
10477
+ attr_accessor :name_prefix
10478
+
10479
+ # Planning state before being submitted for evaluation
10480
+ # Corresponds to the JSON property `planningStatus`
10481
+ # @return [String]
10482
+ attr_accessor :planning_status
10483
+
10484
+ # [Output Only] Server-defined fully-qualified URL for this resource.
10485
+ # Corresponds to the JSON property `selfLink`
10486
+ # @return [String]
10487
+ attr_accessor :self_link
10488
+
10489
+ # [Output Only] Server-defined URL for this resource with the resource id.
10490
+ # Corresponds to the JSON property `selfLinkWithId`
10491
+ # @return [String]
10492
+ attr_accessor :self_link_with_id
10493
+
10494
+ # The share setting for reservations and sole tenancy node groups.
10495
+ # Corresponds to the JSON property `shareSettings`
10496
+ # @return [Google::Apis::ComputeV1::ShareSettings]
10497
+ attr_accessor :share_settings
10498
+
10499
+ # Indicates whether the auto-created reservation can be consumed by VMs with
10500
+ # affinity for "any" reservation. If the field is set, then only VMs that target
10501
+ # the reservation by name can consume from the delivered reservation. If set to
10502
+ # true,the delivered resevervation will have the same name as the future
10503
+ # reservation.
10504
+ # Corresponds to the JSON property `specificReservationRequired`
10505
+ # @return [Boolean]
10506
+ attr_accessor :specific_reservation_required
10507
+ alias_method :specific_reservation_required?, :specific_reservation_required
10508
+
10509
+ # Future Reservation configuration to indicate instance properties and total
10510
+ # count.
10511
+ # Corresponds to the JSON property `specificSkuProperties`
10512
+ # @return [Google::Apis::ComputeV1::FutureReservationSpecificSkuProperties]
10513
+ attr_accessor :specific_sku_properties
10514
+
10515
+ # [Output only] Represents status related to the future reservation.
10516
+ # Corresponds to the JSON property `status`
10517
+ # @return [Google::Apis::ComputeV1::FutureReservationStatus]
10518
+ attr_accessor :status
10519
+
10520
+ # Time window for this Future Reservation.
10521
+ # Corresponds to the JSON property `timeWindow`
10522
+ # @return [Google::Apis::ComputeV1::FutureReservationTimeWindow]
10523
+ attr_accessor :time_window
10524
+
10525
+ # [Output Only] URL of the Zone where this future reservation resides.
10526
+ # Corresponds to the JSON property `zone`
10527
+ # @return [String]
10528
+ attr_accessor :zone
10529
+
10530
+ def initialize(**args)
10531
+ update!(**args)
10532
+ end
10533
+
10534
+ # Update properties of this object
10535
+ def update!(**args)
10536
+ @auto_created_reservations_delete_time = args[:auto_created_reservations_delete_time] if args.key?(:auto_created_reservations_delete_time)
10537
+ @auto_created_reservations_duration = args[:auto_created_reservations_duration] if args.key?(:auto_created_reservations_duration)
10538
+ @auto_delete_auto_created_reservations = args[:auto_delete_auto_created_reservations] if args.key?(:auto_delete_auto_created_reservations)
10539
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
10540
+ @description = args[:description] if args.key?(:description)
10541
+ @id = args[:id] if args.key?(:id)
10542
+ @kind = args[:kind] if args.key?(:kind)
10543
+ @name = args[:name] if args.key?(:name)
10544
+ @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
10545
+ @planning_status = args[:planning_status] if args.key?(:planning_status)
10546
+ @self_link = args[:self_link] if args.key?(:self_link)
10547
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
10548
+ @share_settings = args[:share_settings] if args.key?(:share_settings)
10549
+ @specific_reservation_required = args[:specific_reservation_required] if args.key?(:specific_reservation_required)
10550
+ @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
10551
+ @status = args[:status] if args.key?(:status)
10552
+ @time_window = args[:time_window] if args.key?(:time_window)
10553
+ @zone = args[:zone] if args.key?(:zone)
10554
+ end
10555
+ end
10556
+
10557
+ #
10558
+ class FutureReservationSpecificSkuProperties
10559
+ include Google::Apis::Core::Hashable
10560
+
10561
+ # Properties of the SKU instances being reserved. Next ID: 9
10562
+ # Corresponds to the JSON property `instanceProperties`
10563
+ # @return [Google::Apis::ComputeV1::AllocationSpecificSkuAllocationReservedInstanceProperties]
10564
+ attr_accessor :instance_properties
10565
+
10566
+ # The instance template that will be used to populate the
10567
+ # ReservedInstanceProperties of the future reservation
10568
+ # Corresponds to the JSON property `sourceInstanceTemplate`
10569
+ # @return [String]
10570
+ attr_accessor :source_instance_template
10571
+
10572
+ # Total number of instances for which capacity assurance is requested at a
10573
+ # future time period.
10574
+ # Corresponds to the JSON property `totalCount`
10575
+ # @return [Fixnum]
10576
+ attr_accessor :total_count
10577
+
10578
+ def initialize(**args)
10579
+ update!(**args)
10580
+ end
10581
+
10582
+ # Update properties of this object
10583
+ def update!(**args)
10584
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
10585
+ @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
10586
+ @total_count = args[:total_count] if args.key?(:total_count)
10587
+ end
10588
+ end
10589
+
10590
+ # [Output only] Represents status related to the future reservation.
10591
+ class FutureReservationStatus
10592
+ include Google::Apis::Core::Hashable
10593
+
10594
+ # [Output Only] The current status of the requested amendment.
10595
+ # Corresponds to the JSON property `amendmentStatus`
10596
+ # @return [String]
10597
+ attr_accessor :amendment_status
10598
+
10599
+ # Fully qualified urls of the automatically created reservations at start_time.
10600
+ # Corresponds to the JSON property `autoCreatedReservations`
10601
+ # @return [Array<String>]
10602
+ attr_accessor :auto_created_reservations
10603
+
10604
+ # [Output Only] Represents the existing matching usage for the future
10605
+ # reservation.
10606
+ # Corresponds to the JSON property `existingMatchingUsageInfo`
10607
+ # @return [Google::Apis::ComputeV1::FutureReservationStatusExistingMatchingUsageInfo]
10608
+ attr_accessor :existing_matching_usage_info
10609
+
10610
+ # This count indicates the fulfilled capacity so far. This is set during "
10611
+ # PROVISIONING" state. This count also includes capacity delivered as part of
10612
+ # existing matching reservations.
10613
+ # Corresponds to the JSON property `fulfilledCount`
10614
+ # @return [Fixnum]
10615
+ attr_accessor :fulfilled_count
10616
+
10617
+ # The state that the future reservation will be reverted to should the amendment
10618
+ # be declined.
10619
+ # Corresponds to the JSON property `lastKnownGoodState`
10620
+ # @return [Google::Apis::ComputeV1::FutureReservationStatusLastKnownGoodState]
10621
+ attr_accessor :last_known_good_state
10622
+
10623
+ # Time when Future Reservation would become LOCKED, after which no modifications
10624
+ # to Future Reservation will be allowed. Applicable only after the Future
10625
+ # Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The
10626
+ # procurement_status will transition to PROCURING state at this time.
10627
+ # Corresponds to the JSON property `lockTime`
10628
+ # @return [String]
10629
+ attr_accessor :lock_time
10630
+
10631
+ # Current state of this Future Reservation
10632
+ # Corresponds to the JSON property `procurementStatus`
10633
+ # @return [String]
10634
+ attr_accessor :procurement_status
10635
+
10636
+ # Properties to be set for the Future Reservation.
10637
+ # Corresponds to the JSON property `specificSkuProperties`
10638
+ # @return [Google::Apis::ComputeV1::FutureReservationStatusSpecificSkuProperties]
10639
+ attr_accessor :specific_sku_properties
10640
+
10641
+ def initialize(**args)
10642
+ update!(**args)
10643
+ end
10644
+
10645
+ # Update properties of this object
10646
+ def update!(**args)
10647
+ @amendment_status = args[:amendment_status] if args.key?(:amendment_status)
10648
+ @auto_created_reservations = args[:auto_created_reservations] if args.key?(:auto_created_reservations)
10649
+ @existing_matching_usage_info = args[:existing_matching_usage_info] if args.key?(:existing_matching_usage_info)
10650
+ @fulfilled_count = args[:fulfilled_count] if args.key?(:fulfilled_count)
10651
+ @last_known_good_state = args[:last_known_good_state] if args.key?(:last_known_good_state)
10652
+ @lock_time = args[:lock_time] if args.key?(:lock_time)
10653
+ @procurement_status = args[:procurement_status] if args.key?(:procurement_status)
10654
+ @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
10655
+ end
10656
+ end
10657
+
10658
+ # [Output Only] Represents the existing matching usage for the future
10659
+ # reservation.
10660
+ class FutureReservationStatusExistingMatchingUsageInfo
10661
+ include Google::Apis::Core::Hashable
10662
+
10663
+ # Count to represent min(FR total_count, matching_reserved_capacity+
10664
+ # matching_unreserved_instances)
10665
+ # Corresponds to the JSON property `count`
10666
+ # @return [Fixnum]
10667
+ attr_accessor :count
10668
+
10669
+ # Timestamp when the matching usage was calculated
10670
+ # Corresponds to the JSON property `timestamp`
10671
+ # @return [String]
10672
+ attr_accessor :timestamp
10673
+
10674
+ def initialize(**args)
10675
+ update!(**args)
10676
+ end
10677
+
10678
+ # Update properties of this object
10679
+ def update!(**args)
10680
+ @count = args[:count] if args.key?(:count)
10681
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
10682
+ end
10683
+ end
10684
+
10685
+ # The state that the future reservation will be reverted to should the amendment
10686
+ # be declined.
10687
+ class FutureReservationStatusLastKnownGoodState
10688
+ include Google::Apis::Core::Hashable
10689
+
10690
+ # [Output Only] The description of the FutureReservation before an amendment was
10691
+ # requested.
10692
+ # Corresponds to the JSON property `description`
10693
+ # @return [String]
10694
+ attr_accessor :description
10695
+
10696
+ # [Output Only] Represents the existing matching usage for the future
10697
+ # reservation.
10698
+ # Corresponds to the JSON property `existingMatchingUsageInfo`
10699
+ # @return [Google::Apis::ComputeV1::FutureReservationStatusExistingMatchingUsageInfo]
10700
+ attr_accessor :existing_matching_usage_info
10701
+
10702
+ # The properties of the last known good state for the Future Reservation.
10703
+ # Corresponds to the JSON property `futureReservationSpecs`
10704
+ # @return [Google::Apis::ComputeV1::FutureReservationStatusLastKnownGoodStateFutureReservationSpecs]
10705
+ attr_accessor :future_reservation_specs
10706
+
10707
+ # [Output Only] The lock time of the FutureReservation before an amendment was
10708
+ # requested.
10709
+ # Corresponds to the JSON property `lockTime`
10710
+ # @return [String]
10711
+ attr_accessor :lock_time
10712
+
10713
+ # [Output Only] The name prefix of the Future Reservation before an amendment
10714
+ # was requested.
10715
+ # Corresponds to the JSON property `namePrefix`
10716
+ # @return [String]
10717
+ attr_accessor :name_prefix
10718
+
10719
+ # [Output Only] The status of the last known good state for the Future
10720
+ # Reservation.
10721
+ # Corresponds to the JSON property `procurementStatus`
10722
+ # @return [String]
10723
+ attr_accessor :procurement_status
10724
+
10725
+ def initialize(**args)
10726
+ update!(**args)
10727
+ end
10728
+
10729
+ # Update properties of this object
10730
+ def update!(**args)
10731
+ @description = args[:description] if args.key?(:description)
10732
+ @existing_matching_usage_info = args[:existing_matching_usage_info] if args.key?(:existing_matching_usage_info)
10733
+ @future_reservation_specs = args[:future_reservation_specs] if args.key?(:future_reservation_specs)
10734
+ @lock_time = args[:lock_time] if args.key?(:lock_time)
10735
+ @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
10736
+ @procurement_status = args[:procurement_status] if args.key?(:procurement_status)
10737
+ end
10738
+ end
10739
+
10740
+ # The properties of the last known good state for the Future Reservation.
10741
+ class FutureReservationStatusLastKnownGoodStateFutureReservationSpecs
10742
+ include Google::Apis::Core::Hashable
10743
+
10744
+ # The share setting for reservations and sole tenancy node groups.
10745
+ # Corresponds to the JSON property `shareSettings`
10746
+ # @return [Google::Apis::ComputeV1::ShareSettings]
10747
+ attr_accessor :share_settings
9894
10748
 
9895
- #
9896
- # Corresponds to the JSON property `pscConnectionStatus`
9897
- # @return [String]
9898
- attr_accessor :psc_connection_status
10749
+ # [Output Only] The previous instance related properties of the Future
10750
+ # Reservation.
10751
+ # Corresponds to the JSON property `specificSkuProperties`
10752
+ # @return [Google::Apis::ComputeV1::FutureReservationSpecificSkuProperties]
10753
+ attr_accessor :specific_sku_properties
9899
10754
 
9900
- # [Output Only] URL of the region where the regional forwarding rule resides.
9901
- # This field is not applicable to global forwarding rules. You must specify this
9902
- # field as part of the HTTP request URL. It is not settable as a field in the
9903
- # request body.
9904
- # Corresponds to the JSON property `region`
9905
- # @return [String]
9906
- attr_accessor :region
10755
+ # [Output Only] The previous time window of the Future Reservation.
10756
+ # Corresponds to the JSON property `timeWindow`
10757
+ # @return [Google::Apis::ComputeV1::FutureReservationTimeWindow]
10758
+ attr_accessor :time_window
9907
10759
 
9908
- # [Output Only] Server-defined URL for the resource.
9909
- # Corresponds to the JSON property `selfLink`
9910
- # @return [String]
9911
- attr_accessor :self_link
10760
+ def initialize(**args)
10761
+ update!(**args)
10762
+ end
9912
10763
 
9913
- # Service Directory resources to register this forwarding rule with. Currently,
9914
- # only supports a single Service Directory resource.
9915
- # Corresponds to the JSON property `serviceDirectoryRegistrations`
9916
- # @return [Array<Google::Apis::ComputeV1::ForwardingRuleServiceDirectoryRegistration>]
9917
- attr_accessor :service_directory_registrations
10764
+ # Update properties of this object
10765
+ def update!(**args)
10766
+ @share_settings = args[:share_settings] if args.key?(:share_settings)
10767
+ @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
10768
+ @time_window = args[:time_window] if args.key?(:time_window)
10769
+ end
10770
+ end
9918
10771
 
9919
- # An optional prefix to the service name for this forwarding rule. If specified,
9920
- # the prefix is the first label of the fully qualified service name. The label
9921
- # must be 1-63 characters long, and comply with RFC1035. Specifically, the label
9922
- # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
9923
- # [a-z0-9])?` which means the first character must be a lowercase letter, and
9924
- # all following characters must be a dash, lowercase letter, or digit, except
9925
- # the last character, which cannot be a dash. This field is only used for
9926
- # internal load balancing.
9927
- # Corresponds to the JSON property `serviceLabel`
9928
- # @return [String]
9929
- attr_accessor :service_label
10772
+ # Properties to be set for the Future Reservation.
10773
+ class FutureReservationStatusSpecificSkuProperties
10774
+ include Google::Apis::Core::Hashable
9930
10775
 
9931
- # [Output Only] The internal fully qualified service name for this forwarding
9932
- # rule. This field is only used for internal load balancing.
9933
- # Corresponds to the JSON property `serviceName`
10776
+ # ID of the instance template used to populate the Future Reservation properties.
10777
+ # Corresponds to the JSON property `sourceInstanceTemplateId`
9934
10778
  # @return [String]
9935
- attr_accessor :service_name
10779
+ attr_accessor :source_instance_template_id
9936
10780
 
9937
- # If not empty, this forwarding rule will only forward the traffic when the
9938
- # source IP address matches one of the IP addresses or CIDR ranges set here.
9939
- # Note that a forwarding rule can only have up to 64 source IP ranges, and this
9940
- # field can only be used with a regional forwarding rule whose scheme is
9941
- # EXTERNAL. Each source_ip_range entry should be either an IP address (for
9942
- # example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
9943
- # Corresponds to the JSON property `sourceIpRanges`
9944
- # @return [Array<String>]
9945
- attr_accessor :source_ip_ranges
10781
+ def initialize(**args)
10782
+ update!(**args)
10783
+ end
9946
10784
 
9947
- # This field identifies the subnetwork that the load balanced IP should belong
9948
- # to for this forwarding rule, used with internal load balancers and external
9949
- # passthrough Network Load Balancers with IPv6. If the network specified is in
9950
- # auto subnet mode, this field is optional. However, a subnetwork must be
9951
- # specified if the network is in custom subnet mode or when creating external
9952
- # forwarding rule with IPv6.
9953
- # Corresponds to the JSON property `subnetwork`
10785
+ # Update properties of this object
10786
+ def update!(**args)
10787
+ @source_instance_template_id = args[:source_instance_template_id] if args.key?(:source_instance_template_id)
10788
+ end
10789
+ end
10790
+
10791
+ #
10792
+ class FutureReservationTimeWindow
10793
+ include Google::Apis::Core::Hashable
10794
+
10795
+ # A Duration represents a fixed-length span of time represented as a count of
10796
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
10797
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
10798
+ # 000 years.
10799
+ # Corresponds to the JSON property `duration`
10800
+ # @return [Google::Apis::ComputeV1::Duration]
10801
+ attr_accessor :duration
10802
+
10803
+ #
10804
+ # Corresponds to the JSON property `endTime`
9954
10805
  # @return [String]
9955
- attr_accessor :subnetwork
10806
+ attr_accessor :end_time
9956
10807
 
9957
- # The URL of the target resource to receive the matched traffic. For regional
9958
- # forwarding rules, this target must be in the same region as the forwarding
9959
- # rule. For global forwarding rules, this target must be a global load balancing
9960
- # resource. The forwarded traffic must be of a type appropriate to the target
9961
- # object. - For load balancers, see the "Target" column in [Port specifications](
9962
- # https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#
9963
- # ip_address_specifications). - For Private Service Connect forwarding rules
9964
- # that forward traffic to Google APIs, provide the name of a supported Google
9965
- # API bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis -
9966
- # All supported Google APIs. - For Private Service Connect forwarding rules that
9967
- # forward traffic to managed services, the target must be a service attachment.
9968
- # The target is not mutable once set as a service attachment.
9969
- # Corresponds to the JSON property `target`
10808
+ # Start time of the Future Reservation. The start_time is an RFC3339 string.
10809
+ # Corresponds to the JSON property `startTime`
9970
10810
  # @return [String]
9971
- attr_accessor :target
10811
+ attr_accessor :start_time
9972
10812
 
9973
10813
  def initialize(**args)
9974
10814
  update!(**args)
@@ -9976,60 +10816,34 @@ module Google
9976
10816
 
9977
10817
  # Update properties of this object
9978
10818
  def update!(**args)
9979
- @ip_address = args[:ip_address] if args.key?(:ip_address)
9980
- @ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
9981
- @all_ports = args[:all_ports] if args.key?(:all_ports)
9982
- @allow_global_access = args[:allow_global_access] if args.key?(:allow_global_access)
9983
- @allow_psc_global_access = args[:allow_psc_global_access] if args.key?(:allow_psc_global_access)
9984
- @backend_service = args[:backend_service] if args.key?(:backend_service)
9985
- @base_forwarding_rule = args[:base_forwarding_rule] if args.key?(:base_forwarding_rule)
9986
- @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
9987
- @description = args[:description] if args.key?(:description)
9988
- @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
9989
- @id = args[:id] if args.key?(:id)
9990
- @ip_collection = args[:ip_collection] if args.key?(:ip_collection)
9991
- @ip_version = args[:ip_version] if args.key?(:ip_version)
9992
- @is_mirroring_collector = args[:is_mirroring_collector] if args.key?(:is_mirroring_collector)
9993
- @kind = args[:kind] if args.key?(:kind)
9994
- @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
9995
- @labels = args[:labels] if args.key?(:labels)
9996
- @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
9997
- @metadata_filters = args[:metadata_filters] if args.key?(:metadata_filters)
9998
- @name = args[:name] if args.key?(:name)
9999
- @network = args[:network] if args.key?(:network)
10000
- @network_tier = args[:network_tier] if args.key?(:network_tier)
10001
- @no_automate_dns_zone = args[:no_automate_dns_zone] if args.key?(:no_automate_dns_zone)
10002
- @port_range = args[:port_range] if args.key?(:port_range)
10003
- @ports = args[:ports] if args.key?(:ports)
10004
- @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
10005
- @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
10006
- @region = args[:region] if args.key?(:region)
10007
- @self_link = args[:self_link] if args.key?(:self_link)
10008
- @service_directory_registrations = args[:service_directory_registrations] if args.key?(:service_directory_registrations)
10009
- @service_label = args[:service_label] if args.key?(:service_label)
10010
- @service_name = args[:service_name] if args.key?(:service_name)
10011
- @source_ip_ranges = args[:source_ip_ranges] if args.key?(:source_ip_ranges)
10012
- @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
10013
- @target = args[:target] if args.key?(:target)
10819
+ @duration = args[:duration] if args.key?(:duration)
10820
+ @end_time = args[:end_time] if args.key?(:end_time)
10821
+ @start_time = args[:start_time] if args.key?(:start_time)
10014
10822
  end
10015
10823
  end
10016
10824
 
10017
- #
10018
- class ForwardingRuleAggregatedList
10825
+ # Contains a list of future reservations.
10826
+ class FutureReservationsAggregatedListResponse
10019
10827
  include Google::Apis::Core::Hashable
10020
10828
 
10829
+ #
10830
+ # Corresponds to the JSON property `etag`
10831
+ # @return [String]
10832
+ attr_accessor :etag
10833
+
10021
10834
  # [Output Only] Unique identifier for the resource; defined by the server.
10022
10835
  # Corresponds to the JSON property `id`
10023
10836
  # @return [String]
10024
10837
  attr_accessor :id
10025
10838
 
10026
- # A list of ForwardingRulesScopedList resources.
10839
+ # A list of Future reservation resources.
10027
10840
  # Corresponds to the JSON property `items`
10028
- # @return [Hash<String,Google::Apis::ComputeV1::ForwardingRulesScopedList>]
10841
+ # @return [Hash<String,Google::Apis::ComputeV1::FutureReservationsScopedList>]
10029
10842
  attr_accessor :items
10030
10843
 
10031
- # [Output Only] Type of resource. Always compute#forwardingRuleAggregatedList
10032
- # for lists of forwarding rules.
10844
+ # [Output Only] Type of resource. Always compute#
10845
+ # futureReservationsAggregatedListResponse for future resevation aggregated list
10846
+ # response.
10033
10847
  # Corresponds to the JSON property `kind`
10034
10848
  # @return [String]
10035
10849
  attr_accessor :kind
@@ -10055,7 +10869,7 @@ module Google
10055
10869
 
10056
10870
  # [Output Only] Informational warning message.
10057
10871
  # Corresponds to the JSON property `warning`
10058
- # @return [Google::Apis::ComputeV1::ForwardingRuleAggregatedList::Warning]
10872
+ # @return [Google::Apis::ComputeV1::FutureReservationsAggregatedListResponse::Warning]
10059
10873
  attr_accessor :warning
10060
10874
 
10061
10875
  def initialize(**args)
@@ -10064,6 +10878,7 @@ module Google
10064
10878
 
10065
10879
  # Update properties of this object
10066
10880
  def update!(**args)
10881
+ @etag = args[:etag] if args.key?(:etag)
10067
10882
  @id = args[:id] if args.key?(:id)
10068
10883
  @items = args[:items] if args.key?(:items)
10069
10884
  @kind = args[:kind] if args.key?(:kind)
@@ -10086,7 +10901,7 @@ module Google
10086
10901
  # [Output Only] Metadata about this warning in key: value format. For example: "
10087
10902
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10088
10903
  # Corresponds to the JSON property `data`
10089
- # @return [Array<Google::Apis::ComputeV1::ForwardingRuleAggregatedList::Warning::Datum>]
10904
+ # @return [Array<Google::Apis::ComputeV1::FutureReservationsAggregatedListResponse::Warning::Datum>]
10090
10905
  attr_accessor :data
10091
10906
 
10092
10907
  # [Output Only] A human-readable description of the warning code.
@@ -10138,21 +10953,28 @@ module Google
10138
10953
  end
10139
10954
  end
10140
10955
 
10141
- # Contains a list of ForwardingRule resources.
10142
- class ForwardingRuleList
10956
+ #
10957
+ class FutureReservationsListResponse
10143
10958
  include Google::Apis::Core::Hashable
10144
10959
 
10145
- # [Output Only] Unique identifier for the resource; defined by the server.
10960
+ #
10961
+ # Corresponds to the JSON property `etag`
10962
+ # @return [String]
10963
+ attr_accessor :etag
10964
+
10965
+ # [Output Only] The unique identifier for the resource. This identifier is
10966
+ # defined by the server.
10146
10967
  # Corresponds to the JSON property `id`
10147
10968
  # @return [String]
10148
10969
  attr_accessor :id
10149
10970
 
10150
- # A list of ForwardingRule resources.
10971
+ # [Output Only] A list of future reservation resources.
10151
10972
  # Corresponds to the JSON property `items`
10152
- # @return [Array<Google::Apis::ComputeV1::ForwardingRule>]
10973
+ # @return [Array<Google::Apis::ComputeV1::FutureReservation>]
10153
10974
  attr_accessor :items
10154
10975
 
10155
- # Type of resource.
10976
+ # [Output Only] Type of resource.Always compute#FutureReservationsListResponse
10977
+ # for lists of reservations
10156
10978
  # Corresponds to the JSON property `kind`
10157
10979
  # @return [String]
10158
10980
  attr_accessor :kind
@@ -10171,9 +10993,14 @@ module Google
10171
10993
  # @return [String]
10172
10994
  attr_accessor :self_link
10173
10995
 
10996
+ # [Output Only] Unreachable resources.
10997
+ # Corresponds to the JSON property `unreachables`
10998
+ # @return [Array<String>]
10999
+ attr_accessor :unreachables
11000
+
10174
11001
  # [Output Only] Informational warning message.
10175
11002
  # Corresponds to the JSON property `warning`
10176
- # @return [Google::Apis::ComputeV1::ForwardingRuleList::Warning]
11003
+ # @return [Google::Apis::ComputeV1::FutureReservationsListResponse::Warning]
10177
11004
  attr_accessor :warning
10178
11005
 
10179
11006
  def initialize(**args)
@@ -10182,11 +11009,13 @@ module Google
10182
11009
 
10183
11010
  # Update properties of this object
10184
11011
  def update!(**args)
11012
+ @etag = args[:etag] if args.key?(:etag)
10185
11013
  @id = args[:id] if args.key?(:id)
10186
11014
  @items = args[:items] if args.key?(:items)
10187
11015
  @kind = args[:kind] if args.key?(:kind)
10188
11016
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10189
11017
  @self_link = args[:self_link] if args.key?(:self_link)
11018
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
10190
11019
  @warning = args[:warning] if args.key?(:warning)
10191
11020
  end
10192
11021
 
@@ -10203,7 +11032,7 @@ module Google
10203
11032
  # [Output Only] Metadata about this warning in key: value format. For example: "
10204
11033
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10205
11034
  # Corresponds to the JSON property `data`
10206
- # @return [Array<Google::Apis::ComputeV1::ForwardingRuleList::Warning::Datum>]
11035
+ # @return [Array<Google::Apis::ComputeV1::FutureReservationsListResponse::Warning::Datum>]
10207
11036
  attr_accessor :data
10208
11037
 
10209
11038
  # [Output Only] A human-readable description of the warning code.
@@ -10256,73 +11085,18 @@ module Google
10256
11085
  end
10257
11086
 
10258
11087
  #
10259
- class ForwardingRuleReference
10260
- include Google::Apis::Core::Hashable
10261
-
10262
- #
10263
- # Corresponds to the JSON property `forwardingRule`
10264
- # @return [String]
10265
- attr_accessor :forwarding_rule
10266
-
10267
- def initialize(**args)
10268
- update!(**args)
10269
- end
10270
-
10271
- # Update properties of this object
10272
- def update!(**args)
10273
- @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
10274
- end
10275
- end
10276
-
10277
- # Describes the auto-registration of the forwarding rule to Service Directory.
10278
- # The region and project of the Service Directory resource generated from this
10279
- # registration will be the same as this forwarding rule.
10280
- class ForwardingRuleServiceDirectoryRegistration
10281
- include Google::Apis::Core::Hashable
10282
-
10283
- # Service Directory namespace to register the forwarding rule under.
10284
- # Corresponds to the JSON property `namespace`
10285
- # @return [String]
10286
- attr_accessor :namespace
10287
-
10288
- # Service Directory service to register the forwarding rule under.
10289
- # Corresponds to the JSON property `service`
10290
- # @return [String]
10291
- attr_accessor :service
10292
-
10293
- # [Optional] Service Directory region to register this global forwarding rule
10294
- # under. Default to "us-central1". Only used for PSC for Google APIs. All PSC
10295
- # for Google APIs forwarding rules on the same network should use the same
10296
- # Service Directory region.
10297
- # Corresponds to the JSON property `serviceDirectoryRegion`
10298
- # @return [String]
10299
- attr_accessor :service_directory_region
10300
-
10301
- def initialize(**args)
10302
- update!(**args)
10303
- end
10304
-
10305
- # Update properties of this object
10306
- def update!(**args)
10307
- @namespace = args[:namespace] if args.key?(:namespace)
10308
- @service = args[:service] if args.key?(:service)
10309
- @service_directory_region = args[:service_directory_region] if args.key?(:service_directory_region)
10310
- end
10311
- end
10312
-
10313
- #
10314
- class ForwardingRulesScopedList
11088
+ class FutureReservationsScopedList
10315
11089
  include Google::Apis::Core::Hashable
10316
11090
 
10317
- # A list of forwarding rules contained in this scope.
10318
- # Corresponds to the JSON property `forwardingRules`
10319
- # @return [Array<Google::Apis::ComputeV1::ForwardingRule>]
10320
- attr_accessor :forwarding_rules
11091
+ # A list of future reservations contained in this scope.
11092
+ # Corresponds to the JSON property `futureReservations`
11093
+ # @return [Array<Google::Apis::ComputeV1::FutureReservation>]
11094
+ attr_accessor :future_reservations
10321
11095
 
10322
- # Informational warning which replaces the list of forwarding rules when the
11096
+ # Informational warning which replaces the list of future reservations when the
10323
11097
  # list is empty.
10324
11098
  # Corresponds to the JSON property `warning`
10325
- # @return [Google::Apis::ComputeV1::ForwardingRulesScopedList::Warning]
11099
+ # @return [Google::Apis::ComputeV1::FutureReservationsScopedList::Warning]
10326
11100
  attr_accessor :warning
10327
11101
 
10328
11102
  def initialize(**args)
@@ -10331,11 +11105,11 @@ module Google
10331
11105
 
10332
11106
  # Update properties of this object
10333
11107
  def update!(**args)
10334
- @forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules)
11108
+ @future_reservations = args[:future_reservations] if args.key?(:future_reservations)
10335
11109
  @warning = args[:warning] if args.key?(:warning)
10336
11110
  end
10337
11111
 
10338
- # Informational warning which replaces the list of forwarding rules when the
11112
+ # Informational warning which replaces the list of future reservations when the
10339
11113
  # list is empty.
10340
11114
  class Warning
10341
11115
  include Google::Apis::Core::Hashable
@@ -10349,7 +11123,7 @@ module Google
10349
11123
  # [Output Only] Metadata about this warning in key: value format. For example: "
10350
11124
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10351
11125
  # Corresponds to the JSON property `data`
10352
- # @return [Array<Google::Apis::ComputeV1::ForwardingRulesScopedList::Warning::Datum>]
11126
+ # @return [Array<Google::Apis::ComputeV1::FutureReservationsScopedList::Warning::Datum>]
10353
11127
  attr_accessor :data
10354
11128
 
10355
11129
  # [Output Only] A human-readable description of the warning code.
@@ -15346,7 +16120,8 @@ module Google
15346
16120
  attr_accessor :requested_run_duration
15347
16121
 
15348
16122
  # The number of instances to be created by this resize request. The group's
15349
- # target size will be increased by this number.
16123
+ # target size will be increased by this number. This field cannot be used
16124
+ # together with 'instances'.
15350
16125
  # Corresponds to the JSON property `resizeBy`
15351
16126
  # @return [Fixnum]
15352
16127
  attr_accessor :resize_by
@@ -18078,6 +18853,12 @@ module Google
18078
18853
  # @return [String]
18079
18854
  attr_accessor :name
18080
18855
 
18856
+ # [Output only] Priority of firewall policy association. Not applicable for type=
18857
+ # HIERARCHY.
18858
+ # Corresponds to the JSON property `priority`
18859
+ # @return [Fixnum]
18860
+ attr_accessor :priority
18861
+
18081
18862
  # The rules that apply to the network.
18082
18863
  # Corresponds to the JSON property `rules`
18083
18864
  # @return [Array<Google::Apis::ComputeV1::FirewallPolicyRule>]
@@ -18102,6 +18883,7 @@ module Google
18102
18883
  def update!(**args)
18103
18884
  @display_name = args[:display_name] if args.key?(:display_name)
18104
18885
  @name = args[:name] if args.key?(:name)
18886
+ @priority = args[:priority] if args.key?(:priority)
18105
18887
  @rules = args[:rules] if args.key?(:rules)
18106
18888
  @short_name = args[:short_name] if args.key?(:short_name)
18107
18889
  @type = args[:type] if args.key?(:type)