

# Creating an Amazon AppConfig freeform configuration profile (command line)
<a name="appconfig-creating-free-form-configuration-and-profile-create-commandline"></a>

The following procedure describes how to use the Amazon CLI (on Linux or Windows) or Amazon Tools for PowerShell to create an Amazon AppConfig freeform configuration profile. If you prefer, you can use Amazon CloudShell to run the commands listed below. For more information, see [What is Amazon CloudShell?](https://docs.amazonaws.cn//cloudshell/latest/userguide/welcome.html) in the *Amazon CloudShell User Guide*.

**Note**  
For freeform configurations hosted in the Amazon AppConfig hosted configuration store, you specify `hosted` for the location URI.

**To create a configuration profile by using the Amazon CLI**

1. Open the Amazon CLI.

1. Run the following command to create a freeform configuration profile. 

------
#### [ Linux ]

   ```
   aws appconfig create-configuration-profile \
     --application-id APPLICATION_ID \
     --name NAME \
     --description CONFIGURATION_PROFILE_DESCRIPTION \
     --location-uri CONFIGURATION_URI or hosted \
     --retrieval-role-arn IAM_ROLE_ARN \
     --tags TAGS \
     --validators "Content=SCHEMA_CONTENT or LAMBDA_FUNCTION_ARN,Type=JSON_SCHEMA or LAMBDA"
   ```

------
#### [ Windows ]

   ```
   aws appconfig create-configuration-profile ^
     --application-id APPLICATION_ID ^
     --name NAME ^
     --description CONFIGURATION_PROFILE_DESCRIPTION ^
     --location-uri CONFIGURATION_URI or hosted  ^
     --retrieval-role-arn IAM_ROLE_ARN ^
     --tags TAGS ^
     --validators "Content=SCHEMA_CONTENT or LAMBDA_FUNCTION_ARN,Type=JSON_SCHEMA or LAMBDA"
   ```

------
#### [ PowerShell ]

   ```
   New-APPCConfigurationProfile `
     -Name NAME `
     -ApplicationId APPLICATION_ID `
     -Description CONFIGURATION_PROFILE_DESCRIPTION `
     -LocationUri CONFIGURATION_URI or hosted `
     -RetrievalRoleArn IAM_ROLE_ARN `
     -Tag TAGS `
     -Validators "Content=SCHEMA_CONTENT or LAMBDA_FUNCTION_ARN,Type=JSON_SCHEMA or LAMBDA"
   ```

------

**Important**  
Note the following important information.  
If you created a configuration profile for Amazon CodePipeline, then you must create a pipeline in CodePipeline that specifies Amazon AppConfig as the *deploy provider*. You don't need to perform [Deploying feature flags and configuration data in Amazon AppConfig](deploying-feature-flags.md). However, you must configure a client to receive application configuration updates as described in [Retrieving configuration data without Amazon AppConfig Agent](about-data-plane.md). For information about creating a pipeline that specifies Amazon AppConfig as the deploy provider, see [Tutorial: Create a Pipeline that Uses Amazon AppConfig as a Deployment Provider](https://docs.amazonaws.cn/codepipeline/latest/userguide/tutorials-AppConfig.html) in the *Amazon CodePipeline User Guide*. 
If you created a configuration in the Amazon AppConfig hosted configuration store, you can create new versions of the configuration by using the [CreateHostedConfigurationVersion](https://docs.amazonaws.cn//appconfig/2019-10-09/APIReference/API_CreateHostedConfigurationVersion.html) API operations. To view Amazon CLI details and sample commands for this API operation, see [create-hosted-configuration-version](https://docs.amazonaws.cn/cli/latest/reference/appconfig/create-hosted-configuration-version.html) in the *Amazon CLI Command Reference*.

Proceed to [Deploying feature flags and configuration data in Amazon AppConfig](deploying-feature-flags.md).