aws-sdk-codedeploy 1.11.0 → 1.12.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.
@@ -109,6 +109,48 @@ module Aws::CodeDeploy
109
109
  include Aws::Structure
110
110
  end
111
111
 
112
+ # A revision for an AWS Lambda or Amazon ECS deployment that is a
113
+ # YAML-formatted or JSON-formatted string. For AWS Lambda and Amazon ECS
114
+ # deployments, the revision is the same as the AppSpec file. This method
115
+ # replaces the deprecated `RawString` data type.
116
+ #
117
+ # @note When making an API call, you may pass AppSpecContent
118
+ # data as a hash:
119
+ #
120
+ # {
121
+ # content: "RawStringContent",
122
+ # sha256: "RawStringSha256",
123
+ # }
124
+ #
125
+ # @!attribute [rw] content
126
+ # The YAML-formatted or JSON-formatted revision string.
127
+ #
128
+ # For an AWS Lambda deployment the content includes a Lambda function
129
+ # name, the alias for its original version, and the alias for its
130
+ # replacement version. The deployment shifts traffic from the original
131
+ # version of the Lambda function to the replacement version.
132
+ #
133
+ # For an Amazon ECS deployment the content includes the task name,
134
+ # information about the load balancer that serves traffic to the
135
+ # container, and more.
136
+ #
137
+ # For both types of deployments, the content can specify Lambda
138
+ # functions that run at specified hooks, such as `BeforeInstall`,
139
+ # during a deployment.
140
+ # @return [String]
141
+ #
142
+ # @!attribute [rw] sha256
143
+ # The SHA256 hash value of the revision content.
144
+ # @return [String]
145
+ #
146
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/AppSpecContent AWS API Documentation
147
+ #
148
+ class AppSpecContent < Struct.new(
149
+ :content,
150
+ :sha256)
151
+ include Aws::Structure
152
+ end
153
+
112
154
  # Information about an application.
113
155
  #
114
156
  # @!attribute [rw] application_id
@@ -205,7 +247,7 @@ module Aws::CodeDeploy
205
247
  # application_name: "ApplicationName", # required
206
248
  # revisions: [ # required
207
249
  # {
208
- # revision_type: "S3", # accepts S3, GitHub, String
250
+ # revision_type: "S3", # accepts S3, GitHub, String, AppSpecContent
209
251
  # s3_location: {
210
252
  # bucket: "S3Bucket",
211
253
  # key: "S3Key",
@@ -221,6 +263,10 @@ module Aws::CodeDeploy
221
263
  # content: "RawStringContent",
222
264
  # sha256: "RawStringSha256",
223
265
  # },
266
+ # app_spec_content: {
267
+ # content: "RawStringContent",
268
+ # sha256: "RawStringSha256",
269
+ # },
224
270
  # },
225
271
  # ],
226
272
  # }
@@ -360,7 +406,7 @@ module Aws::CodeDeploy
360
406
  # @return [String]
361
407
  #
362
408
  # @!attribute [rw] instance_ids
363
- # The unique IDs of instances in the deployment group.
409
+ # The unique IDs of instances of the deployment.
364
410
  # @return [Array<String>]
365
411
  #
366
412
  # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeploymentInstancesInput AWS API Documentation
@@ -389,6 +435,66 @@ module Aws::CodeDeploy
389
435
  include Aws::Structure
390
436
  end
391
437
 
438
+ # @note When making an API call, you may pass BatchGetDeploymentTargetsInput
439
+ # data as a hash:
440
+ #
441
+ # {
442
+ # deployment_id: "DeploymentId",
443
+ # target_ids: ["TargetId"],
444
+ # }
445
+ #
446
+ # @!attribute [rw] deployment_id
447
+ # The unique ID of a deployment.
448
+ # @return [String]
449
+ #
450
+ # @!attribute [rw] target_ids
451
+ # The unique IDs of the deployment targets. The compute platform of
452
+ # the deployment determines the type of the targets and their formats.
453
+ #
454
+ # * For deployments that use the EC2/On-premises compute platform, the
455
+ # target IDs are EC2 or on-premises instances IDs and their target
456
+ # type is `instanceTarget`.
457
+ #
458
+ # * For deployments that use the AWS Lambda compute platform, the
459
+ # target IDs are the names of Lambda functions and their target type
460
+ # is `instanceTarget`.
461
+ #
462
+ # * For deployments that use the Amazon ECS compute platform, the
463
+ # target IDs are pairs of Amazon ECS clusters and services specified
464
+ # using the format `<clustername>:<servicename>`. Their target type
465
+ # is `ecsTarget`.
466
+ # @return [Array<String>]
467
+ #
468
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeploymentTargetsInput AWS API Documentation
469
+ #
470
+ class BatchGetDeploymentTargetsInput < Struct.new(
471
+ :deployment_id,
472
+ :target_ids)
473
+ include Aws::Structure
474
+ end
475
+
476
+ # @!attribute [rw] deployment_targets
477
+ # A list of target objects for a deployment. Each target object
478
+ # contains details about the target, such as its status and lifecycle
479
+ # events. The type of the target objects depends on the deployment'
480
+ # compute platform.
481
+ #
482
+ # * **EC2/On-premises** - Each target object is an EC2 or on-premises
483
+ # instance.
484
+ #
485
+ # * **AWS Lambda** - The target object is a specific version of an AWS
486
+ # Lambda function.
487
+ #
488
+ # * **Amazon ECS** - The target object is an Amazon ECS service.
489
+ # @return [Array<Types::DeploymentTarget>]
490
+ #
491
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/BatchGetDeploymentTargetsOutput AWS API Documentation
492
+ #
493
+ class BatchGetDeploymentTargetsOutput < Struct.new(
494
+ :deployment_targets)
495
+ include Aws::Structure
496
+ end
497
+
392
498
  # Represents the input of a BatchGetDeployments operation.
393
499
  #
394
500
  # @note When making an API call, you may pass BatchGetDeploymentsInput
@@ -541,17 +647,26 @@ module Aws::CodeDeploy
541
647
  #
542
648
  # {
543
649
  # deployment_id: "DeploymentId",
650
+ # deployment_wait_type: "READY_WAIT", # accepts READY_WAIT, TERMINATION_WAIT
544
651
  # }
545
652
  #
546
653
  # @!attribute [rw] deployment_id
547
- # The deployment ID of the blue/green deployment for which you want to
548
- # start rerouting traffic to the replacement environment.
654
+ # The unique ID of a blue/green deployment for which you want to start
655
+ # rerouting traffic to the replacement environment.
656
+ # @return [String]
657
+ #
658
+ # @!attribute [rw] deployment_wait_type
659
+ # The status of the deployment's waiting period. READY\_WAIT
660
+ # indicates the deployment is ready to start shifting traffic.
661
+ # TERMINATION\_WAIT indicates the traffic is shifted, but the original
662
+ # target is not terminated.
549
663
  # @return [String]
550
664
  #
551
665
  # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ContinueDeploymentInput AWS API Documentation
552
666
  #
553
667
  class ContinueDeploymentInput < Struct.new(
554
- :deployment_id)
668
+ :deployment_id,
669
+ :deployment_wait_type)
555
670
  include Aws::Structure
556
671
  end
557
672
 
@@ -562,7 +677,7 @@ module Aws::CodeDeploy
562
677
  #
563
678
  # {
564
679
  # application_name: "ApplicationName", # required
565
- # compute_platform: "Server", # accepts Server, Lambda
680
+ # compute_platform: "Server", # accepts Server, Lambda, ECS
566
681
  # }
567
682
  #
568
683
  # @!attribute [rw] application_name
@@ -618,7 +733,7 @@ module Aws::CodeDeploy
618
733
  # linear_interval: 1,
619
734
  # },
620
735
  # },
621
- # compute_platform: "Server", # accepts Server, Lambda
736
+ # compute_platform: "Server", # accepts Server, Lambda, ECS
622
737
  # }
623
738
  #
624
739
  # @!attribute [rw] deployment_config_name
@@ -754,6 +869,21 @@ module Aws::CodeDeploy
754
869
  # name: "TargetGroupName",
755
870
  # },
756
871
  # ],
872
+ # target_group_pair_info_list: [
873
+ # {
874
+ # target_groups: [
875
+ # {
876
+ # name: "TargetGroupName",
877
+ # },
878
+ # ],
879
+ # prod_traffic_route: {
880
+ # listener_arns: ["ListenerArn"],
881
+ # },
882
+ # test_traffic_route: {
883
+ # listener_arns: ["ListenerArn"],
884
+ # },
885
+ # },
886
+ # ],
757
887
  # },
758
888
  # ec2_tag_set: {
759
889
  # ec2_tag_set_list: [
@@ -766,6 +896,12 @@ module Aws::CodeDeploy
766
896
  # ],
767
897
  # ],
768
898
  # },
899
+ # ecs_services: [
900
+ # {
901
+ # service_name: "ECSServiceName",
902
+ # cluster_name: "ECSClusterName",
903
+ # },
904
+ # ],
769
905
  # on_premises_tag_set: {
770
906
  # on_premises_tag_set_list: [
771
907
  # [
@@ -869,6 +1005,13 @@ module Aws::CodeDeploy
869
1005
  # the tag groups. Cannot be used in the same call as ec2TagFilters.
870
1006
  # @return [Types::EC2TagSet]
871
1007
  #
1008
+ # @!attribute [rw] ecs_services
1009
+ # The target ECS services in the deployment group. This only applies
1010
+ # to deployment groups that use the Amazon ECS compute platform. A
1011
+ # target ECS service is specified as an Amazon ECS cluster and service
1012
+ # name pair using the format `<clustername>:<servicename>`.
1013
+ # @return [Array<Types::ECSService>]
1014
+ #
872
1015
  # @!attribute [rw] on_premises_tag_set
873
1016
  # Information about groups of tags applied to on-premises instances.
874
1017
  # The deployment group will include only on-premises instances
@@ -893,6 +1036,7 @@ module Aws::CodeDeploy
893
1036
  :blue_green_deployment_configuration,
894
1037
  :load_balancer_info,
895
1038
  :ec2_tag_set,
1039
+ :ecs_services,
896
1040
  :on_premises_tag_set)
897
1041
  include Aws::Structure
898
1042
  end
@@ -919,7 +1063,7 @@ module Aws::CodeDeploy
919
1063
  # application_name: "ApplicationName", # required
920
1064
  # deployment_group_name: "DeploymentGroupName",
921
1065
  # revision: {
922
- # revision_type: "S3", # accepts S3, GitHub, String
1066
+ # revision_type: "S3", # accepts S3, GitHub, String, AppSpecContent
923
1067
  # s3_location: {
924
1068
  # bucket: "S3Bucket",
925
1069
  # key: "S3Key",
@@ -935,6 +1079,10 @@ module Aws::CodeDeploy
935
1079
  # content: "RawStringContent",
936
1080
  # sha256: "RawStringSha256",
937
1081
  # },
1082
+ # app_spec_content: {
1083
+ # content: "RawStringContent",
1084
+ # sha256: "RawStringSha256",
1085
+ # },
938
1086
  # },
939
1087
  # deployment_config_name: "DeploymentConfigName",
940
1088
  # description: "Description",
@@ -1060,7 +1208,7 @@ module Aws::CodeDeploy
1060
1208
  # Represents the output of a CreateDeployment operation.
1061
1209
  #
1062
1210
  # @!attribute [rw] deployment_id
1063
- # A unique deployment ID.
1211
+ # The unique ID of a deployment.
1064
1212
  # @return [String]
1065
1213
  #
1066
1214
  # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/CreateDeploymentOutput AWS API Documentation
@@ -1331,6 +1479,13 @@ module Aws::CodeDeploy
1331
1479
  # `Server`).
1332
1480
  # @return [String]
1333
1481
  #
1482
+ # @!attribute [rw] ecs_services
1483
+ # The target ECS services in the deployment group. This only applies
1484
+ # to deployment groups that use the Amazon ECS compute platform. A
1485
+ # target ECS service is specified as an Amazon ECS cluster and service
1486
+ # name pair using the format `<clustername>:<servicename>`.
1487
+ # @return [Array<Types::ECSService>]
1488
+ #
1334
1489
  # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeploymentGroupInfo AWS API Documentation
1335
1490
  #
1336
1491
  class DeploymentGroupInfo < Struct.new(
@@ -1353,7 +1508,8 @@ module Aws::CodeDeploy
1353
1508
  :last_attempted_deployment,
1354
1509
  :ec2_tag_set,
1355
1510
  :on_premises_tag_set,
1356
- :compute_platform)
1511
+ :compute_platform,
1512
+ :ecs_services)
1357
1513
  include Aws::Structure
1358
1514
  end
1359
1515
 
@@ -1372,7 +1528,7 @@ module Aws::CodeDeploy
1372
1528
  # @return [String]
1373
1529
  #
1374
1530
  # @!attribute [rw] deployment_id
1375
- # The deployment ID.
1531
+ # The unique ID of a deployment.
1376
1532
  # @return [String]
1377
1533
  #
1378
1534
  # @!attribute [rw] previous_revision
@@ -1658,6 +1814,38 @@ module Aws::CodeDeploy
1658
1814
  include Aws::Structure
1659
1815
  end
1660
1816
 
1817
+ # Information about the deployment target.
1818
+ #
1819
+ # @!attribute [rw] deployment_target_type
1820
+ # The deployment type which is specific to the deployment's compute
1821
+ # platform.
1822
+ # @return [String]
1823
+ #
1824
+ # @!attribute [rw] instance_target
1825
+ # Information about the target for a deployment that uses the
1826
+ # EC2/On-premises compute platform.
1827
+ # @return [Types::InstanceTarget]
1828
+ #
1829
+ # @!attribute [rw] lambda_target
1830
+ # Information about the target for a deployment that uses the AWS
1831
+ # Lambda compute platform.
1832
+ # @return [Types::LambdaTarget]
1833
+ #
1834
+ # @!attribute [rw] ecs_target
1835
+ # Information about the target for a deployment that uses the Amazon
1836
+ # ECS compute platform.
1837
+ # @return [Types::ECSTarget]
1838
+ #
1839
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/DeploymentTarget AWS API Documentation
1840
+ #
1841
+ class DeploymentTarget < Struct.new(
1842
+ :deployment_target_type,
1843
+ :instance_target,
1844
+ :lambda_target,
1845
+ :ecs_target)
1846
+ include Aws::Structure
1847
+ end
1848
+
1661
1849
  # Represents the input of a DeregisterOnPremisesInstance operation.
1662
1850
  #
1663
1851
  # @note When making an API call, you may pass DeregisterOnPremisesInstanceInput
@@ -1794,6 +1982,152 @@ module Aws::CodeDeploy
1794
1982
  include Aws::Structure
1795
1983
  end
1796
1984
 
1985
+ # Contains the service and cluster names used to identify an Amazon ECS
1986
+ # deployment's target.
1987
+ #
1988
+ # @note When making an API call, you may pass ECSService
1989
+ # data as a hash:
1990
+ #
1991
+ # {
1992
+ # service_name: "ECSServiceName",
1993
+ # cluster_name: "ECSClusterName",
1994
+ # }
1995
+ #
1996
+ # @!attribute [rw] service_name
1997
+ # The name of the target ECS service.
1998
+ # @return [String]
1999
+ #
2000
+ # @!attribute [rw] cluster_name
2001
+ # The name of the cluster that the ECS service is associated with.
2002
+ # @return [String]
2003
+ #
2004
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ECSService AWS API Documentation
2005
+ #
2006
+ class ECSService < Struct.new(
2007
+ :service_name,
2008
+ :cluster_name)
2009
+ include Aws::Structure
2010
+ end
2011
+
2012
+ # Information about the target of an Amazon ECS deployment.
2013
+ #
2014
+ # @!attribute [rw] deployment_id
2015
+ # The unique ID of a deployment.
2016
+ # @return [String]
2017
+ #
2018
+ # @!attribute [rw] target_id
2019
+ # The unique ID of a deployment target that has a type of `ecsTarget`.
2020
+ # @return [String]
2021
+ #
2022
+ # @!attribute [rw] target_arn
2023
+ # The ARN of the target.
2024
+ # @return [String]
2025
+ #
2026
+ # @!attribute [rw] last_updated_at
2027
+ # The date and time when the target Amazon ECS application was updated
2028
+ # by a deployment.
2029
+ # @return [Time]
2030
+ #
2031
+ # @!attribute [rw] lifecycle_events
2032
+ # The lifecycle events of the deployment to this target Amazon ECS
2033
+ # application.
2034
+ # @return [Array<Types::LifecycleEvent>]
2035
+ #
2036
+ # @!attribute [rw] status
2037
+ # The status an Amazon ECS deployment's target ECS application.
2038
+ # @return [String]
2039
+ #
2040
+ # @!attribute [rw] task_sets_info
2041
+ # The `ECSTaskSet` objects associated with the ECS target.
2042
+ # @return [Array<Types::ECSTaskSet>]
2043
+ #
2044
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ECSTarget AWS API Documentation
2045
+ #
2046
+ class ECSTarget < Struct.new(
2047
+ :deployment_id,
2048
+ :target_id,
2049
+ :target_arn,
2050
+ :last_updated_at,
2051
+ :lifecycle_events,
2052
+ :status,
2053
+ :task_sets_info)
2054
+ include Aws::Structure
2055
+ end
2056
+
2057
+ # A set of Amazon ECS tasks. A task set runs a specified number of
2058
+ # instances of a task definition simultaneously inside an Amazon ECS
2059
+ # service. Information about a set of Amazon ECS tasks in an AWS
2060
+ # CodeDeploy deployment. An Amazon ECS task set includes details such as
2061
+ # the desired number of tasks, how many tasks are running, and whether
2062
+ # the task set serves production traffic or not.
2063
+ #
2064
+ # @!attribute [rw] identifer
2065
+ # A unique ID of an `ECSTaskSet`.
2066
+ # @return [String]
2067
+ #
2068
+ # @!attribute [rw] desired_count
2069
+ # The number of tasks in a task set. During a deployment that uses the
2070
+ # Amazon ECS compute type, CodeDeploy asks Amazon ECS to create a new
2071
+ # task set and uses this value to determine how many tasks to create.
2072
+ # After the updated task set is created, CodeDeploy shifts traffic to
2073
+ # the new task set.
2074
+ # @return [Integer]
2075
+ #
2076
+ # @!attribute [rw] pending_count
2077
+ # The number of tasks in the task set that are in the `PENDING` status
2078
+ # during an Amazon ECS deployment. A task in the `PENDING` state is
2079
+ # preparing to enter the `RUNNING` state. A task set enters the
2080
+ # `PENDING` status when it launches for the first time, or when it is
2081
+ # restarted after being in the `STOPPED` state.
2082
+ # @return [Integer]
2083
+ #
2084
+ # @!attribute [rw] running_count
2085
+ # The number of tasks in the task set that are in the `RUNNING` status
2086
+ # during an Amazon ECS deployment. A task in the `RUNNING` state is
2087
+ # running and ready for use.
2088
+ # @return [Integer]
2089
+ #
2090
+ # @!attribute [rw] status
2091
+ # The status of the task set. There are three valid task set statuses:
2092
+ #
2093
+ # * `PRIMARY` - indicates the task set is serving production traffic.
2094
+ #
2095
+ # * `ACTIVE` - indicates the task set is not serving production
2096
+ # traffic.
2097
+ #
2098
+ # * `DRAINING` - indicates the tasks in the task set are being stopped
2099
+ # and their corresponding targets are being deregistered from their
2100
+ # target group.
2101
+ # @return [String]
2102
+ #
2103
+ # @!attribute [rw] traffic_weight
2104
+ # The percentage of traffic served by this task set.
2105
+ # @return [Float]
2106
+ #
2107
+ # @!attribute [rw] target_group
2108
+ # The target group associated with the task set. The target group is
2109
+ # used by AWS CodeDeploy to manage traffic to a task set.
2110
+ # @return [Types::TargetGroupInfo]
2111
+ #
2112
+ # @!attribute [rw] task_set_label
2113
+ # A label that identifies whether the ECS task set is an original
2114
+ # target (`BLUE`) or a replacement target (`GREEN`).
2115
+ # @return [String]
2116
+ #
2117
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ECSTaskSet AWS API Documentation
2118
+ #
2119
+ class ECSTaskSet < Struct.new(
2120
+ :identifer,
2121
+ :desired_count,
2122
+ :pending_count,
2123
+ :running_count,
2124
+ :status,
2125
+ :traffic_weight,
2126
+ :target_group,
2127
+ :task_set_label)
2128
+ include Aws::Structure
2129
+ end
2130
+
1797
2131
  # Information about a load balancer in Elastic Load Balancing to use in
1798
2132
  # a deployment. Instances are registered directly with a load balancer,
1799
2133
  # and traffic is routed to the load balancer.
@@ -1961,7 +2295,7 @@ module Aws::CodeDeploy
1961
2295
  # {
1962
2296
  # application_name: "ApplicationName", # required
1963
2297
  # revision: { # required
1964
- # revision_type: "S3", # accepts S3, GitHub, String
2298
+ # revision_type: "S3", # accepts S3, GitHub, String, AppSpecContent
1965
2299
  # s3_location: {
1966
2300
  # bucket: "S3Bucket",
1967
2301
  # key: "S3Key",
@@ -1977,6 +2311,10 @@ module Aws::CodeDeploy
1977
2311
  # content: "RawStringContent",
1978
2312
  # sha256: "RawStringSha256",
1979
2313
  # },
2314
+ # app_spec_content: {
2315
+ # content: "RawStringContent",
2316
+ # sha256: "RawStringSha256",
2317
+ # },
1980
2318
  # },
1981
2319
  # }
1982
2320
  #
@@ -2106,8 +2444,8 @@ module Aws::CodeDeploy
2106
2444
  # }
2107
2445
  #
2108
2446
  # @!attribute [rw] deployment_id
2109
- # A deployment ID associated with the applicable IAM user or AWS
2110
- # account.
2447
+ # The unique ID of a deployment associated with the applicable IAM
2448
+ # user or AWS account.
2111
2449
  # @return [String]
2112
2450
  #
2113
2451
  # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentInput AWS API Documentation
@@ -2169,6 +2507,45 @@ module Aws::CodeDeploy
2169
2507
  include Aws::Structure
2170
2508
  end
2171
2509
 
2510
+ # @note When making an API call, you may pass GetDeploymentTargetInput
2511
+ # data as a hash:
2512
+ #
2513
+ # {
2514
+ # deployment_id: "DeploymentId",
2515
+ # target_id: "TargetId",
2516
+ # }
2517
+ #
2518
+ # @!attribute [rw] deployment_id
2519
+ # The unique ID of a deployment.
2520
+ # @return [String]
2521
+ #
2522
+ # @!attribute [rw] target_id
2523
+ # The unique ID of a deployment target.
2524
+ # @return [String]
2525
+ #
2526
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentTargetInput AWS API Documentation
2527
+ #
2528
+ class GetDeploymentTargetInput < Struct.new(
2529
+ :deployment_id,
2530
+ :target_id)
2531
+ include Aws::Structure
2532
+ end
2533
+
2534
+ # @!attribute [rw] deployment_target
2535
+ # A deployment target that contains information about a deployment
2536
+ # such as its status, lifecyle events, and when it was updated last.
2537
+ # It also contains metadata about the deployment target. The
2538
+ # deployment target metadata depends on the deployment target's type
2539
+ # (`instanceTarget`, `lambdaTarget`, or `ecsTarget`).
2540
+ # @return [Types::DeploymentTarget]
2541
+ #
2542
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/GetDeploymentTargetOutput AWS API Documentation
2543
+ #
2544
+ class GetDeploymentTargetOutput < Struct.new(
2545
+ :deployment_target)
2546
+ include Aws::Structure
2547
+ end
2548
+
2172
2549
  # Represents the input of a GetOnPremisesInstance operation.
2173
2550
  #
2174
2551
  # @note When making an API call, you may pass GetOnPremisesInstanceInput
@@ -2309,7 +2686,7 @@ module Aws::CodeDeploy
2309
2686
  # Information about an instance in a deployment.
2310
2687
  #
2311
2688
  # @!attribute [rw] deployment_id
2312
- # The deployment ID.
2689
+ # The unique ID of a deployment.
2313
2690
  # @return [String]
2314
2691
  #
2315
2692
  # @!attribute [rw] instance_id
@@ -2362,11 +2739,100 @@ module Aws::CodeDeploy
2362
2739
  include Aws::Structure
2363
2740
  end
2364
2741
 
2742
+ # A target Amazon EC2 or on-premises instance during a deployment that
2743
+ # uses the EC2/On-premises compute platform.
2744
+ #
2745
+ # @!attribute [rw] deployment_id
2746
+ # The unique ID of a deployment.
2747
+ # @return [String]
2748
+ #
2749
+ # @!attribute [rw] target_id
2750
+ # The unique ID of a deployment target that has a type of
2751
+ # `instanceTarget`.
2752
+ # @return [String]
2753
+ #
2754
+ # @!attribute [rw] target_arn
2755
+ # The ARN of the target.
2756
+ # @return [String]
2757
+ #
2758
+ # @!attribute [rw] status
2759
+ # The status an EC2/On-premises deployment's target instance.
2760
+ # @return [String]
2761
+ #
2762
+ # @!attribute [rw] last_updated_at
2763
+ # The date and time when the target instance was updated by a
2764
+ # deployment.
2765
+ # @return [Time]
2766
+ #
2767
+ # @!attribute [rw] lifecycle_events
2768
+ # The lifecycle events of the deployment to this target instance.
2769
+ # @return [Array<Types::LifecycleEvent>]
2770
+ #
2771
+ # @!attribute [rw] instance_label
2772
+ # A label that identifies whether the instance is an original target
2773
+ # (`BLUE`) or a replacement target (`GREEN`).
2774
+ # @return [String]
2775
+ #
2776
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/InstanceTarget AWS API Documentation
2777
+ #
2778
+ class InstanceTarget < Struct.new(
2779
+ :deployment_id,
2780
+ :target_id,
2781
+ :target_arn,
2782
+ :status,
2783
+ :last_updated_at,
2784
+ :lifecycle_events,
2785
+ :instance_label)
2786
+ include Aws::Structure
2787
+ end
2788
+
2789
+ # Information about the target AWS Lambda function during an AWS Lambda
2790
+ # deployment.
2791
+ #
2792
+ # @!attribute [rw] deployment_id
2793
+ # The unique ID of a deployment.
2794
+ # @return [String]
2795
+ #
2796
+ # @!attribute [rw] target_id
2797
+ # The unique ID of a deployment target that has a type of
2798
+ # `lambdaTarget`.
2799
+ # @return [String]
2800
+ #
2801
+ # @!attribute [rw] target_arn
2802
+ # The ARN of the target.
2803
+ # @return [String]
2804
+ #
2805
+ # @!attribute [rw] status
2806
+ # The status an AWS Lambda deployment's target Lambda function.
2807
+ # @return [String]
2808
+ #
2809
+ # @!attribute [rw] last_updated_at
2810
+ # The date and time when the target Lambda function was updated by a
2811
+ # deployment.
2812
+ # @return [Time]
2813
+ #
2814
+ # @!attribute [rw] lifecycle_events
2815
+ # The lifecycle events of the deployment to this target Lambda
2816
+ # function.
2817
+ # @return [Array<Types::LifecycleEvent>]
2818
+ #
2819
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/LambdaTarget AWS API Documentation
2820
+ #
2821
+ class LambdaTarget < Struct.new(
2822
+ :deployment_id,
2823
+ :target_id,
2824
+ :target_arn,
2825
+ :status,
2826
+ :last_updated_at,
2827
+ :lifecycle_events)
2828
+ include Aws::Structure
2829
+ end
2830
+
2365
2831
  # Information about the most recent attempted or successful deployment
2366
2832
  # to a deployment group.
2367
2833
  #
2368
2834
  # @!attribute [rw] deployment_id
2369
- # The deployment ID.
2835
+ # The unique ID of a deployment.
2370
2836
  # @return [String]
2371
2837
  #
2372
2838
  # @!attribute [rw] status
@@ -2490,7 +2956,7 @@ module Aws::CodeDeploy
2490
2956
  # @!attribute [rw] s3_bucket
2491
2957
  # An Amazon S3 bucket name to limit the search for revisions.
2492
2958
  #
2493
- # If set to null, all of the user's buckets will be searched.
2959
+ # If set to null, all of the user's buckets are searched.
2494
2960
  # @return [String]
2495
2961
  #
2496
2962
  # @!attribute [rw] s3_key_prefix
@@ -2512,7 +2978,7 @@ module Aws::CodeDeploy
2512
2978
  # @return [String]
2513
2979
  #
2514
2980
  # @!attribute [rw] next_token
2515
- # An identifier returned from the previous list application revisions
2981
+ # An identifier returned from the previous `ListApplicationRevisions`
2516
2982
  # call. It can be used to return the next set of applications in the
2517
2983
  # list.
2518
2984
  # @return [String]
@@ -2603,9 +3069,9 @@ module Aws::CodeDeploy
2603
3069
  # }
2604
3070
  #
2605
3071
  # @!attribute [rw] next_token
2606
- # An identifier returned from the previous list deployment
2607
- # configurations call. It can be used to return the next set of
2608
- # deployment configurations in the list.
3072
+ # An identifier returned from the previous `ListDeploymentConfigs`
3073
+ # call. It can be used to return the next set of deployment
3074
+ # configurations in the list.
2609
3075
  # @return [String]
2610
3076
  #
2611
3077
  # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeploymentConfigsInput AWS API Documentation
@@ -2768,6 +3234,59 @@ module Aws::CodeDeploy
2768
3234
  include Aws::Structure
2769
3235
  end
2770
3236
 
3237
+ # @note When making an API call, you may pass ListDeploymentTargetsInput
3238
+ # data as a hash:
3239
+ #
3240
+ # {
3241
+ # deployment_id: "DeploymentId",
3242
+ # next_token: "NextToken",
3243
+ # target_filters: {
3244
+ # "TargetStatus" => ["FilterValue"],
3245
+ # },
3246
+ # }
3247
+ #
3248
+ # @!attribute [rw] deployment_id
3249
+ # The unique ID of a deployment.
3250
+ # @return [String]
3251
+ #
3252
+ # @!attribute [rw] next_token
3253
+ # A token identifier returned from the previous
3254
+ # `ListDeploymentTargets` call. It can be used to return the next set
3255
+ # of deployment targets in the list.
3256
+ # @return [String]
3257
+ #
3258
+ # @!attribute [rw] target_filters
3259
+ # A key used to filter the returned targets.
3260
+ # @return [Hash<String,Array<String>>]
3261
+ #
3262
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeploymentTargetsInput AWS API Documentation
3263
+ #
3264
+ class ListDeploymentTargetsInput < Struct.new(
3265
+ :deployment_id,
3266
+ :next_token,
3267
+ :target_filters)
3268
+ include Aws::Structure
3269
+ end
3270
+
3271
+ # @!attribute [rw] target_ids
3272
+ # The unique IDs of deployment targets.
3273
+ # @return [Array<String>]
3274
+ #
3275
+ # @!attribute [rw] next_token
3276
+ # If a large amount of information is returned, a token identifier
3277
+ # will also be returned. It can be used in a subsequent
3278
+ # `ListDeploymentTargets` call to return the next set of deployment
3279
+ # targets in the list.
3280
+ # @return [String]
3281
+ #
3282
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/ListDeploymentTargetsOutput AWS API Documentation
3283
+ #
3284
+ class ListDeploymentTargetsOutput < Struct.new(
3285
+ :target_ids,
3286
+ :next_token)
3287
+ include Aws::Structure
3288
+ end
3289
+
2771
3290
  # Represents the input of a ListDeployments operation.
2772
3291
  #
2773
3292
  # @note When making an API call, you may pass ListDeploymentsInput
@@ -2977,6 +3496,21 @@ module Aws::CodeDeploy
2977
3496
  # name: "TargetGroupName",
2978
3497
  # },
2979
3498
  # ],
3499
+ # target_group_pair_info_list: [
3500
+ # {
3501
+ # target_groups: [
3502
+ # {
3503
+ # name: "TargetGroupName",
3504
+ # },
3505
+ # ],
3506
+ # prod_traffic_route: {
3507
+ # listener_arns: ["ListenerArn"],
3508
+ # },
3509
+ # test_traffic_route: {
3510
+ # listener_arns: ["ListenerArn"],
3511
+ # },
3512
+ # },
3513
+ # ],
2980
3514
  # }
2981
3515
  #
2982
3516
  # @!attribute [rw] elb_info_list
@@ -2999,11 +3533,17 @@ module Aws::CodeDeploy
2999
3533
  # </note>
3000
3534
  # @return [Array<Types::TargetGroupInfo>]
3001
3535
  #
3536
+ # @!attribute [rw] target_group_pair_info_list
3537
+ # The target group pair information. This is an array of
3538
+ # `TargeGroupPairInfo` objects with a maximum size of one.
3539
+ # @return [Array<Types::TargetGroupPairInfo>]
3540
+ #
3002
3541
  # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/LoadBalancerInfo AWS API Documentation
3003
3542
  #
3004
3543
  class LoadBalancerInfo < Struct.new(
3005
3544
  :elb_info_list,
3006
- :target_group_info_list)
3545
+ :target_group_info_list,
3546
+ :target_group_pair_info_list)
3007
3547
  include Aws::Structure
3008
3548
  end
3009
3549
 
@@ -3108,8 +3648,8 @@ module Aws::CodeDeploy
3108
3648
  # }
3109
3649
  #
3110
3650
  # @!attribute [rw] deployment_id
3111
- # The ID of the deployment. Pass this ID to a Lambda function that
3112
- # validates a deployment lifecycle event.
3651
+ # The unique ID of a deployment. Pass this ID to a Lambda function
3652
+ # that validates a deployment lifecycle event.
3113
3653
  # @return [String]
3114
3654
  #
3115
3655
  # @!attribute [rw] lifecycle_event_hook_execution_id
@@ -3163,8 +3703,7 @@ module Aws::CodeDeploy
3163
3703
  # @return [String]
3164
3704
  #
3165
3705
  # @!attribute [rw] sha256
3166
- # The SHA256 hash value of the revision that is specified as a
3167
- # RawString.
3706
+ # The SHA256 hash value of the revision content.
3168
3707
  # @return [String]
3169
3708
  #
3170
3709
  # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RawString AWS API Documentation
@@ -3184,7 +3723,7 @@ module Aws::CodeDeploy
3184
3723
  # application_name: "ApplicationName", # required
3185
3724
  # description: "Description",
3186
3725
  # revision: { # required
3187
- # revision_type: "S3", # accepts S3, GitHub, String
3726
+ # revision_type: "S3", # accepts S3, GitHub, String, AppSpecContent
3188
3727
  # s3_location: {
3189
3728
  # bucket: "S3Bucket",
3190
3729
  # key: "S3Key",
@@ -3200,6 +3739,10 @@ module Aws::CodeDeploy
3200
3739
  # content: "RawStringContent",
3201
3740
  # sha256: "RawStringSha256",
3202
3741
  # },
3742
+ # app_spec_content: {
3743
+ # content: "RawStringContent",
3744
+ # sha256: "RawStringSha256",
3745
+ # },
3203
3746
  # },
3204
3747
  # }
3205
3748
  #
@@ -3315,7 +3858,7 @@ module Aws::CodeDeploy
3315
3858
  # data as a hash:
3316
3859
  #
3317
3860
  # {
3318
- # revision_type: "S3", # accepts S3, GitHub, String
3861
+ # revision_type: "S3", # accepts S3, GitHub, String, AppSpecContent
3319
3862
  # s3_location: {
3320
3863
  # bucket: "S3Bucket",
3321
3864
  # key: "S3Key",
@@ -3331,6 +3874,10 @@ module Aws::CodeDeploy
3331
3874
  # content: "RawStringContent",
3332
3875
  # sha256: "RawStringSha256",
3333
3876
  # },
3877
+ # app_spec_content: {
3878
+ # content: "RawStringContent",
3879
+ # sha256: "RawStringSha256",
3880
+ # },
3334
3881
  # }
3335
3882
  #
3336
3883
  # @!attribute [rw] revision_type
@@ -3359,13 +3906,20 @@ module Aws::CodeDeploy
3359
3906
  # stored as a RawString.
3360
3907
  # @return [Types::RawString]
3361
3908
  #
3909
+ # @!attribute [rw] app_spec_content
3910
+ # The content of an AppSpec file for an AWS Lambda or Amazon ECS
3911
+ # deployment. The content is formatted as JSON or YAML and stored as a
3912
+ # RawString.
3913
+ # @return [Types::AppSpecContent]
3914
+ #
3362
3915
  # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RevisionLocation AWS API Documentation
3363
3916
  #
3364
3917
  class RevisionLocation < Struct.new(
3365
3918
  :revision_type,
3366
3919
  :s3_location,
3367
3920
  :git_hub_location,
3368
- :string)
3921
+ :string,
3922
+ :app_spec_content)
3369
3923
  include Aws::Structure
3370
3924
  end
3371
3925
 
@@ -3465,8 +4019,8 @@ module Aws::CodeDeploy
3465
4019
  # }
3466
4020
  #
3467
4021
  # @!attribute [rw] deployment_id
3468
- # The ID of the blue/green deployment for which you want to skip the
3469
- # instance termination wait time.
4022
+ # The unique ID of a blue/green deployment for which you want to skip
4023
+ # the instance termination wait time.
3470
4024
  # @return [String]
3471
4025
  #
3472
4026
  # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/SkipWaitTimeForInstanceTerminationInput AWS API Documentation
@@ -3618,6 +4172,53 @@ module Aws::CodeDeploy
3618
4172
  include Aws::Structure
3619
4173
  end
3620
4174
 
4175
+ # Information about two target groups and how traffic routes during an
4176
+ # Amazon ECS deployment. An optional test traffic route can be
4177
+ # specified.
4178
+ #
4179
+ # @note When making an API call, you may pass TargetGroupPairInfo
4180
+ # data as a hash:
4181
+ #
4182
+ # {
4183
+ # target_groups: [
4184
+ # {
4185
+ # name: "TargetGroupName",
4186
+ # },
4187
+ # ],
4188
+ # prod_traffic_route: {
4189
+ # listener_arns: ["ListenerArn"],
4190
+ # },
4191
+ # test_traffic_route: {
4192
+ # listener_arns: ["ListenerArn"],
4193
+ # },
4194
+ # }
4195
+ #
4196
+ # @!attribute [rw] target_groups
4197
+ # One pair of target groups. One is associated with the original task
4198
+ # set. The second target is associated with the task set that serves
4199
+ # traffic after the deployment completes.
4200
+ # @return [Array<Types::TargetGroupInfo>]
4201
+ #
4202
+ # @!attribute [rw] prod_traffic_route
4203
+ # The path used by a load balancer to route production traffic when an
4204
+ # Amazon ECS deployment is complete.
4205
+ # @return [Types::TrafficRoute]
4206
+ #
4207
+ # @!attribute [rw] test_traffic_route
4208
+ # An optional path used by a load balancer to route test traffic after
4209
+ # an Amazon ECS deployment. Validation can happen while test traffic
4210
+ # is served during a deployment.
4211
+ # @return [Types::TrafficRoute]
4212
+ #
4213
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/TargetGroupPairInfo AWS API Documentation
4214
+ #
4215
+ class TargetGroupPairInfo < Struct.new(
4216
+ :target_groups,
4217
+ :prod_traffic_route,
4218
+ :test_traffic_route)
4219
+ include Aws::Structure
4220
+ end
4221
+
3621
4222
  # Information about the instances to be used in the replacement
3622
4223
  # environment in a blue/green deployment.
3623
4224
  #
@@ -3768,6 +4369,30 @@ module Aws::CodeDeploy
3768
4369
  include Aws::Structure
3769
4370
  end
3770
4371
 
4372
+ # Information about a listener. The listener contains the path used to
4373
+ # route traffic that is received from the load balancer to a target
4374
+ # group.
4375
+ #
4376
+ # @note When making an API call, you may pass TrafficRoute
4377
+ # data as a hash:
4378
+ #
4379
+ # {
4380
+ # listener_arns: ["ListenerArn"],
4381
+ # }
4382
+ #
4383
+ # @!attribute [rw] listener_arns
4384
+ # The ARN of one listener. The listener identifies the route between a
4385
+ # target group and a load balancer. This is an array of strings with a
4386
+ # maximum size of one.
4387
+ # @return [Array<String>]
4388
+ #
4389
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/TrafficRoute AWS API Documentation
4390
+ #
4391
+ class TrafficRoute < Struct.new(
4392
+ :listener_arns)
4393
+ include Aws::Structure
4394
+ end
4395
+
3771
4396
  # The configuration that specifies how traffic is shifted from one
3772
4397
  # version of a Lambda function to another version during an AWS Lambda
3773
4398
  # deployment.
@@ -3948,6 +4573,21 @@ module Aws::CodeDeploy
3948
4573
  # name: "TargetGroupName",
3949
4574
  # },
3950
4575
  # ],
4576
+ # target_group_pair_info_list: [
4577
+ # {
4578
+ # target_groups: [
4579
+ # {
4580
+ # name: "TargetGroupName",
4581
+ # },
4582
+ # ],
4583
+ # prod_traffic_route: {
4584
+ # listener_arns: ["ListenerArn"],
4585
+ # },
4586
+ # test_traffic_route: {
4587
+ # listener_arns: ["ListenerArn"],
4588
+ # },
4589
+ # },
4590
+ # ],
3951
4591
  # },
3952
4592
  # ec2_tag_set: {
3953
4593
  # ec2_tag_set_list: [
@@ -3960,6 +4600,12 @@ module Aws::CodeDeploy
3960
4600
  # ],
3961
4601
  # ],
3962
4602
  # },
4603
+ # ecs_services: [
4604
+ # {
4605
+ # service_name: "ECSServiceName",
4606
+ # cluster_name: "ECSClusterName",
4607
+ # },
4608
+ # ],
3963
4609
  # on_premises_tag_set: {
3964
4610
  # on_premises_tag_set_list: [
3965
4611
  # [
@@ -4055,6 +4701,13 @@ module Aws::CodeDeploy
4055
4701
  # all the tag groups.
4056
4702
  # @return [Types::EC2TagSet]
4057
4703
  #
4704
+ # @!attribute [rw] ecs_services
4705
+ # The target ECS services in the deployment group. This only applies
4706
+ # to deployment groups that use the Amazon ECS compute platform. A
4707
+ # target ECS service is specified as an Amazon ECS cluster and service
4708
+ # name pair using the format `<clustername>:<servicename>`.
4709
+ # @return [Array<Types::ECSService>]
4710
+ #
4058
4711
  # @!attribute [rw] on_premises_tag_set
4059
4712
  # Information about an on-premises instance tag set. The deployment
4060
4713
  # group will include only on-premises instances identified by all the
@@ -4079,6 +4732,7 @@ module Aws::CodeDeploy
4079
4732
  :blue_green_deployment_configuration,
4080
4733
  :load_balancer_info,
4081
4734
  :ec2_tag_set,
4735
+ :ecs_services,
4082
4736
  :on_premises_tag_set)
4083
4737
  include Aws::Structure
4084
4738
  end