1 | import { Construct } from 'constructs';
|
2 | import { ActionCategory, ActionArtifactBounds } from './action';
|
3 | import { Construct as CoreConstruct } from '@aws-cdk/core';
|
4 | /**
|
5 | * The creation attributes used for defining a configuration property
|
6 | * of a custom Action.
|
7 | */
|
8 | export 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 | */
|
57 | export 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 | */
|
101 | export declare class CustomActionRegistration extends CoreConstruct {
|
102 | constructor(scope: Construct, id: string, props: CustomActionRegistrationProps);
|
103 | }
|