aws-sdk-applicationautoscaling 1.97.0 → 1.98.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cd1c275377fc2a461ce5543e7d844193040fbbd1d66ff1768ac3a942069e62e7
4
- data.tar.gz: 421ae0ca5940f4accd75aaed507447588569c2137b1190aea0e07753e53195e2
3
+ metadata.gz: a7b56fb492a7fe3f8143fd404b9e5464d94927df30087a23a263ff6225c30370
4
+ data.tar.gz: 8b3ce3628a8cfac1dda34e8974a1ce492bb009325812ce8358129e1cf5a1613c
5
5
  SHA512:
6
- metadata.gz: dfaeeb87f7115ee0cb9c43f7eb23b930038ab919673e2b42a9245873459ec2ff3597f9b04c65cb2bb8e8670c97865bab0aa90e828df4e0114f340bc83a89f54a
7
- data.tar.gz: 07e8c22ca63a8568ecaa98d9033612dd217a0981bea2a67f76362d26182d3c3b094eabaffd9dba313d7f37d249d0eec068611dd0ab166db219836cd7c57503c3
6
+ metadata.gz: 5b5246de71f1484256f6eebbeb63ae81ece6cf9fdfb022829cf5a8a5a001138d355f0acb48330d6697e3fa776c0eb1ee4f26eb818c560267fcaef982b12b6fe5
7
+ data.tar.gz: 4af7eac82cd7e9d3c5bf9643dbc80b01bf165bb738a300d790c99916eacb8ac8740bd58fb7baec8fc91a3525b77a61b2c96072659c5fd3cb140fd0ae07280db4
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.98.0 (2024-11-21)
5
+ ------------------
6
+
7
+ * Feature - Application Auto Scaling now supports Predictive Scaling to proactively increase the desired capacity ahead of predicted demand, ensuring improved availability and responsiveness for customers' applications. This feature is currently only made available for Amazon ECS Service scalable targets.
8
+
4
9
  1.97.0 (2024-10-18)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.97.0
1
+ 1.98.0
@@ -1339,6 +1339,7 @@ module Aws::ApplicationAutoScaling
1339
1339
  # resp.scalable_targets[0].scalable_dimension #=> String, one of "ecs:service:DesiredCount", "ec2:spot-fleet-request:TargetCapacity", "elasticmapreduce:instancegroup:InstanceCount", "appstream:fleet:DesiredCapacity", "dynamodb:table:ReadCapacityUnits", "dynamodb:table:WriteCapacityUnits", "dynamodb:index:ReadCapacityUnits", "dynamodb:index:WriteCapacityUnits", "rds:cluster:ReadReplicaCount", "sagemaker:variant:DesiredInstanceCount", "custom-resource:ResourceType:Property", "comprehend:document-classifier-endpoint:DesiredInferenceUnits", "comprehend:entity-recognizer-endpoint:DesiredInferenceUnits", "lambda:function:ProvisionedConcurrency", "cassandra:table:ReadCapacityUnits", "cassandra:table:WriteCapacityUnits", "kafka:broker-storage:VolumeSize", "elasticache:replication-group:NodeGroups", "elasticache:replication-group:Replicas", "neptune:cluster:ReadReplicaCount", "sagemaker:variant:DesiredProvisionedConcurrency", "sagemaker:inference-component:DesiredCopyCount", "workspaces:workspacespool:DesiredUserSessions"
1340
1340
  # resp.scalable_targets[0].min_capacity #=> Integer
1341
1341
  # resp.scalable_targets[0].max_capacity #=> Integer
1342
+ # resp.scalable_targets[0].predicted_capacity #=> Integer
1342
1343
  # resp.scalable_targets[0].role_arn #=> String
1343
1344
  # resp.scalable_targets[0].creation_time #=> Time
1344
1345
  # resp.scalable_targets[0].suspended_state.dynamic_scaling_in_suspended #=> Boolean
@@ -1900,7 +1901,7 @@ module Aws::ApplicationAutoScaling
1900
1901
  # resp.scaling_policies[0].service_namespace #=> String, one of "ecs", "elasticmapreduce", "ec2", "appstream", "dynamodb", "rds", "sagemaker", "custom-resource", "comprehend", "lambda", "cassandra", "kafka", "elasticache", "neptune", "workspaces"
1901
1902
  # resp.scaling_policies[0].resource_id #=> String
1902
1903
  # resp.scaling_policies[0].scalable_dimension #=> String, one of "ecs:service:DesiredCount", "ec2:spot-fleet-request:TargetCapacity", "elasticmapreduce:instancegroup:InstanceCount", "appstream:fleet:DesiredCapacity", "dynamodb:table:ReadCapacityUnits", "dynamodb:table:WriteCapacityUnits", "dynamodb:index:ReadCapacityUnits", "dynamodb:index:WriteCapacityUnits", "rds:cluster:ReadReplicaCount", "sagemaker:variant:DesiredInstanceCount", "custom-resource:ResourceType:Property", "comprehend:document-classifier-endpoint:DesiredInferenceUnits", "comprehend:entity-recognizer-endpoint:DesiredInferenceUnits", "lambda:function:ProvisionedConcurrency", "cassandra:table:ReadCapacityUnits", "cassandra:table:WriteCapacityUnits", "kafka:broker-storage:VolumeSize", "elasticache:replication-group:NodeGroups", "elasticache:replication-group:Replicas", "neptune:cluster:ReadReplicaCount", "sagemaker:variant:DesiredProvisionedConcurrency", "sagemaker:inference-component:DesiredCopyCount", "workspaces:workspacespool:DesiredUserSessions"
1903
- # resp.scaling_policies[0].policy_type #=> String, one of "StepScaling", "TargetTrackingScaling"
1904
+ # resp.scaling_policies[0].policy_type #=> String, one of "StepScaling", "TargetTrackingScaling", "PredictiveScaling"
1904
1905
  # resp.scaling_policies[0].step_scaling_policy_configuration.adjustment_type #=> String, one of "ChangeInCapacity", "PercentChangeInCapacity", "ExactCapacity"
1905
1906
  # resp.scaling_policies[0].step_scaling_policy_configuration.step_adjustments #=> Array
1906
1907
  # resp.scaling_policies[0].step_scaling_policy_configuration.step_adjustments[0].metric_interval_lower_bound #=> Float
@@ -1934,6 +1935,54 @@ module Aws::ApplicationAutoScaling
1934
1935
  # resp.scaling_policies[0].target_tracking_scaling_policy_configuration.scale_out_cooldown #=> Integer
1935
1936
  # resp.scaling_policies[0].target_tracking_scaling_policy_configuration.scale_in_cooldown #=> Integer
1936
1937
  # resp.scaling_policies[0].target_tracking_scaling_policy_configuration.disable_scale_in #=> Boolean
1938
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications #=> Array
1939
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].target_value #=> Float
1940
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].predefined_metric_pair_specification.predefined_metric_type #=> String
1941
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].predefined_metric_pair_specification.resource_label #=> String
1942
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].predefined_scaling_metric_specification.predefined_metric_type #=> String
1943
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].predefined_scaling_metric_specification.resource_label #=> String
1944
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].predefined_load_metric_specification.predefined_metric_type #=> String
1945
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].predefined_load_metric_specification.resource_label #=> String
1946
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries #=> Array
1947
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].id #=> String
1948
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].expression #=> String
1949
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions #=> Array
1950
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].name #=> String
1951
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].value #=> String
1952
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.metric_name #=> String
1953
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.namespace #=> String
1954
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.stat #=> String
1955
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].metric_stat.unit #=> String
1956
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].label #=> String
1957
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_scaling_metric_specification.metric_data_queries[0].return_data #=> Boolean
1958
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries #=> Array
1959
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].id #=> String
1960
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].expression #=> String
1961
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions #=> Array
1962
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].name #=> String
1963
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].value #=> String
1964
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.metric_name #=> String
1965
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.namespace #=> String
1966
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.stat #=> String
1967
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].metric_stat.unit #=> String
1968
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].label #=> String
1969
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_load_metric_specification.metric_data_queries[0].return_data #=> Boolean
1970
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries #=> Array
1971
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].id #=> String
1972
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].expression #=> String
1973
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions #=> Array
1974
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].name #=> String
1975
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].value #=> String
1976
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.metric_name #=> String
1977
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.namespace #=> String
1978
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.stat #=> String
1979
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].metric_stat.unit #=> String
1980
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].label #=> String
1981
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.metric_specifications[0].customized_capacity_metric_specification.metric_data_queries[0].return_data #=> Boolean
1982
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.mode #=> String, one of "ForecastOnly", "ForecastAndScale"
1983
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.scheduling_buffer_time #=> Integer
1984
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.max_capacity_breach_behavior #=> String, one of "HonorMaxCapacity", "IncreaseMaxCapacity"
1985
+ # resp.scaling_policies[0].predictive_scaling_policy_configuration.max_capacity_buffer #=> Integer
1937
1986
  # resp.scaling_policies[0].alarms #=> Array
1938
1987
  # resp.scaling_policies[0].alarms[0].alarm_name #=> String
1939
1988
  # resp.scaling_policies[0].alarms[0].alarm_arn #=> String
@@ -2228,6 +2277,123 @@ module Aws::ApplicationAutoScaling
2228
2277
  req.send_request(options)
2229
2278
  end
2230
2279
 
2280
+ # Retrieves the forecast data for a predictive scaling policy.
2281
+ #
2282
+ # Load forecasts are predictions of the hourly load values using
2283
+ # historical load data from CloudWatch and an analysis of historical
2284
+ # trends. Capacity forecasts are represented as predicted values for the
2285
+ # minimum capacity that is needed on an hourly basis, based on the
2286
+ # hourly load forecast.
2287
+ #
2288
+ # A minimum of 24 hours of data is required to create the initial
2289
+ # forecasts. However, having a full 14 days of historical data results
2290
+ # in more accurate forecasts.
2291
+ #
2292
+ # @option params [required, String] :service_namespace
2293
+ # The namespace of the Amazon Web Services service that provides the
2294
+ # resource. For a resource provided by your own application or service,
2295
+ # use `custom-resource` instead.
2296
+ #
2297
+ # @option params [required, String] :resource_id
2298
+ # The identifier of the resource.
2299
+ #
2300
+ # @option params [required, String] :scalable_dimension
2301
+ # The scalable dimension.
2302
+ #
2303
+ # @option params [required, String] :policy_name
2304
+ # The name of the policy.
2305
+ #
2306
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_time
2307
+ # The inclusive start time of the time range for the forecast data to
2308
+ # get. At most, the date and time can be one year before the current
2309
+ # date and time
2310
+ #
2311
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
2312
+ # The exclusive end time of the time range for the forecast data to get.
2313
+ # The maximum time duration between the start and end time is 30 days.
2314
+ #
2315
+ # @return [Types::GetPredictiveScalingForecastResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2316
+ #
2317
+ # * {Types::GetPredictiveScalingForecastResponse#load_forecast #load_forecast} => Array<Types::LoadForecast>
2318
+ # * {Types::GetPredictiveScalingForecastResponse#capacity_forecast #capacity_forecast} => Types::CapacityForecast
2319
+ # * {Types::GetPredictiveScalingForecastResponse#update_time #update_time} => Time
2320
+ #
2321
+ # @example Request syntax with placeholder values
2322
+ #
2323
+ # resp = client.get_predictive_scaling_forecast({
2324
+ # service_namespace: "ecs", # required, accepts ecs, elasticmapreduce, ec2, appstream, dynamodb, rds, sagemaker, custom-resource, comprehend, lambda, cassandra, kafka, elasticache, neptune, workspaces
2325
+ # resource_id: "ResourceIdMaxLen1600", # required
2326
+ # scalable_dimension: "ecs:service:DesiredCount", # required, accepts ecs:service:DesiredCount, ec2:spot-fleet-request:TargetCapacity, elasticmapreduce:instancegroup:InstanceCount, appstream:fleet:DesiredCapacity, dynamodb:table:ReadCapacityUnits, dynamodb:table:WriteCapacityUnits, dynamodb:index:ReadCapacityUnits, dynamodb:index:WriteCapacityUnits, rds:cluster:ReadReplicaCount, sagemaker:variant:DesiredInstanceCount, custom-resource:ResourceType:Property, comprehend:document-classifier-endpoint:DesiredInferenceUnits, comprehend:entity-recognizer-endpoint:DesiredInferenceUnits, lambda:function:ProvisionedConcurrency, cassandra:table:ReadCapacityUnits, cassandra:table:WriteCapacityUnits, kafka:broker-storage:VolumeSize, elasticache:replication-group:NodeGroups, elasticache:replication-group:Replicas, neptune:cluster:ReadReplicaCount, sagemaker:variant:DesiredProvisionedConcurrency, sagemaker:inference-component:DesiredCopyCount, workspaces:workspacespool:DesiredUserSessions
2327
+ # policy_name: "PolicyName", # required
2328
+ # start_time: Time.now, # required
2329
+ # end_time: Time.now, # required
2330
+ # })
2331
+ #
2332
+ # @example Response structure
2333
+ #
2334
+ # resp.load_forecast #=> Array
2335
+ # resp.load_forecast[0].timestamps #=> Array
2336
+ # resp.load_forecast[0].timestamps[0] #=> Time
2337
+ # resp.load_forecast[0].values #=> Array
2338
+ # resp.load_forecast[0].values[0] #=> Float
2339
+ # resp.load_forecast[0].metric_specification.target_value #=> Float
2340
+ # resp.load_forecast[0].metric_specification.predefined_metric_pair_specification.predefined_metric_type #=> String
2341
+ # resp.load_forecast[0].metric_specification.predefined_metric_pair_specification.resource_label #=> String
2342
+ # resp.load_forecast[0].metric_specification.predefined_scaling_metric_specification.predefined_metric_type #=> String
2343
+ # resp.load_forecast[0].metric_specification.predefined_scaling_metric_specification.resource_label #=> String
2344
+ # resp.load_forecast[0].metric_specification.predefined_load_metric_specification.predefined_metric_type #=> String
2345
+ # resp.load_forecast[0].metric_specification.predefined_load_metric_specification.resource_label #=> String
2346
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries #=> Array
2347
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].id #=> String
2348
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].expression #=> String
2349
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions #=> Array
2350
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].name #=> String
2351
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].value #=> String
2352
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.metric_name #=> String
2353
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.metric.namespace #=> String
2354
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.stat #=> String
2355
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].metric_stat.unit #=> String
2356
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].label #=> String
2357
+ # resp.load_forecast[0].metric_specification.customized_scaling_metric_specification.metric_data_queries[0].return_data #=> Boolean
2358
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries #=> Array
2359
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].id #=> String
2360
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].expression #=> String
2361
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions #=> Array
2362
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].name #=> String
2363
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].value #=> String
2364
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.metric_name #=> String
2365
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.metric.namespace #=> String
2366
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.stat #=> String
2367
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].metric_stat.unit #=> String
2368
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].label #=> String
2369
+ # resp.load_forecast[0].metric_specification.customized_load_metric_specification.metric_data_queries[0].return_data #=> Boolean
2370
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries #=> Array
2371
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].id #=> String
2372
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].expression #=> String
2373
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions #=> Array
2374
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].name #=> String
2375
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.dimensions[0].value #=> String
2376
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.metric_name #=> String
2377
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.metric.namespace #=> String
2378
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.stat #=> String
2379
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].metric_stat.unit #=> String
2380
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].label #=> String
2381
+ # resp.load_forecast[0].metric_specification.customized_capacity_metric_specification.metric_data_queries[0].return_data #=> Boolean
2382
+ # resp.capacity_forecast.timestamps #=> Array
2383
+ # resp.capacity_forecast.timestamps[0] #=> Time
2384
+ # resp.capacity_forecast.values #=> Array
2385
+ # resp.capacity_forecast.values[0] #=> Float
2386
+ # resp.update_time #=> Time
2387
+ #
2388
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/GetPredictiveScalingForecast AWS API Documentation
2389
+ #
2390
+ # @overload get_predictive_scaling_forecast(params = {})
2391
+ # @param [Hash] params ({})
2392
+ def get_predictive_scaling_forecast(params = {}, options = {})
2393
+ req = build_request(:get_predictive_scaling_forecast, params)
2394
+ req.send_request(options)
2395
+ end
2396
+
2231
2397
  # Returns all the tags on the specified Application Auto Scaling
2232
2398
  # scalable target.
2233
2399
  #
@@ -2535,6 +2701,9 @@ module Aws::ApplicationAutoScaling
2535
2701
  # This parameter is required if you are creating a policy and the policy
2536
2702
  # type is `TargetTrackingScaling`.
2537
2703
  #
2704
+ # @option params [Types::PredictiveScalingPolicyConfiguration] :predictive_scaling_policy_configuration
2705
+ # The configuration of the predictive scaling policy.
2706
+ #
2538
2707
  # @return [Types::PutScalingPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2539
2708
  #
2540
2709
  # * {Types::PutScalingPolicyResponse#policy_arn #policy_arn} => String
@@ -2585,7 +2754,7 @@ module Aws::ApplicationAutoScaling
2585
2754
  # service_namespace: "ecs", # required, accepts ecs, elasticmapreduce, ec2, appstream, dynamodb, rds, sagemaker, custom-resource, comprehend, lambda, cassandra, kafka, elasticache, neptune, workspaces
2586
2755
  # resource_id: "ResourceIdMaxLen1600", # required
2587
2756
  # scalable_dimension: "ecs:service:DesiredCount", # required, accepts ecs:service:DesiredCount, ec2:spot-fleet-request:TargetCapacity, elasticmapreduce:instancegroup:InstanceCount, appstream:fleet:DesiredCapacity, dynamodb:table:ReadCapacityUnits, dynamodb:table:WriteCapacityUnits, dynamodb:index:ReadCapacityUnits, dynamodb:index:WriteCapacityUnits, rds:cluster:ReadReplicaCount, sagemaker:variant:DesiredInstanceCount, custom-resource:ResourceType:Property, comprehend:document-classifier-endpoint:DesiredInferenceUnits, comprehend:entity-recognizer-endpoint:DesiredInferenceUnits, lambda:function:ProvisionedConcurrency, cassandra:table:ReadCapacityUnits, cassandra:table:WriteCapacityUnits, kafka:broker-storage:VolumeSize, elasticache:replication-group:NodeGroups, elasticache:replication-group:Replicas, neptune:cluster:ReadReplicaCount, sagemaker:variant:DesiredProvisionedConcurrency, sagemaker:inference-component:DesiredCopyCount, workspaces:workspacespool:DesiredUserSessions
2588
- # policy_type: "StepScaling", # accepts StepScaling, TargetTrackingScaling
2757
+ # policy_type: "StepScaling", # accepts StepScaling, TargetTrackingScaling, PredictiveScaling
2589
2758
  # step_scaling_policy_configuration: {
2590
2759
  # adjustment_type: "ChangeInCapacity", # accepts ChangeInCapacity, PercentChangeInCapacity, ExactCapacity
2591
2760
  # step_adjustments: [
@@ -2643,6 +2812,101 @@ module Aws::ApplicationAutoScaling
2643
2812
  # scale_in_cooldown: 1,
2644
2813
  # disable_scale_in: false,
2645
2814
  # },
2815
+ # predictive_scaling_policy_configuration: {
2816
+ # metric_specifications: [ # required
2817
+ # {
2818
+ # target_value: 1.0, # required
2819
+ # predefined_metric_pair_specification: {
2820
+ # predefined_metric_type: "PredictiveScalingMetricType", # required
2821
+ # resource_label: "ResourceLabel",
2822
+ # },
2823
+ # predefined_scaling_metric_specification: {
2824
+ # predefined_metric_type: "PredictiveScalingMetricType", # required
2825
+ # resource_label: "ResourceLabel",
2826
+ # },
2827
+ # predefined_load_metric_specification: {
2828
+ # predefined_metric_type: "PredictiveScalingMetricType", # required
2829
+ # resource_label: "ResourceLabel",
2830
+ # },
2831
+ # customized_scaling_metric_specification: {
2832
+ # metric_data_queries: [ # required
2833
+ # {
2834
+ # id: "Id", # required
2835
+ # expression: "Expression",
2836
+ # metric_stat: {
2837
+ # metric: { # required
2838
+ # dimensions: [
2839
+ # {
2840
+ # name: "PredictiveScalingMetricDimensionName", # required
2841
+ # value: "PredictiveScalingMetricDimensionValue", # required
2842
+ # },
2843
+ # ],
2844
+ # metric_name: "PredictiveScalingMetricName",
2845
+ # namespace: "PredictiveScalingMetricNamespace",
2846
+ # },
2847
+ # stat: "XmlString", # required
2848
+ # unit: "PredictiveScalingMetricUnit",
2849
+ # },
2850
+ # label: "XmlString",
2851
+ # return_data: false,
2852
+ # },
2853
+ # ],
2854
+ # },
2855
+ # customized_load_metric_specification: {
2856
+ # metric_data_queries: [ # required
2857
+ # {
2858
+ # id: "Id", # required
2859
+ # expression: "Expression",
2860
+ # metric_stat: {
2861
+ # metric: { # required
2862
+ # dimensions: [
2863
+ # {
2864
+ # name: "PredictiveScalingMetricDimensionName", # required
2865
+ # value: "PredictiveScalingMetricDimensionValue", # required
2866
+ # },
2867
+ # ],
2868
+ # metric_name: "PredictiveScalingMetricName",
2869
+ # namespace: "PredictiveScalingMetricNamespace",
2870
+ # },
2871
+ # stat: "XmlString", # required
2872
+ # unit: "PredictiveScalingMetricUnit",
2873
+ # },
2874
+ # label: "XmlString",
2875
+ # return_data: false,
2876
+ # },
2877
+ # ],
2878
+ # },
2879
+ # customized_capacity_metric_specification: {
2880
+ # metric_data_queries: [ # required
2881
+ # {
2882
+ # id: "Id", # required
2883
+ # expression: "Expression",
2884
+ # metric_stat: {
2885
+ # metric: { # required
2886
+ # dimensions: [
2887
+ # {
2888
+ # name: "PredictiveScalingMetricDimensionName", # required
2889
+ # value: "PredictiveScalingMetricDimensionValue", # required
2890
+ # },
2891
+ # ],
2892
+ # metric_name: "PredictiveScalingMetricName",
2893
+ # namespace: "PredictiveScalingMetricNamespace",
2894
+ # },
2895
+ # stat: "XmlString", # required
2896
+ # unit: "PredictiveScalingMetricUnit",
2897
+ # },
2898
+ # label: "XmlString",
2899
+ # return_data: false,
2900
+ # },
2901
+ # ],
2902
+ # },
2903
+ # },
2904
+ # ],
2905
+ # mode: "ForecastOnly", # accepts ForecastOnly, ForecastAndScale
2906
+ # scheduling_buffer_time: 1,
2907
+ # max_capacity_breach_behavior: "HonorMaxCapacity", # accepts HonorMaxCapacity, IncreaseMaxCapacity
2908
+ # max_capacity_buffer: 1,
2909
+ # },
2646
2910
  # })
2647
2911
  #
2648
2912
  # @example Response structure
@@ -3515,7 +3779,7 @@ module Aws::ApplicationAutoScaling
3515
3779
  tracer: tracer
3516
3780
  )
3517
3781
  context[:gem_name] = 'aws-sdk-applicationautoscaling'
3518
- context[:gem_version] = '1.97.0'
3782
+ context[:gem_version] = '1.98.0'
3519
3783
  Seahorse::Client::Request.new(handlers, context)
3520
3784
  end
3521
3785
 
@@ -18,6 +18,7 @@ module Aws::ApplicationAutoScaling
18
18
  Alarm = Shapes::StructureShape.new(name: 'Alarm')
19
19
  Alarms = Shapes::ListShape.new(name: 'Alarms')
20
20
  AmazonResourceName = Shapes::StringShape.new(name: 'AmazonResourceName')
21
+ CapacityForecast = Shapes::StructureShape.new(name: 'CapacityForecast')
21
22
  ConcurrentUpdateException = Shapes::StructureShape.new(name: 'ConcurrentUpdateException')
22
23
  Cooldown = Shapes::IntegerShape.new(name: 'Cooldown')
23
24
  CustomizedMetricSpecification = Shapes::StructureShape.new(name: 'CustomizedMetricSpecification')
@@ -40,6 +41,8 @@ module Aws::ApplicationAutoScaling
40
41
  ExceptionMessage = Shapes::StringShape.new(name: 'ExceptionMessage')
41
42
  Expression = Shapes::StringShape.new(name: 'Expression')
42
43
  FailedResourceAccessException = Shapes::StructureShape.new(name: 'FailedResourceAccessException')
44
+ GetPredictiveScalingForecastRequest = Shapes::StructureShape.new(name: 'GetPredictiveScalingForecastRequest')
45
+ GetPredictiveScalingForecastResponse = Shapes::StructureShape.new(name: 'GetPredictiveScalingForecastResponse')
43
46
  Id = Shapes::StringShape.new(name: 'Id')
44
47
  IncludeNotScaledActivities = Shapes::BooleanShape.new(name: 'IncludeNotScaledActivities')
45
48
  InternalServiceException = Shapes::StructureShape.new(name: 'InternalServiceException')
@@ -47,6 +50,8 @@ module Aws::ApplicationAutoScaling
47
50
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
48
51
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
49
52
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
53
+ LoadForecast = Shapes::StructureShape.new(name: 'LoadForecast')
54
+ LoadForecasts = Shapes::ListShape.new(name: 'LoadForecasts')
50
55
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
51
56
  MetricAggregationType = Shapes::StringShape.new(name: 'MetricAggregationType')
52
57
  MetricDimension = Shapes::StructureShape.new(name: 'MetricDimension')
@@ -66,6 +71,31 @@ module Aws::ApplicationAutoScaling
66
71
  PolicyName = Shapes::StringShape.new(name: 'PolicyName')
67
72
  PolicyType = Shapes::StringShape.new(name: 'PolicyType')
68
73
  PredefinedMetricSpecification = Shapes::StructureShape.new(name: 'PredefinedMetricSpecification')
74
+ PredictiveScalingCustomizedMetricSpecification = Shapes::StructureShape.new(name: 'PredictiveScalingCustomizedMetricSpecification')
75
+ PredictiveScalingForecastTimestamps = Shapes::ListShape.new(name: 'PredictiveScalingForecastTimestamps')
76
+ PredictiveScalingForecastValues = Shapes::ListShape.new(name: 'PredictiveScalingForecastValues')
77
+ PredictiveScalingMaxCapacityBreachBehavior = Shapes::StringShape.new(name: 'PredictiveScalingMaxCapacityBreachBehavior')
78
+ PredictiveScalingMaxCapacityBuffer = Shapes::IntegerShape.new(name: 'PredictiveScalingMaxCapacityBuffer')
79
+ PredictiveScalingMetric = Shapes::StructureShape.new(name: 'PredictiveScalingMetric')
80
+ PredictiveScalingMetricDataQueries = Shapes::ListShape.new(name: 'PredictiveScalingMetricDataQueries')
81
+ PredictiveScalingMetricDataQuery = Shapes::StructureShape.new(name: 'PredictiveScalingMetricDataQuery')
82
+ PredictiveScalingMetricDimension = Shapes::StructureShape.new(name: 'PredictiveScalingMetricDimension')
83
+ PredictiveScalingMetricDimensionName = Shapes::StringShape.new(name: 'PredictiveScalingMetricDimensionName')
84
+ PredictiveScalingMetricDimensionValue = Shapes::StringShape.new(name: 'PredictiveScalingMetricDimensionValue')
85
+ PredictiveScalingMetricDimensions = Shapes::ListShape.new(name: 'PredictiveScalingMetricDimensions')
86
+ PredictiveScalingMetricName = Shapes::StringShape.new(name: 'PredictiveScalingMetricName')
87
+ PredictiveScalingMetricNamespace = Shapes::StringShape.new(name: 'PredictiveScalingMetricNamespace')
88
+ PredictiveScalingMetricSpecification = Shapes::StructureShape.new(name: 'PredictiveScalingMetricSpecification')
89
+ PredictiveScalingMetricSpecifications = Shapes::ListShape.new(name: 'PredictiveScalingMetricSpecifications')
90
+ PredictiveScalingMetricStat = Shapes::StructureShape.new(name: 'PredictiveScalingMetricStat')
91
+ PredictiveScalingMetricType = Shapes::StringShape.new(name: 'PredictiveScalingMetricType')
92
+ PredictiveScalingMetricUnit = Shapes::StringShape.new(name: 'PredictiveScalingMetricUnit')
93
+ PredictiveScalingMode = Shapes::StringShape.new(name: 'PredictiveScalingMode')
94
+ PredictiveScalingPolicyConfiguration = Shapes::StructureShape.new(name: 'PredictiveScalingPolicyConfiguration')
95
+ PredictiveScalingPredefinedLoadMetricSpecification = Shapes::StructureShape.new(name: 'PredictiveScalingPredefinedLoadMetricSpecification')
96
+ PredictiveScalingPredefinedMetricPairSpecification = Shapes::StructureShape.new(name: 'PredictiveScalingPredefinedMetricPairSpecification')
97
+ PredictiveScalingPredefinedScalingMetricSpecification = Shapes::StructureShape.new(name: 'PredictiveScalingPredefinedScalingMetricSpecification')
98
+ PredictiveScalingSchedulingBufferTime = Shapes::IntegerShape.new(name: 'PredictiveScalingSchedulingBufferTime')
69
99
  PutScalingPolicyRequest = Shapes::StructureShape.new(name: 'PutScalingPolicyRequest')
70
100
  PutScalingPolicyResponse = Shapes::StructureShape.new(name: 'PutScalingPolicyResponse')
71
101
  PutScheduledActionRequest = Shapes::StructureShape.new(name: 'PutScheduledActionRequest')
@@ -129,6 +159,10 @@ module Aws::ApplicationAutoScaling
129
159
 
130
160
  Alarms.member = Shapes::ShapeRef.new(shape: Alarm)
131
161
 
162
+ CapacityForecast.add_member(:timestamps, Shapes::ShapeRef.new(shape: PredictiveScalingForecastTimestamps, required: true, location_name: "Timestamps"))
163
+ CapacityForecast.add_member(:values, Shapes::ShapeRef.new(shape: PredictiveScalingForecastValues, required: true, location_name: "Values"))
164
+ CapacityForecast.struct_class = Types::CapacityForecast
165
+
132
166
  ConcurrentUpdateException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
133
167
  ConcurrentUpdateException.struct_class = Types::ConcurrentUpdateException
134
168
 
@@ -213,6 +247,19 @@ module Aws::ApplicationAutoScaling
213
247
  FailedResourceAccessException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
214
248
  FailedResourceAccessException.struct_class = Types::FailedResourceAccessException
215
249
 
250
+ GetPredictiveScalingForecastRequest.add_member(:service_namespace, Shapes::ShapeRef.new(shape: ServiceNamespace, required: true, location_name: "ServiceNamespace"))
251
+ GetPredictiveScalingForecastRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceIdMaxLen1600, required: true, location_name: "ResourceId"))
252
+ GetPredictiveScalingForecastRequest.add_member(:scalable_dimension, Shapes::ShapeRef.new(shape: ScalableDimension, required: true, location_name: "ScalableDimension"))
253
+ GetPredictiveScalingForecastRequest.add_member(:policy_name, Shapes::ShapeRef.new(shape: PolicyName, required: true, location_name: "PolicyName"))
254
+ GetPredictiveScalingForecastRequest.add_member(:start_time, Shapes::ShapeRef.new(shape: TimestampType, required: true, location_name: "StartTime"))
255
+ GetPredictiveScalingForecastRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: TimestampType, required: true, location_name: "EndTime"))
256
+ GetPredictiveScalingForecastRequest.struct_class = Types::GetPredictiveScalingForecastRequest
257
+
258
+ GetPredictiveScalingForecastResponse.add_member(:load_forecast, Shapes::ShapeRef.new(shape: LoadForecasts, location_name: "LoadForecast"))
259
+ GetPredictiveScalingForecastResponse.add_member(:capacity_forecast, Shapes::ShapeRef.new(shape: CapacityForecast, location_name: "CapacityForecast"))
260
+ GetPredictiveScalingForecastResponse.add_member(:update_time, Shapes::ShapeRef.new(shape: TimestampType, location_name: "UpdateTime"))
261
+ GetPredictiveScalingForecastResponse.struct_class = Types::GetPredictiveScalingForecastResponse
262
+
216
263
  InternalServiceException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
217
264
  InternalServiceException.struct_class = Types::InternalServiceException
218
265
 
@@ -228,6 +275,13 @@ module Aws::ApplicationAutoScaling
228
275
  ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
229
276
  ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
230
277
 
278
+ LoadForecast.add_member(:timestamps, Shapes::ShapeRef.new(shape: PredictiveScalingForecastTimestamps, required: true, location_name: "Timestamps"))
279
+ LoadForecast.add_member(:values, Shapes::ShapeRef.new(shape: PredictiveScalingForecastValues, required: true, location_name: "Values"))
280
+ LoadForecast.add_member(:metric_specification, Shapes::ShapeRef.new(shape: PredictiveScalingMetricSpecification, required: true, location_name: "MetricSpecification"))
281
+ LoadForecast.struct_class = Types::LoadForecast
282
+
283
+ LoadForecasts.member = Shapes::ShapeRef.new(shape: LoadForecast)
284
+
231
285
  MetricDimension.add_member(:name, Shapes::ShapeRef.new(shape: MetricDimensionName, required: true, location_name: "Name"))
232
286
  MetricDimension.add_member(:value, Shapes::ShapeRef.new(shape: MetricDimensionValue, required: true, location_name: "Value"))
233
287
  MetricDimension.struct_class = Types::MetricDimension
@@ -249,6 +303,68 @@ module Aws::ApplicationAutoScaling
249
303
  PredefinedMetricSpecification.add_member(:resource_label, Shapes::ShapeRef.new(shape: ResourceLabel, location_name: "ResourceLabel"))
250
304
  PredefinedMetricSpecification.struct_class = Types::PredefinedMetricSpecification
251
305
 
306
+ PredictiveScalingCustomizedMetricSpecification.add_member(:metric_data_queries, Shapes::ShapeRef.new(shape: PredictiveScalingMetricDataQueries, required: true, location_name: "MetricDataQueries"))
307
+ PredictiveScalingCustomizedMetricSpecification.struct_class = Types::PredictiveScalingCustomizedMetricSpecification
308
+
309
+ PredictiveScalingForecastTimestamps.member = Shapes::ShapeRef.new(shape: TimestampType)
310
+
311
+ PredictiveScalingForecastValues.member = Shapes::ShapeRef.new(shape: MetricScale)
312
+
313
+ PredictiveScalingMetric.add_member(:dimensions, Shapes::ShapeRef.new(shape: PredictiveScalingMetricDimensions, location_name: "Dimensions"))
314
+ PredictiveScalingMetric.add_member(:metric_name, Shapes::ShapeRef.new(shape: PredictiveScalingMetricName, location_name: "MetricName"))
315
+ PredictiveScalingMetric.add_member(:namespace, Shapes::ShapeRef.new(shape: PredictiveScalingMetricNamespace, location_name: "Namespace"))
316
+ PredictiveScalingMetric.struct_class = Types::PredictiveScalingMetric
317
+
318
+ PredictiveScalingMetricDataQueries.member = Shapes::ShapeRef.new(shape: PredictiveScalingMetricDataQuery)
319
+
320
+ PredictiveScalingMetricDataQuery.add_member(:id, Shapes::ShapeRef.new(shape: Id, required: true, location_name: "Id"))
321
+ PredictiveScalingMetricDataQuery.add_member(:expression, Shapes::ShapeRef.new(shape: Expression, location_name: "Expression"))
322
+ PredictiveScalingMetricDataQuery.add_member(:metric_stat, Shapes::ShapeRef.new(shape: PredictiveScalingMetricStat, location_name: "MetricStat"))
323
+ PredictiveScalingMetricDataQuery.add_member(:label, Shapes::ShapeRef.new(shape: XmlString, location_name: "Label"))
324
+ PredictiveScalingMetricDataQuery.add_member(:return_data, Shapes::ShapeRef.new(shape: ReturnData, location_name: "ReturnData"))
325
+ PredictiveScalingMetricDataQuery.struct_class = Types::PredictiveScalingMetricDataQuery
326
+
327
+ PredictiveScalingMetricDimension.add_member(:name, Shapes::ShapeRef.new(shape: PredictiveScalingMetricDimensionName, required: true, location_name: "Name"))
328
+ PredictiveScalingMetricDimension.add_member(:value, Shapes::ShapeRef.new(shape: PredictiveScalingMetricDimensionValue, required: true, location_name: "Value"))
329
+ PredictiveScalingMetricDimension.struct_class = Types::PredictiveScalingMetricDimension
330
+
331
+ PredictiveScalingMetricDimensions.member = Shapes::ShapeRef.new(shape: PredictiveScalingMetricDimension)
332
+
333
+ PredictiveScalingMetricSpecification.add_member(:target_value, Shapes::ShapeRef.new(shape: MetricScale, required: true, location_name: "TargetValue"))
334
+ PredictiveScalingMetricSpecification.add_member(:predefined_metric_pair_specification, Shapes::ShapeRef.new(shape: PredictiveScalingPredefinedMetricPairSpecification, location_name: "PredefinedMetricPairSpecification"))
335
+ PredictiveScalingMetricSpecification.add_member(:predefined_scaling_metric_specification, Shapes::ShapeRef.new(shape: PredictiveScalingPredefinedScalingMetricSpecification, location_name: "PredefinedScalingMetricSpecification"))
336
+ PredictiveScalingMetricSpecification.add_member(:predefined_load_metric_specification, Shapes::ShapeRef.new(shape: PredictiveScalingPredefinedLoadMetricSpecification, location_name: "PredefinedLoadMetricSpecification"))
337
+ PredictiveScalingMetricSpecification.add_member(:customized_scaling_metric_specification, Shapes::ShapeRef.new(shape: PredictiveScalingCustomizedMetricSpecification, location_name: "CustomizedScalingMetricSpecification"))
338
+ PredictiveScalingMetricSpecification.add_member(:customized_load_metric_specification, Shapes::ShapeRef.new(shape: PredictiveScalingCustomizedMetricSpecification, location_name: "CustomizedLoadMetricSpecification"))
339
+ PredictiveScalingMetricSpecification.add_member(:customized_capacity_metric_specification, Shapes::ShapeRef.new(shape: PredictiveScalingCustomizedMetricSpecification, location_name: "CustomizedCapacityMetricSpecification"))
340
+ PredictiveScalingMetricSpecification.struct_class = Types::PredictiveScalingMetricSpecification
341
+
342
+ PredictiveScalingMetricSpecifications.member = Shapes::ShapeRef.new(shape: PredictiveScalingMetricSpecification)
343
+
344
+ PredictiveScalingMetricStat.add_member(:metric, Shapes::ShapeRef.new(shape: PredictiveScalingMetric, required: true, location_name: "Metric"))
345
+ PredictiveScalingMetricStat.add_member(:stat, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "Stat"))
346
+ PredictiveScalingMetricStat.add_member(:unit, Shapes::ShapeRef.new(shape: PredictiveScalingMetricUnit, location_name: "Unit"))
347
+ PredictiveScalingMetricStat.struct_class = Types::PredictiveScalingMetricStat
348
+
349
+ PredictiveScalingPolicyConfiguration.add_member(:metric_specifications, Shapes::ShapeRef.new(shape: PredictiveScalingMetricSpecifications, required: true, location_name: "MetricSpecifications"))
350
+ PredictiveScalingPolicyConfiguration.add_member(:mode, Shapes::ShapeRef.new(shape: PredictiveScalingMode, location_name: "Mode"))
351
+ PredictiveScalingPolicyConfiguration.add_member(:scheduling_buffer_time, Shapes::ShapeRef.new(shape: PredictiveScalingSchedulingBufferTime, location_name: "SchedulingBufferTime"))
352
+ PredictiveScalingPolicyConfiguration.add_member(:max_capacity_breach_behavior, Shapes::ShapeRef.new(shape: PredictiveScalingMaxCapacityBreachBehavior, location_name: "MaxCapacityBreachBehavior"))
353
+ PredictiveScalingPolicyConfiguration.add_member(:max_capacity_buffer, Shapes::ShapeRef.new(shape: PredictiveScalingMaxCapacityBuffer, location_name: "MaxCapacityBuffer"))
354
+ PredictiveScalingPolicyConfiguration.struct_class = Types::PredictiveScalingPolicyConfiguration
355
+
356
+ PredictiveScalingPredefinedLoadMetricSpecification.add_member(:predefined_metric_type, Shapes::ShapeRef.new(shape: PredictiveScalingMetricType, required: true, location_name: "PredefinedMetricType"))
357
+ PredictiveScalingPredefinedLoadMetricSpecification.add_member(:resource_label, Shapes::ShapeRef.new(shape: ResourceLabel, location_name: "ResourceLabel"))
358
+ PredictiveScalingPredefinedLoadMetricSpecification.struct_class = Types::PredictiveScalingPredefinedLoadMetricSpecification
359
+
360
+ PredictiveScalingPredefinedMetricPairSpecification.add_member(:predefined_metric_type, Shapes::ShapeRef.new(shape: PredictiveScalingMetricType, required: true, location_name: "PredefinedMetricType"))
361
+ PredictiveScalingPredefinedMetricPairSpecification.add_member(:resource_label, Shapes::ShapeRef.new(shape: ResourceLabel, location_name: "ResourceLabel"))
362
+ PredictiveScalingPredefinedMetricPairSpecification.struct_class = Types::PredictiveScalingPredefinedMetricPairSpecification
363
+
364
+ PredictiveScalingPredefinedScalingMetricSpecification.add_member(:predefined_metric_type, Shapes::ShapeRef.new(shape: PredictiveScalingMetricType, required: true, location_name: "PredefinedMetricType"))
365
+ PredictiveScalingPredefinedScalingMetricSpecification.add_member(:resource_label, Shapes::ShapeRef.new(shape: ResourceLabel, location_name: "ResourceLabel"))
366
+ PredictiveScalingPredefinedScalingMetricSpecification.struct_class = Types::PredictiveScalingPredefinedScalingMetricSpecification
367
+
252
368
  PutScalingPolicyRequest.add_member(:policy_name, Shapes::ShapeRef.new(shape: PolicyName, required: true, location_name: "PolicyName"))
253
369
  PutScalingPolicyRequest.add_member(:service_namespace, Shapes::ShapeRef.new(shape: ServiceNamespace, required: true, location_name: "ServiceNamespace"))
254
370
  PutScalingPolicyRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceIdMaxLen1600, required: true, location_name: "ResourceId"))
@@ -256,6 +372,7 @@ module Aws::ApplicationAutoScaling
256
372
  PutScalingPolicyRequest.add_member(:policy_type, Shapes::ShapeRef.new(shape: PolicyType, location_name: "PolicyType"))
257
373
  PutScalingPolicyRequest.add_member(:step_scaling_policy_configuration, Shapes::ShapeRef.new(shape: StepScalingPolicyConfiguration, location_name: "StepScalingPolicyConfiguration"))
258
374
  PutScalingPolicyRequest.add_member(:target_tracking_scaling_policy_configuration, Shapes::ShapeRef.new(shape: TargetTrackingScalingPolicyConfiguration, location_name: "TargetTrackingScalingPolicyConfiguration"))
375
+ PutScalingPolicyRequest.add_member(:predictive_scaling_policy_configuration, Shapes::ShapeRef.new(shape: PredictiveScalingPolicyConfiguration, location_name: "PredictiveScalingPolicyConfiguration"))
259
376
  PutScalingPolicyRequest.struct_class = Types::PutScalingPolicyRequest
260
377
 
261
378
  PutScalingPolicyResponse.add_member(:policy_arn, Shapes::ShapeRef.new(shape: ResourceIdMaxLen1600, required: true, location_name: "PolicyARN"))
@@ -299,6 +416,7 @@ module Aws::ApplicationAutoScaling
299
416
  ScalableTarget.add_member(:scalable_dimension, Shapes::ShapeRef.new(shape: ScalableDimension, required: true, location_name: "ScalableDimension"))
300
417
  ScalableTarget.add_member(:min_capacity, Shapes::ShapeRef.new(shape: ResourceCapacity, required: true, location_name: "MinCapacity"))
301
418
  ScalableTarget.add_member(:max_capacity, Shapes::ShapeRef.new(shape: ResourceCapacity, required: true, location_name: "MaxCapacity"))
419
+ ScalableTarget.add_member(:predicted_capacity, Shapes::ShapeRef.new(shape: ResourceCapacity, location_name: "PredictedCapacity"))
302
420
  ScalableTarget.add_member(:role_arn, Shapes::ShapeRef.new(shape: ResourceIdMaxLen1600, required: true, location_name: "RoleARN"))
303
421
  ScalableTarget.add_member(:creation_time, Shapes::ShapeRef.new(shape: TimestampType, required: true, location_name: "CreationTime"))
304
422
  ScalableTarget.add_member(:suspended_state, Shapes::ShapeRef.new(shape: SuspendedState, location_name: "SuspendedState"))
@@ -337,6 +455,7 @@ module Aws::ApplicationAutoScaling
337
455
  ScalingPolicy.add_member(:policy_type, Shapes::ShapeRef.new(shape: PolicyType, required: true, location_name: "PolicyType"))
338
456
  ScalingPolicy.add_member(:step_scaling_policy_configuration, Shapes::ShapeRef.new(shape: StepScalingPolicyConfiguration, location_name: "StepScalingPolicyConfiguration"))
339
457
  ScalingPolicy.add_member(:target_tracking_scaling_policy_configuration, Shapes::ShapeRef.new(shape: TargetTrackingScalingPolicyConfiguration, location_name: "TargetTrackingScalingPolicyConfiguration"))
458
+ ScalingPolicy.add_member(:predictive_scaling_policy_configuration, Shapes::ShapeRef.new(shape: PredictiveScalingPolicyConfiguration, location_name: "PredictiveScalingPolicyConfiguration"))
340
459
  ScalingPolicy.add_member(:alarms, Shapes::ShapeRef.new(shape: Alarms, location_name: "Alarms"))
341
460
  ScalingPolicy.add_member(:creation_time, Shapes::ShapeRef.new(shape: TimestampType, required: true, location_name: "CreationTime"))
342
461
  ScalingPolicy.struct_class = Types::ScalingPolicy
@@ -562,6 +681,16 @@ module Aws::ApplicationAutoScaling
562
681
  )
563
682
  end)
564
683
 
684
+ api.add_operation(:get_predictive_scaling_forecast, Seahorse::Model::Operation.new.tap do |o|
685
+ o.name = "GetPredictiveScalingForecast"
686
+ o.http_method = "POST"
687
+ o.http_request_uri = "/"
688
+ o.input = Shapes::ShapeRef.new(shape: GetPredictiveScalingForecastRequest)
689
+ o.output = Shapes::ShapeRef.new(shape: GetPredictiveScalingForecastResponse)
690
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
691
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
692
+ end)
693
+
565
694
  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
566
695
  o.name = "ListTagsForResource"
567
696
  o.http_method = "POST"