google-apis-compute_v1 0.103.0 → 0.104.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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)