aws-sdk-codepipeline 1.0.0.rc1

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.
@@ -0,0 +1,7 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module CodePipeline
10
+ module Errors
11
+
12
+ extend Aws::Errors::DynamicErrors
13
+
14
+ # Raised when calling #load or #data on a resource class that can not be
15
+ # loaded. This can happen when:
16
+ #
17
+ # * A resource class has identifiers, but no data attributes.
18
+ # * Resource data is only available when making an API call that
19
+ # enumerates all resources of that type.
20
+ class ResourceNotLoadable < RuntimeError; end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module CodePipeline
10
+ class Resource
11
+
12
+ # @param options ({})
13
+ # @option options [Client] :client
14
+ def initialize(options = {})
15
+ @client = options[:client] || Client.new(options)
16
+ end
17
+
18
+ # @return [Client]
19
+ def client
20
+ @client
21
+ end
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,2425 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module CodePipeline
10
+ module Types
11
+
12
+ # Represents an AWS session credentials object. These credentials are
13
+ # temporary credentials that are issued by AWS Secure Token Service
14
+ # (STS). They can be used to access input and output artifacts in the
15
+ # Amazon S3 bucket used to store artifact for the pipeline in AWS
16
+ # CodePipeline.
17
+ # @!attribute [rw] access_key_id
18
+ # The access key for the session.
19
+ # @return [String]
20
+ #
21
+ # @!attribute [rw] secret_access_key
22
+ # The secret access key for the session.
23
+ # @return [String]
24
+ #
25
+ # @!attribute [rw] session_token
26
+ # The token for the session.
27
+ # @return [String]
28
+ class AWSSessionCredentials < Struct.new(
29
+ :access_key_id,
30
+ :secret_access_key,
31
+ :session_token)
32
+ include Aws::Structure
33
+ end
34
+
35
+ # Represents the input of an acknowledge job action.
36
+ # @note When making an API call, pass AcknowledgeJobInput
37
+ # data as a hash:
38
+ #
39
+ # {
40
+ # job_id: "JobId", # required
41
+ # nonce: "Nonce", # required
42
+ # }
43
+ # @!attribute [rw] job_id
44
+ # The unique system-generated ID of the job for which you want to
45
+ # confirm receipt.
46
+ # @return [String]
47
+ #
48
+ # @!attribute [rw] nonce
49
+ # A system-generated random number that AWS CodePipeline uses to
50
+ # ensure that the job is being worked on by only one job worker. This
51
+ # number must be returned in the response.
52
+ # @return [String]
53
+ class AcknowledgeJobInput < Struct.new(
54
+ :job_id,
55
+ :nonce)
56
+ include Aws::Structure
57
+ end
58
+
59
+ # Represents the output of an acknowledge job action.
60
+ # @!attribute [rw] status
61
+ # Whether the job worker has received the specified job.
62
+ # @return [String]
63
+ class AcknowledgeJobOutput < Struct.new(
64
+ :status)
65
+ include Aws::Structure
66
+ end
67
+
68
+ # Represents the input of an acknowledge third party job action.
69
+ # @note When making an API call, pass AcknowledgeThirdPartyJobInput
70
+ # data as a hash:
71
+ #
72
+ # {
73
+ # job_id: "ThirdPartyJobId", # required
74
+ # nonce: "Nonce", # required
75
+ # client_token: "ClientToken", # required
76
+ # }
77
+ # @!attribute [rw] job_id
78
+ # The unique system-generated ID of the job.
79
+ # @return [String]
80
+ #
81
+ # @!attribute [rw] nonce
82
+ # A system-generated random number that AWS CodePipeline uses to
83
+ # ensure that the job is being worked on by only one job worker. This
84
+ # number must be returned in the response.
85
+ # @return [String]
86
+ #
87
+ # @!attribute [rw] client_token
88
+ # The clientToken portion of the clientId and clientToken pair used to
89
+ # verify that the calling entity is allowed access to the job and its
90
+ # details.
91
+ # @return [String]
92
+ class AcknowledgeThirdPartyJobInput < Struct.new(
93
+ :job_id,
94
+ :nonce,
95
+ :client_token)
96
+ include Aws::Structure
97
+ end
98
+
99
+ # Represents the output of an acknowledge third party job action.
100
+ # @!attribute [rw] status
101
+ # The status information for the third party job, if any.
102
+ # @return [String]
103
+ class AcknowledgeThirdPartyJobOutput < Struct.new(
104
+ :status)
105
+ include Aws::Structure
106
+ end
107
+
108
+ # Represents information about an action configuration.
109
+ # @!attribute [rw] configuration
110
+ # The configuration data for the action.
111
+ # @return [Hash<String,String>]
112
+ class ActionConfiguration < Struct.new(
113
+ :configuration)
114
+ include Aws::Structure
115
+ end
116
+
117
+ # Represents information about an action configuration property.
118
+ # @note When making an API call, pass ActionConfigurationProperty
119
+ # data as a hash:
120
+ #
121
+ # {
122
+ # name: "ActionConfigurationKey", # required
123
+ # required: false, # required
124
+ # key: false, # required
125
+ # secret: false, # required
126
+ # queryable: false,
127
+ # description: "Description",
128
+ # type: "String", # accepts String, Number, Boolean
129
+ # }
130
+ # @!attribute [rw] name
131
+ # The name of the action configuration property.
132
+ # @return [String]
133
+ #
134
+ # @!attribute [rw] required
135
+ # Whether the configuration property is a required value.
136
+ # @return [Boolean]
137
+ #
138
+ # @!attribute [rw] key
139
+ # Whether the configuration property is a key.
140
+ # @return [Boolean]
141
+ #
142
+ # @!attribute [rw] secret
143
+ # Whether the configuration property is secret. Secrets are hidden
144
+ # from all calls except for GetJobDetails, GetThirdPartyJobDetails,
145
+ # PollForJobs, and PollForThirdPartyJobs.
146
+ #
147
+ # When updating a pipeline, passing * * * * * without changing
148
+ # any other values of the action will preserve the prior value of the
149
+ # secret.
150
+ # @return [Boolean]
151
+ #
152
+ # @!attribute [rw] queryable
153
+ # Indicates that the proprety will be used in conjunction with
154
+ # PollForJobs. When creating a custom action, an action can have up to
155
+ # one queryable property. If it has one, that property must be both
156
+ # required and not secret.
157
+ #
158
+ # If you create a pipeline with a custom action type, and that custom
159
+ # action contains a queryable property, the value for that
160
+ # configuration property is subject to additional restrictions. The
161
+ # value must be less than or equal to twenty (20) characters. The
162
+ # value can contain only alphanumeric characters, underscores, and
163
+ # hyphens.
164
+ # @return [Boolean]
165
+ #
166
+ # @!attribute [rw] description
167
+ # The description of the action configuration property that will be
168
+ # displayed to users.
169
+ # @return [String]
170
+ #
171
+ # @!attribute [rw] type
172
+ # The type of the configuration property.
173
+ # @return [String]
174
+ class ActionConfigurationProperty < Struct.new(
175
+ :name,
176
+ :required,
177
+ :key,
178
+ :secret,
179
+ :queryable,
180
+ :description,
181
+ :type)
182
+ include Aws::Structure
183
+ end
184
+
185
+ # Represents the context of an action within the stage of a pipeline to
186
+ # a job worker.
187
+ # @!attribute [rw] name
188
+ # The name of the action within the context of a job.
189
+ # @return [String]
190
+ class ActionContext < Struct.new(
191
+ :name)
192
+ include Aws::Structure
193
+ end
194
+
195
+ # Represents information about an action declaration.
196
+ # @note When making an API call, pass ActionDeclaration
197
+ # data as a hash:
198
+ #
199
+ # {
200
+ # name: "ActionName", # required
201
+ # action_type_id: { # required
202
+ # category: "Source", # required, accepts Source, Build, Deploy, Test, Invoke, Approval
203
+ # owner: "AWS", # required, accepts AWS, ThirdParty, Custom
204
+ # provider: "ActionProvider", # required
205
+ # version: "Version", # required
206
+ # },
207
+ # run_order: 1,
208
+ # configuration: {
209
+ # "ActionConfigurationKey" => "ActionConfigurationValue",
210
+ # },
211
+ # output_artifacts: [
212
+ # {
213
+ # name: "ArtifactName", # required
214
+ # },
215
+ # ],
216
+ # input_artifacts: [
217
+ # {
218
+ # name: "ArtifactName", # required
219
+ # },
220
+ # ],
221
+ # role_arn: "RoleArn",
222
+ # }
223
+ # @!attribute [rw] name
224
+ # The action declaration's name.
225
+ # @return [String]
226
+ #
227
+ # @!attribute [rw] action_type_id
228
+ # The configuration information for the action type.
229
+ # @return [Types::ActionTypeId]
230
+ #
231
+ # @!attribute [rw] run_order
232
+ # The order in which actions are run.
233
+ # @return [Integer]
234
+ #
235
+ # @!attribute [rw] configuration
236
+ # The action declaration's configuration.
237
+ # @return [Hash<String,String>]
238
+ #
239
+ # @!attribute [rw] output_artifacts
240
+ # The name or ID of the result of the action declaration, such as a
241
+ # test or build artifact.
242
+ # @return [Array<Types::OutputArtifact>]
243
+ #
244
+ # @!attribute [rw] input_artifacts
245
+ # The name or ID of the artifact consumed by the action, such as a
246
+ # test or build artifact.
247
+ # @return [Array<Types::InputArtifact>]
248
+ #
249
+ # @!attribute [rw] role_arn
250
+ # The ARN of the IAM service role that will perform the declared
251
+ # action. This is assumed through the roleArn for the pipeline.
252
+ # @return [String]
253
+ class ActionDeclaration < Struct.new(
254
+ :name,
255
+ :action_type_id,
256
+ :run_order,
257
+ :configuration,
258
+ :output_artifacts,
259
+ :input_artifacts,
260
+ :role_arn)
261
+ include Aws::Structure
262
+ end
263
+
264
+ # Represents information about the run of an action.
265
+ # @!attribute [rw] status
266
+ # The status of the action, or for a completed action, the last status
267
+ # of the action.
268
+ # @return [String]
269
+ #
270
+ # @!attribute [rw] summary
271
+ # A summary of the run of the action.
272
+ # @return [String]
273
+ #
274
+ # @!attribute [rw] last_status_change
275
+ # The last status change of the action.
276
+ # @return [Time]
277
+ #
278
+ # @!attribute [rw] token
279
+ # The system-generated token used to identify a unique approval
280
+ # request. The token for each open approval request can be obtained
281
+ # using the GetPipelineState command and is used to validate that the
282
+ # approval request corresponding to this token is still valid.
283
+ # @return [String]
284
+ #
285
+ # @!attribute [rw] last_updated_by
286
+ # The ARN of the user who last changed the pipeline.
287
+ # @return [String]
288
+ #
289
+ # @!attribute [rw] external_execution_id
290
+ # The external ID of the run of the action.
291
+ # @return [String]
292
+ #
293
+ # @!attribute [rw] external_execution_url
294
+ # The URL of a resource external to AWS that will be used when running
295
+ # the action, for example an external repository URL.
296
+ # @return [String]
297
+ #
298
+ # @!attribute [rw] percent_complete
299
+ # A percentage of completeness of the action as it runs.
300
+ # @return [Integer]
301
+ #
302
+ # @!attribute [rw] error_details
303
+ # The details of an error returned by a URL external to AWS.
304
+ # @return [Types::ErrorDetails]
305
+ class ActionExecution < Struct.new(
306
+ :status,
307
+ :summary,
308
+ :last_status_change,
309
+ :token,
310
+ :last_updated_by,
311
+ :external_execution_id,
312
+ :external_execution_url,
313
+ :percent_complete,
314
+ :error_details)
315
+ include Aws::Structure
316
+ end
317
+
318
+ # Represents information about the version (or revision) of an action.
319
+ # @note When making an API call, pass ActionRevision
320
+ # data as a hash:
321
+ #
322
+ # {
323
+ # revision_id: "Revision", # required
324
+ # revision_change_id: "RevisionChangeIdentifier", # required
325
+ # created: Time.now, # required
326
+ # }
327
+ # @!attribute [rw] revision_id
328
+ # The system-generated unique ID that identifies the revision number
329
+ # of the action.
330
+ # @return [String]
331
+ #
332
+ # @!attribute [rw] revision_change_id
333
+ # The unique identifier of the change that set the state to this
334
+ # revision, for example a deployment ID or timestamp.
335
+ # @return [String]
336
+ #
337
+ # @!attribute [rw] created
338
+ # The date and time when the most recent version of the action was
339
+ # created, in timestamp format.
340
+ # @return [Time]
341
+ class ActionRevision < Struct.new(
342
+ :revision_id,
343
+ :revision_change_id,
344
+ :created)
345
+ include Aws::Structure
346
+ end
347
+
348
+ # Represents information about the state of an action.
349
+ # @!attribute [rw] action_name
350
+ # The name of the action.
351
+ # @return [String]
352
+ #
353
+ # @!attribute [rw] current_revision
354
+ # Represents information about the version (or revision) of an action.
355
+ # @return [Types::ActionRevision]
356
+ #
357
+ # @!attribute [rw] latest_execution
358
+ # Represents information about the run of an action.
359
+ # @return [Types::ActionExecution]
360
+ #
361
+ # @!attribute [rw] entity_url
362
+ # A URL link for more information about the state of the action, such
363
+ # as a deployment group details page.
364
+ # @return [String]
365
+ #
366
+ # @!attribute [rw] revision_url
367
+ # A URL link for more information about the revision, such as a commit
368
+ # details page.
369
+ # @return [String]
370
+ class ActionState < Struct.new(
371
+ :action_name,
372
+ :current_revision,
373
+ :latest_execution,
374
+ :entity_url,
375
+ :revision_url)
376
+ include Aws::Structure
377
+ end
378
+
379
+ # Returns information about the details of an action type.
380
+ # @!attribute [rw] id
381
+ # Represents information about an action type.
382
+ # @return [Types::ActionTypeId]
383
+ #
384
+ # @!attribute [rw] settings
385
+ # The settings for the action type.
386
+ # @return [Types::ActionTypeSettings]
387
+ #
388
+ # @!attribute [rw] action_configuration_properties
389
+ # The configuration properties for the action type.
390
+ # @return [Array<Types::ActionConfigurationProperty>]
391
+ #
392
+ # @!attribute [rw] input_artifact_details
393
+ # The details of the input artifact for the action, such as its commit
394
+ # ID.
395
+ # @return [Types::ArtifactDetails]
396
+ #
397
+ # @!attribute [rw] output_artifact_details
398
+ # The details of the output artifact of the action, such as its commit
399
+ # ID.
400
+ # @return [Types::ArtifactDetails]
401
+ class ActionType < Struct.new(
402
+ :id,
403
+ :settings,
404
+ :action_configuration_properties,
405
+ :input_artifact_details,
406
+ :output_artifact_details)
407
+ include Aws::Structure
408
+ end
409
+
410
+ # Represents information about an action type.
411
+ # @note When making an API call, pass ActionTypeId
412
+ # data as a hash:
413
+ #
414
+ # {
415
+ # category: "Source", # required, accepts Source, Build, Deploy, Test, Invoke, Approval
416
+ # owner: "AWS", # required, accepts AWS, ThirdParty, Custom
417
+ # provider: "ActionProvider", # required
418
+ # version: "Version", # required
419
+ # }
420
+ # @!attribute [rw] category
421
+ # A category defines what kind of action can be taken in the stage,
422
+ # and constrains the provider type for the action. Valid categories
423
+ # are limited to one of the values below.
424
+ # @return [String]
425
+ #
426
+ # @!attribute [rw] owner
427
+ # The creator of the action being called.
428
+ # @return [String]
429
+ #
430
+ # @!attribute [rw] provider
431
+ # The provider of the service being called by the action. Valid
432
+ # providers are determined by the action category. For example, an
433
+ # action in the Deploy category type might have a provider of AWS
434
+ # CodeDeploy, which would be specified as CodeDeploy.
435
+ # @return [String]
436
+ #
437
+ # @!attribute [rw] version
438
+ # A string that identifies the action type.
439
+ # @return [String]
440
+ class ActionTypeId < Struct.new(
441
+ :category,
442
+ :owner,
443
+ :provider,
444
+ :version)
445
+ include Aws::Structure
446
+ end
447
+
448
+ # Returns information about the settings for an action type.
449
+ # @note When making an API call, pass ActionTypeSettings
450
+ # data as a hash:
451
+ #
452
+ # {
453
+ # third_party_configuration_url: "Url",
454
+ # entity_url_template: "UrlTemplate",
455
+ # execution_url_template: "UrlTemplate",
456
+ # revision_url_template: "UrlTemplate",
457
+ # }
458
+ # @!attribute [rw] third_party_configuration_url
459
+ # The URL of a sign-up page where users can sign up for an external
460
+ # service and perform initial configuration of the action provided by
461
+ # that service.
462
+ # @return [String]
463
+ #
464
+ # @!attribute [rw] entity_url_template
465
+ # The URL returned to the AWS CodePipeline console that provides a
466
+ # deep link to the resources of the external system, such as the
467
+ # configuration page for an AWS CodeDeploy deployment group. This link
468
+ # is provided as part of the action display within the pipeline.
469
+ # @return [String]
470
+ #
471
+ # @!attribute [rw] execution_url_template
472
+ # The URL returned to the AWS CodePipeline console that contains a
473
+ # link to the top-level landing page for the external system, such as
474
+ # console page for AWS CodeDeploy. This link is shown on the pipeline
475
+ # view page in the AWS CodePipeline console and provides a link to the
476
+ # execution entity of the external action.
477
+ # @return [String]
478
+ #
479
+ # @!attribute [rw] revision_url_template
480
+ # The URL returned to the AWS CodePipeline console that contains a
481
+ # link to the page where customers can update or change the
482
+ # configuration of the external action.
483
+ # @return [String]
484
+ class ActionTypeSettings < Struct.new(
485
+ :third_party_configuration_url,
486
+ :entity_url_template,
487
+ :execution_url_template,
488
+ :revision_url_template)
489
+ include Aws::Structure
490
+ end
491
+
492
+ # Represents information about the result of an approval request.
493
+ # @note When making an API call, pass ApprovalResult
494
+ # data as a hash:
495
+ #
496
+ # {
497
+ # summary: "ApprovalSummary", # required
498
+ # status: "Approved", # required, accepts Approved, Rejected
499
+ # }
500
+ # @!attribute [rw] summary
501
+ # The summary of the current status of the approval request.
502
+ # @return [String]
503
+ #
504
+ # @!attribute [rw] status
505
+ # The response submitted by a reviewer assigned to an approval action
506
+ # request.
507
+ # @return [String]
508
+ class ApprovalResult < Struct.new(
509
+ :summary,
510
+ :status)
511
+ include Aws::Structure
512
+ end
513
+
514
+ # Represents information about an artifact that will be worked upon by
515
+ # actions in the pipeline.
516
+ # @!attribute [rw] name
517
+ # The artifact's name.
518
+ # @return [String]
519
+ #
520
+ # @!attribute [rw] revision
521
+ # The artifact's revision ID. Depending on the type of object, this
522
+ # could be a commit ID (GitHub) or a revision ID (Amazon S3).
523
+ # @return [String]
524
+ #
525
+ # @!attribute [rw] location
526
+ # The location of an artifact.
527
+ # @return [Types::ArtifactLocation]
528
+ class Artifact < Struct.new(
529
+ :name,
530
+ :revision,
531
+ :location)
532
+ include Aws::Structure
533
+ end
534
+
535
+ # Returns information about the details of an artifact.
536
+ # @note When making an API call, pass ArtifactDetails
537
+ # data as a hash:
538
+ #
539
+ # {
540
+ # minimum_count: 1, # required
541
+ # maximum_count: 1, # required
542
+ # }
543
+ # @!attribute [rw] minimum_count
544
+ # The minimum number of artifacts allowed for the action type.
545
+ # @return [Integer]
546
+ #
547
+ # @!attribute [rw] maximum_count
548
+ # The maximum number of artifacts allowed for the action type.
549
+ # @return [Integer]
550
+ class ArtifactDetails < Struct.new(
551
+ :minimum_count,
552
+ :maximum_count)
553
+ include Aws::Structure
554
+ end
555
+
556
+ # Represents information about the location of an artifact.
557
+ # @!attribute [rw] type
558
+ # The type of artifact in the location.
559
+ # @return [String]
560
+ #
561
+ # @!attribute [rw] s3_location
562
+ # The Amazon S3 bucket that contains the artifact.
563
+ # @return [Types::S3ArtifactLocation]
564
+ class ArtifactLocation < Struct.new(
565
+ :type,
566
+ :s3_location)
567
+ include Aws::Structure
568
+ end
569
+
570
+ # Represents revision details of an artifact.
571
+ # @!attribute [rw] name
572
+ # The name of an artifact. This name might be system-generated, such
573
+ # as "MyApp", or might be defined by the user when an action is
574
+ # created.
575
+ # @return [String]
576
+ #
577
+ # @!attribute [rw] revision_id
578
+ # The revision ID of the artifact.
579
+ # @return [String]
580
+ #
581
+ # @!attribute [rw] revision_change_identifier
582
+ # An additional identifier for a revision, such as a commit date or,
583
+ # for artifacts stored in Amazon S3 buckets, the ETag value.
584
+ # @return [String]
585
+ #
586
+ # @!attribute [rw] revision_summary
587
+ # Summary information about the most recent revision of the artifact.
588
+ # For GitHub and AWS CodeCommit repositories, the commit message. For
589
+ # Amazon S3 buckets or actions, the user-provided content of a
590
+ # `codepipeline-artifact-revision-summary` key specified in the object
591
+ # metadata.
592
+ # @return [String]
593
+ #
594
+ # @!attribute [rw] created
595
+ # The date and time when the most recent revision of the artifact was
596
+ # created, in timestamp format.
597
+ # @return [Time]
598
+ #
599
+ # @!attribute [rw] revision_url
600
+ # The commit ID for the artifact revision. For artifacts stored in
601
+ # GitHub or AWS CodeCommit repositories, the commit ID is linked to a
602
+ # commit details page.
603
+ # @return [String]
604
+ class ArtifactRevision < Struct.new(
605
+ :name,
606
+ :revision_id,
607
+ :revision_change_identifier,
608
+ :revision_summary,
609
+ :created,
610
+ :revision_url)
611
+ include Aws::Structure
612
+ end
613
+
614
+ # The Amazon S3 location where artifacts are stored for the pipeline. If
615
+ # this Amazon S3 bucket is created manually, it must meet the
616
+ # requirements for AWS CodePipeline. For more information, see the
617
+ # [Concepts][1].
618
+ #
619
+ #
620
+ #
621
+ # [1]: http://docs.aws.amazon.com/codepipeline/latest/userguide/concepts.html#CPS3Bucket
622
+ # @note When making an API call, pass ArtifactStore
623
+ # data as a hash:
624
+ #
625
+ # {
626
+ # type: "S3", # required, accepts S3
627
+ # location: "ArtifactStoreLocation", # required
628
+ # encryption_key: {
629
+ # id: "EncryptionKeyId", # required
630
+ # type: "KMS", # required, accepts KMS
631
+ # },
632
+ # }
633
+ # @!attribute [rw] type
634
+ # The type of the artifact store, such as S3.
635
+ # @return [String]
636
+ #
637
+ # @!attribute [rw] location
638
+ # The location for storing the artifacts for a pipeline, such as an S3
639
+ # bucket or folder.
640
+ # @return [String]
641
+ #
642
+ # @!attribute [rw] encryption_key
643
+ # The encryption key used to encrypt the data in the artifact store,
644
+ # such as an AWS Key Management Service (AWS KMS) key. If this is
645
+ # undefined, the default key for Amazon S3 is used.
646
+ # @return [Types::EncryptionKey]
647
+ class ArtifactStore < Struct.new(
648
+ :type,
649
+ :location,
650
+ :encryption_key)
651
+ include Aws::Structure
652
+ end
653
+
654
+ # Reserved for future use.
655
+ # @note When making an API call, pass BlockerDeclaration
656
+ # data as a hash:
657
+ #
658
+ # {
659
+ # name: "BlockerName", # required
660
+ # type: "Schedule", # required, accepts Schedule
661
+ # }
662
+ # @!attribute [rw] name
663
+ # Reserved for future use.
664
+ # @return [String]
665
+ #
666
+ # @!attribute [rw] type
667
+ # Reserved for future use.
668
+ # @return [String]
669
+ class BlockerDeclaration < Struct.new(
670
+ :name,
671
+ :type)
672
+ include Aws::Structure
673
+ end
674
+
675
+ # Represents the input of a create custom action operation.
676
+ # @note When making an API call, pass CreateCustomActionTypeInput
677
+ # data as a hash:
678
+ #
679
+ # {
680
+ # category: "Source", # required, accepts Source, Build, Deploy, Test, Invoke, Approval
681
+ # provider: "ActionProvider", # required
682
+ # version: "Version", # required
683
+ # settings: {
684
+ # third_party_configuration_url: "Url",
685
+ # entity_url_template: "UrlTemplate",
686
+ # execution_url_template: "UrlTemplate",
687
+ # revision_url_template: "UrlTemplate",
688
+ # },
689
+ # configuration_properties: [
690
+ # {
691
+ # name: "ActionConfigurationKey", # required
692
+ # required: false, # required
693
+ # key: false, # required
694
+ # secret: false, # required
695
+ # queryable: false,
696
+ # description: "Description",
697
+ # type: "String", # accepts String, Number, Boolean
698
+ # },
699
+ # ],
700
+ # input_artifact_details: { # required
701
+ # minimum_count: 1, # required
702
+ # maximum_count: 1, # required
703
+ # },
704
+ # output_artifact_details: { # required
705
+ # minimum_count: 1, # required
706
+ # maximum_count: 1, # required
707
+ # },
708
+ # }
709
+ # @!attribute [rw] category
710
+ # The category of the custom action, such as a build action or a test
711
+ # action.
712
+ #
713
+ # <note markdown="1"> Although Source and Approval are listed as valid values, they are
714
+ # not currently functional. These values are reserved for future use.
715
+ #
716
+ # </note>
717
+ # @return [String]
718
+ #
719
+ # @!attribute [rw] provider
720
+ # The provider of the service used in the custom action, such as AWS
721
+ # CodeDeploy.
722
+ # @return [String]
723
+ #
724
+ # @!attribute [rw] version
725
+ # The version identifier of the custom action.
726
+ # @return [String]
727
+ #
728
+ # @!attribute [rw] settings
729
+ # Returns information about the settings for an action type.
730
+ # @return [Types::ActionTypeSettings]
731
+ #
732
+ # @!attribute [rw] configuration_properties
733
+ # The configuration properties for the custom action.
734
+ #
735
+ # <note markdown="1"> You can refer to a name in the configuration properties of the
736
+ # custom action within the URL templates by following the format of
737
+ # \\\{Config:name\\}, as long as the configuration property is both
738
+ # required and not secret. For more information, see [Create a Custom
739
+ # Action for a Pipeline][1].
740
+ #
741
+ # </note>
742
+ #
743
+ #
744
+ #
745
+ # [1]: http://docs.aws.amazon.com/codepipeline/latest/userguide/how-to-create-custom-action.html
746
+ # @return [Array<Types::ActionConfigurationProperty>]
747
+ #
748
+ # @!attribute [rw] input_artifact_details
749
+ # Returns information about the details of an artifact.
750
+ # @return [Types::ArtifactDetails]
751
+ #
752
+ # @!attribute [rw] output_artifact_details
753
+ # Returns information about the details of an artifact.
754
+ # @return [Types::ArtifactDetails]
755
+ class CreateCustomActionTypeInput < Struct.new(
756
+ :category,
757
+ :provider,
758
+ :version,
759
+ :settings,
760
+ :configuration_properties,
761
+ :input_artifact_details,
762
+ :output_artifact_details)
763
+ include Aws::Structure
764
+ end
765
+
766
+ # Represents the output of a create custom action operation.
767
+ # @!attribute [rw] action_type
768
+ # Returns information about the details of an action type.
769
+ # @return [Types::ActionType]
770
+ class CreateCustomActionTypeOutput < Struct.new(
771
+ :action_type)
772
+ include Aws::Structure
773
+ end
774
+
775
+ # Represents the input of a create pipeline action.
776
+ # @note When making an API call, pass CreatePipelineInput
777
+ # data as a hash:
778
+ #
779
+ # {
780
+ # pipeline: { # required
781
+ # name: "PipelineName", # required
782
+ # role_arn: "RoleArn", # required
783
+ # artifact_store: { # required
784
+ # type: "S3", # required, accepts S3
785
+ # location: "ArtifactStoreLocation", # required
786
+ # encryption_key: {
787
+ # id: "EncryptionKeyId", # required
788
+ # type: "KMS", # required, accepts KMS
789
+ # },
790
+ # },
791
+ # stages: [ # required
792
+ # {
793
+ # name: "StageName", # required
794
+ # blockers: [
795
+ # {
796
+ # name: "BlockerName", # required
797
+ # type: "Schedule", # required, accepts Schedule
798
+ # },
799
+ # ],
800
+ # actions: [ # required
801
+ # {
802
+ # name: "ActionName", # required
803
+ # action_type_id: { # required
804
+ # category: "Source", # required, accepts Source, Build, Deploy, Test, Invoke, Approval
805
+ # owner: "AWS", # required, accepts AWS, ThirdParty, Custom
806
+ # provider: "ActionProvider", # required
807
+ # version: "Version", # required
808
+ # },
809
+ # run_order: 1,
810
+ # configuration: {
811
+ # "ActionConfigurationKey" => "ActionConfigurationValue",
812
+ # },
813
+ # output_artifacts: [
814
+ # {
815
+ # name: "ArtifactName", # required
816
+ # },
817
+ # ],
818
+ # input_artifacts: [
819
+ # {
820
+ # name: "ArtifactName", # required
821
+ # },
822
+ # ],
823
+ # role_arn: "RoleArn",
824
+ # },
825
+ # ],
826
+ # },
827
+ # ],
828
+ # version: 1,
829
+ # },
830
+ # }
831
+ # @!attribute [rw] pipeline
832
+ # Represents the structure of actions and stages to be performed in
833
+ # the pipeline.
834
+ # @return [Types::PipelineDeclaration]
835
+ class CreatePipelineInput < Struct.new(
836
+ :pipeline)
837
+ include Aws::Structure
838
+ end
839
+
840
+ # Represents the output of a create pipeline action.
841
+ # @!attribute [rw] pipeline
842
+ # Represents the structure of actions and stages to be performed in
843
+ # the pipeline.
844
+ # @return [Types::PipelineDeclaration]
845
+ class CreatePipelineOutput < Struct.new(
846
+ :pipeline)
847
+ include Aws::Structure
848
+ end
849
+
850
+ # Represents information about a current revision.
851
+ # @note When making an API call, pass CurrentRevision
852
+ # data as a hash:
853
+ #
854
+ # {
855
+ # revision: "Revision", # required
856
+ # change_identifier: "RevisionChangeIdentifier", # required
857
+ # created: Time.now,
858
+ # revision_summary: "RevisionSummary",
859
+ # }
860
+ # @!attribute [rw] revision
861
+ # The revision ID of the current version of an artifact.
862
+ # @return [String]
863
+ #
864
+ # @!attribute [rw] change_identifier
865
+ # The change identifier for the current revision.
866
+ # @return [String]
867
+ #
868
+ # @!attribute [rw] created
869
+ # The date and time when the most recent revision of the artifact was
870
+ # created, in timestamp format.
871
+ # @return [Time]
872
+ #
873
+ # @!attribute [rw] revision_summary
874
+ # The summary of the most recent revision of the artifact.
875
+ # @return [String]
876
+ class CurrentRevision < Struct.new(
877
+ :revision,
878
+ :change_identifier,
879
+ :created,
880
+ :revision_summary)
881
+ include Aws::Structure
882
+ end
883
+
884
+ # Represents the input of a delete custom action operation. The custom
885
+ # action will be marked as deleted.
886
+ # @note When making an API call, pass DeleteCustomActionTypeInput
887
+ # data as a hash:
888
+ #
889
+ # {
890
+ # category: "Source", # required, accepts Source, Build, Deploy, Test, Invoke, Approval
891
+ # provider: "ActionProvider", # required
892
+ # version: "Version", # required
893
+ # }
894
+ # @!attribute [rw] category
895
+ # The category of the custom action that you want to delete, such as
896
+ # source or deploy.
897
+ # @return [String]
898
+ #
899
+ # @!attribute [rw] provider
900
+ # The provider of the service used in the custom action, such as AWS
901
+ # CodeDeploy.
902
+ # @return [String]
903
+ #
904
+ # @!attribute [rw] version
905
+ # The version of the custom action to delete.
906
+ # @return [String]
907
+ class DeleteCustomActionTypeInput < Struct.new(
908
+ :category,
909
+ :provider,
910
+ :version)
911
+ include Aws::Structure
912
+ end
913
+
914
+ # Represents the input of a delete pipeline action.
915
+ # @note When making an API call, pass DeletePipelineInput
916
+ # data as a hash:
917
+ #
918
+ # {
919
+ # name: "PipelineName", # required
920
+ # }
921
+ # @!attribute [rw] name
922
+ # The name of the pipeline to be deleted.
923
+ # @return [String]
924
+ class DeletePipelineInput < Struct.new(
925
+ :name)
926
+ include Aws::Structure
927
+ end
928
+
929
+ # Represents the input of a disable stage transition input action.
930
+ # @note When making an API call, pass DisableStageTransitionInput
931
+ # data as a hash:
932
+ #
933
+ # {
934
+ # pipeline_name: "PipelineName", # required
935
+ # stage_name: "StageName", # required
936
+ # transition_type: "Inbound", # required, accepts Inbound, Outbound
937
+ # reason: "DisabledReason", # required
938
+ # }
939
+ # @!attribute [rw] pipeline_name
940
+ # The name of the pipeline in which you want to disable the flow of
941
+ # artifacts from one stage to another.
942
+ # @return [String]
943
+ #
944
+ # @!attribute [rw] stage_name
945
+ # The name of the stage where you want to disable the inbound or
946
+ # outbound transition of artifacts.
947
+ # @return [String]
948
+ #
949
+ # @!attribute [rw] transition_type
950
+ # Specifies whether artifacts will be prevented from transitioning
951
+ # into the stage and being processed by the actions in that stage
952
+ # (inbound), or prevented from transitioning from the stage after they
953
+ # have been processed by the actions in that stage (outbound).
954
+ # @return [String]
955
+ #
956
+ # @!attribute [rw] reason
957
+ # The reason given to the user why a stage is disabled, such as
958
+ # waiting for manual approval or manual tests. This message is
959
+ # displayed in the pipeline console UI.
960
+ # @return [String]
961
+ class DisableStageTransitionInput < Struct.new(
962
+ :pipeline_name,
963
+ :stage_name,
964
+ :transition_type,
965
+ :reason)
966
+ include Aws::Structure
967
+ end
968
+
969
+ # Represents the input of an enable stage transition action.
970
+ # @note When making an API call, pass EnableStageTransitionInput
971
+ # data as a hash:
972
+ #
973
+ # {
974
+ # pipeline_name: "PipelineName", # required
975
+ # stage_name: "StageName", # required
976
+ # transition_type: "Inbound", # required, accepts Inbound, Outbound
977
+ # }
978
+ # @!attribute [rw] pipeline_name
979
+ # The name of the pipeline in which you want to enable the flow of
980
+ # artifacts from one stage to another.
981
+ # @return [String]
982
+ #
983
+ # @!attribute [rw] stage_name
984
+ # The name of the stage where you want to enable the transition of
985
+ # artifacts, either into the stage (inbound) or from that stage to the
986
+ # next stage (outbound).
987
+ # @return [String]
988
+ #
989
+ # @!attribute [rw] transition_type
990
+ # Specifies whether artifacts will be allowed to enter the stage and
991
+ # be processed by the actions in that stage (inbound) or whether
992
+ # already-processed artifacts will be allowed to transition to the
993
+ # next stage (outbound).
994
+ # @return [String]
995
+ class EnableStageTransitionInput < Struct.new(
996
+ :pipeline_name,
997
+ :stage_name,
998
+ :transition_type)
999
+ include Aws::Structure
1000
+ end
1001
+
1002
+ # Represents information about the key used to encrypt data in the
1003
+ # artifact store, such as an AWS Key Management Service (AWS KMS) key.
1004
+ # @note When making an API call, pass EncryptionKey
1005
+ # data as a hash:
1006
+ #
1007
+ # {
1008
+ # id: "EncryptionKeyId", # required
1009
+ # type: "KMS", # required, accepts KMS
1010
+ # }
1011
+ # @!attribute [rw] id
1012
+ # The ID used to identify the key. For an AWS KMS key, this is the key
1013
+ # ID or key ARN.
1014
+ # @return [String]
1015
+ #
1016
+ # @!attribute [rw] type
1017
+ # The type of encryption key, such as an AWS Key Management Service
1018
+ # (AWS KMS) key. When creating or updating a pipeline, the value must
1019
+ # be set to 'KMS'.
1020
+ # @return [String]
1021
+ class EncryptionKey < Struct.new(
1022
+ :id,
1023
+ :type)
1024
+ include Aws::Structure
1025
+ end
1026
+
1027
+ # Represents information about an error in AWS CodePipeline.
1028
+ # @!attribute [rw] code
1029
+ # The system ID or error number code of the error.
1030
+ # @return [String]
1031
+ #
1032
+ # @!attribute [rw] message
1033
+ # The text of the error message.
1034
+ # @return [String]
1035
+ class ErrorDetails < Struct.new(
1036
+ :code,
1037
+ :message)
1038
+ include Aws::Structure
1039
+ end
1040
+
1041
+ # The details of the actions taken and results produced on an artifact
1042
+ # as it passes through stages in the pipeline.
1043
+ # @note When making an API call, pass ExecutionDetails
1044
+ # data as a hash:
1045
+ #
1046
+ # {
1047
+ # summary: "ExecutionSummary",
1048
+ # external_execution_id: "ExecutionId",
1049
+ # percent_complete: 1,
1050
+ # }
1051
+ # @!attribute [rw] summary
1052
+ # The summary of the current status of the actions.
1053
+ # @return [String]
1054
+ #
1055
+ # @!attribute [rw] external_execution_id
1056
+ # The system-generated unique ID of this action used to identify this
1057
+ # job worker in any external systems, such as AWS CodeDeploy.
1058
+ # @return [String]
1059
+ #
1060
+ # @!attribute [rw] percent_complete
1061
+ # The percentage of work completed on the action, represented on a
1062
+ # scale of zero to one hundred percent.
1063
+ # @return [Integer]
1064
+ class ExecutionDetails < Struct.new(
1065
+ :summary,
1066
+ :external_execution_id,
1067
+ :percent_complete)
1068
+ include Aws::Structure
1069
+ end
1070
+
1071
+ # Represents information about failure details.
1072
+ # @note When making an API call, pass FailureDetails
1073
+ # data as a hash:
1074
+ #
1075
+ # {
1076
+ # type: "JobFailed", # required, accepts JobFailed, ConfigurationError, PermissionError, RevisionOutOfSync, RevisionUnavailable, SystemUnavailable
1077
+ # message: "Message", # required
1078
+ # external_execution_id: "ExecutionId",
1079
+ # }
1080
+ # @!attribute [rw] type
1081
+ # The type of the failure.
1082
+ # @return [String]
1083
+ #
1084
+ # @!attribute [rw] message
1085
+ # The message about the failure.
1086
+ # @return [String]
1087
+ #
1088
+ # @!attribute [rw] external_execution_id
1089
+ # The external ID of the run of the action that failed.
1090
+ # @return [String]
1091
+ class FailureDetails < Struct.new(
1092
+ :type,
1093
+ :message,
1094
+ :external_execution_id)
1095
+ include Aws::Structure
1096
+ end
1097
+
1098
+ # Represents the input of a get job details action.
1099
+ # @note When making an API call, pass GetJobDetailsInput
1100
+ # data as a hash:
1101
+ #
1102
+ # {
1103
+ # job_id: "JobId", # required
1104
+ # }
1105
+ # @!attribute [rw] job_id
1106
+ # The unique system-generated ID for the job.
1107
+ # @return [String]
1108
+ class GetJobDetailsInput < Struct.new(
1109
+ :job_id)
1110
+ include Aws::Structure
1111
+ end
1112
+
1113
+ # Represents the output of a get job details action.
1114
+ # @!attribute [rw] job_details
1115
+ # The details of the job.
1116
+ #
1117
+ # <note markdown="1"> If AWSSessionCredentials is used, a long-running job can call
1118
+ # GetJobDetails again to obtain new credentials.
1119
+ #
1120
+ # </note>
1121
+ # @return [Types::JobDetails]
1122
+ class GetJobDetailsOutput < Struct.new(
1123
+ :job_details)
1124
+ include Aws::Structure
1125
+ end
1126
+
1127
+ # Represents the input of a get pipeline execution action.
1128
+ # @note When making an API call, pass GetPipelineExecutionInput
1129
+ # data as a hash:
1130
+ #
1131
+ # {
1132
+ # pipeline_name: "PipelineName", # required
1133
+ # pipeline_execution_id: "PipelineExecutionId", # required
1134
+ # }
1135
+ # @!attribute [rw] pipeline_name
1136
+ # The name of the pipeline about which you want to get execution
1137
+ # details.
1138
+ # @return [String]
1139
+ #
1140
+ # @!attribute [rw] pipeline_execution_id
1141
+ # The ID of the pipeline execution about which you want to get
1142
+ # execution details.
1143
+ # @return [String]
1144
+ class GetPipelineExecutionInput < Struct.new(
1145
+ :pipeline_name,
1146
+ :pipeline_execution_id)
1147
+ include Aws::Structure
1148
+ end
1149
+
1150
+ # Represents the output of a get pipeline execution action.
1151
+ # @!attribute [rw] pipeline_execution
1152
+ # Represents information about the execution of a pipeline.
1153
+ # @return [Types::PipelineExecution]
1154
+ class GetPipelineExecutionOutput < Struct.new(
1155
+ :pipeline_execution)
1156
+ include Aws::Structure
1157
+ end
1158
+
1159
+ # Represents the input of a get pipeline action.
1160
+ # @note When making an API call, pass GetPipelineInput
1161
+ # data as a hash:
1162
+ #
1163
+ # {
1164
+ # name: "PipelineName", # required
1165
+ # version: 1,
1166
+ # }
1167
+ # @!attribute [rw] name
1168
+ # The name of the pipeline for which you want to get information.
1169
+ # Pipeline names must be unique under an Amazon Web Services (AWS)
1170
+ # user account.
1171
+ # @return [String]
1172
+ #
1173
+ # @!attribute [rw] version
1174
+ # The version number of the pipeline. If you do not specify a version,
1175
+ # defaults to the most current version.
1176
+ # @return [Integer]
1177
+ class GetPipelineInput < Struct.new(
1178
+ :name,
1179
+ :version)
1180
+ include Aws::Structure
1181
+ end
1182
+
1183
+ # Represents the output of a get pipeline action.
1184
+ # @!attribute [rw] pipeline
1185
+ # Represents the structure of actions and stages to be performed in
1186
+ # the pipeline.
1187
+ # @return [Types::PipelineDeclaration]
1188
+ class GetPipelineOutput < Struct.new(
1189
+ :pipeline)
1190
+ include Aws::Structure
1191
+ end
1192
+
1193
+ # Represents the input of a get pipeline state action.
1194
+ # @note When making an API call, pass GetPipelineStateInput
1195
+ # data as a hash:
1196
+ #
1197
+ # {
1198
+ # name: "PipelineName", # required
1199
+ # }
1200
+ # @!attribute [rw] name
1201
+ # The name of the pipeline about which you want to get information.
1202
+ # @return [String]
1203
+ class GetPipelineStateInput < Struct.new(
1204
+ :name)
1205
+ include Aws::Structure
1206
+ end
1207
+
1208
+ # Represents the output of a get pipeline state action.
1209
+ # @!attribute [rw] pipeline_name
1210
+ # The name of the pipeline for which you want to get the state.
1211
+ # @return [String]
1212
+ #
1213
+ # @!attribute [rw] pipeline_version
1214
+ # The version number of the pipeline.
1215
+ #
1216
+ # <note markdown="1"> A newly-created pipeline is always assigned a version number of `1`.
1217
+ #
1218
+ # </note>
1219
+ # @return [Integer]
1220
+ #
1221
+ # @!attribute [rw] stage_states
1222
+ # A list of the pipeline stage output information, including stage
1223
+ # name, state, most recent run details, whether the stage is disabled,
1224
+ # and other data.
1225
+ # @return [Array<Types::StageState>]
1226
+ #
1227
+ # @!attribute [rw] created
1228
+ # The date and time the pipeline was created, in timestamp format.
1229
+ # @return [Time]
1230
+ #
1231
+ # @!attribute [rw] updated
1232
+ # The date and time the pipeline was last updated, in timestamp
1233
+ # format.
1234
+ # @return [Time]
1235
+ class GetPipelineStateOutput < Struct.new(
1236
+ :pipeline_name,
1237
+ :pipeline_version,
1238
+ :stage_states,
1239
+ :created,
1240
+ :updated)
1241
+ include Aws::Structure
1242
+ end
1243
+
1244
+ # Represents the input of a get third party job details action.
1245
+ # @note When making an API call, pass GetThirdPartyJobDetailsInput
1246
+ # data as a hash:
1247
+ #
1248
+ # {
1249
+ # job_id: "ThirdPartyJobId", # required
1250
+ # client_token: "ClientToken", # required
1251
+ # }
1252
+ # @!attribute [rw] job_id
1253
+ # The unique system-generated ID used for identifying the job.
1254
+ # @return [String]
1255
+ #
1256
+ # @!attribute [rw] client_token
1257
+ # The clientToken portion of the clientId and clientToken pair used to
1258
+ # verify that the calling entity is allowed access to the job and its
1259
+ # details.
1260
+ # @return [String]
1261
+ class GetThirdPartyJobDetailsInput < Struct.new(
1262
+ :job_id,
1263
+ :client_token)
1264
+ include Aws::Structure
1265
+ end
1266
+
1267
+ # Represents the output of a get third party job details action.
1268
+ # @!attribute [rw] job_details
1269
+ # The details of the job, including any protected values defined for
1270
+ # the job.
1271
+ # @return [Types::ThirdPartyJobDetails]
1272
+ class GetThirdPartyJobDetailsOutput < Struct.new(
1273
+ :job_details)
1274
+ include Aws::Structure
1275
+ end
1276
+
1277
+ # Represents information about an artifact to be worked on, such as a
1278
+ # test or build artifact.
1279
+ # @note When making an API call, pass InputArtifact
1280
+ # data as a hash:
1281
+ #
1282
+ # {
1283
+ # name: "ArtifactName", # required
1284
+ # }
1285
+ # @!attribute [rw] name
1286
+ # The name of the artifact to be worked on, for example, "My App".
1287
+ #
1288
+ # The input artifact of an action must exactly match the output
1289
+ # artifact declared in a preceding action, but the input artifact does
1290
+ # not have to be the next action in strict sequence from the action
1291
+ # that provided the output artifact. Actions in parallel can declare
1292
+ # different output artifacts, which are in turn consumed by different
1293
+ # following actions.
1294
+ # @return [String]
1295
+ class InputArtifact < Struct.new(
1296
+ :name)
1297
+ include Aws::Structure
1298
+ end
1299
+
1300
+ # Represents information about a job.
1301
+ # @!attribute [rw] id
1302
+ # The unique system-generated ID of the job.
1303
+ # @return [String]
1304
+ #
1305
+ # @!attribute [rw] data
1306
+ # Additional data about a job.
1307
+ # @return [Types::JobData]
1308
+ #
1309
+ # @!attribute [rw] nonce
1310
+ # A system-generated random number that AWS CodePipeline uses to
1311
+ # ensure that the job is being worked on by only one job worker. This
1312
+ # number must be returned in the response.
1313
+ # @return [String]
1314
+ #
1315
+ # @!attribute [rw] account_id
1316
+ # The ID of the AWS account to use when performing the job.
1317
+ # @return [String]
1318
+ class Job < Struct.new(
1319
+ :id,
1320
+ :data,
1321
+ :nonce,
1322
+ :account_id)
1323
+ include Aws::Structure
1324
+ end
1325
+
1326
+ # Represents additional information about a job required for a job
1327
+ # worker to complete the job.
1328
+ # @!attribute [rw] action_type_id
1329
+ # Represents information about an action type.
1330
+ # @return [Types::ActionTypeId]
1331
+ #
1332
+ # @!attribute [rw] action_configuration
1333
+ # Represents information about an action configuration.
1334
+ # @return [Types::ActionConfiguration]
1335
+ #
1336
+ # @!attribute [rw] pipeline_context
1337
+ # Represents information about a pipeline to a job worker.
1338
+ # @return [Types::PipelineContext]
1339
+ #
1340
+ # @!attribute [rw] input_artifacts
1341
+ # The artifact supplied to the job.
1342
+ # @return [Array<Types::Artifact>]
1343
+ #
1344
+ # @!attribute [rw] output_artifacts
1345
+ # The output of the job.
1346
+ # @return [Array<Types::Artifact>]
1347
+ #
1348
+ # @!attribute [rw] artifact_credentials
1349
+ # Represents an AWS session credentials object. These credentials are
1350
+ # temporary credentials that are issued by AWS Secure Token Service
1351
+ # (STS). They can be used to access input and output artifacts in the
1352
+ # Amazon S3 bucket used to store artifact for the pipeline in AWS
1353
+ # CodePipeline.
1354
+ # @return [Types::AWSSessionCredentials]
1355
+ #
1356
+ # @!attribute [rw] continuation_token
1357
+ # A system-generated token, such as a AWS CodeDeploy deployment ID,
1358
+ # that a job requires in order to continue the job asynchronously.
1359
+ # @return [String]
1360
+ #
1361
+ # @!attribute [rw] encryption_key
1362
+ # Represents information about the key used to encrypt data in the
1363
+ # artifact store, such as an AWS Key Management Service (AWS KMS) key.
1364
+ # @return [Types::EncryptionKey]
1365
+ class JobData < Struct.new(
1366
+ :action_type_id,
1367
+ :action_configuration,
1368
+ :pipeline_context,
1369
+ :input_artifacts,
1370
+ :output_artifacts,
1371
+ :artifact_credentials,
1372
+ :continuation_token,
1373
+ :encryption_key)
1374
+ include Aws::Structure
1375
+ end
1376
+
1377
+ # Represents information about the details of a job.
1378
+ # @!attribute [rw] id
1379
+ # The unique system-generated ID of the job.
1380
+ # @return [String]
1381
+ #
1382
+ # @!attribute [rw] data
1383
+ # Represents additional information about a job required for a job
1384
+ # worker to complete the job.
1385
+ # @return [Types::JobData]
1386
+ #
1387
+ # @!attribute [rw] account_id
1388
+ # The AWS account ID associated with the job.
1389
+ # @return [String]
1390
+ class JobDetails < Struct.new(
1391
+ :id,
1392
+ :data,
1393
+ :account_id)
1394
+ include Aws::Structure
1395
+ end
1396
+
1397
+ # Represents the input of a list action types action.
1398
+ # @note When making an API call, pass ListActionTypesInput
1399
+ # data as a hash:
1400
+ #
1401
+ # {
1402
+ # action_owner_filter: "AWS", # accepts AWS, ThirdParty, Custom
1403
+ # next_token: "NextToken",
1404
+ # }
1405
+ # @!attribute [rw] action_owner_filter
1406
+ # Filters the list of action types to those created by a specified
1407
+ # entity.
1408
+ # @return [String]
1409
+ #
1410
+ # @!attribute [rw] next_token
1411
+ # An identifier that was returned from the previous list action types
1412
+ # call, which can be used to return the next set of action types in
1413
+ # the list.
1414
+ # @return [String]
1415
+ class ListActionTypesInput < Struct.new(
1416
+ :action_owner_filter,
1417
+ :next_token)
1418
+ include Aws::Structure
1419
+ end
1420
+
1421
+ # Represents the output of a list action types action.
1422
+ # @!attribute [rw] action_types
1423
+ # Provides details of the action types.
1424
+ # @return [Array<Types::ActionType>]
1425
+ #
1426
+ # @!attribute [rw] next_token
1427
+ # If the amount of returned information is significantly large, an
1428
+ # identifier is also returned which can be used in a subsequent list
1429
+ # action types call to return the next set of action types in the
1430
+ # list.
1431
+ # @return [String]
1432
+ class ListActionTypesOutput < Struct.new(
1433
+ :action_types,
1434
+ :next_token)
1435
+ include Aws::Structure
1436
+ end
1437
+
1438
+ # Represents the input of a list pipelines action.
1439
+ # @note When making an API call, pass ListPipelinesInput
1440
+ # data as a hash:
1441
+ #
1442
+ # {
1443
+ # next_token: "NextToken",
1444
+ # }
1445
+ # @!attribute [rw] next_token
1446
+ # An identifier that was returned from the previous list pipelines
1447
+ # call, which can be used to return the next set of pipelines in the
1448
+ # list.
1449
+ # @return [String]
1450
+ class ListPipelinesInput < Struct.new(
1451
+ :next_token)
1452
+ include Aws::Structure
1453
+ end
1454
+
1455
+ # Represents the output of a list pipelines action.
1456
+ # @!attribute [rw] pipelines
1457
+ # The list of pipelines.
1458
+ # @return [Array<Types::PipelineSummary>]
1459
+ #
1460
+ # @!attribute [rw] next_token
1461
+ # If the amount of returned information is significantly large, an
1462
+ # identifier is also returned which can be used in a subsequent list
1463
+ # pipelines call to return the next set of pipelines in the list.
1464
+ # @return [String]
1465
+ class ListPipelinesOutput < Struct.new(
1466
+ :pipelines,
1467
+ :next_token)
1468
+ include Aws::Structure
1469
+ end
1470
+
1471
+ # Represents information about the output of an action.
1472
+ # @note When making an API call, pass OutputArtifact
1473
+ # data as a hash:
1474
+ #
1475
+ # {
1476
+ # name: "ArtifactName", # required
1477
+ # }
1478
+ # @!attribute [rw] name
1479
+ # The name of the output of an artifact, such as "My App".
1480
+ #
1481
+ # The input artifact of an action must exactly match the output
1482
+ # artifact declared in a preceding action, but the input artifact does
1483
+ # not have to be the next action in strict sequence from the action
1484
+ # that provided the output artifact. Actions in parallel can declare
1485
+ # different output artifacts, which are in turn consumed by different
1486
+ # following actions.
1487
+ #
1488
+ # Output artifact names must be unique within a pipeline.
1489
+ # @return [String]
1490
+ class OutputArtifact < Struct.new(
1491
+ :name)
1492
+ include Aws::Structure
1493
+ end
1494
+
1495
+ # Represents information about a pipeline to a job worker.
1496
+ # @!attribute [rw] pipeline_name
1497
+ # The name of the pipeline. This is a user-specified value. Pipeline
1498
+ # names must be unique across all pipeline names under an Amazon Web
1499
+ # Services account.
1500
+ # @return [String]
1501
+ #
1502
+ # @!attribute [rw] stage
1503
+ # The stage of the pipeline.
1504
+ # @return [Types::StageContext]
1505
+ #
1506
+ # @!attribute [rw] action
1507
+ # Represents the context of an action within the stage of a pipeline
1508
+ # to a job worker.
1509
+ # @return [Types::ActionContext]
1510
+ class PipelineContext < Struct.new(
1511
+ :pipeline_name,
1512
+ :stage,
1513
+ :action)
1514
+ include Aws::Structure
1515
+ end
1516
+
1517
+ # Represents the structure of actions and stages to be performed in the
1518
+ # pipeline.
1519
+ # @note When making an API call, pass PipelineDeclaration
1520
+ # data as a hash:
1521
+ #
1522
+ # {
1523
+ # name: "PipelineName", # required
1524
+ # role_arn: "RoleArn", # required
1525
+ # artifact_store: { # required
1526
+ # type: "S3", # required, accepts S3
1527
+ # location: "ArtifactStoreLocation", # required
1528
+ # encryption_key: {
1529
+ # id: "EncryptionKeyId", # required
1530
+ # type: "KMS", # required, accepts KMS
1531
+ # },
1532
+ # },
1533
+ # stages: [ # required
1534
+ # {
1535
+ # name: "StageName", # required
1536
+ # blockers: [
1537
+ # {
1538
+ # name: "BlockerName", # required
1539
+ # type: "Schedule", # required, accepts Schedule
1540
+ # },
1541
+ # ],
1542
+ # actions: [ # required
1543
+ # {
1544
+ # name: "ActionName", # required
1545
+ # action_type_id: { # required
1546
+ # category: "Source", # required, accepts Source, Build, Deploy, Test, Invoke, Approval
1547
+ # owner: "AWS", # required, accepts AWS, ThirdParty, Custom
1548
+ # provider: "ActionProvider", # required
1549
+ # version: "Version", # required
1550
+ # },
1551
+ # run_order: 1,
1552
+ # configuration: {
1553
+ # "ActionConfigurationKey" => "ActionConfigurationValue",
1554
+ # },
1555
+ # output_artifacts: [
1556
+ # {
1557
+ # name: "ArtifactName", # required
1558
+ # },
1559
+ # ],
1560
+ # input_artifacts: [
1561
+ # {
1562
+ # name: "ArtifactName", # required
1563
+ # },
1564
+ # ],
1565
+ # role_arn: "RoleArn",
1566
+ # },
1567
+ # ],
1568
+ # },
1569
+ # ],
1570
+ # version: 1,
1571
+ # }
1572
+ # @!attribute [rw] name
1573
+ # The name of the action to be performed.
1574
+ # @return [String]
1575
+ #
1576
+ # @!attribute [rw] role_arn
1577
+ # The Amazon Resource Name (ARN) for AWS CodePipeline to use to either
1578
+ # perform actions with no actionRoleArn, or to use to assume roles for
1579
+ # actions with an actionRoleArn.
1580
+ # @return [String]
1581
+ #
1582
+ # @!attribute [rw] artifact_store
1583
+ # The Amazon S3 location where artifacts are stored for the pipeline.
1584
+ # If this Amazon S3 bucket is created manually, it must meet the
1585
+ # requirements for AWS CodePipeline. For more information, see the
1586
+ # [Concepts][1].
1587
+ #
1588
+ #
1589
+ #
1590
+ # [1]: http://docs.aws.amazon.com/codepipeline/latest/userguide/concepts.html#CPS3Bucket
1591
+ # @return [Types::ArtifactStore]
1592
+ #
1593
+ # @!attribute [rw] stages
1594
+ # The stage in which to perform the action.
1595
+ # @return [Array<Types::StageDeclaration>]
1596
+ #
1597
+ # @!attribute [rw] version
1598
+ # The version number of the pipeline. A new pipeline always has a
1599
+ # version number of 1. This number is automatically incremented when a
1600
+ # pipeline is updated.
1601
+ # @return [Integer]
1602
+ class PipelineDeclaration < Struct.new(
1603
+ :name,
1604
+ :role_arn,
1605
+ :artifact_store,
1606
+ :stages,
1607
+ :version)
1608
+ include Aws::Structure
1609
+ end
1610
+
1611
+ # Represents information about an execution of a pipeline.
1612
+ # @!attribute [rw] pipeline_name
1613
+ # The name of the pipeline that was executed.
1614
+ # @return [String]
1615
+ #
1616
+ # @!attribute [rw] pipeline_version
1617
+ # The version number of the pipeline that was executed.
1618
+ # @return [Integer]
1619
+ #
1620
+ # @!attribute [rw] pipeline_execution_id
1621
+ # The ID of the pipeline execution.
1622
+ # @return [String]
1623
+ #
1624
+ # @!attribute [rw] status
1625
+ # The status of the pipeline execution.
1626
+ #
1627
+ # * InProgress: The pipeline execution is currently running.
1628
+ #
1629
+ # * Succeeded: The pipeline execution completed successfully.
1630
+ #
1631
+ # * Superseded: While this pipeline execution was waiting for the next
1632
+ # stage to be completed, a newer pipeline execution caught up and
1633
+ # continued through the pipeline instead.
1634
+ #
1635
+ # * Failed: The pipeline did not complete successfully.
1636
+ # @return [String]
1637
+ #
1638
+ # @!attribute [rw] artifact_revisions
1639
+ # A list of ArtifactRevision objects included in a pipeline execution.
1640
+ # @return [Array<Types::ArtifactRevision>]
1641
+ class PipelineExecution < Struct.new(
1642
+ :pipeline_name,
1643
+ :pipeline_version,
1644
+ :pipeline_execution_id,
1645
+ :status,
1646
+ :artifact_revisions)
1647
+ include Aws::Structure
1648
+ end
1649
+
1650
+ # Returns a summary of a pipeline.
1651
+ # @!attribute [rw] name
1652
+ # The name of the pipeline.
1653
+ # @return [String]
1654
+ #
1655
+ # @!attribute [rw] version
1656
+ # The version number of the pipeline.
1657
+ # @return [Integer]
1658
+ #
1659
+ # @!attribute [rw] created
1660
+ # The date and time the pipeline was created, in timestamp format.
1661
+ # @return [Time]
1662
+ #
1663
+ # @!attribute [rw] updated
1664
+ # The date and time of the last update to the pipeline, in timestamp
1665
+ # format.
1666
+ # @return [Time]
1667
+ class PipelineSummary < Struct.new(
1668
+ :name,
1669
+ :version,
1670
+ :created,
1671
+ :updated)
1672
+ include Aws::Structure
1673
+ end
1674
+
1675
+ # Represents the input of a poll for jobs action.
1676
+ # @note When making an API call, pass PollForJobsInput
1677
+ # data as a hash:
1678
+ #
1679
+ # {
1680
+ # action_type_id: { # required
1681
+ # category: "Source", # required, accepts Source, Build, Deploy, Test, Invoke, Approval
1682
+ # owner: "AWS", # required, accepts AWS, ThirdParty, Custom
1683
+ # provider: "ActionProvider", # required
1684
+ # version: "Version", # required
1685
+ # },
1686
+ # max_batch_size: 1,
1687
+ # query_param: {
1688
+ # "ActionConfigurationKey" => "ActionConfigurationQueryableValue",
1689
+ # },
1690
+ # }
1691
+ # @!attribute [rw] action_type_id
1692
+ # Represents information about an action type.
1693
+ # @return [Types::ActionTypeId]
1694
+ #
1695
+ # @!attribute [rw] max_batch_size
1696
+ # The maximum number of jobs to return in a poll for jobs call.
1697
+ # @return [Integer]
1698
+ #
1699
+ # @!attribute [rw] query_param
1700
+ # A map of property names and values. For an action type with no
1701
+ # queryable properties, this value must be null or an empty map. For
1702
+ # an action type with a queryable property, you must supply that
1703
+ # property as a key in the map. Only jobs whose action configuration
1704
+ # matches the mapped value will be returned.
1705
+ # @return [Hash<String,String>]
1706
+ class PollForJobsInput < Struct.new(
1707
+ :action_type_id,
1708
+ :max_batch_size,
1709
+ :query_param)
1710
+ include Aws::Structure
1711
+ end
1712
+
1713
+ # Represents the output of a poll for jobs action.
1714
+ # @!attribute [rw] jobs
1715
+ # Information about the jobs to take action on.
1716
+ # @return [Array<Types::Job>]
1717
+ class PollForJobsOutput < Struct.new(
1718
+ :jobs)
1719
+ include Aws::Structure
1720
+ end
1721
+
1722
+ # Represents the input of a poll for third party jobs action.
1723
+ # @note When making an API call, pass PollForThirdPartyJobsInput
1724
+ # data as a hash:
1725
+ #
1726
+ # {
1727
+ # action_type_id: { # required
1728
+ # category: "Source", # required, accepts Source, Build, Deploy, Test, Invoke, Approval
1729
+ # owner: "AWS", # required, accepts AWS, ThirdParty, Custom
1730
+ # provider: "ActionProvider", # required
1731
+ # version: "Version", # required
1732
+ # },
1733
+ # max_batch_size: 1,
1734
+ # }
1735
+ # @!attribute [rw] action_type_id
1736
+ # Represents information about an action type.
1737
+ # @return [Types::ActionTypeId]
1738
+ #
1739
+ # @!attribute [rw] max_batch_size
1740
+ # The maximum number of jobs to return in a poll for jobs call.
1741
+ # @return [Integer]
1742
+ class PollForThirdPartyJobsInput < Struct.new(
1743
+ :action_type_id,
1744
+ :max_batch_size)
1745
+ include Aws::Structure
1746
+ end
1747
+
1748
+ # Represents the output of a poll for third party jobs action.
1749
+ # @!attribute [rw] jobs
1750
+ # Information about the jobs to take action on.
1751
+ # @return [Array<Types::ThirdPartyJob>]
1752
+ class PollForThirdPartyJobsOutput < Struct.new(
1753
+ :jobs)
1754
+ include Aws::Structure
1755
+ end
1756
+
1757
+ # Represents the input of a put action revision action.
1758
+ # @note When making an API call, pass PutActionRevisionInput
1759
+ # data as a hash:
1760
+ #
1761
+ # {
1762
+ # pipeline_name: "PipelineName", # required
1763
+ # stage_name: "StageName", # required
1764
+ # action_name: "ActionName", # required
1765
+ # action_revision: { # required
1766
+ # revision_id: "Revision", # required
1767
+ # revision_change_id: "RevisionChangeIdentifier", # required
1768
+ # created: Time.now, # required
1769
+ # },
1770
+ # }
1771
+ # @!attribute [rw] pipeline_name
1772
+ # The name of the pipeline that will start processing the revision to
1773
+ # the source.
1774
+ # @return [String]
1775
+ #
1776
+ # @!attribute [rw] stage_name
1777
+ # The name of the stage that contains the action that will act upon
1778
+ # the revision.
1779
+ # @return [String]
1780
+ #
1781
+ # @!attribute [rw] action_name
1782
+ # The name of the action that will process the revision.
1783
+ # @return [String]
1784
+ #
1785
+ # @!attribute [rw] action_revision
1786
+ # Represents information about the version (or revision) of an action.
1787
+ # @return [Types::ActionRevision]
1788
+ class PutActionRevisionInput < Struct.new(
1789
+ :pipeline_name,
1790
+ :stage_name,
1791
+ :action_name,
1792
+ :action_revision)
1793
+ include Aws::Structure
1794
+ end
1795
+
1796
+ # Represents the output of a put action revision action.
1797
+ # @!attribute [rw] new_revision
1798
+ # Indicates whether the artifact revision was previously used in an
1799
+ # execution of the specified pipeline.
1800
+ # @return [Boolean]
1801
+ #
1802
+ # @!attribute [rw] pipeline_execution_id
1803
+ # The ID of the current workflow state of the pipeline.
1804
+ # @return [String]
1805
+ class PutActionRevisionOutput < Struct.new(
1806
+ :new_revision,
1807
+ :pipeline_execution_id)
1808
+ include Aws::Structure
1809
+ end
1810
+
1811
+ # Represents the input of a put approval result action.
1812
+ # @note When making an API call, pass PutApprovalResultInput
1813
+ # data as a hash:
1814
+ #
1815
+ # {
1816
+ # pipeline_name: "PipelineName", # required
1817
+ # stage_name: "StageName", # required
1818
+ # action_name: "ActionName", # required
1819
+ # result: { # required
1820
+ # summary: "ApprovalSummary", # required
1821
+ # status: "Approved", # required, accepts Approved, Rejected
1822
+ # },
1823
+ # token: "ApprovalToken", # required
1824
+ # }
1825
+ # @!attribute [rw] pipeline_name
1826
+ # The name of the pipeline that contains the action.
1827
+ # @return [String]
1828
+ #
1829
+ # @!attribute [rw] stage_name
1830
+ # The name of the stage that contains the action.
1831
+ # @return [String]
1832
+ #
1833
+ # @!attribute [rw] action_name
1834
+ # The name of the action for which approval is requested.
1835
+ # @return [String]
1836
+ #
1837
+ # @!attribute [rw] result
1838
+ # Represents information about the result of the approval request.
1839
+ # @return [Types::ApprovalResult]
1840
+ #
1841
+ # @!attribute [rw] token
1842
+ # The system-generated token used to identify a unique approval
1843
+ # request. The token for each open approval request can be obtained
1844
+ # using the GetPipelineState action and is used to validate that the
1845
+ # approval request corresponding to this token is still valid.
1846
+ # @return [String]
1847
+ class PutApprovalResultInput < Struct.new(
1848
+ :pipeline_name,
1849
+ :stage_name,
1850
+ :action_name,
1851
+ :result,
1852
+ :token)
1853
+ include Aws::Structure
1854
+ end
1855
+
1856
+ # Represents the output of a put approval result action.
1857
+ # @!attribute [rw] approved_at
1858
+ # The timestamp showing when the approval or rejection was submitted.
1859
+ # @return [Time]
1860
+ class PutApprovalResultOutput < Struct.new(
1861
+ :approved_at)
1862
+ include Aws::Structure
1863
+ end
1864
+
1865
+ # Represents the input of a put job failure result action.
1866
+ # @note When making an API call, pass PutJobFailureResultInput
1867
+ # data as a hash:
1868
+ #
1869
+ # {
1870
+ # job_id: "JobId", # required
1871
+ # failure_details: { # required
1872
+ # type: "JobFailed", # required, accepts JobFailed, ConfigurationError, PermissionError, RevisionOutOfSync, RevisionUnavailable, SystemUnavailable
1873
+ # message: "Message", # required
1874
+ # external_execution_id: "ExecutionId",
1875
+ # },
1876
+ # }
1877
+ # @!attribute [rw] job_id
1878
+ # The unique system-generated ID of the job that failed. This is the
1879
+ # same ID returned from PollForJobs.
1880
+ # @return [String]
1881
+ #
1882
+ # @!attribute [rw] failure_details
1883
+ # The details about the failure of a job.
1884
+ # @return [Types::FailureDetails]
1885
+ class PutJobFailureResultInput < Struct.new(
1886
+ :job_id,
1887
+ :failure_details)
1888
+ include Aws::Structure
1889
+ end
1890
+
1891
+ # Represents the input of a put job success result action.
1892
+ # @note When making an API call, pass PutJobSuccessResultInput
1893
+ # data as a hash:
1894
+ #
1895
+ # {
1896
+ # job_id: "JobId", # required
1897
+ # current_revision: {
1898
+ # revision: "Revision", # required
1899
+ # change_identifier: "RevisionChangeIdentifier", # required
1900
+ # created: Time.now,
1901
+ # revision_summary: "RevisionSummary",
1902
+ # },
1903
+ # continuation_token: "ContinuationToken",
1904
+ # execution_details: {
1905
+ # summary: "ExecutionSummary",
1906
+ # external_execution_id: "ExecutionId",
1907
+ # percent_complete: 1,
1908
+ # },
1909
+ # }
1910
+ # @!attribute [rw] job_id
1911
+ # The unique system-generated ID of the job that succeeded. This is
1912
+ # the same ID returned from PollForJobs.
1913
+ # @return [String]
1914
+ #
1915
+ # @!attribute [rw] current_revision
1916
+ # The ID of the current revision of the artifact successfully worked
1917
+ # upon by the job.
1918
+ # @return [Types::CurrentRevision]
1919
+ #
1920
+ # @!attribute [rw] continuation_token
1921
+ # A token generated by a job worker, such as an AWS CodeDeploy
1922
+ # deployment ID, that a successful job provides to identify a custom
1923
+ # action in progress. Future jobs will use this token in order to
1924
+ # identify the running instance of the action. It can be reused to
1925
+ # return additional information about the progress of the custom
1926
+ # action. When the action is complete, no continuation token should be
1927
+ # supplied.
1928
+ # @return [String]
1929
+ #
1930
+ # @!attribute [rw] execution_details
1931
+ # The execution details of the successful job, such as the actions
1932
+ # taken by the job worker.
1933
+ # @return [Types::ExecutionDetails]
1934
+ class PutJobSuccessResultInput < Struct.new(
1935
+ :job_id,
1936
+ :current_revision,
1937
+ :continuation_token,
1938
+ :execution_details)
1939
+ include Aws::Structure
1940
+ end
1941
+
1942
+ # Represents the input of a third party job failure result action.
1943
+ # @note When making an API call, pass PutThirdPartyJobFailureResultInput
1944
+ # data as a hash:
1945
+ #
1946
+ # {
1947
+ # job_id: "ThirdPartyJobId", # required
1948
+ # client_token: "ClientToken", # required
1949
+ # failure_details: { # required
1950
+ # type: "JobFailed", # required, accepts JobFailed, ConfigurationError, PermissionError, RevisionOutOfSync, RevisionUnavailable, SystemUnavailable
1951
+ # message: "Message", # required
1952
+ # external_execution_id: "ExecutionId",
1953
+ # },
1954
+ # }
1955
+ # @!attribute [rw] job_id
1956
+ # The ID of the job that failed. This is the same ID returned from
1957
+ # PollForThirdPartyJobs.
1958
+ # @return [String]
1959
+ #
1960
+ # @!attribute [rw] client_token
1961
+ # The clientToken portion of the clientId and clientToken pair used to
1962
+ # verify that the calling entity is allowed access to the job and its
1963
+ # details.
1964
+ # @return [String]
1965
+ #
1966
+ # @!attribute [rw] failure_details
1967
+ # Represents information about failure details.
1968
+ # @return [Types::FailureDetails]
1969
+ class PutThirdPartyJobFailureResultInput < Struct.new(
1970
+ :job_id,
1971
+ :client_token,
1972
+ :failure_details)
1973
+ include Aws::Structure
1974
+ end
1975
+
1976
+ # Represents the input of a put third party job success result action.
1977
+ # @note When making an API call, pass PutThirdPartyJobSuccessResultInput
1978
+ # data as a hash:
1979
+ #
1980
+ # {
1981
+ # job_id: "ThirdPartyJobId", # required
1982
+ # client_token: "ClientToken", # required
1983
+ # current_revision: {
1984
+ # revision: "Revision", # required
1985
+ # change_identifier: "RevisionChangeIdentifier", # required
1986
+ # created: Time.now,
1987
+ # revision_summary: "RevisionSummary",
1988
+ # },
1989
+ # continuation_token: "ContinuationToken",
1990
+ # execution_details: {
1991
+ # summary: "ExecutionSummary",
1992
+ # external_execution_id: "ExecutionId",
1993
+ # percent_complete: 1,
1994
+ # },
1995
+ # }
1996
+ # @!attribute [rw] job_id
1997
+ # The ID of the job that successfully completed. This is the same ID
1998
+ # returned from PollForThirdPartyJobs.
1999
+ # @return [String]
2000
+ #
2001
+ # @!attribute [rw] client_token
2002
+ # The clientToken portion of the clientId and clientToken pair used to
2003
+ # verify that the calling entity is allowed access to the job and its
2004
+ # details.
2005
+ # @return [String]
2006
+ #
2007
+ # @!attribute [rw] current_revision
2008
+ # Represents information about a current revision.
2009
+ # @return [Types::CurrentRevision]
2010
+ #
2011
+ # @!attribute [rw] continuation_token
2012
+ # A token generated by a job worker, such as an AWS CodeDeploy
2013
+ # deployment ID, that a successful job provides to identify a partner
2014
+ # action in progress. Future jobs will use this token in order to
2015
+ # identify the running instance of the action. It can be reused to
2016
+ # return additional information about the progress of the partner
2017
+ # action. When the action is complete, no continuation token should be
2018
+ # supplied.
2019
+ # @return [String]
2020
+ #
2021
+ # @!attribute [rw] execution_details
2022
+ # The details of the actions taken and results produced on an artifact
2023
+ # as it passes through stages in the pipeline.
2024
+ # @return [Types::ExecutionDetails]
2025
+ class PutThirdPartyJobSuccessResultInput < Struct.new(
2026
+ :job_id,
2027
+ :client_token,
2028
+ :current_revision,
2029
+ :continuation_token,
2030
+ :execution_details)
2031
+ include Aws::Structure
2032
+ end
2033
+
2034
+ # Represents the input of a retry stage execution action.
2035
+ # @note When making an API call, pass RetryStageExecutionInput
2036
+ # data as a hash:
2037
+ #
2038
+ # {
2039
+ # pipeline_name: "PipelineName", # required
2040
+ # stage_name: "StageName", # required
2041
+ # pipeline_execution_id: "PipelineExecutionId", # required
2042
+ # retry_mode: "FAILED_ACTIONS", # required, accepts FAILED_ACTIONS
2043
+ # }
2044
+ # @!attribute [rw] pipeline_name
2045
+ # The name of the pipeline that contains the failed stage.
2046
+ # @return [String]
2047
+ #
2048
+ # @!attribute [rw] stage_name
2049
+ # The name of the failed stage to be retried.
2050
+ # @return [String]
2051
+ #
2052
+ # @!attribute [rw] pipeline_execution_id
2053
+ # The ID of the pipeline execution in the failed stage to be retried.
2054
+ # Use the GetPipelineState action to retrieve the current
2055
+ # pipelineExecutionId of the failed stage
2056
+ # @return [String]
2057
+ #
2058
+ # @!attribute [rw] retry_mode
2059
+ # The scope of the retry attempt. Currently, the only supported value
2060
+ # is FAILED\_ACTIONS.
2061
+ # @return [String]
2062
+ class RetryStageExecutionInput < Struct.new(
2063
+ :pipeline_name,
2064
+ :stage_name,
2065
+ :pipeline_execution_id,
2066
+ :retry_mode)
2067
+ include Aws::Structure
2068
+ end
2069
+
2070
+ # Represents the output of a retry stage execution action.
2071
+ # @!attribute [rw] pipeline_execution_id
2072
+ # The ID of the current workflow execution in the failed stage.
2073
+ # @return [String]
2074
+ class RetryStageExecutionOutput < Struct.new(
2075
+ :pipeline_execution_id)
2076
+ include Aws::Structure
2077
+ end
2078
+
2079
+ # The location of the Amazon S3 bucket that contains a revision.
2080
+ # @!attribute [rw] bucket_name
2081
+ # The name of the Amazon S3 bucket.
2082
+ # @return [String]
2083
+ #
2084
+ # @!attribute [rw] object_key
2085
+ # The key of the object in the Amazon S3 bucket, which uniquely
2086
+ # identifies the object in the bucket.
2087
+ # @return [String]
2088
+ class S3ArtifactLocation < Struct.new(
2089
+ :bucket_name,
2090
+ :object_key)
2091
+ include Aws::Structure
2092
+ end
2093
+
2094
+ # Represents information about a stage to a job worker.
2095
+ # @!attribute [rw] name
2096
+ # The name of the stage.
2097
+ # @return [String]
2098
+ class StageContext < Struct.new(
2099
+ :name)
2100
+ include Aws::Structure
2101
+ end
2102
+
2103
+ # Represents information about a stage and its definition.
2104
+ # @note When making an API call, pass StageDeclaration
2105
+ # data as a hash:
2106
+ #
2107
+ # {
2108
+ # name: "StageName", # required
2109
+ # blockers: [
2110
+ # {
2111
+ # name: "BlockerName", # required
2112
+ # type: "Schedule", # required, accepts Schedule
2113
+ # },
2114
+ # ],
2115
+ # actions: [ # required
2116
+ # {
2117
+ # name: "ActionName", # required
2118
+ # action_type_id: { # required
2119
+ # category: "Source", # required, accepts Source, Build, Deploy, Test, Invoke, Approval
2120
+ # owner: "AWS", # required, accepts AWS, ThirdParty, Custom
2121
+ # provider: "ActionProvider", # required
2122
+ # version: "Version", # required
2123
+ # },
2124
+ # run_order: 1,
2125
+ # configuration: {
2126
+ # "ActionConfigurationKey" => "ActionConfigurationValue",
2127
+ # },
2128
+ # output_artifacts: [
2129
+ # {
2130
+ # name: "ArtifactName", # required
2131
+ # },
2132
+ # ],
2133
+ # input_artifacts: [
2134
+ # {
2135
+ # name: "ArtifactName", # required
2136
+ # },
2137
+ # ],
2138
+ # role_arn: "RoleArn",
2139
+ # },
2140
+ # ],
2141
+ # }
2142
+ # @!attribute [rw] name
2143
+ # The name of the stage.
2144
+ # @return [String]
2145
+ #
2146
+ # @!attribute [rw] blockers
2147
+ # Reserved for future use.
2148
+ # @return [Array<Types::BlockerDeclaration>]
2149
+ #
2150
+ # @!attribute [rw] actions
2151
+ # The actions included in a stage.
2152
+ # @return [Array<Types::ActionDeclaration>]
2153
+ class StageDeclaration < Struct.new(
2154
+ :name,
2155
+ :blockers,
2156
+ :actions)
2157
+ include Aws::Structure
2158
+ end
2159
+
2160
+ # Represents information about the run of a stage.
2161
+ # @!attribute [rw] pipeline_execution_id
2162
+ # The ID of the pipeline execution associated with the stage.
2163
+ # @return [String]
2164
+ #
2165
+ # @!attribute [rw] status
2166
+ # The status of the stage, or for a completed stage, the last status
2167
+ # of the stage.
2168
+ # @return [String]
2169
+ class StageExecution < Struct.new(
2170
+ :pipeline_execution_id,
2171
+ :status)
2172
+ include Aws::Structure
2173
+ end
2174
+
2175
+ # Represents information about the state of the stage.
2176
+ # @!attribute [rw] stage_name
2177
+ # The name of the stage.
2178
+ # @return [String]
2179
+ #
2180
+ # @!attribute [rw] inbound_transition_state
2181
+ # The state of the inbound transition, which is either enabled or
2182
+ # disabled.
2183
+ # @return [Types::TransitionState]
2184
+ #
2185
+ # @!attribute [rw] action_states
2186
+ # The state of the stage.
2187
+ # @return [Array<Types::ActionState>]
2188
+ #
2189
+ # @!attribute [rw] latest_execution
2190
+ # Information about the latest execution in the stage, including its
2191
+ # ID and status.
2192
+ # @return [Types::StageExecution]
2193
+ class StageState < Struct.new(
2194
+ :stage_name,
2195
+ :inbound_transition_state,
2196
+ :action_states,
2197
+ :latest_execution)
2198
+ include Aws::Structure
2199
+ end
2200
+
2201
+ # Represents the input of a start pipeline execution action.
2202
+ # @note When making an API call, pass StartPipelineExecutionInput
2203
+ # data as a hash:
2204
+ #
2205
+ # {
2206
+ # name: "PipelineName", # required
2207
+ # }
2208
+ # @!attribute [rw] name
2209
+ # The name of the pipeline to start.
2210
+ # @return [String]
2211
+ class StartPipelineExecutionInput < Struct.new(
2212
+ :name)
2213
+ include Aws::Structure
2214
+ end
2215
+
2216
+ # Represents the output of a start pipeline execution action.
2217
+ # @!attribute [rw] pipeline_execution_id
2218
+ # The unique system-generated ID of the pipeline execution that was
2219
+ # started.
2220
+ # @return [String]
2221
+ class StartPipelineExecutionOutput < Struct.new(
2222
+ :pipeline_execution_id)
2223
+ include Aws::Structure
2224
+ end
2225
+
2226
+ # A response to a PollForThirdPartyJobs request returned by AWS
2227
+ # CodePipeline when there is a job to be worked upon by a partner
2228
+ # action.
2229
+ # @!attribute [rw] client_id
2230
+ # The clientToken portion of the clientId and clientToken pair used to
2231
+ # verify that the calling entity is allowed access to the job and its
2232
+ # details.
2233
+ # @return [String]
2234
+ #
2235
+ # @!attribute [rw] job_id
2236
+ # The identifier used to identify the job in AWS CodePipeline.
2237
+ # @return [String]
2238
+ class ThirdPartyJob < Struct.new(
2239
+ :client_id,
2240
+ :job_id)
2241
+ include Aws::Structure
2242
+ end
2243
+
2244
+ # Represents information about the job data for a partner action.
2245
+ # @!attribute [rw] action_type_id
2246
+ # Represents information about an action type.
2247
+ # @return [Types::ActionTypeId]
2248
+ #
2249
+ # @!attribute [rw] action_configuration
2250
+ # Represents information about an action configuration.
2251
+ # @return [Types::ActionConfiguration]
2252
+ #
2253
+ # @!attribute [rw] pipeline_context
2254
+ # Represents information about a pipeline to a job worker.
2255
+ # @return [Types::PipelineContext]
2256
+ #
2257
+ # @!attribute [rw] input_artifacts
2258
+ # The name of the artifact that will be worked upon by the action, if
2259
+ # any. This name might be system-generated, such as "MyApp", or
2260
+ # might be defined by the user when the action is created. The input
2261
+ # artifact name must match the name of an output artifact generated by
2262
+ # an action in an earlier action or stage of the pipeline.
2263
+ # @return [Array<Types::Artifact>]
2264
+ #
2265
+ # @!attribute [rw] output_artifacts
2266
+ # The name of the artifact that will be the result of the action, if
2267
+ # any. This name might be system-generated, such as "MyBuiltApp", or
2268
+ # might be defined by the user when the action is created.
2269
+ # @return [Array<Types::Artifact>]
2270
+ #
2271
+ # @!attribute [rw] artifact_credentials
2272
+ # Represents an AWS session credentials object. These credentials are
2273
+ # temporary credentials that are issued by AWS Secure Token Service
2274
+ # (STS). They can be used to access input and output artifacts in the
2275
+ # Amazon S3 bucket used to store artifact for the pipeline in AWS
2276
+ # CodePipeline.
2277
+ # @return [Types::AWSSessionCredentials]
2278
+ #
2279
+ # @!attribute [rw] continuation_token
2280
+ # A system-generated token, such as a AWS CodeDeploy deployment ID,
2281
+ # that a job requires in order to continue the job asynchronously.
2282
+ # @return [String]
2283
+ #
2284
+ # @!attribute [rw] encryption_key
2285
+ # The encryption key used to encrypt and decrypt data in the artifact
2286
+ # store for the pipeline, such as an AWS Key Management Service (AWS
2287
+ # KMS) key. This is optional and might not be present.
2288
+ # @return [Types::EncryptionKey]
2289
+ class ThirdPartyJobData < Struct.new(
2290
+ :action_type_id,
2291
+ :action_configuration,
2292
+ :pipeline_context,
2293
+ :input_artifacts,
2294
+ :output_artifacts,
2295
+ :artifact_credentials,
2296
+ :continuation_token,
2297
+ :encryption_key)
2298
+ include Aws::Structure
2299
+ end
2300
+
2301
+ # The details of a job sent in response to a GetThirdPartyJobDetails
2302
+ # request.
2303
+ # @!attribute [rw] id
2304
+ # The identifier used to identify the job details in AWS CodePipeline.
2305
+ # @return [String]
2306
+ #
2307
+ # @!attribute [rw] data
2308
+ # The data to be returned by the third party job worker.
2309
+ # @return [Types::ThirdPartyJobData]
2310
+ #
2311
+ # @!attribute [rw] nonce
2312
+ # A system-generated random number that AWS CodePipeline uses to
2313
+ # ensure that the job is being worked on by only one job worker. This
2314
+ # number must be returned in the response.
2315
+ # @return [String]
2316
+ class ThirdPartyJobDetails < Struct.new(
2317
+ :id,
2318
+ :data,
2319
+ :nonce)
2320
+ include Aws::Structure
2321
+ end
2322
+
2323
+ # Represents information about the state of transitions between one
2324
+ # stage and another stage.
2325
+ # @!attribute [rw] enabled
2326
+ # Whether the transition between stages is enabled (true) or disabled
2327
+ # (false).
2328
+ # @return [Boolean]
2329
+ #
2330
+ # @!attribute [rw] last_changed_by
2331
+ # The ID of the user who last changed the transition state.
2332
+ # @return [String]
2333
+ #
2334
+ # @!attribute [rw] last_changed_at
2335
+ # The timestamp when the transition state was last changed.
2336
+ # @return [Time]
2337
+ #
2338
+ # @!attribute [rw] disabled_reason
2339
+ # The user-specified reason why the transition between two stages of a
2340
+ # pipeline was disabled.
2341
+ # @return [String]
2342
+ class TransitionState < Struct.new(
2343
+ :enabled,
2344
+ :last_changed_by,
2345
+ :last_changed_at,
2346
+ :disabled_reason)
2347
+ include Aws::Structure
2348
+ end
2349
+
2350
+ # Represents the input of an update pipeline action.
2351
+ # @note When making an API call, pass UpdatePipelineInput
2352
+ # data as a hash:
2353
+ #
2354
+ # {
2355
+ # pipeline: { # required
2356
+ # name: "PipelineName", # required
2357
+ # role_arn: "RoleArn", # required
2358
+ # artifact_store: { # required
2359
+ # type: "S3", # required, accepts S3
2360
+ # location: "ArtifactStoreLocation", # required
2361
+ # encryption_key: {
2362
+ # id: "EncryptionKeyId", # required
2363
+ # type: "KMS", # required, accepts KMS
2364
+ # },
2365
+ # },
2366
+ # stages: [ # required
2367
+ # {
2368
+ # name: "StageName", # required
2369
+ # blockers: [
2370
+ # {
2371
+ # name: "BlockerName", # required
2372
+ # type: "Schedule", # required, accepts Schedule
2373
+ # },
2374
+ # ],
2375
+ # actions: [ # required
2376
+ # {
2377
+ # name: "ActionName", # required
2378
+ # action_type_id: { # required
2379
+ # category: "Source", # required, accepts Source, Build, Deploy, Test, Invoke, Approval
2380
+ # owner: "AWS", # required, accepts AWS, ThirdParty, Custom
2381
+ # provider: "ActionProvider", # required
2382
+ # version: "Version", # required
2383
+ # },
2384
+ # run_order: 1,
2385
+ # configuration: {
2386
+ # "ActionConfigurationKey" => "ActionConfigurationValue",
2387
+ # },
2388
+ # output_artifacts: [
2389
+ # {
2390
+ # name: "ArtifactName", # required
2391
+ # },
2392
+ # ],
2393
+ # input_artifacts: [
2394
+ # {
2395
+ # name: "ArtifactName", # required
2396
+ # },
2397
+ # ],
2398
+ # role_arn: "RoleArn",
2399
+ # },
2400
+ # ],
2401
+ # },
2402
+ # ],
2403
+ # version: 1,
2404
+ # },
2405
+ # }
2406
+ # @!attribute [rw] pipeline
2407
+ # The name of the pipeline to be updated.
2408
+ # @return [Types::PipelineDeclaration]
2409
+ class UpdatePipelineInput < Struct.new(
2410
+ :pipeline)
2411
+ include Aws::Structure
2412
+ end
2413
+
2414
+ # Represents the output of an update pipeline action.
2415
+ # @!attribute [rw] pipeline
2416
+ # The structure of the updated pipeline.
2417
+ # @return [Types::PipelineDeclaration]
2418
+ class UpdatePipelineOutput < Struct.new(
2419
+ :pipeline)
2420
+ include Aws::Structure
2421
+ end
2422
+
2423
+ end
2424
+ end
2425
+ end