Class CfnConfigurationProfile

java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:55.451Z") @Stability(Stable) public class CfnConfigurationProfile extends CfnResource implements IInspectable
A CloudFormation AWS::AppConfig::ConfigurationProfile.

The AWS::AppConfig::ConfigurationProfile resource creates a configuration profile that enables AWS AppConfig to access the configuration source. Valid configuration sources include AWS Systems Manager (SSM) documents, SSM Parameter Store parameters, and Amazon S3 . A configuration profile includes the following information.

  • The Uri location of the configuration data.
  • The AWS Identity and Access Management ( IAM ) role that provides access to the configuration data.
  • A validator for the configuration data. Available validators include either a JSON Schema or the Amazon Resource Name (ARN) of an AWS Lambda function.

AWS AppConfig requires that you create resources and deploy a configuration in the following order:

  • Create an application
  • Create an environment
  • Create a configuration profile
  • Create a deployment strategy
  • Deploy the configuration

For more information, see AWS AppConfig in the AWS AppConfig User Guide .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.appconfig.*;
 CfnConfigurationProfile cfnConfigurationProfile = CfnConfigurationProfile.Builder.create(this, "MyCfnConfigurationProfile")
         .applicationId("applicationId")
         .locationUri("locationUri")
         .name("name")
         // the properties below are optional
         .description("description")
         .retrievalRoleArn("retrievalRoleArn")
         .tags(List.of(TagsProperty.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .type("type")
         .validators(List.of(ValidatorsProperty.builder()
                 .content("content")
                 .type("type")
                 .build()))
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnConfigurationProfile

      protected CfnConfigurationProfile(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnConfigurationProfile

      protected CfnConfigurationProfile(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnConfigurationProfile

      @Stability(Stable) public CfnConfigurationProfile(@NotNull Construct scope, @NotNull String id, @NotNull CfnConfigurationProfileProps props)
      Create a new AWS::AppConfig::ConfigurationProfile.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getApplicationId

      @Stability(Stable) @NotNull public String getApplicationId()
      The application ID.
    • setApplicationId

      @Stability(Stable) public void setApplicationId(@NotNull String value)
      The application ID.
    • getLocationUri

      @Stability(Stable) @NotNull public String getLocationUri()
      A URI to locate the configuration. You can specify the following:.

      • For the AWS AppConfig hosted configuration store and for feature flags, specify hosted .
      • For an AWS Systems Manager Parameter Store parameter, specify either the parameter name in the format ssm-parameter://<parameter name> or the ARN.
      • For an AWS CodePipeline pipeline, specify the URI in the following format: codepipeline ://.
      • For an AWS Secrets Manager secret, specify the URI in the following format: secretsmanager ://.
      • For an Amazon S3 object, specify the URI in the following format: s3://<bucket>/<objectKey> . Here is an example: s3://my-bucket/my-app/us-east-1/my-config.json
      • For an SSM document, specify either the document name in the format ssm-document://<document name> or the Amazon Resource Name (ARN).
    • setLocationUri

      @Stability(Stable) public void setLocationUri(@NotNull String value)
      A URI to locate the configuration. You can specify the following:.

      • For the AWS AppConfig hosted configuration store and for feature flags, specify hosted .
      • For an AWS Systems Manager Parameter Store parameter, specify either the parameter name in the format ssm-parameter://<parameter name> or the ARN.
      • For an AWS CodePipeline pipeline, specify the URI in the following format: codepipeline ://.
      • For an AWS Secrets Manager secret, specify the URI in the following format: secretsmanager ://.
      • For an Amazon S3 object, specify the URI in the following format: s3://<bucket>/<objectKey> . Here is an example: s3://my-bucket/my-app/us-east-1/my-config.json
      • For an SSM document, specify either the document name in the format ssm-document://<document name> or the Amazon Resource Name (ARN).
    • getName

      @Stability(Stable) @NotNull public String getName()
      A name for the configuration profile.
    • setName

      @Stability(Stable) public void setName(@NotNull String value)
      A name for the configuration profile.
    • getDescription

      @Stability(Stable) @Nullable public String getDescription()
      A description of the configuration profile.
    • setDescription

      @Stability(Stable) public void setDescription(@Nullable String value)
      A description of the configuration profile.
    • getRetrievalRoleArn

      @Stability(Stable) @Nullable public String getRetrievalRoleArn()
      The ARN of an IAM role with permission to access the configuration at the specified LocationUri .

      A retrieval role ARN is not required for configurations stored in the AWS AppConfig hosted configuration store. It is required for all other sources that store your configuration.

    • setRetrievalRoleArn

      @Stability(Stable) public void setRetrievalRoleArn(@Nullable String value)
      The ARN of an IAM role with permission to access the configuration at the specified LocationUri .

      A retrieval role ARN is not required for configurations stored in the AWS AppConfig hosted configuration store. It is required for all other sources that store your configuration.

    • getTags

      @Stability(Stable) @Nullable public List<CfnConfigurationProfile.TagsProperty> getTags()
      Metadata to assign to the configuration profile.

      Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

    • setTags

      @Stability(Stable) public void setTags(@Nullable List<CfnConfigurationProfile.TagsProperty> value)
      Metadata to assign to the configuration profile.

      Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

    • getType

      @Stability(Stable) @Nullable public String getType()
      The type of configurations contained in the profile.

      AWS AppConfig supports feature flags and freeform configurations. We recommend you create feature flag configurations to enable or disable new features and freeform configurations to distribute configurations to an application. When calling this API, enter one of the following values for Type :

      AWS.AppConfig.FeatureFlags

      AWS.Freeform

    • setType

      @Stability(Stable) public void setType(@Nullable String value)
      The type of configurations contained in the profile.

      AWS AppConfig supports feature flags and freeform configurations. We recommend you create feature flag configurations to enable or disable new features and freeform configurations to distribute configurations to an application. When calling this API, enter one of the following values for Type :

      AWS.AppConfig.FeatureFlags

      AWS.Freeform

    • getValidators

      @Stability(Stable) @Nullable public Object getValidators()
      A list of methods for validating the configuration.
    • setValidators

      @Stability(Stable) public void setValidators(@Nullable IResolvable value)
      A list of methods for validating the configuration.
    • setValidators

      @Stability(Stable) public void setValidators(@Nullable List<Object> value)
      A list of methods for validating the configuration.