Client library for Amazon AppConfig
npm install --save @datafire/amazonaws_appconfig
let amazonaws_appconfig = require('@datafire/amazonaws_appconfig').create({
accessKeyId: "",
secretAccessKey: "",
region: ""
});
.then(data => {
console.log(data);
});
AWS AppConfig
Use AWS AppConfig, a capability of AWS Systems Manager, to create, manage, and quickly deploy application configurations. AppConfig supports controlled deployments to applications of any size and includes built-in validation checks and monitoring. You can use AppConfig with applications hosted on Amazon EC2 instances, AWS Lambda, containers, mobile applications, or IoT devices.
To prevent errors when deploying application configurations, especially for production systems where a simple typo could cause an unexpected outage, AppConfig includes validators. A validator provides a syntactic or semantic check to ensure that the configuration you want to deploy works as intended. To validate your application configuration data, you provide a schema or a Lambda function that runs against the configuration. The configuration deployment or update can only proceed when the configuration data is valid.
During a configuration deployment, AppConfig monitors the application to ensure that the deployment is successful. If the system encounters an error, AppConfig rolls back the change to minimize impact for your application users. You can configure a deployment strategy for each application or environment that includes deployment criteria, including velocity, bake time, and alarms to monitor. Similar to error monitoring, if a deployment triggers an alarm, AppConfig automatically rolls back to the previous version.
AppConfig supports multiple use cases. Here are some examples.
-
Application tuning: Use AppConfig to carefully introduce changes to your application that can only be tested with production traffic.
-
Feature toggle: Use AppConfig to turn on new features that require a timely deployment, such as a product launch or announcement.
-
Allow list: Use AppConfig to allow premium subscribers to access paid content.
-
Operational issues: Use AppConfig to reduce stress on your application when a dependency or other external factor impacts the system.
This reference is intended to be used with the AWS AppConfig User Guide.
amazonaws_appconfig.ListApplications({}, context)
- input
object
- maxResults
integer
- nextToken
string
- MaxResults
string
- NextToken
string
- maxResults
- output Applications
amazonaws_appconfig.CreateApplication({
"Name": ""
}, context)
- input
object
- Description
string
: A description of the application. - Name required
string
: A name for the application. - Tags
object
: Metadata to assign to the application. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.
- Description
Output schema unknown
amazonaws_appconfig.DeleteApplication({
"ApplicationId": ""
}, context)
- input
object
- ApplicationId required
string
- ApplicationId required
Output schema unknown
amazonaws_appconfig.GetApplication({
"ApplicationId": ""
}, context)
- input
object
- ApplicationId required
string
- ApplicationId required
- output Application
amazonaws_appconfig.UpdateApplication({
"ApplicationId": ""
}, context)
- input
object
- ApplicationId required
string
- Description
string
: A description of the application. - Name
string
: The name of the application.
- ApplicationId required
- output Application
amazonaws_appconfig.ListConfigurationProfiles({
"ApplicationId": ""
}, context)
- input
object
- ApplicationId required
string
- maxResults
integer
- nextToken
string
- MaxResults
string
- NextToken
string
- ApplicationId required
- output ConfigurationProfiles
amazonaws_appconfig.CreateConfigurationProfile({
"ApplicationId": "",
"Name": "",
"LocationUri": ""
}, context)
- input
object
- ApplicationId required
string
- Description
string
: A description of the configuration profile. - LocationUri required
string
: A URI to locate the configuration. You can specify a Systems Manager (SSM) document, an SSM Parameter Store parameter, or an Amazon S3 object. For an SSM document, specify either the document name in the formatssm-document://<Document_name>
or the Amazon Resource Name (ARN). For a parameter, specify either the parameter name in the formatssm-parameter://<Parameter_name>
or the ARN. 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 - Name required
string
: A name for the configuration profile. - RetrievalRoleArn
string
: The ARN of an IAM role with permission to access the configuration at the specified LocationUri. - Tags
object
: Metadata to assign to the configuration profile. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define. - Validators
array
: A list of methods for validating the configuration.- items Validator
- ApplicationId required
Output schema unknown
amazonaws_appconfig.DeleteConfigurationProfile({
"ApplicationId": "",
"ConfigurationProfileId": ""
}, context)
- input
object
- ApplicationId required
string
- ConfigurationProfileId required
string
- ApplicationId required
Output schema unknown
amazonaws_appconfig.GetConfigurationProfile({
"ApplicationId": "",
"ConfigurationProfileId": ""
}, context)
- input
object
- ApplicationId required
string
- ConfigurationProfileId required
string
- ApplicationId required
- output ConfigurationProfile
amazonaws_appconfig.UpdateConfigurationProfile({
"ApplicationId": "",
"ConfigurationProfileId": ""
}, context)
- input
object
- ApplicationId required
string
- ConfigurationProfileId required
string
- Description
string
: A description of the configuration profile. - Name
string
: The name of the configuration profile. - RetrievalRoleArn
string
: The ARN of an IAM role with permission to access the configuration at the specified LocationUri. - Validators
array
: A list of methods for validating the configuration.- items Validator
- ApplicationId required
- output ConfigurationProfile
amazonaws_appconfig.ListHostedConfigurationVersions({
"ApplicationId": "",
"ConfigurationProfileId": ""
}, context)
- input
object
- ApplicationId required
string
- ConfigurationProfileId required
string
- maxResults
integer
- nextToken
string
- MaxResults
string
- NextToken
string
- ApplicationId required
- output HostedConfigurationVersions
amazonaws_appconfig.CreateHostedConfigurationVersion({
"ApplicationId": "",
"ConfigurationProfileId": "",
"Content-Type": "",
"Content": ""
}, context)
- input
object
- ApplicationId required
string
- ConfigurationProfileId required
string
- Description
string
- Content-Type required
string
- Latest-Version-Number
integer
- Content required
string
: The content of the configuration or the configuration data.
- ApplicationId required
Output schema unknown
amazonaws_appconfig.DeleteHostedConfigurationVersion({
"ApplicationId": "",
"ConfigurationProfileId": "",
"VersionNumber": 0
}, context)
- input
object
- ApplicationId required
string
- ConfigurationProfileId required
string
- VersionNumber required
integer
- ApplicationId required
Output schema unknown
amazonaws_appconfig.GetHostedConfigurationVersion({
"ApplicationId": "",
"ConfigurationProfileId": "",
"VersionNumber": 0
}, context)
- input
object
- ApplicationId required
string
- ConfigurationProfileId required
string
- VersionNumber required
integer
- ApplicationId required
- output HostedConfigurationVersion
amazonaws_appconfig.ValidateConfiguration({
"ApplicationId": "",
"ConfigurationProfileId": ""
}, context)
- input
object
- ApplicationId required
string
- ConfigurationProfileId required
string
- configurationVersion
string
- ApplicationId required
Output schema unknown
amazonaws_appconfig.ListEnvironments({
"ApplicationId": ""
}, context)
- input
object
- ApplicationId required
string
- maxResults
integer
- nextToken
string
- MaxResults
string
- NextToken
string
- ApplicationId required
- output Environments
amazonaws_appconfig.CreateEnvironment({
"ApplicationId": "",
"Name": ""
}, context)
- input
object
- ApplicationId required
string
- Description
string
: A description of the environment. - Monitors
array
: Amazon CloudWatch alarms to monitor during the deployment process.- items Monitor
- Name required
string
: A name for the environment. - Tags
object
: Metadata to assign to the environment. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.
- ApplicationId required
Output schema unknown
amazonaws_appconfig.DeleteEnvironment({
"ApplicationId": "",
"EnvironmentId": ""
}, context)
- input
object
- ApplicationId required
string
- EnvironmentId required
string
- ApplicationId required
Output schema unknown
amazonaws_appconfig.GetEnvironment({
"ApplicationId": "",
"EnvironmentId": ""
}, context)
- input
object
- ApplicationId required
string
- EnvironmentId required
string
- ApplicationId required
- output Environment
amazonaws_appconfig.UpdateEnvironment({
"ApplicationId": "",
"EnvironmentId": ""
}, context)
- input
object
- ApplicationId required
string
- EnvironmentId required
string
- Description
string
: A description of the environment. - Monitors
array
: Amazon CloudWatch alarms to monitor during the deployment process.- items Monitor
- Name
string
: The name of the environment.
- ApplicationId required
- output Environment
amazonaws_appconfig.ListDeployments({
"ApplicationId": "",
"EnvironmentId": ""
}, context)
- input
object
- ApplicationId required
string
- EnvironmentId required
string
- maxResults
integer
- nextToken
string
- MaxResults
string
- NextToken
string
- ApplicationId required
- output Deployments
amazonaws_appconfig.StartDeployment({
"ApplicationId": "",
"EnvironmentId": "",
"DeploymentStrategyId": "",
"ConfigurationProfileId": "",
"ConfigurationVersion": ""
}, context)
- input
object
- ApplicationId required
string
- EnvironmentId required
string
- ConfigurationProfileId required
string
: The configuration profile ID. - ConfigurationVersion required
string
: The configuration version to deploy. - DeploymentStrategyId required
string
: The deployment strategy ID. - Description
string
: A description of the deployment. - Tags
object
: Metadata to assign to the deployment. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.
- ApplicationId required
Output schema unknown
amazonaws_appconfig.StopDeployment({
"ApplicationId": "",
"EnvironmentId": "",
"DeploymentNumber": 0
}, context)
- input
object
- ApplicationId required
string
- EnvironmentId required
string
- DeploymentNumber required
integer
- ApplicationId required
Output schema unknown
amazonaws_appconfig.GetDeployment({
"ApplicationId": "",
"EnvironmentId": "",
"DeploymentNumber": 0
}, context)
- input
object
- ApplicationId required
string
- EnvironmentId required
string
- DeploymentNumber required
integer
- ApplicationId required
- output Deployment
amazonaws_appconfig.GetConfiguration({
"Application": "",
"Environment": "",
"Configuration": ""
}, context)
- input
object
- Application required
string
- Environment required
string
- Configuration required
string
- clientId
string
- clientConfigurationVersion
string
- Application required
- output Configuration
amazonaws_appconfig.DeleteDeploymentStrategy({
"DeploymentStrategyId": ""
}, context)
- input
object
- DeploymentStrategyId required
string
- DeploymentStrategyId required
Output schema unknown
amazonaws_appconfig.ListDeploymentStrategies({}, context)
- input
object
- maxResults
integer
- nextToken
string
- MaxResults
string
- NextToken
string
- maxResults
- output DeploymentStrategies
amazonaws_appconfig.CreateDeploymentStrategy({
"Name": "",
"DeploymentDurationInMinutes": 0,
"GrowthFactor": 0,
"ReplicateTo": ""
}, context)
- input
object
- DeploymentDurationInMinutes required
integer
: Total amount of time for a deployment to last. - Description
string
: A description of the deployment strategy. - FinalBakeTimeInMinutes
integer
: The amount of time AppConfig monitors for alarms before considering the deployment to be complete and no longer eligible for automatic roll back. - GrowthFactor required
number
: The percentage of targets to receive a deployed configuration during each interval. - GrowthType
string
(values: LINEAR, EXPONENTIAL):The algorithm used to define how percentage grows over time. AWS AppConfig supports the following growth types:
Linear: For this type, AppConfig processes the deployment by dividing the total number of targets by the value specified for
Step percentage
. For example, a linear deployment that uses aStep percentage
of 10 deploys the configuration to 10 percent of the hosts. After those deployments are complete, the system deploys the configuration to the next 10 percent. This continues until 100% of the targets have successfully received the configuration.Exponential: For this type, AppConfig processes the deployment exponentially using the following formula:
G*(2^N)
. In this formula,G
is the growth factor specified by the user andN
is the number of steps until the configuration is deployed to all targets. For example, if you specify a growth factor of 2, then the system rolls out the configuration as follows:2*(2^0)
2*(2^1)
2*(2^2)
Expressed numerically, the deployment rolls out as follows: 2% of the targets, 4% of the targets, 8% of the targets, and continues until the configuration has been deployed to all targets.
- Name required
string
: A name for the deployment strategy. - ReplicateTo required
string
(values: NONE, SSM_DOCUMENT): Save the deployment strategy to a Systems Manager (SSM) document. - Tags
object
: Metadata to assign to the deployment strategy. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.
- DeploymentDurationInMinutes required
Output schema unknown
amazonaws_appconfig.GetDeploymentStrategy({
"DeploymentStrategyId": ""
}, context)
- input
object
- DeploymentStrategyId required
string
- DeploymentStrategyId required
- output DeploymentStrategy
amazonaws_appconfig.UpdateDeploymentStrategy({
"DeploymentStrategyId": ""
}, context)
- input
object
- DeploymentStrategyId required
string
- DeploymentDurationInMinutes
integer
: Total amount of time for a deployment to last. - Description
string
: A description of the deployment strategy. - FinalBakeTimeInMinutes
integer
: The amount of time AppConfig monitors for alarms before considering the deployment to be complete and no longer eligible for automatic roll back. - GrowthFactor
number
: The percentage of targets to receive a deployed configuration during each interval. - GrowthType
string
(values: LINEAR, EXPONENTIAL):The algorithm used to define how percentage grows over time. AWS AppConfig supports the following growth types:
Linear: For this type, AppConfig processes the deployment by increments of the growth factor evenly distributed over the deployment time. For example, a linear deployment that uses a growth factor of 20 initially makes the configuration available to 20 percent of the targets. After 1/5th of the deployment time has passed, the system updates the percentage to 40 percent. This continues until 100% of the targets are set to receive the deployed configuration.
Exponential: For this type, AppConfig processes the deployment exponentially using the following formula:
G*(2^N)
. In this formula,G
is the growth factor specified by the user andN
is the number of steps until the configuration is deployed to all targets. For example, if you specify a growth factor of 2, then the system rolls out the configuration as follows:2*(2^0)
2*(2^1)
2*(2^2)
Expressed numerically, the deployment rolls out as follows: 2% of the targets, 4% of the targets, 8% of the targets, and continues until the configuration has been deployed to all targets.
- DeploymentStrategyId required
- output DeploymentStrategy
amazonaws_appconfig.ListTagsForResource({
"ResourceArn": ""
}, context)
- input
object
- ResourceArn required
string
- ResourceArn required
- output ResourceTags
amazonaws_appconfig.TagResource({
"ResourceArn": "",
"Tags": {}
}, context)
- input
object
- ResourceArn required
string
- Tags required
object
: The key-value string map. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start withaws:
. The tag value can be up to 256 characters.
- ResourceArn required
Output schema unknown
amazonaws_appconfig.UntagResource({
"ResourceArn": "",
"tagKeys": []
}, context)
- input
object
- ResourceArn required
string
- tagKeys required
array
- ResourceArn required
Output schema unknown
- Application
object
- Description
- Id
- Name
- ApplicationList
array
- items Application
- Applications
object
- Items
- items Application
- NextToken
- Items
- Arn
string
- Blob
string
- Configuration
object
- Content
- ConfigurationProfile
object
- ApplicationId
- Description
- Id
- LocationUri
- Name
- RetrievalRoleArn
- Validators
- items Validator
- ConfigurationProfileSummary
object
: A summary of a configuration profile.- ApplicationId
- Id
- LocationUri
- Name
- ValidatorTypes
- items ValidatorType
- ConfigurationProfileSummaryList
array
- ConfigurationProfiles
object
- Items
- NextToken
- CreateApplicationRequest
object
- Description
- Name required
- Tags
- CreateConfigurationProfileRequest
object
- Description
- LocationUri required
- Name required
- RetrievalRoleArn
- Tags
- Validators
- items Validator
- CreateDeploymentStrategyRequest
object
- DeploymentDurationInMinutes required
- Description
- FinalBakeTimeInMinutes
- GrowthFactor required
- GrowthType
- Name required
- ReplicateTo required
- Tags
- CreateEnvironmentRequest
object
- Description
- Monitors
- items Monitor
- Name required
- Tags
- CreateHostedConfigurationVersionRequest
object
- Content required
- DeleteApplicationRequest
object
- DeleteConfigurationProfileRequest
object
- DeleteDeploymentStrategyRequest
object
- DeleteEnvironmentRequest
object
- DeleteHostedConfigurationVersionRequest
object
- Deployment
object
- ApplicationId
- CompletedAt
- ConfigurationLocationUri
- ConfigurationName
- ConfigurationProfileId
- ConfigurationVersion
- DeploymentDurationInMinutes
- DeploymentNumber
- DeploymentStrategyId
- Description
- EnvironmentId
- EventLog
- items DeploymentEvent
- FinalBakeTimeInMinutes
- GrowthFactor
- GrowthType
- PercentageComplete
- StartedAt
- State
- DeploymentEvent
object
: An object that describes a deployment event.- Description
- EventType
- OccurredAt
- TriggeredBy
- DeploymentEventType
string
(values: PERCENTAGE_UPDATED, ROLLBACK_STARTED, ROLLBACK_COMPLETED, BAKE_TIME_STARTED, DEPLOYMENT_STARTED, DEPLOYMENT_COMPLETED)
- DeploymentEvents
array
- items DeploymentEvent
- DeploymentList
array
- items DeploymentSummary
- DeploymentState
string
(values: BAKING, VALIDATING, DEPLOYING, COMPLETE, ROLLING_BACK, ROLLED_BACK)
- DeploymentStrategies
object
- Items
- items DeploymentStrategy
- NextToken
- Items
- DeploymentStrategy
object
- DeploymentDurationInMinutes
- Description
- FinalBakeTimeInMinutes
- GrowthFactor
- GrowthType
- Id
- Name
- ReplicateTo
- DeploymentStrategyId
string
- DeploymentStrategyList
array
- items DeploymentStrategy
- DeploymentSummary
object
: Information about the deployment.- CompletedAt
- ConfigurationName
- ConfigurationVersion
- DeploymentDurationInMinutes
- DeploymentNumber
- FinalBakeTimeInMinutes
- GrowthFactor
- GrowthType
- PercentageComplete
- StartedAt
- State
- Deployments
object
- Items
- items DeploymentSummary
- NextToken
- Items
- Description
string
- Environment
object
- ApplicationId
- Description
- Id
- Monitors
- items Monitor
- Name
- State
- EnvironmentList
array
- items Environment
- EnvironmentState
string
(values: READY_FOR_DEPLOYMENT, DEPLOYING, ROLLING_BACK, ROLLED_BACK)
- Environments
object
- Items
- items Environment
- NextToken
- Items
- GetApplicationRequest
object
- GetConfigurationProfileRequest
object
- GetConfigurationRequest
object
- GetDeploymentRequest
object
- GetDeploymentStrategyRequest
object
- GetEnvironmentRequest
object
- GetHostedConfigurationVersionRequest
object
- GrowthFactor
number
- GrowthType
string
(values: LINEAR, EXPONENTIAL)
- HostedConfigurationVersion
object
- Content
- HostedConfigurationVersionSummary
object
: Information about the configuration.- ApplicationId
- ConfigurationProfileId
- ContentType
- Description
- VersionNumber
- HostedConfigurationVersionSummaryList
array
- HostedConfigurationVersions
object
- Items
- NextToken
- Id
string
- Integer
integer
- Iso8601DateTime
string
- ListApplicationsRequest
object
- ListConfigurationProfilesRequest
object
- ListDeploymentStrategiesRequest
object
- ListDeploymentsRequest
object
- ListEnvironmentsRequest
object
- ListHostedConfigurationVersionsRequest
object
- ListTagsForResourceRequest
object
- MaxResults
integer
- MinutesBetween0And24Hours
integer
- Monitor
object
: Amazon CloudWatch alarms to monitor during the deployment process.- AlarmArn
- AlarmRoleArn
- MonitorList
array
- items Monitor
- Name
string
- NextToken
string
- Percentage
number
- ReplicateTo
string
(values: NONE, SSM_DOCUMENT)
- ResourceTags
object
- Tags
- RoleArn
string
- StartDeploymentRequest
object
- ConfigurationProfileId required
- ConfigurationVersion required
- DeploymentStrategyId required
- Description
- Tags
- StopDeploymentRequest
object
- String
string
- StringWithLengthBetween0And32768
string
- StringWithLengthBetween1And255
string
- StringWithLengthBetween1And64
string
- TagKey
string
- TagKeyList
array
- items TagKey
- TagMap
object
- TagResourceRequest
object
- Tags required
- TagValue
string
- TriggeredBy
string
(values: USER, APPCONFIG, CLOUDWATCH_ALARM, INTERNAL_ERROR)
- UntagResourceRequest
object
- UpdateApplicationRequest
object
- Description
- Name
- UpdateConfigurationProfileRequest
object
- Description
- Name
- RetrievalRoleArn
- Validators
- items Validator
- UpdateDeploymentStrategyRequest
object
- DeploymentDurationInMinutes
- Description
- FinalBakeTimeInMinutes
- GrowthFactor
- GrowthType
- UpdateEnvironmentRequest
object
- Description
- Monitors
- items Monitor
- Name
- Uri
string
- ValidateConfigurationRequest
object
- Validator
object
: A validator provides a syntactic or semantic check to ensure the configuration you want to deploy functions as intended. To validate your application configuration data, you provide a schema or a Lambda function that runs against the configuration. The configuration deployment or update can only proceed when the configuration data is valid.- Content required
- Type required
- ValidatorList
array
- items Validator
- ValidatorType
string
(values: JSON_SCHEMA, LAMBDA)
- ValidatorTypeList
array
- items ValidatorType
- Version
string