

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::DataZone::Project
<a name="aws-resource-datazone-project"></a>

The `AWS::DataZone::Project`resource specifies an Amazon DataZone project. Projects enable a group of users to collaborate on various business use cases that involve publishing, discovering, subscribing to, and consuming data in the Amazon DataZone catalog. Project members consume assets from the Amazon DataZone catalog and produce new assets using one or more analytical workflows.

## Syntax
<a name="aws-resource-datazone-project-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-datazone-project-syntax.json"></a>

```
{
  "Type" : "AWS::DataZone::Project",
  "Properties" : {
      "[Description](#cfn-datazone-project-description)" : String,
      "[DomainIdentifier](#cfn-datazone-project-domainidentifier)" : String,
      "[DomainUnitId](#cfn-datazone-project-domainunitid)" : String,
      "[GlossaryTerms](#cfn-datazone-project-glossaryterms)" : [ String, ... ],
      "[Name](#cfn-datazone-project-name)" : String,
      "[ProjectProfileId](#cfn-datazone-project-projectprofileid)" : String,
      "[ProjectProfileVersion](#cfn-datazone-project-projectprofileversion)" : String,
      "[ResourceTags](#cfn-datazone-project-resourcetags)" : [ ResourceTag, ... ],
      "[UserParameters](#cfn-datazone-project-userparameters)" : [ EnvironmentConfigurationUserParameter, ... ]
    }
}
```

### YAML
<a name="aws-resource-datazone-project-syntax.yaml"></a>

```
Type: AWS::DataZone::Project
Properties:
  [Description](#cfn-datazone-project-description): String
  [DomainIdentifier](#cfn-datazone-project-domainidentifier): String
  [DomainUnitId](#cfn-datazone-project-domainunitid): String
  [GlossaryTerms](#cfn-datazone-project-glossaryterms): 
    - String
  [Name](#cfn-datazone-project-name): String
  [ProjectProfileId](#cfn-datazone-project-projectprofileid): String
  [ProjectProfileVersion](#cfn-datazone-project-projectprofileversion): String
  [ResourceTags](#cfn-datazone-project-resourcetags): 
    - ResourceTag
  [UserParameters](#cfn-datazone-project-userparameters): 
    - EnvironmentConfigurationUserParameter
```

## Properties
<a name="aws-resource-datazone-project-properties"></a>

`Description`  <a name="cfn-datazone-project-description"></a>
The description of a project.  
*Required*: No  
*Type*: String  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DomainIdentifier`  <a name="cfn-datazone-project-domainidentifier"></a>
The identifier of a Amazon DataZone domain where the project exists.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^dzd[-_][a-zA-Z0-9_-]{1,36}$`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DomainUnitId`  <a name="cfn-datazone-project-domainunitid"></a>
The ID of the domain unit. This parameter is not required and if it is not specified, then the project is created at the root domain unit level.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-z0-9_\-]+$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`GlossaryTerms`  <a name="cfn-datazone-project-glossaryterms"></a>
The glossary terms that can be used in this Amazon DataZone project.  
*Required*: No  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `20`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-datazone-project-name"></a>
The name of a project.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[\w -]+$`  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ProjectProfileId`  <a name="cfn-datazone-project-projectprofileid"></a>
The ID of the project profile.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9_-]{1,36}$`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ProjectProfileVersion`  <a name="cfn-datazone-project-projectprofileversion"></a>
The project profile version to which the project should be updated. You can only specify the following string for this parameter: `latest`.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ResourceTags`  <a name="cfn-datazone-project-resourcetags"></a>
The resource tags of the project.  
*Required*: No  
*Type*: Array of [ResourceTag](aws-properties-datazone-project-resourcetag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UserParameters`  <a name="cfn-datazone-project-userparameters"></a>
The user parameters of the project.  
*Required*: No  
*Type*: Array of [EnvironmentConfigurationUserParameter](aws-properties-datazone-project-environmentconfigurationuserparameter.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-datazone-project-return-values"></a>

### Ref
<a name="aws-resource-datazone-project-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns a string containing pipe-separated `DomainId` and the `ProjectId` that uniquely identify the project. For example: `{ "Ref": "MyProject" }` for the resource with the logical ID `MyProject`, `Ref` returns `DomainId|ProjectId`. 

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-datazone-project-return-values-fn--getatt"></a>

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 [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-datazone-project-return-values-fn--getatt-fn--getatt"></a>

`CreatedAt`  <a name="CreatedAt-fn::getatt"></a>
The timestamp of when a project was created.

`CreatedBy`  <a name="CreatedBy-fn::getatt"></a>
The Amazon DataZone user who created the project.

`DomainId`  <a name="DomainId-fn::getatt"></a>
The identifier of a Amazon DataZone domain where the project exists.

`Id`  <a name="Id-fn::getatt"></a>
The identifier of a project.

`LastUpdatedAt`  <a name="LastUpdatedAt-fn::getatt"></a>
The timestamp of when the project was last updated.

`ProjectStatus`  <a name="ProjectStatus-fn::getatt"></a>
The status of the project.

# AWS::DataZone::Project EnvironmentConfigurationUserParameter
<a name="aws-properties-datazone-project-environmentconfigurationuserparameter"></a>

The environment configuration user parameters.

## Syntax
<a name="aws-properties-datazone-project-environmentconfigurationuserparameter-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-datazone-project-environmentconfigurationuserparameter-syntax.json"></a>

```
{
  "[EnvironmentConfigurationName](#cfn-datazone-project-environmentconfigurationuserparameter-environmentconfigurationname)" : String,
  "[EnvironmentId](#cfn-datazone-project-environmentconfigurationuserparameter-environmentid)" : String,
  "[EnvironmentParameters](#cfn-datazone-project-environmentconfigurationuserparameter-environmentparameters)" : [ EnvironmentParameter, ... ]
}
```

### YAML
<a name="aws-properties-datazone-project-environmentconfigurationuserparameter-syntax.yaml"></a>

```
  [EnvironmentConfigurationName](#cfn-datazone-project-environmentconfigurationuserparameter-environmentconfigurationname): String
  [EnvironmentId](#cfn-datazone-project-environmentconfigurationuserparameter-environmentid): String
  [EnvironmentParameters](#cfn-datazone-project-environmentconfigurationuserparameter-environmentparameters): 
    - EnvironmentParameter
```

## Properties
<a name="aws-properties-datazone-project-environmentconfigurationuserparameter-properties"></a>

`EnvironmentConfigurationName`  <a name="cfn-datazone-project-environmentconfigurationuserparameter-environmentconfigurationname"></a>
The environment configuration name.  
*Required*: No  
*Type*: String  
*Pattern*: `^[\w -]+$`  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EnvironmentId`  <a name="cfn-datazone-project-environmentconfigurationuserparameter-environmentid"></a>
The ID of the environment.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9_-]{1,36}$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EnvironmentParameters`  <a name="cfn-datazone-project-environmentconfigurationuserparameter-environmentparameters"></a>
The environment parameters.  
*Required*: No  
*Type*: Array of [EnvironmentParameter](aws-properties-datazone-project-environmentparameter.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::DataZone::Project EnvironmentParameter
<a name="aws-properties-datazone-project-environmentparameter"></a>

The parameter details of an evironment profile.

## Syntax
<a name="aws-properties-datazone-project-environmentparameter-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-datazone-project-environmentparameter-syntax.json"></a>

```
{
  "[Name](#cfn-datazone-project-environmentparameter-name)" : String,
  "[Value](#cfn-datazone-project-environmentparameter-value)" : String
}
```

### YAML
<a name="aws-properties-datazone-project-environmentparameter-syntax.yaml"></a>

```
  [Name](#cfn-datazone-project-environmentparameter-name): String
  [Value](#cfn-datazone-project-environmentparameter-value): String
```

## Properties
<a name="aws-properties-datazone-project-environmentparameter-properties"></a>

`Name`  <a name="cfn-datazone-project-environmentparameter-name"></a>
The name of an environment profile parameter.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-datazone-project-environmentparameter-value"></a>
The value of an environment profile parameter.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::DataZone::Project ResourceTag
<a name="aws-properties-datazone-project-resourcetag"></a>

The resource tag of the project.

## Syntax
<a name="aws-properties-datazone-project-resourcetag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-datazone-project-resourcetag-syntax.json"></a>

```
{
  "[Key](#cfn-datazone-project-resourcetag-key)" : String,
  "[Value](#cfn-datazone-project-resourcetag-value)" : String
}
```

### YAML
<a name="aws-properties-datazone-project-resourcetag-syntax.yaml"></a>

```
  [Key](#cfn-datazone-project-resourcetag-key): String
  [Value](#cfn-datazone-project-resourcetag-value): String
```

## Properties
<a name="aws-properties-datazone-project-resourcetag-properties"></a>

`Key`  <a name="cfn-datazone-project-resourcetag-key"></a>
The key of the resource tag of the project.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[\w \.:/=+@-]+$`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-datazone-project-resourcetag-value"></a>
The value of the resource tag parameter key of the project profile.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[\w \.:/=+@-]*$`  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)