@awboost/cfntypes 1.0.0-beta.5 → 1.0.0-beta.51

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,113 @@
1
+ import { OutputDefinition, ParameterDefinition, ResourceDefinition, RuleDefinition } from "./definitions.js";
2
+ import { IntrinsicValue, TemplateMap } from "./util.js";
3
+ /**
4
+ * The interface for a CloudFormation template.
5
+ *
6
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html | Template anatomy}
7
+ */
8
+ export interface Template {
9
+ /**
10
+ * The AWSTemplateFormatVersion section (optional) identifies the capabilities
11
+ * of the template. The latest template format version is 2010-09-09 and is
12
+ * currently the only valid value.
13
+ *
14
+ * The value for the template format version declaration must be a literal
15
+ * string. You can't use a parameter or function to specify the template
16
+ * format version. If you don't specify a value, AWS CloudFormation assumes
17
+ * the latest template format version.
18
+ *
19
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/format-version-structure.html | Format version}
20
+ */
21
+ AWSTemplateFormatVersion?: "2010-09-09";
22
+ /**
23
+ * The optional Conditions section contains statements that define the
24
+ * circumstances under which entities are created or configured. For example,
25
+ * you can create a condition and then associate it with a resource or output
26
+ * so that AWS CloudFormation only creates the resource or output if the
27
+ * condition is true. Similarly, you can associate the condition with a
28
+ * property so that AWS CloudFormation only sets the property to a specific
29
+ * value if the condition is true. If the condition is false, AWS
30
+ * CloudFormation sets the property to a different value that you specify.
31
+ *
32
+ * You might use conditions when you want to reuse a template that can create
33
+ * resources in different contexts, such as a test environment versus a
34
+ * production environment. In your template, you can add an EnvironmentType
35
+ * input parameter, which accepts either prod or test as inputs. For the
36
+ * production environment, you might include Amazon EC2 instances with certain
37
+ * capabilities; however, for the test environment, you want to use reduced
38
+ * capabilities to save money. With conditions, you can define which resources
39
+ * are created and how they're configured for each environment type.
40
+ *
41
+ * Conditions are evaluated based on predefined pseudo parameters or input
42
+ * parameter values that you specify when you create or update a stack. Within
43
+ * each condition, you can reference another condition, a parameter value, or
44
+ * a mapping. After you define all your conditions, you can associate them
45
+ * with resources and resource properties in the Resources and Outputs
46
+ * sections of a template.
47
+ *
48
+ * At stack creation or stack update, AWS CloudFormation evaluates all the
49
+ * conditions in your template before creating any resources. Resources that
50
+ * are associated with a true condition are created. Resources that are
51
+ * associated with a false condition are ignored. AWS CloudFormation also
52
+ * re-evaluates these conditions at each stack update before updating any
53
+ * resources. Resources that are still associated with a true condition are
54
+ * updated. Resources that are now associated with a false condition are
55
+ * deleted.
56
+ *
57
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html | Conditions}
58
+ */
59
+ Conditions?: TemplateMap<IntrinsicValue>;
60
+ /**
61
+ * The optional `Mappings` section matches a key to a corresponding set of
62
+ * named values. For example, if you want to set values based on a region, you
63
+ * can create a mapping that uses the region name as a key and contains the
64
+ * values you want to specify for each specific region. You use the
65
+ * `Fn::FindInMap` intrinsic function to retrieve values in a map.
66
+ *
67
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html | Mappings}
68
+ */
69
+ Mappings?: TemplateMap<TemplateMap<TemplateMap<IntrinsicValue>>>;
70
+ /**
71
+ * You can use the optional `Metadata` section to include arbitrary JSON or
72
+ * YAML objects that provide details about the template.
73
+ *
74
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html | Metadata}
75
+ */
76
+ Metadata?: TemplateMap<IntrinsicValue>;
77
+ /**
78
+ * The optional `Outputs` section declares output values that you can import
79
+ * into other stacks (to create cross-stack references), return in response
80
+ * (to describe stack calls), or view on the AWS CloudFormation console. For
81
+ * example, you can output the S3 bucket name for a stack to make the bucket
82
+ * easier to find.
83
+ *
84
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html | Outputs}
85
+ */
86
+ Outputs?: TemplateMap<OutputDefinition>;
87
+ /**
88
+ * Use the optional `Parameters` section to customize your templates.
89
+ * Parameters enable you to input custom values to your template each time you
90
+ * create or update a stack.
91
+ *
92
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html | Parameters}
93
+ */
94
+ Parameters?: TemplateMap<ParameterDefinition>;
95
+ /**
96
+ * The required `Resources` section declares the AWS resources that you want
97
+ * to include in the stack, such as an Amazon EC2 instance or an Amazon S3
98
+ * bucket.
99
+ *
100
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html | Resources}
101
+ */
102
+ Resources: TemplateMap<ResourceDefinition>;
103
+ /**
104
+ * The optional `Rules` section validates a parameter or a combination of
105
+ * parameters passed to a template during a stack creation or stack update. To
106
+ * use template rules, explicitly declare `Rules` in your template followed by
107
+ * an assertion. Use the rules section to validate parameter values before
108
+ * creating or updating resources.
109
+ *
110
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/rules-section-structure.html | Rules}
111
+ */
112
+ Rules?: TemplateMap<RuleDefinition>;
113
+ }
@@ -0,0 +1 @@
1
+ export {};
package/lib/util.d.ts ADDED
@@ -0,0 +1,434 @@
1
+ /**
2
+ * A key-value map.
3
+ */
4
+ export interface TemplateMap<T> {
5
+ [key: string]: T;
6
+ }
7
+ /**
8
+ * IntrinsicValue represents the output of an intrinsic function.
9
+ */
10
+ export type IntrinsicValue = any;
11
+ /**
12
+ * You can use intrinsic functions, such as `Fn::If`, `Fn::Equals`, and
13
+ * `Fn::Not`, to conditionally create stack resources. These conditions are
14
+ * evaluated based on input parameters that you declare when you create or
15
+ * update a stack. After you define all your conditions, you can associate them
16
+ * with resources or resource properties in the Resources and Outputs sections
17
+ * of a template.
18
+ *
19
+ * You define all conditions in the Conditions section of a template except for
20
+ * `Fn::If conditions`. You can use the `Fn::If` condition in the metadata
21
+ * attribute, update policy attribute, and property values in the Resources
22
+ * section and Outputs sections of a template.
23
+ *
24
+ * You might use conditions when you want to reuse a template that can create
25
+ * resources in different contexts, such as a test environment versus a
26
+ * production environment. In your template, you can add an EnvironmentType
27
+ * input parameter, which accepts either prod or test as inputs. For the
28
+ * production environment, you might include Amazon EC2 instances with certain
29
+ * capabilities; however, for the test environment, you want to use less
30
+ * capabilities to save costs. With conditions, you can define which resources
31
+ * are created and how they're configured for each environment type.
32
+ */
33
+ export declare class Fn {
34
+ fn: string;
35
+ args: IntrinsicValue;
36
+ /**
37
+ * Constructs a string value using {@link Fn.Join} from a tagged template
38
+ * literal.
39
+ */
40
+ static fmt(literals: TemplateStringsArray, ...values: unknown[]): IntrinsicValue;
41
+ /**
42
+ * Returns true if all the specified conditions evaluate to true, or returns
43
+ * false if any one of the conditions evaluates to false. `Fn::And` acts as an
44
+ * AND operator. The minimum number of conditions that you can include is 2,
45
+ * and the maximum is 10.
46
+ *
47
+ * @param conditions A condition that evaluates to true or false.
48
+ *
49
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-and | Fn::And}
50
+ */
51
+ static And(...conditions: IntrinsicValue[]): IntrinsicValue;
52
+ /**
53
+ * The intrinsic function `Fn::Base64` returns the Base64 representation of
54
+ * the input string. This function is typically used to pass encoded data to
55
+ * Amazon EC2 instances by way of the UserData property.
56
+ *
57
+ * @param valueToEncode The string value you want to convert to Base64.
58
+ * @returns The original string, in Base64 representation.
59
+ *
60
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-base64.html | Fn::Base64}
61
+ */
62
+ static Base64(valueToEncode: string): IntrinsicValue;
63
+ /**
64
+ * The intrinsic function `Fn::Cidr` returns an array of CIDR address blocks.
65
+ * The number of CIDR blocks returned is dependent on the count parameter.
66
+ *
67
+ * @param ipBlock The user-specified CIDR address block to be split into
68
+ * smaller CIDR blocks.
69
+ * @param count The number of CIDRs to generate. Valid range is between 1 and
70
+ * 256.
71
+ * @param cidrBits The number of subnet bits for the CIDR. For example,
72
+ * specifying a value "8" for this parameter will create a CIDR with a mask of
73
+ * "/24".
74
+ * @returns An array of CIDR address blocks.
75
+ *
76
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-cidr.html | Fn::Cidr}
77
+ */
78
+ static Cidr(ipBlock: string, count: number, cidrBits: number): IntrinsicValue;
79
+ /**
80
+ * Returns `true` if a specified string matches at least one value in a list
81
+ * of strings.
82
+ *
83
+ * @param listOfStrings A list of strings, such as `"A", "B", "C"`.
84
+ * @param string A string, such as `"A"`, that you want to compare against a
85
+ * list of strings.
86
+ *
87
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-rules.html#fn-contains | Fn::Contains}
88
+ */
89
+ static Contains(listOfStrings: string[], string: string): IntrinsicValue;
90
+ /**
91
+ * Returns `true` if a specified string matches all values in a list.
92
+ *
93
+ * @param listOfStrings A list of strings, such as `"A", "B", "C"`.
94
+ * @param string A string, such as `"A"`, that you want to compare against a
95
+ * list of strings.
96
+ *
97
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-rules.html#fn-eachmemberequals | Fn::EachMemberEquals}
98
+ */
99
+ static EachMemberEquals(listOfStrings: string[], string: string): IntrinsicValue;
100
+ /**
101
+ * Returns `true` if a specified string matches all values in a list.
102
+ *
103
+ * @param stringsToCheck A list of strings, such as `"A", "B", "C"`.
104
+ * CloudFormation checks whether each member in the stringsToC`heck parameter
105
+ * is in the `stringsToMap` parameter.
106
+ * @param stringsToMatch A list of strings, such as `"A", "B", "C"`. Each
107
+ * member in the `stringsToMatch` parameter is compared against the members of
108
+ * the `stringsToCheck` parameter.
109
+ *
110
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-rules.html#fn-eachmemberin | Fn::EachMemberIn}
111
+ */
112
+ static EachMemberIn(stringsToCheck: string[], stringsToMatch: string[]): IntrinsicValue;
113
+ /**
114
+ * Compares if two values are equal. Returns true if the two values are equal
115
+ * or false if they aren't.
116
+ *
117
+ * @param value1 A value of any type that you want to compare.
118
+ * @param value2 A value of any type that you want to compare.
119
+ *
120
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-equals | Fn::Equals}
121
+ */
122
+ static Equals(value1: IntrinsicValue, value2: IntrinsicValue): IntrinsicValue;
123
+ /**
124
+ * The intrinsic function `Fn::FindInMap` returns the value corresponding to
125
+ * keys in a two-level map that is declared in the Mappings section.
126
+ *
127
+ * @param mapName The logical name of a mapping declared in the Mappings
128
+ * section that contains the keys and values.
129
+ * @param topLevelKey The top-level key name. Its value is a list of key-value pairs.
130
+ * @param secondLevelKey The second-level key name, which is set to one of the keys from the list assigned to TopLevelKey.
131
+ * @returns The value that is assigned to SecondLevelKey.
132
+ *
133
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html | Fn::FindInMap}
134
+ */
135
+ static FindInMap(mapName: string, topLevelKey: string, secondLevelKey: string): IntrinsicValue;
136
+ /**
137
+ * The `Fn::GetAtt` intrinsic function returns the value of an attribute from
138
+ * a resource in the template. For more information about GetAtt return values
139
+ * for a particular resource, refer to the documentation for that resource in
140
+ * the Resource and Property Reference.
141
+ *
142
+ * @param logicalNameOfResource The logical name (also called logical ID) of
143
+ * the resource that contains the attribute that you want.
144
+ * @param attributeName The name of the resource-specific attribute whose
145
+ * value you want. See the resource's reference page for details about the
146
+ * attributes available for that resource type.
147
+ * @returns The attribute value.
148
+ *
149
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html | Fn::GetAtt}
150
+ */
151
+ static GetAtt(logicalNameOfResource: string, attributeName: string): IntrinsicValue;
152
+ /**
153
+ * The intrinsic function `Fn::GetAZs` returns an array that lists
154
+ * Availability Zones for a specified region. Because customers have access to
155
+ * different Availability Zones, the intrinsic function `Fn::GetAZs` enables
156
+ * template authors to write templates that adapt to the calling user's
157
+ * access. That way you don't have to hard-code a full list of Availability
158
+ * Zones for a specified region.
159
+ *
160
+ * @param region The name of the region for which you want to get the
161
+ * Availability Zones. You can use the AWS::Region pseudo parameter to
162
+ * specify the region in which the stack is created. Specifying an empty
163
+ * string is equivalent to specifying AWS::Region.
164
+ * @returns The list of Availability Zones for the region.
165
+ *
166
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getavailabilityzones.html | Fn::GetAZs}
167
+ */
168
+ static GetAZs(region: string): IntrinsicValue;
169
+ /**
170
+ * Returns one value if the specified condition evaluates to true and another
171
+ * value if the specified condition evaluates to false. Currently, AWS
172
+ * CloudFormation supports the Fn::If intrinsic function in the metadata
173
+ * attribute, update policy attribute, and property values in the Resources
174
+ * section and Outputs sections of a template. You can use the `AWS::NoValue`
175
+ * pseudo parameter as a return value to remove the corresponding property.
176
+ *
177
+ * @param conditionName A reference to a condition in the Conditions section.
178
+ * Use the condition's name to reference it.
179
+ * @param valueIfTrue A value to be returned if the specified condition
180
+ * evaluates to true.
181
+ * @param valueIfFalse A value to be returned if the specified condition
182
+ * evaluates to false.
183
+ *
184
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-if | Fn::If}
185
+ */
186
+ static IfThen(conditionName: string, valueIfTrue: IntrinsicValue, valueIfFalse: IntrinsicValue): IntrinsicValue;
187
+ /**
188
+ * The intrinsic function `Fn::ImportValue` returns the value of an output
189
+ * exported by another stack. You typically use this function to create
190
+ * cross-stack references. In the following example template snippets, Stack A
191
+ * exports VPC security group values and Stack B imports them.
192
+ *
193
+ * @param sharedValueToImport The stack output value that you want to import.
194
+ * @returns The stack output value.
195
+ *
196
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html | Fn::ImportValue}
197
+ */
198
+ static ImportValue(sharedValueToImport: string): IntrinsicValue;
199
+ /**
200
+ * The intrinsic function `Fn::Join` appends a set of values into a single
201
+ * value, separated by the specified delimiter. If a delimiter is the empty
202
+ * string, the set of values are concatenated with no delimiter.
203
+ *
204
+ * @param delimiter The value you want to occur between fragments. The
205
+ * delimiter will occur between fragments only. It will not terminate the
206
+ * final value.
207
+ * @param listOfValues The list of values you want combined.
208
+ * @returns The combined string.
209
+ *
210
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html | Fn::Join}
211
+ */
212
+ static Join(delimiter: string, listOfValues: IntrinsicValue[]): IntrinsicValue;
213
+ /**
214
+ * Returns true for a condition that evaluates to false or returns false for a
215
+ * condition that evaluates to true. `Fn::Not` acts as a NOT operator.
216
+ *
217
+ * @param condition A condition such as `Fn::Equals` that evaluates to true or
218
+ * false.
219
+ *
220
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-not | Fn::Not}
221
+ */
222
+ static Not(condition: string): IntrinsicValue;
223
+ /**
224
+ * Returns true if any one of the specified conditions evaluate to true, or
225
+ * returns false if all of the conditions evaluates to false. `Fn::Or` acts as
226
+ * an OR operator. The minimum number of conditions that you can include is 2,
227
+ * and the maximum is 10.
228
+ *
229
+ * @param conditions A condition that evaluates to true or false.
230
+ *
231
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-or | Fn::Or}
232
+ */
233
+ static Or(...conditions: IntrinsicValue[]): IntrinsicValue;
234
+ /**
235
+ * The intrinsic function Ref returns the value of the specified parameter or
236
+ * resource.
237
+ *
238
+ * - When you specify a parameter's logical name, it returns the value of the
239
+ * parameter.
240
+ *
241
+ * - When you specify a resource's logical name, it returns a value that you
242
+ * can typically use to refer to that resource, such as a physical ID.
243
+ *
244
+ * When you are declaring a resource in a template and you need to specify
245
+ * another template resource by name, you can use the Ref to refer to that
246
+ * other resource. In general, Ref returns the name of the resource. For
247
+ * example, a reference to an AWS::AutoScaling::AutoScalingGroup returns the
248
+ * name of that Auto Scaling group resource.
249
+ *
250
+ * @param logicalName The logical name of the resource or parameter you want
251
+ * to dereference.
252
+ *
253
+ * @returns The physical ID of the resource or the value of the parameter.
254
+ *
255
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html | Ref}
256
+ */
257
+ static Ref(logicalName: string): IntrinsicValue;
258
+ /**
259
+ * Returns all values for a specified parameter type.
260
+ *
261
+ * @param parameterType An AWS-specific parameter type, such as
262
+ * `AWS::EC2::SecurityGroup::Id` or `AWS::EC2::VPC::Id`. For more information,
263
+ * see Parameters in the AWS CloudFormation User Guide.
264
+ *
265
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-rules.html#fn-refall | Fn::RefAll}
266
+ */
267
+ static RefAll(parameterType: string): IntrinsicValue;
268
+ /**
269
+ * The intrinsic function `Fn::Select` returns a single object from a list of
270
+ * objects by index.
271
+ *
272
+ * @param index The index of the object to retrieve. This must be a value from
273
+ * zero to N-1, where N represents the number of elements in the array.
274
+ * @param listOfObjects The list of objects to select from. This list must not
275
+ * be null, nor can it have null entries.
276
+ * @returns The selected object.
277
+ *
278
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-select.html | Fn::Select}
279
+ */
280
+ static Select(index: number, listOfObjects: IntrinsicValue[]): IntrinsicValue;
281
+ /**
282
+ * To split a string into a list of string values so that you can select an
283
+ * element from the resulting string list, use the `Fn::Split` intrinsic
284
+ * function. Specify the location of splits with a delimiter, such as , (a
285
+ * comma). After you split a string, use the `Fn::Select` function to pick a
286
+ * specific element.
287
+ *
288
+ * @param delimiter A string value that determines where the source string is
289
+ * divided.
290
+ * @param sourceString The string value that you want to split.
291
+ * @returns A list of string values.
292
+ *
293
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-split.html | Fn::Split}
294
+ */
295
+ static Split(delimiter: string, sourceString: string): IntrinsicValue;
296
+ /**
297
+ * The intrinsic function `Fn::Sub` substitutes variables in an input string
298
+ * with values that you specify. In your templates, you can use this function
299
+ * to construct commands or outputs that include values that aren't available
300
+ * until you create or update a stack.
301
+ *
302
+ * @param text A string with variables that AWS CloudFormation substitutes
303
+ * with their associated values at runtime. Write variables as `${MyVarName}`.
304
+ * Variables can be template parameter names, resource logical IDs,
305
+ * resource attributes, or a variable in a key-value map. If you specify only
306
+ * template parameter names, resource logical IDs, and resource attributes,
307
+ * don't specify a key-value map.
308
+ *
309
+ * If you specify template parameter names or resource logical IDs, such as
310
+ * `${InstanceTypeParameter}` AWS CloudFormation returns the same values as if
311
+ * you used the Ref intrinsic function. If you specify resource attributes,
312
+ * such as `${MyInstance.PublicIp}` AWS CloudFormation returns the same values
313
+ * as if you used the `Fn::GetAtt` intrinsic function.
314
+ *
315
+ * To write a dollar sign and curly braces (`${}`) literally, add an
316
+ * exclamation point (!) after the open curly brace, such as `${!Literal}`.
317
+ * AWS CloudFormation resolves this text as `${Literal}`.
318
+ *
319
+ * @param values A map of values that AWS CloudFormation substitutes for the
320
+ * associated variable names at runtime.
321
+ *
322
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html | Fn::Sub}
323
+ */
324
+ static Sub(text: string, values: Record<string, IntrinsicValue>): IntrinsicValue;
325
+ /**
326
+ * Returns an attribute value or list of values for a specific parameter and
327
+ * attribute.
328
+ *
329
+ * @param attribute The name of an attribute from which you want to retrieve a
330
+ * value.
331
+ * @param parameterLogicalId The name of a parameter for which you want to
332
+ * retrieve attribute values. The parameter must be declared in the
333
+ * `Parameters` section of the template.
334
+ *
335
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-rules.html#fn-valueof | Fn::ValueOf}
336
+ */
337
+ static ValueOf(attribute: string, parameterLogicalId: string): IntrinsicValue;
338
+ /**
339
+ * Returns a list of all attribute values for a given parameter type and
340
+ * attribute.
341
+ *
342
+ * @param parameterType An AWS-specific parameter type, such as
343
+ * `AWS::EC2::SecurityGroup::Id` or `AWS::EC2::VPC::Id`. For more information,
344
+ * see Parameters in the AWS CloudFormation User Guide.
345
+ * @param attribute The name of an attribute from which you want to retrieve a
346
+ * value.
347
+ *
348
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-rules.html#fn-valueofall | Fn::ValueOfAll}
349
+ */
350
+ static ValueOfAll(parameterType: string, attribute: string): IntrinsicValue;
351
+ /**
352
+ * Create an arbitrary intrinsic function value.
353
+ *
354
+ * @param fn The name of the intrinsic function.
355
+ * @param args The arguments for the intrinsic function.
356
+ */
357
+ constructor(fn: string, args: IntrinsicValue);
358
+ /**
359
+ * Get the JSON representation for this instance.
360
+ */
361
+ toJSON(): IntrinsicValue;
362
+ }
363
+ /**
364
+ * Pseudo parameters are parameters that are predefined by AWS CloudFormation.
365
+ * You don't declare them in your template. Use them the same way as you would a
366
+ * parameter, as the argument for the Ref function.
367
+ *
368
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html | Psuedo Parameter Reference}
369
+ */
370
+ export declare class AwsParam {
371
+ /**
372
+ * Returns the AWS account ID of the account in which the stack is being
373
+ * created, such as `123456789012`.
374
+ *
375
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-accountid | AWS::AccountId}
376
+ */
377
+ static get AccountId(): IntrinsicValue;
378
+ /**
379
+ * Returns the list of notification Amazon Resource Names (ARNs) for the
380
+ * current stack.
381
+ *
382
+ * To get a single ARN from the list, use {@link Fn.Split}.
383
+ *
384
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-notificationarns | AWS::NotificationARNs}
385
+ */
386
+ static get NotificationARNs(): IntrinsicValue;
387
+ /**
388
+ * Removes the corresponding resource property when specified as a return
389
+ * value in the `Fn::If` intrinsic function.
390
+ *
391
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-novalue | AWS::NoValue}
392
+ */
393
+ static get NoValue(): IntrinsicValue;
394
+ /**
395
+ * Returns the partition that the resource is in. For standard AWS Regions,
396
+ * the partition is `aws`. For resources in other partitions, the partition is
397
+ * `aws-partitionname`. For example, the partition for resources in the China
398
+ * (Beijing and Ningxia) Region is `aws-cn` and the partition for resources in
399
+ * the AWS GovCloud (US-West) region is `aws-us-gov`.
400
+ *
401
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-partition | AWS::Partition}
402
+ */
403
+ static get Partition(): IntrinsicValue;
404
+ /**
405
+ * Returns a string representing the Region in which the encompassing resource
406
+ * is being created, such as `us-west-2`.
407
+ *
408
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-region | AWS::Region}
409
+ */
410
+ static get Region(): IntrinsicValue;
411
+ /**
412
+ * Returns the ID of the stack as specified with the aws cloudformation
413
+ * create-stack command, such as
414
+ * `arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123`.
415
+ *
416
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-stackid | AWS::StackId}
417
+ */
418
+ static get StackId(): IntrinsicValue;
419
+ /**
420
+ * Returns the name of the stack as specified with the aws cloudformation
421
+ * `create-stack` command, such as `teststack`.
422
+ *
423
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-stackname | AWS::StackName}
424
+ */
425
+ static get StackName(): IntrinsicValue;
426
+ /**
427
+ * Returns the suffix for a domain. The suffix is typically `amazonaws.com`,
428
+ * but might differ by Region. For example, the suffix for the China (Beijing)
429
+ * Region is `amazonaws.com.cn`.
430
+ *
431
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-urlsuffix | AWS::URLSuffix}
432
+ */
433
+ static get URLSuffix(): IntrinsicValue;
434
+ }