UNPKG

3.34 kBTypeScriptView Raw
1import { Construct } from 'constructs';
2import { ActionCategory, ActionArtifactBounds } from './action';
3import { Construct as CoreConstruct } from '@aws-cdk/core';
4/**
5 * The creation attributes used for defining a configuration property
6 * of a custom Action.
7 */
8export interface CustomActionProperty {
9 /**
10 * The name of the property.
11 * You use this name in the `configuration` attribute when defining your custom Action class.
12 */
13 readonly name: string;
14 /**
15 * The description of the property.
16 *
17 * @default the description will be empty
18 */
19 readonly description?: string;
20 /**
21 * Whether this property is a key.
22 *
23 * @default false
24 * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-key
25 */
26 readonly key?: boolean;
27 /**
28 * Whether this property is queryable.
29 * Note that only a single property of a custom Action can be queryable.
30 *
31 * @default false
32 * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-queryable
33 */
34 readonly queryable?: boolean;
35 /**
36 * Whether this property is required.
37 */
38 readonly required: boolean;
39 /**
40 * Whether this property is secret,
41 * like a password, or access key.
42 *
43 * @default false
44 */
45 readonly secret?: boolean;
46 /**
47 * The type of the property,
48 * like 'String', 'Number', or 'Boolean'.
49 *
50 * @default 'String'
51 */
52 readonly type?: string;
53}
54/**
55 * Properties of registering a custom Action.
56 */
57export interface CustomActionRegistrationProps {
58 /**
59 * The category of the Action.
60 */
61 readonly category: ActionCategory;
62 /**
63 * The artifact bounds of the Action.
64 */
65 readonly artifactBounds: ActionArtifactBounds;
66 /**
67 * The provider of the Action.
68 * For example, `'MyCustomActionProvider'`
69 */
70 readonly provider: string;
71 /**
72 * The version of your Action.
73 *
74 * @default '1'
75 */
76 readonly version?: string;
77 /**
78 * The URL shown for the entire Action in the Pipeline UI.
79 * @default none
80 */
81 readonly entityUrl?: string;
82 /**
83 * The URL shown for a particular execution of an Action in the Pipeline UI.
84 * @default none
85 */
86 readonly executionUrl?: string;
87 /**
88 * The properties used for customizing the instance of your Action.
89 *
90 * @default []
91 */
92 readonly actionProperties?: CustomActionProperty[];
93}
94/**
95 * The resource representing registering a custom Action with CodePipeline.
96 * For the Action to be usable, it has to be registered for every region and every account it's used in.
97 * In addition to this class, you should most likely also provide your clients a class
98 * representing your custom Action, extending the Action class,
99 * and taking the `actionProperties` as properly typed, construction properties.
100 */
101export declare class CustomActionRegistration extends CoreConstruct {
102 constructor(scope: Construct, id: string, props: CustomActionRegistrationProps);
103}