You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc_source/modules-structure.md
+6-6Lines changed: 6 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ A module consists of two main pieces:
7
7
## Creating the module template fragment<aname="modules-template-fragment"></a>
8
8
9
9
The starting point for developing a module is the template fragment\. The template fragment is a file that contains the information that defines the resources for CloudFormation to provision during stack operations, including:
10
-
+ A `[Resources](https://docs.aws.amazon.com/)` section that defines the resources to be provisioned\.
10
+
+ A [Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html) section that defines the resources to be provisioned\.
11
11
12
12
The `Resources` section is required\.
13
13
+ Additional other template sections related for the provisioning of the resources as necessary, such as [Outputs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) and [Conditions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html)\.
@@ -74,11 +74,11 @@ Keep in mind the following considerations when developing modules:
74
74
Each output will be assigned a logical ID that's a concatenation of the module logical name and the output name as defined in the module\. For more information on outputs, see [Outputs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) in the *CloudFormation User Guide*\.
75
75
+ Parameters specified in the module Aren't propagated to parameters at the template level\.
76
76
77
-
However, you can create template\-level parameters that reference module\-level parameters\. For more information, see [Using parameters to specify module values](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/module-using-params.html) in the *CloudFormation User Guide*\.
77
+
However, you can create template\-level parameters that reference module\-level parameters\. For more information, see [Using parameters to specify module values](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/modules.html#module-using-params) in the *CloudFormation User Guide*\.
78
78
79
79
### Nesting modules<aname="modules-nesting"></a>
80
80
81
-
Modules can contain other modules\. You can nest modules up to three levels deep\. To include a module in your module, reference it in the `Resources` section of your template fragment, as you would any other resource\. For an example, see [Specifying properties on resources in a child module from the parent module](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/module-using-params-example-2) in the *CloudFormation User Guide*\.
81
+
Modules can contain other modules\. You can nest modules up to three levels deep\. To include a module in your module, reference it in the `Resources` section of your template fragment, as you would any other resource\. For an example, see [Specifying properties on resources in a child module from the parent module](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/modules.html#module-using-params-example-2) in the *CloudFormation User Guide*\.
82
82
83
83
### Macros and modules<aname="modules-macros"></a>
84
84
@@ -126,7 +126,7 @@ For more information on resource policies, see [Resource attribute reference](ht
126
126
127
127
The module schema is generated from the template fragment, and defines the contract to which the module adheres, including defining the input it accepts and the possible resources it resolves to when included in a template\.
128
128
129
-
To generate the module schema, use the `[validate](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-cli-validate.html)` command once you've authored your template fragment\.
129
+
To generate the module schema, use the [validate](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-cli-validate.html) command once you've authored your template fragment\.
130
130
131
131
For example, suppose you created a module package and used the template fragment above\. The `validate` command would result in the following module schema:
132
132
@@ -162,10 +162,10 @@ For more information on publishing public extensions, see [Publishing extensions
162
162
+ Public modules cannot include circular dependencies on child modules, or vice versa\.
163
163
+[Custom resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html) are not supported in public modules\.
164
164
+ Only public resources are supported in public modules\. The public resources can be published by Amazon or third\-parties\.
165
-
+ Any third\-party public resources included in the module must include the necessary publisher information, as detailed in [Specifying publisher metadata for pubic third\-party resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/modules-structure-publishing-3p-info.htm)\.
165
+
+ Any third\-party public resources included in the module must include the necessary publisher information, as detailed in [Specifying publisher metadata for public third\-party resources](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/modules-structure.html#modules-structure-publishing-3p-info)\.
166
166
+ The supported major versions listed in the module for a resource type must be subset of the supported major versions specified for the resource type in any child modules\.
167
167
168
-
### Specifying publisher metadata for pubic third\-party resources<aname="modules-structure-publishing-3p-info"></a>
168
+
### Specifying publisher metadata for public third\-party resources<aname="modules-structure-publishing-3p-info"></a>
169
169
170
170
For any third\-party public resources you include in your public module, you must specify additional publisher information\. This enables CloudFormation to determine the resource type specified, and which versions of that resource the module supports\. Specify the following properties in a [Metadata](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html) element in your resource definition:
0 commit comments