# AWS::CloudFormation::ModuleVersion A module that has been registered in the CloudFormation registry. ## Syntax To declare this entity in your AWS CloudFormation template, use the following syntax: ### JSON
{ "Type" : "AWS::CloudFormation::ModuleVersion", "Properties" : { "ModuleName" : String, "ModulePackage" : String, } }### YAML
Type: AWS::CloudFormation::ModuleVersion Properties: ModuleName: String ModulePackage: String## Properties #### ModuleName The name of the module being registered. Recommended module naming pattern: company_or_organization::service::type::MODULE. _Required_: Yes _Type_: String _Pattern_:
^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::MODULE
_Update requires_: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)
#### ModulePackage
The url to the S3 bucket containing the schema and template fragment for the module you want to register.
_Required_: Yes
_Type_: String
_Update requires_: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)
## Return Values
### Ref
When you pass the logical ID of this resource to the intrinsic `Ref` function, Ref returns the Arn.
### Fn::GetAtt
The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.
For more information about using the `Fn::GetAtt` intrinsic function, see [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html).
#### Arn
The Amazon Resource Name (ARN) of the module.
#### Description
The description of the registered module.
#### DocumentationUrl
The URL of a page providing detailed documentation for this module.
#### IsDefaultVersion
Indicator of whether this module version is the current default version
#### Schema
The schema defining input parameters to and resources generated by the module.
#### TimeCreated
The time that the specified module version was registered.
#### VersionId
The version ID of the module represented by this module instance.
#### Visibility
The scope at which the type is visible and usable in CloudFormation operations.
The only allowed value at present is:
PRIVATE: The type is only visible and usable within the account in which it is registered. Currently, AWS CloudFormation marks any types you register as PRIVATE.