@awboost/cfntypes 1.0.0-beta.3 → 1.0.0-beta.31

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.
Files changed (53) hide show
  1. package/lib/AutoScalingReplacingUpdatePolicy.d.ts +30 -0
  2. package/lib/AutoScalingReplacingUpdatePolicy.js +1 -0
  3. package/lib/AutoScalingRollingUpdatePolicy.d.ts +107 -0
  4. package/lib/AutoScalingRollingUpdatePolicy.js +20 -0
  5. package/lib/AutoScalingScheduledActionPolicy.d.ts +35 -0
  6. package/lib/AutoScalingScheduledActionPolicy.js +23 -0
  7. package/lib/AwsParam.d.ts +73 -0
  8. package/lib/AwsParam.js +89 -0
  9. package/lib/CodeDeployLambdaAliasUpdatePolicy.d.ts +26 -0
  10. package/lib/CodeDeployLambdaAliasUpdatePolicy.js +1 -0
  11. package/lib/CreationPolicy.d.ts +71 -0
  12. package/lib/CreationPolicy.js +1 -0
  13. package/lib/DeletionPolicy.d.ts +84 -0
  14. package/lib/DeletionPolicy.js +83 -0
  15. package/lib/Fn.d.ts +356 -0
  16. package/lib/Fn.js +410 -0
  17. package/lib/OutputDefinition.d.ts +38 -0
  18. package/lib/OutputDefinition.js +1 -0
  19. package/lib/ParameterDefinition.d.ts +78 -0
  20. package/lib/ParameterDefinition.js +1 -0
  21. package/lib/ResourceDefinition.d.ts +197 -0
  22. package/lib/ResourceDefinition.js +1 -0
  23. package/lib/RuleDefinition.d.ts +43 -0
  24. package/lib/RuleDefinition.js +1 -0
  25. package/lib/Template.d.ts +117 -0
  26. package/lib/Template.js +1 -0
  27. package/lib/TemplateMap.d.ts +6 -0
  28. package/lib/TemplateMap.js +1 -0
  29. package/lib/UpdatePolicy.d.ts +111 -0
  30. package/lib/UpdatePolicy.js +1 -0
  31. package/lib/cjs/AutoScalingReplacingUpdatePolicy.js +2 -0
  32. package/lib/cjs/AutoScalingRollingUpdatePolicy.js +21 -0
  33. package/lib/cjs/AutoScalingScheduledActionPolicy.js +24 -0
  34. package/lib/cjs/AwsParam.js +93 -0
  35. package/lib/cjs/CodeDeployLambdaAliasUpdatePolicy.js +2 -0
  36. package/lib/cjs/CreationPolicy.js +2 -0
  37. package/lib/cjs/DeletionPolicy.js +86 -0
  38. package/lib/cjs/Fn.js +414 -0
  39. package/lib/cjs/OutputDefinition.js +2 -0
  40. package/lib/cjs/ParameterDefinition.js +2 -0
  41. package/lib/cjs/ResourceDefinition.js +2 -0
  42. package/lib/cjs/RuleDefinition.js +2 -0
  43. package/lib/cjs/Template.js +2 -0
  44. package/lib/cjs/TemplateMap.js +2 -0
  45. package/lib/cjs/UpdatePolicy.js +2 -0
  46. package/lib/cjs/index.js +33 -0
  47. package/lib/cjs/types.generated.js +2204 -0
  48. package/lib/index.d.ts +16 -62774
  49. package/lib/index.js +17 -2055
  50. package/lib/types.generated.d.ts +87206 -0
  51. package/lib/types.generated.js +2201 -0
  52. package/package.json +12 -8
  53. package/lib/index-cjs.js +0 -2058
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeletionPolicy = void 0;
4
+ /**
5
+ * With the `DeletionPolicy` attribute you can preserve, and in some cases,
6
+ * backup a resource when its stack is deleted. You specify a `DeletionPolicy`
7
+ * attribute for each resource that you want to control. If a resource has no
8
+ * `DeletionPolicy` attribute, AWS CloudFormation deletes the resource by
9
+ * default, except for:
10
+ *
11
+ * - For `AWS::RDS::DBCluster resources`, the default policy is `Snapshot`.
12
+ * - For `AWS::RDS::DBInstance` resources that don't specify the
13
+ * `DBClusterIdentifier` property, the default policy is `Snapshot`.
14
+ * - For Amazon S3 buckets, you must delete all objects in the bucket for
15
+ * deletion to succeed.
16
+ *
17
+ * This capability also applies to stack update operations that lead to
18
+ * resources being deleted from stacks. For example, if you remove the resource
19
+ * from the stack template, and then update the stack with the template. This
20
+ * capability doesn't apply to resources whose physical instance is replaced
21
+ * during stack update operations. For example, if you edit a resource's
22
+ * properties such that CloudFormation replaces that resource during a stack
23
+ * update.
24
+ *
25
+ * To keep a resource when its stack is deleted, specify Retain for that
26
+ * resource. You can use retain for any resource. For example, you can retain a
27
+ * nested stack, Amazon S3 bucket, or EC2 instance so that you can continue to
28
+ * use or modify those resources after you delete their stacks.
29
+ *
30
+ * For resources that support snapshots, such as `AWS::EC2::Volume`, specify
31
+ * Snapshot to have CloudFormation create a snapshot before deleting the
32
+ * resource.
33
+ *
34
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html | DeletionPolicy attribute}
35
+ */
36
+ exports.DeletionPolicy = {
37
+ /**
38
+ * CloudFormation deletes the resource and all its content if applicable
39
+ * during stack deletion. You can add this deletion policy to any resource
40
+ * type. By default, if you don't specify a `DeletionPolicy`, CloudFormation
41
+ * deletes your resources. However, be aware of the following considerations:
42
+ *
43
+ * - For `AWS::RDS::DBCluster resources`, the default policy is `Snapshot`.
44
+ * - For `AWS::RDS::DBInstance` resources that don't specify the
45
+ * `DBClusterIdentifier` property, the default policy is `Snapshot`.
46
+ *
47
+ * For Amazon S3 buckets, you must delete all objects in the bucket for
48
+ * deletion to succeed.
49
+ */
50
+ Delete: 'Delete',
51
+ /**
52
+ * CloudFormation keeps the resource without deleting the resource or its
53
+ * contents when its stack is deleted. You can add this deletion policy to any
54
+ * resource type. When CloudFormation completes the stack deletion, the stack
55
+ * will be in `Delete_Complete` state; however, resources that are retained
56
+ * continue to exist and continue to incur applicable charges until you delete
57
+ * those resources.
58
+ *
59
+ * For update operations, the following considerations apply:
60
+ *
61
+ * - If a resource is deleted, the `DeletionPolicy` retains the physical
62
+ * resource but ensures that it's deleted from CloudFormation's scope.
63
+ * - If a resource is updated such that a new physical resource is created to
64
+ * replace the old resource, then the old resource is completely deleted,
65
+ * including from CloudFormation's scope.
66
+ */
67
+ Retain: 'Retain',
68
+ /**
69
+ * For resources that support snapshots, CloudFormation creates a snapshot for
70
+ * the resource before deleting it. When CloudFormation completes the stack
71
+ * deletion, the stack will be in the `Delete_Complete` state; however, the
72
+ * snapshots that are created with this policy continue to exist and continue
73
+ * to incur applicable charges until you delete those snapshots.
74
+ *
75
+ * Resources that support snapshots include:
76
+ *
77
+ * - `AWS::EC2::Volume`
78
+ * - `AWS::ElastiCache::CacheCluster`
79
+ * - `AWS::ElastiCache::ReplicationGroup`
80
+ * - `AWS::Neptune::DBCluster`
81
+ * - `AWS::RDS::DBCluster`
82
+ * - `AWS::RDS::DBInstance`
83
+ * - `AWS::Redshift::Cluster`
84
+ */
85
+ Snapshot: 'Snapshot',
86
+ };
package/lib/cjs/Fn.js ADDED
@@ -0,0 +1,414 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Fn = void 0;
4
+ /**
5
+ * You can use intrinsic functions, such as `Fn::If`, `Fn::Equals`, and
6
+ * `Fn::Not`, to conditionally create stack resources. These conditions are
7
+ * evaluated based on input parameters that you declare when you create or
8
+ * update a stack. After you define all your conditions, you can associate them
9
+ * with resources or resource properties in the Resources and Outputs sections
10
+ * of a template.
11
+ *
12
+ * You define all conditions in the Conditions section of a template except for
13
+ * `Fn::If conditions`. You can use the `Fn::If` condition in the metadata
14
+ * attribute, update policy attribute, and property values in the Resources
15
+ * section and Outputs sections of a template.
16
+ *
17
+ * You might use conditions when you want to reuse a template that can create
18
+ * resources in different contexts, such as a test environment versus a
19
+ * production environment. In your template, you can add an EnvironmentType
20
+ * input parameter, which accepts either prod or test as inputs. For the
21
+ * production environment, you might include Amazon EC2 instances with certain
22
+ * capabilities; however, for the test environment, you want to use less
23
+ * capabilities to save costs. With conditions, you can define which resources
24
+ * are created and how they're configured for each environment type.
25
+ */
26
+ class Fn {
27
+ /**
28
+ * Constructs a string value using {@link Fn.Join} from a tagged template
29
+ * literal.
30
+ */
31
+ static fmt(literals, ...values) {
32
+ const parts = [];
33
+ for (let i = 0; i < literals.length; ++i) {
34
+ if (literals[i]) {
35
+ parts.push(literals[i]);
36
+ }
37
+ if (i < values.length) {
38
+ parts.push(values[i]);
39
+ }
40
+ }
41
+ return Fn.Join('', parts);
42
+ }
43
+ /**
44
+ * Returns true if all the specified conditions evaluate to true, or returns
45
+ * false if any one of the conditions evaluates to false. `Fn::And` acts as an
46
+ * AND operator. The minimum number of conditions that you can include is 2,
47
+ * and the maximum is 10.
48
+ *
49
+ * @param conditions A condition that evaluates to true or false.
50
+ *
51
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-and | Fn::And}
52
+ */
53
+ static And(...conditions) {
54
+ return new this('Fn::And', conditions);
55
+ }
56
+ /**
57
+ * The intrinsic function `Fn::Base64` returns the Base64 representation of
58
+ * the input string. This function is typically used to pass encoded data to
59
+ * Amazon EC2 instances by way of the UserData property.
60
+ *
61
+ * @param valueToEncode The string value you want to convert to Base64.
62
+ * @returns The original string, in Base64 representation.
63
+ *
64
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-base64.html | Fn::Base64}
65
+ */
66
+ static Base64(valueToEncode) {
67
+ return new this('Fn::Base64', valueToEncode);
68
+ }
69
+ /**
70
+ * The intrinsic function `Fn::Cidr` returns an array of CIDR address blocks.
71
+ * The number of CIDR blocks returned is dependent on the count parameter.
72
+ *
73
+ * @param ipBlock The user-specified CIDR address block to be split into
74
+ * smaller CIDR blocks.
75
+ * @param count The number of CIDRs to generate. Valid range is between 1 and
76
+ * 256.
77
+ * @param cidrBits The number of subnet bits for the CIDR. For example,
78
+ * specifying a value "8" for this parameter will create a CIDR with a mask of
79
+ * "/24".
80
+ * @returns An array of CIDR address blocks.
81
+ *
82
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-cidr.html | Fn::Cidr}
83
+ */
84
+ static Cidr(ipBlock, count, cidrBits) {
85
+ return new this('Fn::Cidr', [ipBlock, count, cidrBits]);
86
+ }
87
+ /**
88
+ * Returns `true` if a specified string matches at least one value in a list
89
+ * of strings.
90
+ *
91
+ * @param listOfStrings A list of strings, such as `"A", "B", "C"`.
92
+ * @param string A string, such as `"A"`, that you want to compare against a
93
+ * list of strings.
94
+ *
95
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-rules.html#fn-contains | Fn::Contains}
96
+ */
97
+ static Contains(listOfStrings, string) {
98
+ return new this('Fn::Contains', [listOfStrings, string]);
99
+ }
100
+ /**
101
+ * Returns `true` if a specified string matches all values in a list.
102
+ *
103
+ * @param listOfStrings A list of strings, such as `"A", "B", "C"`.
104
+ * @param string A string, such as `"A"`, that you want to compare against a
105
+ * list of strings.
106
+ *
107
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-rules.html#fn-eachmemberequals | Fn::EachMemberEquals}
108
+ */
109
+ static EachMemberEquals(listOfStrings, string) {
110
+ return new this('Fn::EachMemberEquals', [listOfStrings, string]);
111
+ }
112
+ /**
113
+ * Returns `true` if a specified string matches all values in a list.
114
+ *
115
+ * @param stringsToCheck A list of strings, such as `"A", "B", "C"`.
116
+ * CloudFormation checks whether each member in the stringsToC`heck parameter
117
+ * is in the `stringsToMap` parameter.
118
+ * @param stringsToMatch A list of strings, such as `"A", "B", "C"`. Each
119
+ * member in the `stringsToMatch` parameter is compared against the members of
120
+ * the `stringsToCheck` parameter.
121
+ *
122
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-rules.html#fn-eachmemberin | Fn::EachMemberIn}
123
+ */
124
+ static EachMemberIn(stringsToCheck, stringsToMatch) {
125
+ return new this('Fn::EachMemberIn', [stringsToCheck, stringsToMatch]);
126
+ }
127
+ /**
128
+ * Compares if two values are equal. Returns true if the two values are equal
129
+ * or false if they aren't.
130
+ *
131
+ * @param value1 A value of any type that you want to compare.
132
+ * @param value2 A value of any type that you want to compare.
133
+ *
134
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-equals | Fn::Equals}
135
+ */
136
+ static Equals(value1, value2) {
137
+ return new this('Fn::Equals', [value1, value2]);
138
+ }
139
+ /**
140
+ * The intrinsic function `Fn::FindInMap` returns the value corresponding to
141
+ * keys in a two-level map that is declared in the Mappings section.
142
+ *
143
+ * @param mapName The logical name of a mapping declared in the Mappings
144
+ * section that contains the keys and values.
145
+ * @param topLevelKey The top-level key name. Its value is a list of key-value pairs.
146
+ * @param secondLevelKey The second-level key name, which is set to one of the keys from the list assigned to TopLevelKey.
147
+ * @returns The value that is assigned to SecondLevelKey.
148
+ *
149
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html | Fn::FindInMap}
150
+ */
151
+ static FindInMap(mapName, topLevelKey, secondLevelKey) {
152
+ return new this('Fn::FindInMap', [mapName, topLevelKey, secondLevelKey]);
153
+ }
154
+ /**
155
+ * The `Fn::GetAtt` intrinsic function returns the value of an attribute from
156
+ * a resource in the template. For more information about GetAtt return values
157
+ * for a particular resource, refer to the documentation for that resource in
158
+ * the Resource and Property Reference.
159
+ *
160
+ * @param logicalNameOfResource The logical name (also called logical ID) of
161
+ * the resource that contains the attribute that you want.
162
+ * @param attributeName The name of the resource-specific attribute whose
163
+ * value you want. See the resource's reference page for details about the
164
+ * attributes available for that resource type.
165
+ * @returns The attribute value.
166
+ *
167
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html | Fn::GetAtt}
168
+ */
169
+ static GetAtt(logicalNameOfResource, attributeName) {
170
+ return new this('Fn::GetAtt', [logicalNameOfResource, attributeName]);
171
+ }
172
+ /**
173
+ * The intrinsic function `Fn::GetAZs` returns an array that lists
174
+ * Availability Zones for a specified region. Because customers have access to
175
+ * different Availability Zones, the intrinsic function `Fn::GetAZs` enables
176
+ * template authors to write templates that adapt to the calling user's
177
+ * access. That way you don't have to hard-code a full list of Availability
178
+ * Zones for a specified region.
179
+ *
180
+ * @param region The name of the region for which you want to get the
181
+ * Availability Zones. You can use the AWS::Region pseudo parameter to
182
+ * specify the region in which the stack is created. Specifying an empty
183
+ * string is equivalent to specifying AWS::Region.
184
+ * @returns The list of Availability Zones for the region.
185
+ *
186
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getavailabilityzones.html | Fn::GetAZs}
187
+ */
188
+ static GetAZs(region) {
189
+ return new this('Fn::GetAZs', region);
190
+ }
191
+ /**
192
+ * Returns one value if the specified condition evaluates to true and another
193
+ * value if the specified condition evaluates to false. Currently, AWS
194
+ * CloudFormation supports the Fn::If intrinsic function in the metadata
195
+ * attribute, update policy attribute, and property values in the Resources
196
+ * section and Outputs sections of a template. You can use the `AWS::NoValue`
197
+ * pseudo parameter as a return value to remove the corresponding property.
198
+ *
199
+ * @param conditionName A reference to a condition in the Conditions section.
200
+ * Use the condition's name to reference it.
201
+ * @param valueIfTrue A value to be returned if the specified condition
202
+ * evaluates to true.
203
+ * @param valueIfFalse A value to be returned if the specified condition
204
+ * evaluates to false.
205
+ *
206
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-if | Fn::If}
207
+ */
208
+ static IfThen(conditionName, valueIfTrue, valueIfFalse) {
209
+ return new this('Fn::If', [conditionName, valueIfTrue, valueIfFalse]);
210
+ }
211
+ /**
212
+ * The intrinsic function `Fn::ImportValue` returns the value of an output
213
+ * exported by another stack. You typically use this function to create
214
+ * cross-stack references. In the following example template snippets, Stack A
215
+ * exports VPC security group values and Stack B imports them.
216
+ *
217
+ * @param sharedValueToImport The stack output value that you want to import.
218
+ * @returns The stack output value.
219
+ *
220
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html | Fn::ImportValue}
221
+ */
222
+ static ImportValue(sharedValueToImport) {
223
+ return new this('Fn::ImportValue', sharedValueToImport);
224
+ }
225
+ /**
226
+ * The intrinsic function `Fn::Join` appends a set of values into a single
227
+ * value, separated by the specified delimiter. If a delimiter is the empty
228
+ * string, the set of values are concatenated with no delimiter.
229
+ *
230
+ * @param delimiter The value you want to occur between fragments. The
231
+ * delimiter will occur between fragments only. It will not terminate the
232
+ * final value.
233
+ * @param listOfValues The list of values you want combined.
234
+ * @returns The combined string.
235
+ *
236
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html | Fn::Join}
237
+ */
238
+ static Join(delimiter, listOfValues) {
239
+ return new this('Fn::Join', [delimiter, listOfValues]);
240
+ }
241
+ /**
242
+ * Returns true for a condition that evaluates to false or returns false for a
243
+ * condition that evaluates to true. `Fn::Not` acts as a NOT operator.
244
+ *
245
+ * @param condition A condition such as `Fn::Equals` that evaluates to true or
246
+ * false.
247
+ *
248
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-not | Fn::Not}
249
+ */
250
+ static Not(condition) {
251
+ return new this('Fn::Not', [condition]);
252
+ }
253
+ /**
254
+ * Returns true if any one of the specified conditions evaluate to true, or
255
+ * returns false if all of the conditions evaluates to false. `Fn::Or` acts as
256
+ * an OR operator. The minimum number of conditions that you can include is 2,
257
+ * and the maximum is 10.
258
+ *
259
+ * @param conditions A condition that evaluates to true or false.
260
+ *
261
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-or | Fn::Or}
262
+ */
263
+ static Or(...conditions) {
264
+ return new this('Fn::Or', conditions);
265
+ }
266
+ /**
267
+ * The intrinsic function Ref returns the value of the specified parameter or
268
+ * resource.
269
+ *
270
+ * - When you specify a parameter's logical name, it returns the value of the
271
+ * parameter.
272
+ *
273
+ * - When you specify a resource's logical name, it returns a value that you
274
+ * can typically use to refer to that resource, such as a physical ID.
275
+ *
276
+ * When you are declaring a resource in a template and you need to specify
277
+ * another template resource by name, you can use the Ref to refer to that
278
+ * other resource. In general, Ref returns the name of the resource. For
279
+ * example, a reference to an AWS::AutoScaling::AutoScalingGroup returns the
280
+ * name of that Auto Scaling group resource.
281
+ *
282
+ * @param logicalName The logical name of the resource or parameter you want
283
+ * to dereference.
284
+ *
285
+ * @returns The physical ID of the resource or the value of the parameter.
286
+ *
287
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html | Ref}
288
+ */
289
+ static Ref(logicalName) {
290
+ return new this('Ref', logicalName);
291
+ }
292
+ /**
293
+ * Returns all values for a specified parameter type.
294
+ *
295
+ * @param parameterType An AWS-specific parameter type, such as
296
+ * `AWS::EC2::SecurityGroup::Id` or `AWS::EC2::VPC::Id`. For more information,
297
+ * see Parameters in the AWS CloudFormation User Guide.
298
+ *
299
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-rules.html#fn-refall | Fn::RefAll}
300
+ */
301
+ static RefAll(parameterType) {
302
+ return new this('Fn::RefAll', parameterType);
303
+ }
304
+ /**
305
+ * The intrinsic function `Fn::Select` returns a single object from a list of
306
+ * objects by index.
307
+ *
308
+ * @param index The index of the object to retrieve. This must be a value from
309
+ * zero to N-1, where N represents the number of elements in the array.
310
+ * @param listOfObjects The list of objects to select from. This list must not
311
+ * be null, nor can it have null entries.
312
+ * @returns The selected object.
313
+ *
314
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-select.html | Fn::Select}
315
+ */
316
+ static Select(index, listOfObjects) {
317
+ return new this('Fn::Select', [index, listOfObjects]);
318
+ }
319
+ /**
320
+ * To split a string into a list of string values so that you can select an
321
+ * element from the resulting string list, use the `Fn::Split` intrinsic
322
+ * function. Specify the location of splits with a delimiter, such as , (a
323
+ * comma). After you split a string, use the `Fn::Select` function to pick a
324
+ * specific element.
325
+ *
326
+ * @param delimiter A string value that determines where the source string is
327
+ * divided.
328
+ * @param sourceString The string value that you want to split.
329
+ * @returns A list of string values.
330
+ *
331
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-split.html | Fn::Split}
332
+ */
333
+ static Split(delimiter, sourceString) {
334
+ return new this('Fn::Split', [delimiter, sourceString]);
335
+ }
336
+ /**
337
+ * The intrinsic function `Fn::Sub` substitutes variables in an input string
338
+ * with values that you specify. In your templates, you can use this function
339
+ * to construct commands or outputs that include values that aren't available
340
+ * until you create or update a stack.
341
+ *
342
+ * @param text A string with variables that AWS CloudFormation substitutes
343
+ * with their associated values at runtime. Write variables as `${MyVarName}`.
344
+ * Variables can be template parameter names, resource logical IDs,
345
+ * resource attributes, or a variable in a key-value map. If you specify only
346
+ * template parameter names, resource logical IDs, and resource attributes,
347
+ * don't specify a key-value map.
348
+ *
349
+ * If you specify template parameter names or resource logical IDs, such as
350
+ * `${InstanceTypeParameter}` AWS CloudFormation returns the same values as if
351
+ * you used the Ref intrinsic function. If you specify resource attributes,
352
+ * such as `${MyInstance.PublicIp}` AWS CloudFormation returns the same values
353
+ * as if you used the `Fn::GetAtt` intrinsic function.
354
+ *
355
+ * To write a dollar sign and curly braces (`${}`) literally, add an
356
+ * exclamation point (!) after the open curly brace, such as `${!Literal}`.
357
+ * AWS CloudFormation resolves this text as `${Literal}`.
358
+ *
359
+ * @param values A map of values that AWS CloudFormation substitutes for the
360
+ * associated variable names at runtime.
361
+ *
362
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html | Fn::Sub}
363
+ */
364
+ static Sub(text, values) {
365
+ return new this('Fn::Sub', [text, values]);
366
+ }
367
+ /**
368
+ * Returns an attribute value or list of values for a specific parameter and
369
+ * attribute.
370
+ *
371
+ * @param attribute The name of an attribute from which you want to retrieve a
372
+ * value.
373
+ * @param parameterLogicalId The name of a parameter for which you want to
374
+ * retrieve attribute values. The parameter must be declared in the
375
+ * `Parameters` section of the template.
376
+ *
377
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-rules.html#fn-valueof | Fn::ValueOf}
378
+ */
379
+ static ValueOf(attribute, parameterLogicalId) {
380
+ return new this('Fn::ValueOf', [attribute, parameterLogicalId]);
381
+ }
382
+ /**
383
+ * Returns a list of all attribute values for a given parameter type and
384
+ * attribute.
385
+ *
386
+ * @param parameterType An AWS-specific parameter type, such as
387
+ * `AWS::EC2::SecurityGroup::Id` or `AWS::EC2::VPC::Id`. For more information,
388
+ * see Parameters in the AWS CloudFormation User Guide.
389
+ * @param attribute The name of an attribute from which you want to retrieve a
390
+ * value.
391
+ *
392
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-rules.html#fn-valueofall | Fn::ValueOfAll}
393
+ */
394
+ static ValueOfAll(parameterType, attribute) {
395
+ return new this('Fn::ValueOfAll', [parameterType, attribute]);
396
+ }
397
+ /**
398
+ * Create an arbitrary intrinsic function value.
399
+ *
400
+ * @param fn The name of the intrinsic function.
401
+ * @param args The arguments for the intrinsic function.
402
+ */
403
+ constructor(fn, args) {
404
+ this.fn = fn;
405
+ this.args = args;
406
+ }
407
+ /**
408
+ * Get the JSON representation for this instance.
409
+ */
410
+ toJSON() {
411
+ return { [this.fn]: this.args };
412
+ }
413
+ }
414
+ exports.Fn = Fn;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // AUTO-GENERATED node ../makeIndex.js
18
+ __exportStar(require("./AutoScalingReplacingUpdatePolicy.js"), exports);
19
+ __exportStar(require("./AutoScalingRollingUpdatePolicy.js"), exports);
20
+ __exportStar(require("./AutoScalingScheduledActionPolicy.js"), exports);
21
+ __exportStar(require("./AwsParam.js"), exports);
22
+ __exportStar(require("./CodeDeployLambdaAliasUpdatePolicy.js"), exports);
23
+ __exportStar(require("./CreationPolicy.js"), exports);
24
+ __exportStar(require("./DeletionPolicy.js"), exports);
25
+ __exportStar(require("./Fn.js"), exports);
26
+ __exportStar(require("./OutputDefinition.js"), exports);
27
+ __exportStar(require("./ParameterDefinition.js"), exports);
28
+ __exportStar(require("./ResourceDefinition.js"), exports);
29
+ __exportStar(require("./RuleDefinition.js"), exports);
30
+ __exportStar(require("./Template.js"), exports);
31
+ __exportStar(require("./TemplateMap.js"), exports);
32
+ __exportStar(require("./types.generated.js"), exports);
33
+ __exportStar(require("./UpdatePolicy.js"), exports);