aws-sdk-applicationautoscaling 1.3.0 → 1.4.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
  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