aws-sdk-applicationautoscaling 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ff486c8ee3086b0ca7875110fd0c11342a7a06bf
4
- data.tar.gz: 7b14b32580269421d26cab2be8edd555d11d0926
3
+ metadata.gz: 457c63d703093af8e063a301f52ff2d9f28fa798
4
+ data.tar.gz: 3b3749ec1996c53322ce96815abd9136ba469c22
5
5
  SHA512:
6
- metadata.gz: fa8aa256fd0e9e6c40f6113f3fbbf178d030c38aa5ed52461bb4a29fb56568dd111133d6ed10c5a5f49e03dc1e1c8cee67141d335425807212f56efbc85358de
7
- data.tar.gz: 7b68e5227ca7aca96d7c7b9588574dd122f843e6e9fde020095a91a9138a8d6132dfecc23bc1b8f9661b8f9983da9a5e41707e06fa9f50f92a83d9c8ecb92148
6
+ metadata.gz: 186f691f6e1300efae030bcf4a2d2ff997ab7126eb3301f8bb45b55961163ae2211e029de12cf79b0d461affa2b7bb43152f33944c345ccbe977ca6328d8189d
7
+ data.tar.gz: 25e9ba306ecfa64465a4d9c75e29d4babf6a81ad392118d0e27edf1a5e55ccc3c820bd1d87571c7e81055dda0d89534268b81a12236456d93f2a0e4c984d7e7b
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-applicationautoscaling/customizations'
42
42
  # @service
43
43
  module Aws::ApplicationAutoScaling
44
44
 
45
- GEM_VERSION = '1.3.0'
45
+ GEM_VERSION = '1.4.0'
46
46
 
47
47
  end
@@ -266,6 +266,93 @@ module Aws::ApplicationAutoScaling
266
266
  req.send_request(options)
267
267
  end
268
268
 
269
+ # Deletes the specified Application Auto Scaling scheduled action.
270
+ #
271
+ # @option params [required, String] :service_namespace
272
+ # The namespace of the AWS service. For more information, see [AWS
273
+ # Service Namespaces][1] in the *Amazon Web Services General Reference*.
274
+ #
275
+ #
276
+ #
277
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces
278
+ #
279
+ # @option params [required, String] :scheduled_action_name
280
+ # The name of the scheduled action.
281
+ #
282
+ # @option params [required, String] :resource_id
283
+ # The identifier of the resource associated with the scheduled action.
284
+ # This string consists of the resource type and unique identifier.
285
+ #
286
+ # * ECS service - The resource type is `service` and the unique
287
+ # identifier is the cluster name and service name. Example:
288
+ # `service/default/sample-webapp`.
289
+ #
290
+ # * Spot fleet request - The resource type is `spot-fleet-request` and
291
+ # the unique identifier is the Spot fleet request ID. Example:
292
+ # `spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE`.
293
+ #
294
+ # * EMR cluster - The resource type is `instancegroup` and the unique
295
+ # identifier is the cluster ID and instance group ID. Example:
296
+ # `instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0`.
297
+ #
298
+ # * AppStream 2.0 fleet - The resource type is `fleet` and the unique
299
+ # identifier is the fleet name. Example: `fleet/sample-fleet`.
300
+ #
301
+ # * DynamoDB table - The resource type is `table` and the unique
302
+ # identifier is the resource ID. Example: `table/my-table`.
303
+ #
304
+ # * DynamoDB global secondary index - The resource type is `index` and
305
+ # the unique identifier is the resource ID. Example:
306
+ # `table/my-table/index/my-table-index`.
307
+ #
308
+ # @option params [String] :scalable_dimension
309
+ # The scalable dimension. This string consists of the service namespace,
310
+ # resource type, and scaling property.
311
+ #
312
+ # * `ecs:service:DesiredCount` - The desired task count of an ECS
313
+ # service.
314
+ #
315
+ # * `ec2:spot-fleet-request:TargetCapacity` - The target capacity of a
316
+ # Spot fleet request.
317
+ #
318
+ # * `elasticmapreduce:instancegroup:InstanceCount` - The instance count
319
+ # of an EMR Instance Group.
320
+ #
321
+ # * `appstream:fleet:DesiredCapacity` - The desired capacity of an
322
+ # AppStream 2.0 fleet.
323
+ #
324
+ # * `dynamodb:table:ReadCapacityUnits` - The provisioned read capacity
325
+ # for a DynamoDB table.
326
+ #
327
+ # * `dynamodb:table:WriteCapacityUnits` - The provisioned write capacity
328
+ # for a DynamoDB table.
329
+ #
330
+ # * `dynamodb:index:ReadCapacityUnits` - The provisioned read capacity
331
+ # for a DynamoDB global secondary index.
332
+ #
333
+ # * `dynamodb:index:WriteCapacityUnits` - The provisioned write capacity
334
+ # for a DynamoDB global secondary index.
335
+ #
336
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
337
+ #
338
+ # @example Request syntax with placeholder values
339
+ #
340
+ # resp = client.delete_scheduled_action({
341
+ # service_namespace: "ecs", # required, accepts ecs, elasticmapreduce, ec2, appstream, dynamodb
342
+ # scheduled_action_name: "ResourceIdMaxLen1600", # required
343
+ # resource_id: "ResourceIdMaxLen1600", # required
344
+ # scalable_dimension: "ecs:service:DesiredCount", # 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
345
+ # })
346
+ #
347
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DeleteScheduledAction AWS API Documentation
348
+ #
349
+ # @overload delete_scheduled_action(params = {})
350
+ # @param [Hash] params ({})
351
+ def delete_scheduled_action(params = {}, options = {})
352
+ req = build_request(:delete_scheduled_action, params)
353
+ req.send_request(options)
354
+ end
355
+
269
356
  # Deregisters a scalable target.
270
357
  #
271
358
  # Deregistering a scalable target deletes the scaling policies that are
@@ -678,8 +765,7 @@ module Aws::ApplicationAutoScaling
678
765
  req.send_request(options)
679
766
  end
680
767
 
681
- # Provides descriptive information about the scaling policies in the
682
- # specified namespace.
768
+ # Describes the scaling policies for the specified service namespace.
683
769
  #
684
770
  # You can filter the results using the `ResourceId`,
685
771
  # `ScalableDimension`, and `PolicyNames` parameters.
@@ -870,6 +956,136 @@ module Aws::ApplicationAutoScaling
870
956
  req.send_request(options)
871
957
  end
872
958
 
959
+ # Describes the scheduled actions for the specified service namespace.
960
+ #
961
+ # You can filter the results using the `ResourceId`,
962
+ # `ScalableDimension`, and `ScheduledActionNames` parameters.
963
+ #
964
+ # To create a scheduled action or update an existing one, see
965
+ # PutScheduledAction. If you are no longer using a scheduled action, you
966
+ # can delete it using DeleteScheduledAction.
967
+ #
968
+ # @option params [Array<String>] :scheduled_action_names
969
+ # The names of the scheduled actions to describe.
970
+ #
971
+ # @option params [required, String] :service_namespace
972
+ # The namespace of the AWS service. For more information, see [AWS
973
+ # Service Namespaces][1] in the *Amazon Web Services General Reference*.
974
+ #
975
+ #
976
+ #
977
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces
978
+ #
979
+ # @option params [String] :resource_id
980
+ # The identifier of the resource associated with the scheduled action.
981
+ # This string consists of the resource type and unique identifier. If
982
+ # you specify a scalable dimension, you must also specify a resource ID.
983
+ #
984
+ # * ECS service - The resource type is `service` and the unique
985
+ # identifier is the cluster name and service name. Example:
986
+ # `service/default/sample-webapp`.
987
+ #
988
+ # * Spot fleet request - The resource type is `spot-fleet-request` and
989
+ # the unique identifier is the Spot fleet request ID. Example:
990
+ # `spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE`.
991
+ #
992
+ # * EMR cluster - The resource type is `instancegroup` and the unique
993
+ # identifier is the cluster ID and instance group ID. Example:
994
+ # `instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0`.
995
+ #
996
+ # * AppStream 2.0 fleet - The resource type is `fleet` and the unique
997
+ # identifier is the fleet name. Example: `fleet/sample-fleet`.
998
+ #
999
+ # * DynamoDB table - The resource type is `table` and the unique
1000
+ # identifier is the resource ID. Example: `table/my-table`.
1001
+ #
1002
+ # * DynamoDB global secondary index - The resource type is `index` and
1003
+ # the unique identifier is the resource ID. Example:
1004
+ # `table/my-table/index/my-table-index`.
1005
+ #
1006
+ # @option params [String] :scalable_dimension
1007
+ # The scalable dimension. This string consists of the service namespace,
1008
+ # resource type, and scaling property. If you specify a scalable
1009
+ # dimension, you must also specify a resource ID.
1010
+ #
1011
+ # * `ecs:service:DesiredCount` - The desired task count of an ECS
1012
+ # service.
1013
+ #
1014
+ # * `ec2:spot-fleet-request:TargetCapacity` - The target capacity of a
1015
+ # Spot fleet request.
1016
+ #
1017
+ # * `elasticmapreduce:instancegroup:InstanceCount` - The instance count
1018
+ # of an EMR Instance Group.
1019
+ #
1020
+ # * `appstream:fleet:DesiredCapacity` - The desired capacity of an
1021
+ # AppStream 2.0 fleet.
1022
+ #
1023
+ # * `dynamodb:table:ReadCapacityUnits` - The provisioned read capacity
1024
+ # for a DynamoDB table.
1025
+ #
1026
+ # * `dynamodb:table:WriteCapacityUnits` - The provisioned write capacity
1027
+ # for a DynamoDB table.
1028
+ #
1029
+ # * `dynamodb:index:ReadCapacityUnits` - The provisioned read capacity
1030
+ # for a DynamoDB global secondary index.
1031
+ #
1032
+ # * `dynamodb:index:WriteCapacityUnits` - The provisioned write capacity
1033
+ # for a DynamoDB global secondary index.
1034
+ #
1035
+ # @option params [Integer] :max_results
1036
+ # The maximum number of scalable target results. This value can be
1037
+ # between 1 and 50. The default value is 50.
1038
+ #
1039
+ # If this parameter is used, the operation returns up to `MaxResults`
1040
+ # results at a time, along with a `NextToken` value. To get the next set
1041
+ # of results, include the `NextToken` value in a subsequent call. If
1042
+ # this parameter is not used, the operation returns up to 50 results and
1043
+ # a `NextToken` value, if applicable.
1044
+ #
1045
+ # @option params [String] :next_token
1046
+ # The token for the next set of results.
1047
+ #
1048
+ # @return [Types::DescribeScheduledActionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1049
+ #
1050
+ # * {Types::DescribeScheduledActionsResponse#scheduled_actions #scheduled_actions} => Array&lt;Types::ScheduledAction&gt;
1051
+ # * {Types::DescribeScheduledActionsResponse#next_token #next_token} => String
1052
+ #
1053
+ # @example Request syntax with placeholder values
1054
+ #
1055
+ # resp = client.describe_scheduled_actions({
1056
+ # scheduled_action_names: ["ResourceIdMaxLen1600"],
1057
+ # service_namespace: "ecs", # required, accepts ecs, elasticmapreduce, ec2, appstream, dynamodb
1058
+ # resource_id: "ResourceIdMaxLen1600",
1059
+ # scalable_dimension: "ecs:service:DesiredCount", # 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
1060
+ # max_results: 1,
1061
+ # next_token: "XmlString",
1062
+ # })
1063
+ #
1064
+ # @example Response structure
1065
+ #
1066
+ # resp.scheduled_actions #=> Array
1067
+ # resp.scheduled_actions[0].scheduled_action_name #=> String
1068
+ # resp.scheduled_actions[0].scheduled_action_arn #=> String
1069
+ # resp.scheduled_actions[0].service_namespace #=> String, one of "ecs", "elasticmapreduce", "ec2", "appstream", "dynamodb"
1070
+ # resp.scheduled_actions[0].schedule #=> String
1071
+ # resp.scheduled_actions[0].resource_id #=> String
1072
+ # resp.scheduled_actions[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"
1073
+ # resp.scheduled_actions[0].start_time #=> Time
1074
+ # resp.scheduled_actions[0].end_time #=> Time
1075
+ # resp.scheduled_actions[0].scalable_target_action.min_capacity #=> Integer
1076
+ # resp.scheduled_actions[0].scalable_target_action.max_capacity #=> Integer
1077
+ # resp.scheduled_actions[0].creation_time #=> Time
1078
+ # resp.next_token #=> String
1079
+ #
1080
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScheduledActions AWS API Documentation
1081
+ #
1082
+ # @overload describe_scheduled_actions(params = {})
1083
+ # @param [Hash] params ({})
1084
+ def describe_scheduled_actions(params = {}, options = {})
1085
+ req = build_request(:describe_scheduled_actions, params)
1086
+ req.send_request(options)
1087
+ end
1088
+
873
1089
  # Creates or updates a policy for an Application Auto Scaling scalable
874
1090
  # target.
875
1091
  #
@@ -1095,6 +1311,150 @@ module Aws::ApplicationAutoScaling
1095
1311
  req.send_request(options)
1096
1312
  end
1097
1313
 
1314
+ # Creates or updates a scheduled action for an Application Auto Scaling
1315
+ # scalable target.
1316
+ #
1317
+ # Each scalable target is identified by a service namespace, resource
1318
+ # ID, and scalable dimension. A scheduled action applies to the scalable
1319
+ # target identified by those three attributes. You cannot create a
1320
+ # scheduled action without first registering a scalable target using
1321
+ # RegisterScalableTarget.
1322
+ #
1323
+ # To update an action, specify its name and the parameters that you want
1324
+ # to change. If you don't specify start and end times, the old values
1325
+ # are deleted. Any other parameters that you don't specify are not
1326
+ # changed by this update request.
1327
+ #
1328
+ # You can view the scheduled actions using DescribeScheduledActions. If
1329
+ # you are no longer using a scheduled action, you can delete it using
1330
+ # DeleteScheduledAction.
1331
+ #
1332
+ # @option params [required, String] :service_namespace
1333
+ # The namespace of the AWS service. For more information, see [AWS
1334
+ # Service Namespaces][1] in the *Amazon Web Services General Reference*.
1335
+ #
1336
+ #
1337
+ #
1338
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces
1339
+ #
1340
+ # @option params [String] :schedule
1341
+ # The schedule for this action. The following formats are supported:
1342
+ #
1343
+ # * At expressions - `at(yyyy-mm-ddThh:mm:ss)`
1344
+ #
1345
+ # * Rate expressions - `rate(value unit)`
1346
+ #
1347
+ # * Cron expressions - `cron(fields)`
1348
+ #
1349
+ # At expressions are useful for one-time schedules. Specify the time, in
1350
+ # UTC.
1351
+ #
1352
+ # For rate expressions, *value* is a positive integer and *unit* is
1353
+ # `minute` \| `minutes` \| `hour` \| `hours` \| `day` \| `days`.
1354
+ #
1355
+ # For more information about cron expressions, see [Cron][1].
1356
+ #
1357
+ #
1358
+ #
1359
+ # [1]: https://en.wikipedia.org/wiki/Cron
1360
+ #
1361
+ # @option params [required, String] :scheduled_action_name
1362
+ # The name of the scheduled action.
1363
+ #
1364
+ # @option params [required, String] :resource_id
1365
+ # The identifier of the resource associated with the scheduled action.
1366
+ # This string consists of the resource type and unique identifier.
1367
+ #
1368
+ # * ECS service - The resource type is `service` and the unique
1369
+ # identifier is the cluster name and service name. Example:
1370
+ # `service/default/sample-webapp`.
1371
+ #
1372
+ # * Spot fleet request - The resource type is `spot-fleet-request` and
1373
+ # the unique identifier is the Spot fleet request ID. Example:
1374
+ # `spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE`.
1375
+ #
1376
+ # * EMR cluster - The resource type is `instancegroup` and the unique
1377
+ # identifier is the cluster ID and instance group ID. Example:
1378
+ # `instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0`.
1379
+ #
1380
+ # * AppStream 2.0 fleet - The resource type is `fleet` and the unique
1381
+ # identifier is the fleet name. Example: `fleet/sample-fleet`.
1382
+ #
1383
+ # * DynamoDB table - The resource type is `table` and the unique
1384
+ # identifier is the resource ID. Example: `table/my-table`.
1385
+ #
1386
+ # * DynamoDB global secondary index - The resource type is `index` and
1387
+ # the unique identifier is the resource ID. Example:
1388
+ # `table/my-table/index/my-table-index`.
1389
+ #
1390
+ # @option params [String] :scalable_dimension
1391
+ # The scalable dimension. This string consists of the service namespace,
1392
+ # resource type, and scaling property.
1393
+ #
1394
+ # * `ecs:service:DesiredCount` - The desired task count of an ECS
1395
+ # service.
1396
+ #
1397
+ # * `ec2:spot-fleet-request:TargetCapacity` - The target capacity of a
1398
+ # Spot fleet request.
1399
+ #
1400
+ # * `elasticmapreduce:instancegroup:InstanceCount` - The instance count
1401
+ # of an EMR Instance Group.
1402
+ #
1403
+ # * `appstream:fleet:DesiredCapacity` - The desired capacity of an
1404
+ # AppStream 2.0 fleet.
1405
+ #
1406
+ # * `dynamodb:table:ReadCapacityUnits` - The provisioned read capacity
1407
+ # for a DynamoDB table.
1408
+ #
1409
+ # * `dynamodb:table:WriteCapacityUnits` - The provisioned write capacity
1410
+ # for a DynamoDB table.
1411
+ #
1412
+ # * `dynamodb:index:ReadCapacityUnits` - The provisioned read capacity
1413
+ # for a DynamoDB global secondary index.
1414
+ #
1415
+ # * `dynamodb:index:WriteCapacityUnits` - The provisioned write capacity
1416
+ # for a DynamoDB global secondary index.
1417
+ #
1418
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
1419
+ # The date and time for the scheduled action to start.
1420
+ #
1421
+ # @option params [Time,DateTime,Date,Integer,String] :end_time
1422
+ # The date and time for the scheduled action to end.
1423
+ #
1424
+ # @option params [Types::ScalableTargetAction] :scalable_target_action
1425
+ # The new minimum and maximum capacity. You can set both values or just
1426
+ # one. During the scheduled time, if the current capacity is below the
1427
+ # minimum capacity, Application Auto Scaling scales out to the minimum
1428
+ # capacity. If the current capacity is above the maximum capacity,
1429
+ # Application Auto Scaling scales in to the maximum capacity.
1430
+ #
1431
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1432
+ #
1433
+ # @example Request syntax with placeholder values
1434
+ #
1435
+ # resp = client.put_scheduled_action({
1436
+ # service_namespace: "ecs", # required, accepts ecs, elasticmapreduce, ec2, appstream, dynamodb
1437
+ # schedule: "ResourceIdMaxLen1600",
1438
+ # scheduled_action_name: "ScheduledActionName", # required
1439
+ # resource_id: "ResourceIdMaxLen1600", # required
1440
+ # scalable_dimension: "ecs:service:DesiredCount", # 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
1441
+ # start_time: Time.now,
1442
+ # end_time: Time.now,
1443
+ # scalable_target_action: {
1444
+ # min_capacity: 1,
1445
+ # max_capacity: 1,
1446
+ # },
1447
+ # })
1448
+ #
1449
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/PutScheduledAction AWS API Documentation
1450
+ #
1451
+ # @overload put_scheduled_action(params = {})
1452
+ # @param [Hash] params ({})
1453
+ def put_scheduled_action(params = {}, options = {})
1454
+ req = build_request(:put_scheduled_action, params)
1455
+ req.send_request(options)
1456
+ end
1457
+
1098
1458
  # Registers or updates a scalable target. A scalable target is a
1099
1459
  # resource that Application Auto Scaling can scale out or scale in.
1100
1460
  # After you have registered a scalable target, you can use this
@@ -1253,7 +1613,7 @@ module Aws::ApplicationAutoScaling
1253
1613
  params: params,
1254
1614
  config: config)
1255
1615
  context[:gem_name] = 'aws-sdk-applicationautoscaling'
1256
- context[:gem_version] = '1.3.0'
1616
+ context[:gem_version] = '1.4.0'
1257
1617
  Seahorse::Client::Request.new(handlers, context)
1258
1618
  end
1259
1619
 
@@ -19,6 +19,8 @@ module Aws::ApplicationAutoScaling
19
19
  CustomizedMetricSpecification = Shapes::StructureShape.new(name: 'CustomizedMetricSpecification')
20
20
  DeleteScalingPolicyRequest = Shapes::StructureShape.new(name: 'DeleteScalingPolicyRequest')
21
21
  DeleteScalingPolicyResponse = Shapes::StructureShape.new(name: 'DeleteScalingPolicyResponse')
22
+ DeleteScheduledActionRequest = Shapes::StructureShape.new(name: 'DeleteScheduledActionRequest')
23
+ DeleteScheduledActionResponse = Shapes::StructureShape.new(name: 'DeleteScheduledActionResponse')
22
24
  DeregisterScalableTargetRequest = Shapes::StructureShape.new(name: 'DeregisterScalableTargetRequest')
23
25
  DeregisterScalableTargetResponse = Shapes::StructureShape.new(name: 'DeregisterScalableTargetResponse')
24
26
  DescribeScalableTargetsRequest = Shapes::StructureShape.new(name: 'DescribeScalableTargetsRequest')
@@ -27,6 +29,8 @@ module Aws::ApplicationAutoScaling
27
29
  DescribeScalingActivitiesResponse = Shapes::StructureShape.new(name: 'DescribeScalingActivitiesResponse')
28
30
  DescribeScalingPoliciesRequest = Shapes::StructureShape.new(name: 'DescribeScalingPoliciesRequest')
29
31
  DescribeScalingPoliciesResponse = Shapes::StructureShape.new(name: 'DescribeScalingPoliciesResponse')
32
+ DescribeScheduledActionsRequest = Shapes::StructureShape.new(name: 'DescribeScheduledActionsRequest')
33
+ DescribeScheduledActionsResponse = Shapes::StructureShape.new(name: 'DescribeScheduledActionsResponse')
30
34
  DisableScaleIn = Shapes::BooleanShape.new(name: 'DisableScaleIn')
31
35
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
32
36
  FailedResourceAccessException = Shapes::StructureShape.new(name: 'FailedResourceAccessException')
@@ -52,6 +56,8 @@ module Aws::ApplicationAutoScaling
52
56
  PredefinedMetricSpecification = Shapes::StructureShape.new(name: 'PredefinedMetricSpecification')
53
57
  PutScalingPolicyRequest = Shapes::StructureShape.new(name: 'PutScalingPolicyRequest')
54
58
  PutScalingPolicyResponse = Shapes::StructureShape.new(name: 'PutScalingPolicyResponse')
59
+ PutScheduledActionRequest = Shapes::StructureShape.new(name: 'PutScheduledActionRequest')
60
+ PutScheduledActionResponse = Shapes::StructureShape.new(name: 'PutScheduledActionResponse')
55
61
  RegisterScalableTargetRequest = Shapes::StructureShape.new(name: 'RegisterScalableTargetRequest')
56
62
  RegisterScalableTargetResponse = Shapes::StructureShape.new(name: 'RegisterScalableTargetResponse')
57
63
  ResourceCapacity = Shapes::IntegerShape.new(name: 'ResourceCapacity')
@@ -61,6 +67,7 @@ module Aws::ApplicationAutoScaling
61
67
  ResourceLabel = Shapes::StringShape.new(name: 'ResourceLabel')
62
68
  ScalableDimension = Shapes::StringShape.new(name: 'ScalableDimension')
63
69
  ScalableTarget = Shapes::StructureShape.new(name: 'ScalableTarget')
70
+ ScalableTargetAction = Shapes::StructureShape.new(name: 'ScalableTargetAction')
64
71
  ScalableTargets = Shapes::ListShape.new(name: 'ScalableTargets')
65
72
  ScalingActivities = Shapes::ListShape.new(name: 'ScalingActivities')
66
73
  ScalingActivity = Shapes::StructureShape.new(name: 'ScalingActivity')
@@ -68,6 +75,9 @@ module Aws::ApplicationAutoScaling
68
75
  ScalingAdjustment = Shapes::IntegerShape.new(name: 'ScalingAdjustment')
69
76
  ScalingPolicies = Shapes::ListShape.new(name: 'ScalingPolicies')
70
77
  ScalingPolicy = Shapes::StructureShape.new(name: 'ScalingPolicy')
78
+ ScheduledAction = Shapes::StructureShape.new(name: 'ScheduledAction')
79
+ ScheduledActionName = Shapes::StringShape.new(name: 'ScheduledActionName')
80
+ ScheduledActions = Shapes::ListShape.new(name: 'ScheduledActions')
71
81
  ServiceNamespace = Shapes::StringShape.new(name: 'ServiceNamespace')
72
82
  StepAdjustment = Shapes::StructureShape.new(name: 'StepAdjustment')
73
83
  StepAdjustments = Shapes::ListShape.new(name: 'StepAdjustments')
@@ -98,6 +108,14 @@ module Aws::ApplicationAutoScaling
98
108
 
99
109
  DeleteScalingPolicyResponse.struct_class = Types::DeleteScalingPolicyResponse
100
110
 
111
+ DeleteScheduledActionRequest.add_member(:service_namespace, Shapes::ShapeRef.new(shape: ServiceNamespace, required: true, location_name: "ServiceNamespace"))
112
+ DeleteScheduledActionRequest.add_member(:scheduled_action_name, Shapes::ShapeRef.new(shape: ResourceIdMaxLen1600, required: true, location_name: "ScheduledActionName"))
113
+ DeleteScheduledActionRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceIdMaxLen1600, required: true, location_name: "ResourceId"))
114
+ DeleteScheduledActionRequest.add_member(:scalable_dimension, Shapes::ShapeRef.new(shape: ScalableDimension, location_name: "ScalableDimension"))
115
+ DeleteScheduledActionRequest.struct_class = Types::DeleteScheduledActionRequest
116
+
117
+ DeleteScheduledActionResponse.struct_class = Types::DeleteScheduledActionResponse
118
+
101
119
  DeregisterScalableTargetRequest.add_member(:service_namespace, Shapes::ShapeRef.new(shape: ServiceNamespace, required: true, location_name: "ServiceNamespace"))
102
120
  DeregisterScalableTargetRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceIdMaxLen1600, required: true, location_name: "ResourceId"))
103
121
  DeregisterScalableTargetRequest.add_member(:scalable_dimension, Shapes::ShapeRef.new(shape: ScalableDimension, required: true, location_name: "ScalableDimension"))
@@ -139,6 +157,18 @@ module Aws::ApplicationAutoScaling
139
157
  DescribeScalingPoliciesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: XmlString, location_name: "NextToken"))
140
158
  DescribeScalingPoliciesResponse.struct_class = Types::DescribeScalingPoliciesResponse
141
159
 
160
+ DescribeScheduledActionsRequest.add_member(:scheduled_action_names, Shapes::ShapeRef.new(shape: ResourceIdsMaxLen1600, location_name: "ScheduledActionNames"))
161
+ DescribeScheduledActionsRequest.add_member(:service_namespace, Shapes::ShapeRef.new(shape: ServiceNamespace, required: true, location_name: "ServiceNamespace"))
162
+ DescribeScheduledActionsRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceIdMaxLen1600, location_name: "ResourceId"))
163
+ DescribeScheduledActionsRequest.add_member(:scalable_dimension, Shapes::ShapeRef.new(shape: ScalableDimension, location_name: "ScalableDimension"))
164
+ DescribeScheduledActionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
165
+ DescribeScheduledActionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: XmlString, location_name: "NextToken"))
166
+ DescribeScheduledActionsRequest.struct_class = Types::DescribeScheduledActionsRequest
167
+
168
+ DescribeScheduledActionsResponse.add_member(:scheduled_actions, Shapes::ShapeRef.new(shape: ScheduledActions, location_name: "ScheduledActions"))
169
+ DescribeScheduledActionsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: XmlString, location_name: "NextToken"))
170
+ DescribeScheduledActionsResponse.struct_class = Types::DescribeScheduledActionsResponse
171
+
142
172
  MetricDimension.add_member(:name, Shapes::ShapeRef.new(shape: MetricDimensionName, required: true, location_name: "Name"))
143
173
  MetricDimension.add_member(:value, Shapes::ShapeRef.new(shape: MetricDimensionValue, required: true, location_name: "Value"))
144
174
  MetricDimension.struct_class = Types::MetricDimension
@@ -162,6 +192,18 @@ module Aws::ApplicationAutoScaling
162
192
  PutScalingPolicyResponse.add_member(:alarms, Shapes::ShapeRef.new(shape: Alarms, location_name: "Alarms"))
163
193
  PutScalingPolicyResponse.struct_class = Types::PutScalingPolicyResponse
164
194
 
195
+ PutScheduledActionRequest.add_member(:service_namespace, Shapes::ShapeRef.new(shape: ServiceNamespace, required: true, location_name: "ServiceNamespace"))
196
+ PutScheduledActionRequest.add_member(:schedule, Shapes::ShapeRef.new(shape: ResourceIdMaxLen1600, location_name: "Schedule"))
197
+ PutScheduledActionRequest.add_member(:scheduled_action_name, Shapes::ShapeRef.new(shape: ScheduledActionName, required: true, location_name: "ScheduledActionName"))
198
+ PutScheduledActionRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceIdMaxLen1600, required: true, location_name: "ResourceId"))
199
+ PutScheduledActionRequest.add_member(:scalable_dimension, Shapes::ShapeRef.new(shape: ScalableDimension, location_name: "ScalableDimension"))
200
+ PutScheduledActionRequest.add_member(:start_time, Shapes::ShapeRef.new(shape: TimestampType, location_name: "StartTime"))
201
+ PutScheduledActionRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: TimestampType, location_name: "EndTime"))
202
+ PutScheduledActionRequest.add_member(:scalable_target_action, Shapes::ShapeRef.new(shape: ScalableTargetAction, location_name: "ScalableTargetAction"))
203
+ PutScheduledActionRequest.struct_class = Types::PutScheduledActionRequest
204
+
205
+ PutScheduledActionResponse.struct_class = Types::PutScheduledActionResponse
206
+
165
207
  RegisterScalableTargetRequest.add_member(:service_namespace, Shapes::ShapeRef.new(shape: ServiceNamespace, required: true, location_name: "ServiceNamespace"))
166
208
  RegisterScalableTargetRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceIdMaxLen1600, required: true, location_name: "ResourceId"))
167
209
  RegisterScalableTargetRequest.add_member(:scalable_dimension, Shapes::ShapeRef.new(shape: ScalableDimension, required: true, location_name: "ScalableDimension"))
@@ -183,6 +225,10 @@ module Aws::ApplicationAutoScaling
183
225
  ScalableTarget.add_member(:creation_time, Shapes::ShapeRef.new(shape: TimestampType, required: true, location_name: "CreationTime"))
184
226
  ScalableTarget.struct_class = Types::ScalableTarget
185
227
 
228
+ ScalableTargetAction.add_member(:min_capacity, Shapes::ShapeRef.new(shape: ResourceCapacity, location_name: "MinCapacity"))
229
+ ScalableTargetAction.add_member(:max_capacity, Shapes::ShapeRef.new(shape: ResourceCapacity, location_name: "MaxCapacity"))
230
+ ScalableTargetAction.struct_class = Types::ScalableTargetAction
231
+
186
232
  ScalableTargets.member = Shapes::ShapeRef.new(shape: ScalableTarget)
187
233
 
188
234
  ScalingActivities.member = Shapes::ShapeRef.new(shape: ScalingActivity)
@@ -214,6 +260,20 @@ module Aws::ApplicationAutoScaling
214
260
  ScalingPolicy.add_member(:creation_time, Shapes::ShapeRef.new(shape: TimestampType, required: true, location_name: "CreationTime"))
215
261
  ScalingPolicy.struct_class = Types::ScalingPolicy
216
262
 
263
+ ScheduledAction.add_member(:scheduled_action_name, Shapes::ShapeRef.new(shape: ScheduledActionName, required: true, location_name: "ScheduledActionName"))
264
+ ScheduledAction.add_member(:scheduled_action_arn, Shapes::ShapeRef.new(shape: ResourceIdMaxLen1600, required: true, location_name: "ScheduledActionARN"))
265
+ ScheduledAction.add_member(:service_namespace, Shapes::ShapeRef.new(shape: ServiceNamespace, required: true, location_name: "ServiceNamespace"))
266
+ ScheduledAction.add_member(:schedule, Shapes::ShapeRef.new(shape: ResourceIdMaxLen1600, required: true, location_name: "Schedule"))
267
+ ScheduledAction.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceIdMaxLen1600, required: true, location_name: "ResourceId"))
268
+ ScheduledAction.add_member(:scalable_dimension, Shapes::ShapeRef.new(shape: ScalableDimension, location_name: "ScalableDimension"))
269
+ ScheduledAction.add_member(:start_time, Shapes::ShapeRef.new(shape: TimestampType, location_name: "StartTime"))
270
+ ScheduledAction.add_member(:end_time, Shapes::ShapeRef.new(shape: TimestampType, location_name: "EndTime"))
271
+ ScheduledAction.add_member(:scalable_target_action, Shapes::ShapeRef.new(shape: ScalableTargetAction, location_name: "ScalableTargetAction"))
272
+ ScheduledAction.add_member(:creation_time, Shapes::ShapeRef.new(shape: TimestampType, required: true, location_name: "CreationTime"))
273
+ ScheduledAction.struct_class = Types::ScheduledAction
274
+
275
+ ScheduledActions.member = Shapes::ShapeRef.new(shape: ScheduledAction)
276
+
217
277
  StepAdjustment.add_member(:metric_interval_lower_bound, Shapes::ShapeRef.new(shape: MetricScale, location_name: "MetricIntervalLowerBound"))
218
278
  StepAdjustment.add_member(:metric_interval_upper_bound, Shapes::ShapeRef.new(shape: MetricScale, location_name: "MetricIntervalUpperBound"))
219
279
  StepAdjustment.add_member(:scaling_adjustment, Shapes::ShapeRef.new(shape: ScalingAdjustment, required: true, location_name: "ScalingAdjustment"))
@@ -264,6 +324,18 @@ module Aws::ApplicationAutoScaling
264
324
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
265
325
  end)
266
326
 
327
+ api.add_operation(:delete_scheduled_action, Seahorse::Model::Operation.new.tap do |o|
328
+ o.name = "DeleteScheduledAction"
329
+ o.http_method = "POST"
330
+ o.http_request_uri = "/"
331
+ o.input = Shapes::ShapeRef.new(shape: DeleteScheduledActionRequest)
332
+ o.output = Shapes::ShapeRef.new(shape: DeleteScheduledActionResponse)
333
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
334
+ o.errors << Shapes::ShapeRef.new(shape: ObjectNotFoundException)
335
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentUpdateException)
336
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
337
+ end)
338
+
267
339
  api.add_operation(:deregister_scalable_target, Seahorse::Model::Operation.new.tap do |o|
268
340
  o.name = "DeregisterScalableTarget"
269
341
  o.http_method = "POST"
@@ -331,6 +403,18 @@ module Aws::ApplicationAutoScaling
331
403
  )
332
404
  end)
333
405
 
406
+ api.add_operation(:describe_scheduled_actions, Seahorse::Model::Operation.new.tap do |o|
407
+ o.name = "DescribeScheduledActions"
408
+ o.http_method = "POST"
409
+ o.http_request_uri = "/"
410
+ o.input = Shapes::ShapeRef.new(shape: DescribeScheduledActionsRequest)
411
+ o.output = Shapes::ShapeRef.new(shape: DescribeScheduledActionsResponse)
412
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
413
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
414
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentUpdateException)
415
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
416
+ end)
417
+
334
418
  api.add_operation(:put_scaling_policy, Seahorse::Model::Operation.new.tap do |o|
335
419
  o.name = "PutScalingPolicy"
336
420
  o.http_method = "POST"
@@ -345,6 +429,19 @@ module Aws::ApplicationAutoScaling
345
429
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
346
430
  end)
347
431
 
432
+ api.add_operation(:put_scheduled_action, Seahorse::Model::Operation.new.tap do |o|
433
+ o.name = "PutScheduledAction"
434
+ o.http_method = "POST"
435
+ o.http_request_uri = "/"
436
+ o.input = Shapes::ShapeRef.new(shape: PutScheduledActionRequest)
437
+ o.output = Shapes::ShapeRef.new(shape: PutScheduledActionResponse)
438
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
439
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
440
+ o.errors << Shapes::ShapeRef.new(shape: ObjectNotFoundException)
441
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentUpdateException)
442
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
443
+ end)
444
+
348
445
  api.add_operation(:register_scalable_target, Seahorse::Model::Operation.new.tap do |o|
349
446
  o.name = "RegisterScalableTarget"
350
447
  o.http_method = "POST"
@@ -169,6 +169,100 @@ module Aws::ApplicationAutoScaling
169
169
  #
170
170
  class DeleteScalingPolicyResponse < Aws::EmptyStructure; end
171
171
 
172
+ # @note When making an API call, you may pass DeleteScheduledActionRequest
173
+ # data as a hash:
174
+ #
175
+ # {
176
+ # service_namespace: "ecs", # required, accepts ecs, elasticmapreduce, ec2, appstream, dynamodb
177
+ # scheduled_action_name: "ResourceIdMaxLen1600", # required
178
+ # resource_id: "ResourceIdMaxLen1600", # required
179
+ # scalable_dimension: "ecs:service:DesiredCount", # 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
180
+ # }
181
+ #
182
+ # @!attribute [rw] service_namespace
183
+ # The namespace of the AWS service. For more information, see [AWS
184
+ # Service Namespaces][1] in the *Amazon Web Services General
185
+ # Reference*.
186
+ #
187
+ #
188
+ #
189
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces
190
+ # @return [String]
191
+ #
192
+ # @!attribute [rw] scheduled_action_name
193
+ # The name of the scheduled action.
194
+ # @return [String]
195
+ #
196
+ # @!attribute [rw] resource_id
197
+ # The identifier of the resource associated with the scheduled action.
198
+ # This string consists of the resource type and unique identifier.
199
+ #
200
+ # * ECS service - The resource type is `service` and the unique
201
+ # identifier is the cluster name and service name. Example:
202
+ # `service/default/sample-webapp`.
203
+ #
204
+ # * Spot fleet request - The resource type is `spot-fleet-request` and
205
+ # the unique identifier is the Spot fleet request ID. Example:
206
+ # `spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE`.
207
+ #
208
+ # * EMR cluster - The resource type is `instancegroup` and the unique
209
+ # identifier is the cluster ID and instance group ID. Example:
210
+ # `instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0`.
211
+ #
212
+ # * AppStream 2.0 fleet - The resource type is `fleet` and the unique
213
+ # identifier is the fleet name. Example: `fleet/sample-fleet`.
214
+ #
215
+ # * DynamoDB table - The resource type is `table` and the unique
216
+ # identifier is the resource ID. Example: `table/my-table`.
217
+ #
218
+ # * DynamoDB global secondary index - The resource type is `index` and
219
+ # the unique identifier is the resource ID. Example:
220
+ # `table/my-table/index/my-table-index`.
221
+ # @return [String]
222
+ #
223
+ # @!attribute [rw] scalable_dimension
224
+ # The scalable dimension. This string consists of the service
225
+ # namespace, resource type, and scaling property.
226
+ #
227
+ # * `ecs:service:DesiredCount` - The desired task count of an ECS
228
+ # service.
229
+ #
230
+ # * `ec2:spot-fleet-request:TargetCapacity` - The target capacity of a
231
+ # Spot fleet request.
232
+ #
233
+ # * `elasticmapreduce:instancegroup:InstanceCount` - The instance
234
+ # count of an EMR Instance Group.
235
+ #
236
+ # * `appstream:fleet:DesiredCapacity` - The desired capacity of an
237
+ # AppStream 2.0 fleet.
238
+ #
239
+ # * `dynamodb:table:ReadCapacityUnits` - The provisioned read capacity
240
+ # for a DynamoDB table.
241
+ #
242
+ # * `dynamodb:table:WriteCapacityUnits` - The provisioned write
243
+ # capacity for a DynamoDB table.
244
+ #
245
+ # * `dynamodb:index:ReadCapacityUnits` - The provisioned read capacity
246
+ # for a DynamoDB global secondary index.
247
+ #
248
+ # * `dynamodb:index:WriteCapacityUnits` - The provisioned write
249
+ # capacity for a DynamoDB global secondary index.
250
+ # @return [String]
251
+ #
252
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DeleteScheduledActionRequest AWS API Documentation
253
+ #
254
+ class DeleteScheduledActionRequest < Struct.new(
255
+ :service_namespace,
256
+ :scheduled_action_name,
257
+ :resource_id,
258
+ :scalable_dimension)
259
+ include Aws::Structure
260
+ end
261
+
262
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DeleteScheduledActionResponse AWS API Documentation
263
+ #
264
+ class DeleteScheduledActionResponse < Aws::EmptyStructure; end
265
+
172
266
  # @note When making an API call, you may pass DeregisterScalableTargetRequest
173
267
  # data as a hash:
174
268
  #
@@ -618,7 +712,7 @@ module Aws::ApplicationAutoScaling
618
712
  end
619
713
 
620
714
  # @!attribute [rw] scaling_policies
621
- # A list of scaling policy objects.
715
+ # Information about the scaling policies.
622
716
  # @return [Array<Types::ScalingPolicy>]
623
717
  #
624
718
  # @!attribute [rw] next_token
@@ -634,6 +728,135 @@ module Aws::ApplicationAutoScaling
634
728
  include Aws::Structure
635
729
  end
636
730
 
731
+ # @note When making an API call, you may pass DescribeScheduledActionsRequest
732
+ # data as a hash:
733
+ #
734
+ # {
735
+ # scheduled_action_names: ["ResourceIdMaxLen1600"],
736
+ # service_namespace: "ecs", # required, accepts ecs, elasticmapreduce, ec2, appstream, dynamodb
737
+ # resource_id: "ResourceIdMaxLen1600",
738
+ # scalable_dimension: "ecs:service:DesiredCount", # 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
739
+ # max_results: 1,
740
+ # next_token: "XmlString",
741
+ # }
742
+ #
743
+ # @!attribute [rw] scheduled_action_names
744
+ # The names of the scheduled actions to describe.
745
+ # @return [Array<String>]
746
+ #
747
+ # @!attribute [rw] service_namespace
748
+ # The namespace of the AWS service. For more information, see [AWS
749
+ # Service Namespaces][1] in the *Amazon Web Services General
750
+ # Reference*.
751
+ #
752
+ #
753
+ #
754
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces
755
+ # @return [String]
756
+ #
757
+ # @!attribute [rw] resource_id
758
+ # The identifier of the resource associated with the scheduled action.
759
+ # This string consists of the resource type and unique identifier. If
760
+ # you specify a scalable dimension, you must also specify a resource
761
+ # ID.
762
+ #
763
+ # * ECS service - The resource type is `service` and the unique
764
+ # identifier is the cluster name and service name. Example:
765
+ # `service/default/sample-webapp`.
766
+ #
767
+ # * Spot fleet request - The resource type is `spot-fleet-request` and
768
+ # the unique identifier is the Spot fleet request ID. Example:
769
+ # `spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE`.
770
+ #
771
+ # * EMR cluster - The resource type is `instancegroup` and the unique
772
+ # identifier is the cluster ID and instance group ID. Example:
773
+ # `instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0`.
774
+ #
775
+ # * AppStream 2.0 fleet - The resource type is `fleet` and the unique
776
+ # identifier is the fleet name. Example: `fleet/sample-fleet`.
777
+ #
778
+ # * DynamoDB table - The resource type is `table` and the unique
779
+ # identifier is the resource ID. Example: `table/my-table`.
780
+ #
781
+ # * DynamoDB global secondary index - The resource type is `index` and
782
+ # the unique identifier is the resource ID. Example:
783
+ # `table/my-table/index/my-table-index`.
784
+ # @return [String]
785
+ #
786
+ # @!attribute [rw] scalable_dimension
787
+ # The scalable dimension. This string consists of the service
788
+ # namespace, resource type, and scaling property. If you specify a
789
+ # scalable dimension, you must also specify a resource ID.
790
+ #
791
+ # * `ecs:service:DesiredCount` - The desired task count of an ECS
792
+ # service.
793
+ #
794
+ # * `ec2:spot-fleet-request:TargetCapacity` - The target capacity of a
795
+ # Spot fleet request.
796
+ #
797
+ # * `elasticmapreduce:instancegroup:InstanceCount` - The instance
798
+ # count of an EMR Instance Group.
799
+ #
800
+ # * `appstream:fleet:DesiredCapacity` - The desired capacity of an
801
+ # AppStream 2.0 fleet.
802
+ #
803
+ # * `dynamodb:table:ReadCapacityUnits` - The provisioned read capacity
804
+ # for a DynamoDB table.
805
+ #
806
+ # * `dynamodb:table:WriteCapacityUnits` - The provisioned write
807
+ # capacity for a DynamoDB table.
808
+ #
809
+ # * `dynamodb:index:ReadCapacityUnits` - The provisioned read capacity
810
+ # for a DynamoDB global secondary index.
811
+ #
812
+ # * `dynamodb:index:WriteCapacityUnits` - The provisioned write
813
+ # capacity for a DynamoDB global secondary index.
814
+ # @return [String]
815
+ #
816
+ # @!attribute [rw] max_results
817
+ # The maximum number of scalable target results. This value can be
818
+ # between 1 and 50. The default value is 50.
819
+ #
820
+ # If this parameter is used, the operation returns up to `MaxResults`
821
+ # results at a time, along with a `NextToken` value. To get the next
822
+ # set of results, include the `NextToken` value in a subsequent call.
823
+ # If this parameter is not used, the operation returns up to 50
824
+ # results and a `NextToken` value, if applicable.
825
+ # @return [Integer]
826
+ #
827
+ # @!attribute [rw] next_token
828
+ # The token for the next set of results.
829
+ # @return [String]
830
+ #
831
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScheduledActionsRequest AWS API Documentation
832
+ #
833
+ class DescribeScheduledActionsRequest < Struct.new(
834
+ :scheduled_action_names,
835
+ :service_namespace,
836
+ :resource_id,
837
+ :scalable_dimension,
838
+ :max_results,
839
+ :next_token)
840
+ include Aws::Structure
841
+ end
842
+
843
+ # @!attribute [rw] scheduled_actions
844
+ # Information about the scheduled actions.
845
+ # @return [Array<Types::ScheduledAction>]
846
+ #
847
+ # @!attribute [rw] next_token
848
+ # The token required to get the next set of results. This value is
849
+ # `null` if there are no more results to return.
850
+ # @return [String]
851
+ #
852
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/DescribeScheduledActionsResponse AWS API Documentation
853
+ #
854
+ class DescribeScheduledActionsResponse < Struct.new(
855
+ :scheduled_actions,
856
+ :next_token)
857
+ include Aws::Structure
858
+ end
859
+
637
860
  # Describes the dimension of a metric.
638
861
  #
639
862
  # @note When making an API call, you may pass MetricDimension
@@ -854,6 +1077,150 @@ module Aws::ApplicationAutoScaling
854
1077
  include Aws::Structure
855
1078
  end
856
1079
 
1080
+ # @note When making an API call, you may pass PutScheduledActionRequest
1081
+ # data as a hash:
1082
+ #
1083
+ # {
1084
+ # service_namespace: "ecs", # required, accepts ecs, elasticmapreduce, ec2, appstream, dynamodb
1085
+ # schedule: "ResourceIdMaxLen1600",
1086
+ # scheduled_action_name: "ScheduledActionName", # required
1087
+ # resource_id: "ResourceIdMaxLen1600", # required
1088
+ # scalable_dimension: "ecs:service:DesiredCount", # 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
1089
+ # start_time: Time.now,
1090
+ # end_time: Time.now,
1091
+ # scalable_target_action: {
1092
+ # min_capacity: 1,
1093
+ # max_capacity: 1,
1094
+ # },
1095
+ # }
1096
+ #
1097
+ # @!attribute [rw] service_namespace
1098
+ # The namespace of the AWS service. For more information, see [AWS
1099
+ # Service Namespaces][1] in the *Amazon Web Services General
1100
+ # Reference*.
1101
+ #
1102
+ #
1103
+ #
1104
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces
1105
+ # @return [String]
1106
+ #
1107
+ # @!attribute [rw] schedule
1108
+ # The schedule for this action. The following formats are supported:
1109
+ #
1110
+ # * At expressions - `at(yyyy-mm-ddThh:mm:ss)`
1111
+ #
1112
+ # * Rate expressions - `rate(value unit)`
1113
+ #
1114
+ # * Cron expressions - `cron(fields)`
1115
+ #
1116
+ # At expressions are useful for one-time schedules. Specify the time,
1117
+ # in UTC.
1118
+ #
1119
+ # For rate expressions, *value* is a positive integer and *unit* is
1120
+ # `minute` \| `minutes` \| `hour` \| `hours` \| `day` \| `days`.
1121
+ #
1122
+ # For more information about cron expressions, see [Cron][1].
1123
+ #
1124
+ #
1125
+ #
1126
+ # [1]: https://en.wikipedia.org/wiki/Cron
1127
+ # @return [String]
1128
+ #
1129
+ # @!attribute [rw] scheduled_action_name
1130
+ # The name of the scheduled action.
1131
+ # @return [String]
1132
+ #
1133
+ # @!attribute [rw] resource_id
1134
+ # The identifier of the resource associated with the scheduled action.
1135
+ # This string consists of the resource type and unique identifier.
1136
+ #
1137
+ # * ECS service - The resource type is `service` and the unique
1138
+ # identifier is the cluster name and service name. Example:
1139
+ # `service/default/sample-webapp`.
1140
+ #
1141
+ # * Spot fleet request - The resource type is `spot-fleet-request` and
1142
+ # the unique identifier is the Spot fleet request ID. Example:
1143
+ # `spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE`.
1144
+ #
1145
+ # * EMR cluster - The resource type is `instancegroup` and the unique
1146
+ # identifier is the cluster ID and instance group ID. Example:
1147
+ # `instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0`.
1148
+ #
1149
+ # * AppStream 2.0 fleet - The resource type is `fleet` and the unique
1150
+ # identifier is the fleet name. Example: `fleet/sample-fleet`.
1151
+ #
1152
+ # * DynamoDB table - The resource type is `table` and the unique
1153
+ # identifier is the resource ID. Example: `table/my-table`.
1154
+ #
1155
+ # * DynamoDB global secondary index - The resource type is `index` and
1156
+ # the unique identifier is the resource ID. Example:
1157
+ # `table/my-table/index/my-table-index`.
1158
+ # @return [String]
1159
+ #
1160
+ # @!attribute [rw] scalable_dimension
1161
+ # The scalable dimension. This string consists of the service
1162
+ # namespace, resource type, and scaling property.
1163
+ #
1164
+ # * `ecs:service:DesiredCount` - The desired task count of an ECS
1165
+ # service.
1166
+ #
1167
+ # * `ec2:spot-fleet-request:TargetCapacity` - The target capacity of a
1168
+ # Spot fleet request.
1169
+ #
1170
+ # * `elasticmapreduce:instancegroup:InstanceCount` - The instance
1171
+ # count of an EMR Instance Group.
1172
+ #
1173
+ # * `appstream:fleet:DesiredCapacity` - The desired capacity of an
1174
+ # AppStream 2.0 fleet.
1175
+ #
1176
+ # * `dynamodb:table:ReadCapacityUnits` - The provisioned read capacity
1177
+ # for a DynamoDB table.
1178
+ #
1179
+ # * `dynamodb:table:WriteCapacityUnits` - The provisioned write
1180
+ # capacity for a DynamoDB table.
1181
+ #
1182
+ # * `dynamodb:index:ReadCapacityUnits` - The provisioned read capacity
1183
+ # for a DynamoDB global secondary index.
1184
+ #
1185
+ # * `dynamodb:index:WriteCapacityUnits` - The provisioned write
1186
+ # capacity for a DynamoDB global secondary index.
1187
+ # @return [String]
1188
+ #
1189
+ # @!attribute [rw] start_time
1190
+ # The date and time for the scheduled action to start.
1191
+ # @return [Time]
1192
+ #
1193
+ # @!attribute [rw] end_time
1194
+ # The date and time for the scheduled action to end.
1195
+ # @return [Time]
1196
+ #
1197
+ # @!attribute [rw] scalable_target_action
1198
+ # The new minimum and maximum capacity. You can set both values or
1199
+ # just one. During the scheduled time, if the current capacity is
1200
+ # below the minimum capacity, Application Auto Scaling scales out to
1201
+ # the minimum capacity. If the current capacity is above the maximum
1202
+ # capacity, Application Auto Scaling scales in to the maximum
1203
+ # capacity.
1204
+ # @return [Types::ScalableTargetAction]
1205
+ #
1206
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/PutScheduledActionRequest AWS API Documentation
1207
+ #
1208
+ class PutScheduledActionRequest < Struct.new(
1209
+ :service_namespace,
1210
+ :schedule,
1211
+ :scheduled_action_name,
1212
+ :resource_id,
1213
+ :scalable_dimension,
1214
+ :start_time,
1215
+ :end_time,
1216
+ :scalable_target_action)
1217
+ include Aws::Structure
1218
+ end
1219
+
1220
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/PutScheduledActionResponse AWS API Documentation
1221
+ #
1222
+ class PutScheduledActionResponse < Aws::EmptyStructure; end
1223
+
857
1224
  # @note When making an API call, you may pass RegisterScalableTargetRequest
858
1225
  # data as a hash:
859
1226
  #
@@ -1067,6 +1434,32 @@ module Aws::ApplicationAutoScaling
1067
1434
  include Aws::Structure
1068
1435
  end
1069
1436
 
1437
+ # Represents the minimum and maximum capacity for a scheduled action.
1438
+ #
1439
+ # @note When making an API call, you may pass ScalableTargetAction
1440
+ # data as a hash:
1441
+ #
1442
+ # {
1443
+ # min_capacity: 1,
1444
+ # max_capacity: 1,
1445
+ # }
1446
+ #
1447
+ # @!attribute [rw] min_capacity
1448
+ # The minimum capacity.
1449
+ # @return [Integer]
1450
+ #
1451
+ # @!attribute [rw] max_capacity
1452
+ # The maximum capacity.
1453
+ # @return [Integer]
1454
+ #
1455
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/ScalableTargetAction AWS API Documentation
1456
+ #
1457
+ class ScalableTargetAction < Struct.new(
1458
+ :min_capacity,
1459
+ :max_capacity)
1460
+ include Aws::Structure
1461
+ end
1462
+
1070
1463
  # Represents a scaling activity.
1071
1464
  #
1072
1465
  # @!attribute [rw] activity_id
@@ -1297,6 +1690,141 @@ module Aws::ApplicationAutoScaling
1297
1690
  include Aws::Structure
1298
1691
  end
1299
1692
 
1693
+ # Represents a scheduled action.
1694
+ #
1695
+ # @!attribute [rw] scheduled_action_name
1696
+ # The name of the scheduled action.
1697
+ # @return [String]
1698
+ #
1699
+ # @!attribute [rw] scheduled_action_arn
1700
+ # The Amazon Resource Name (ARN) of the scheduled action.
1701
+ # @return [String]
1702
+ #
1703
+ # @!attribute [rw] service_namespace
1704
+ # The namespace of the AWS service. For more information, see [AWS
1705
+ # Service Namespaces][1] in the *Amazon Web Services General
1706
+ # Reference*.
1707
+ #
1708
+ #
1709
+ #
1710
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces
1711
+ # @return [String]
1712
+ #
1713
+ # @!attribute [rw] schedule
1714
+ # The schedule for this action. The following formats are supported:
1715
+ #
1716
+ # * At expressions - `at(yyyy-mm-ddThh:mm:ss)`
1717
+ #
1718
+ # * Rate expressions - `rate(value unit)`
1719
+ #
1720
+ # * Cron expressions - `cron(fields)`
1721
+ #
1722
+ # At expressions are useful for one-time schedules. Specify the time,
1723
+ # in UTC.
1724
+ #
1725
+ # For rate expressions, *value* is a positive integer and *unit* is
1726
+ # `minute` \| `minutes` \| `hour` \| `hours` \| `day` \| `days`.
1727
+ #
1728
+ # For more information about cron expressions, see [Cron][1].
1729
+ #
1730
+ #
1731
+ #
1732
+ # [1]: https://en.wikipedia.org/wiki/Cron
1733
+ # @return [String]
1734
+ #
1735
+ # @!attribute [rw] resource_id
1736
+ # The identifier of the resource associated with the scaling policy.
1737
+ # This string consists of the resource type and unique identifier.
1738
+ #
1739
+ # * ECS service - The resource type is `service` and the unique
1740
+ # identifier is the cluster name and service name. Example:
1741
+ # `service/default/sample-webapp`.
1742
+ #
1743
+ # * Spot fleet request - The resource type is `spot-fleet-request` and
1744
+ # the unique identifier is the Spot fleet request ID. Example:
1745
+ # `spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE`.
1746
+ #
1747
+ # * EMR cluster - The resource type is `instancegroup` and the unique
1748
+ # identifier is the cluster ID and instance group ID. Example:
1749
+ # `instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0`.
1750
+ #
1751
+ # * AppStream 2.0 fleet - The resource type is `fleet` and the unique
1752
+ # identifier is the fleet name. Example: `fleet/sample-fleet`.
1753
+ #
1754
+ # * DynamoDB table - The resource type is `table` and the unique
1755
+ # identifier is the resource ID. Example: `table/my-table`.
1756
+ #
1757
+ # * DynamoDB global secondary index - The resource type is `index` and
1758
+ # the unique identifier is the resource ID. Example:
1759
+ # `table/my-table/index/my-table-index`.
1760
+ # @return [String]
1761
+ #
1762
+ # @!attribute [rw] scalable_dimension
1763
+ # The scalable dimension. This string consists of the service
1764
+ # namespace, resource type, and scaling property.
1765
+ #
1766
+ # * `ecs:service:DesiredCount` - The desired task count of an ECS
1767
+ # service.
1768
+ #
1769
+ # * `ec2:spot-fleet-request:TargetCapacity` - The target capacity of a
1770
+ # Spot fleet request.
1771
+ #
1772
+ # * `elasticmapreduce:instancegroup:InstanceCount` - The instance
1773
+ # count of an EMR Instance Group.
1774
+ #
1775
+ # * `appstream:fleet:DesiredCapacity` - The desired capacity of an
1776
+ # AppStream 2.0 fleet.
1777
+ #
1778
+ # * `dynamodb:table:ReadCapacityUnits` - The provisioned read capacity
1779
+ # for a DynamoDB table.
1780
+ #
1781
+ # * `dynamodb:table:WriteCapacityUnits` - The provisioned write
1782
+ # capacity for a DynamoDB table.
1783
+ #
1784
+ # * `dynamodb:index:ReadCapacityUnits` - The provisioned read capacity
1785
+ # for a DynamoDB global secondary index.
1786
+ #
1787
+ # * `dynamodb:index:WriteCapacityUnits` - The provisioned write
1788
+ # capacity for a DynamoDB global secondary index.
1789
+ # @return [String]
1790
+ #
1791
+ # @!attribute [rw] start_time
1792
+ # The date and time that the action is scheduled to begin.
1793
+ # @return [Time]
1794
+ #
1795
+ # @!attribute [rw] end_time
1796
+ # The date and time that the action is scheduled to end.
1797
+ # @return [Time]
1798
+ #
1799
+ # @!attribute [rw] scalable_target_action
1800
+ # The new minimum and maximum capacity. You can set both values or
1801
+ # just one. During the scheduled time, if the current capacity is
1802
+ # below the minimum capacity, Application Auto Scaling scales out to
1803
+ # the minimum capacity. If the current capacity is above the maximum
1804
+ # capacity, Application Auto Scaling scales in to the maximum
1805
+ # capacity.
1806
+ # @return [Types::ScalableTargetAction]
1807
+ #
1808
+ # @!attribute [rw] creation_time
1809
+ # The date and time that the scheduled action was created.
1810
+ # @return [Time]
1811
+ #
1812
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-autoscaling-2016-02-06/ScheduledAction AWS API Documentation
1813
+ #
1814
+ class ScheduledAction < Struct.new(
1815
+ :scheduled_action_name,
1816
+ :scheduled_action_arn,
1817
+ :service_namespace,
1818
+ :schedule,
1819
+ :resource_id,
1820
+ :scalable_dimension,
1821
+ :start_time,
1822
+ :end_time,
1823
+ :scalable_target_action,
1824
+ :creation_time)
1825
+ include Aws::Structure
1826
+ end
1827
+
1300
1828
  # Represents a step adjustment for a StepScalingPolicyConfiguration.
1301
1829
  # Describes an adjustment based on the difference between the value of
1302
1830
  # the aggregated CloudWatch metric and the breach threshold that you've
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-applicationautoscaling
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-13 00:00:00.000000000 Z
11
+ date: 2017-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core