Documentation ¶
Index ¶
- func Application_AddAgentToEcs(taskDef awsecs.TaskDefinition)
- func Application_GetLambdaLayerVersionArn(region *string, platform Platform) *string
- func Application_IsConstruct(x interface{}) *bool
- func Application_IsOwnedResource(construct constructs.IConstruct) *bool
- func Application_IsResource(construct constructs.IConstruct) *bool
- func CfnApplication_CFN_RESOURCE_TYPE_NAME() *string
- func CfnApplication_IsCfnElement(x interface{}) *bool
- func CfnApplication_IsCfnResource(x interface{}) *bool
- func CfnApplication_IsConstruct(x interface{}) *bool
- func CfnConfigurationProfile_CFN_RESOURCE_TYPE_NAME() *string
- func CfnConfigurationProfile_IsCfnElement(x interface{}) *bool
- func CfnConfigurationProfile_IsCfnResource(x interface{}) *bool
- func CfnConfigurationProfile_IsConstruct(x interface{}) *bool
- func CfnDeploymentStrategy_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDeploymentStrategy_IsCfnElement(x interface{}) *bool
- func CfnDeploymentStrategy_IsCfnResource(x interface{}) *bool
- func CfnDeploymentStrategy_IsConstruct(x interface{}) *bool
- func CfnDeployment_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDeployment_IsCfnElement(x interface{}) *bool
- func CfnDeployment_IsCfnResource(x interface{}) *bool
- func CfnDeployment_IsConstruct(x interface{}) *bool
- func CfnEnvironment_CFN_RESOURCE_TYPE_NAME() *string
- func CfnEnvironment_IsCfnElement(x interface{}) *bool
- func CfnEnvironment_IsCfnResource(x interface{}) *bool
- func CfnEnvironment_IsConstruct(x interface{}) *bool
- func CfnExtensionAssociation_CFN_RESOURCE_TYPE_NAME() *string
- func CfnExtensionAssociation_IsCfnElement(x interface{}) *bool
- func CfnExtensionAssociation_IsCfnResource(x interface{}) *bool
- func CfnExtensionAssociation_IsConstruct(x interface{}) *bool
- func CfnExtension_CFN_RESOURCE_TYPE_NAME() *string
- func CfnExtension_IsCfnElement(x interface{}) *bool
- func CfnExtension_IsCfnResource(x interface{}) *bool
- func CfnExtension_IsConstruct(x interface{}) *bool
- func CfnHostedConfigurationVersion_CFN_RESOURCE_TYPE_NAME() *string
- func CfnHostedConfigurationVersion_IsCfnElement(x interface{}) *bool
- func CfnHostedConfigurationVersion_IsCfnResource(x interface{}) *bool
- func CfnHostedConfigurationVersion_IsConstruct(x interface{}) *bool
- func DeploymentStrategy_IsConstruct(x interface{}) *bool
- func DeploymentStrategy_IsOwnedResource(construct constructs.IConstruct) *bool
- func DeploymentStrategy_IsResource(construct constructs.IConstruct) *bool
- func Environment_IsConstruct(x interface{}) *bool
- func Environment_IsOwnedResource(construct constructs.IConstruct) *bool
- func Environment_IsResource(construct constructs.IConstruct) *bool
- func Extension_IsConstruct(x interface{}) *bool
- func Extension_IsOwnedResource(construct constructs.IConstruct) *bool
- func Extension_IsResource(construct constructs.IConstruct) *bool
- func HostedConfiguration_IsConstruct(x interface{}) *bool
- func NewAction_Override(a Action, props *ActionProps)
- func NewApplication_Override(a Application, scope constructs.Construct, id *string, props *ApplicationProps)
- func NewCfnApplication_Override(c CfnApplication, scope constructs.Construct, id *string, ...)
- func NewCfnConfigurationProfile_Override(c CfnConfigurationProfile, scope constructs.Construct, id *string, ...)
- func NewCfnDeploymentStrategy_Override(c CfnDeploymentStrategy, scope constructs.Construct, id *string, ...)
- func NewCfnDeployment_Override(c CfnDeployment, scope constructs.Construct, id *string, ...)
- func NewCfnEnvironment_Override(c CfnEnvironment, scope constructs.Construct, id *string, ...)
- func NewCfnExtensionAssociation_Override(c CfnExtensionAssociation, scope constructs.Construct, id *string, ...)
- func NewCfnExtension_Override(c CfnExtension, scope constructs.Construct, id *string, ...)
- func NewCfnHostedConfigurationVersion_Override(c CfnHostedConfigurationVersion, scope constructs.Construct, id *string, ...)
- func NewConfigurationContent_Override(c ConfigurationContent)
- func NewConfigurationSource_Override(c ConfigurationSource)
- func NewDeploymentStrategyId_Override(d DeploymentStrategyId)
- func NewDeploymentStrategy_Override(d DeploymentStrategy, scope constructs.Construct, id *string, ...)
- func NewEnvironment_Override(e Environment, scope constructs.Construct, id *string, props *EnvironmentProps)
- func NewEventBridgeDestination_Override(e EventBridgeDestination, bus awsevents.IEventBus)
- func NewExtensibleBase_Override(e ExtensibleBase, scope constructs.Construct, resourceArn *string, ...)
- func NewExtension_Override(e Extension, scope constructs.Construct, id *string, props *ExtensionProps)
- func NewHostedConfiguration_Override(h HostedConfiguration, scope constructs.Construct, id *string, ...)
- func NewJsonSchemaValidator_Override(j JsonSchemaValidator)
- func NewLambdaDestination_Override(l LambdaDestination, func_ awslambda.IFunction)
- func NewLambdaValidator_Override(l LambdaValidator)
- func NewMonitor_Override(m Monitor)
- func NewRolloutStrategy_Override(r RolloutStrategy)
- func NewSnsDestination_Override(s SnsDestination, topic awssns.ITopic)
- func NewSourcedConfiguration_Override(s SourcedConfiguration, scope constructs.Construct, id *string, ...)
- func NewSqsDestination_Override(s SqsDestination, queue awssqs.IQueue)
- func SourcedConfiguration_IsConstruct(x interface{}) *bool
- type Action
- type ActionPoint
- type ActionProps
- type Application
- type ApplicationProps
- type CfnApplication
- type CfnApplicationProps
- type CfnConfigurationProfile
- type CfnConfigurationProfileProps
- type CfnConfigurationProfile_ValidatorsProperty
- type CfnDeployment
- type CfnDeploymentProps
- type CfnDeploymentStrategy
- type CfnDeploymentStrategyProps
- type CfnDeployment_DynamicExtensionParametersProperty
- type CfnEnvironment
- type CfnEnvironmentProps
- type CfnEnvironment_MonitorProperty
- type CfnEnvironment_MonitorsProperty
- type CfnExtension
- type CfnExtensionAssociation
- type CfnExtensionAssociationProps
- type CfnExtensionProps
- type CfnExtension_ActionProperty
- type CfnExtension_ParameterProperty
- type CfnHostedConfigurationVersion
- type CfnHostedConfigurationVersionProps
- type ConfigurationContent
- func ConfigurationContent_FromFile(inputPath *string, contentType *string) ConfigurationContent
- func ConfigurationContent_FromInline(content *string, contentType *string) ConfigurationContent
- func ConfigurationContent_FromInlineJson(content *string, contentType *string) ConfigurationContent
- func ConfigurationContent_FromInlineText(content *string) ConfigurationContent
- func ConfigurationContent_FromInlineYaml(content *string) ConfigurationContent
- type ConfigurationOptions
- type ConfigurationProps
- type ConfigurationSource
- func ConfigurationSource_FromBucket(bucket awss3.IBucket, objectKey *string, key awskms.IKey) ConfigurationSource
- func ConfigurationSource_FromCfnDocument(document awsssm.CfnDocument) ConfigurationSource
- func ConfigurationSource_FromParameter(parameter awsssm.IParameter, key awskms.IKey) ConfigurationSource
- func ConfigurationSource_FromPipeline(pipeline awscodepipeline.IPipeline) ConfigurationSource
- func ConfigurationSource_FromSecret(secret awssecretsmanager.ISecret) ConfigurationSource
- type ConfigurationSourceType
- type ConfigurationType
- type DeploymentStrategy
- type DeploymentStrategyId
- func DeploymentStrategyId_ALL_AT_ONCE() DeploymentStrategyId
- func DeploymentStrategyId_CANARY_10_PERCENT_20_MINUTES() DeploymentStrategyId
- func DeploymentStrategyId_FromString(deploymentStrategyId *string) DeploymentStrategyId
- func DeploymentStrategyId_LINEAR_20_PERCENT_EVERY_6_MINUTES() DeploymentStrategyId
- func DeploymentStrategyId_LINEAR_50_PERCENT_EVERY_30_SECONDS() DeploymentStrategyId
- type DeploymentStrategyProps
- type Environment
- type EnvironmentAttributes
- type EnvironmentOptions
- type EnvironmentProps
- type EventBridgeDestination
- type ExtensibleBase
- type Extension
- type ExtensionAttributes
- type ExtensionOptions
- type ExtensionProps
- type GrowthType
- type HostedConfiguration
- type HostedConfigurationOptions
- type HostedConfigurationProps
- type IApplication
- type IConfiguration
- type IDeploymentStrategy
- type IEnvironment
- type IEventDestination
- type IExtensible
- type IExtension
- type IValidator
- type JsonSchemaValidator
- type LambdaDestination
- type LambdaValidator
- type Monitor
- type MonitorType
- type Parameter
- type Platform
- type RolloutStrategy
- func RolloutStrategy_ALL_AT_ONCE() RolloutStrategy
- func RolloutStrategy_CANARY_10_PERCENT_20_MINUTES() RolloutStrategy
- func RolloutStrategy_Exponential(props *RolloutStrategyProps) RolloutStrategy
- func RolloutStrategy_LINEAR_20_PERCENT_EVERY_6_MINUTES() RolloutStrategy
- func RolloutStrategy_LINEAR_50_PERCENT_EVERY_30_SECONDS() RolloutStrategy
- func RolloutStrategy_Linear(props *RolloutStrategyProps) RolloutStrategy
- type RolloutStrategyProps
- type SnsDestination
- type SourceType
- type SourcedConfiguration
- type SourcedConfigurationOptions
- type SourcedConfigurationProps
- type SqsDestination
- type ValidatorType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Application_AddAgentToEcs ¶ added in v2.130.0
func Application_AddAgentToEcs(taskDef awsecs.TaskDefinition)
Adds the AWS AppConfig Agent as a container to the provided ECS task definition.
func Application_GetLambdaLayerVersionArn ¶ added in v2.130.0
Retrieves the Lambda layer version Amazon Resource Name (ARN) for the AWS AppConfig Lambda extension.
Returns: Lambda layer version ARN.
func Application_IsConstruct ¶ added in v2.130.0
func Application_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func Application_IsOwnedResource ¶ added in v2.130.0
func Application_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func Application_IsResource ¶ added in v2.130.0
func Application_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func CfnApplication_CFN_RESOURCE_TYPE_NAME ¶
func CfnApplication_CFN_RESOURCE_TYPE_NAME() *string
func CfnApplication_IsCfnElement ¶
func CfnApplication_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnApplication_IsCfnResource ¶
func CfnApplication_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnApplication_IsConstruct ¶
func CfnApplication_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnConfigurationProfile_CFN_RESOURCE_TYPE_NAME ¶
func CfnConfigurationProfile_CFN_RESOURCE_TYPE_NAME() *string
func CfnConfigurationProfile_IsCfnElement ¶
func CfnConfigurationProfile_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnConfigurationProfile_IsCfnResource ¶
func CfnConfigurationProfile_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnConfigurationProfile_IsConstruct ¶
func CfnConfigurationProfile_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnDeploymentStrategy_CFN_RESOURCE_TYPE_NAME ¶
func CfnDeploymentStrategy_CFN_RESOURCE_TYPE_NAME() *string
func CfnDeploymentStrategy_IsCfnElement ¶
func CfnDeploymentStrategy_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDeploymentStrategy_IsCfnResource ¶
func CfnDeploymentStrategy_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnDeploymentStrategy_IsConstruct ¶
func CfnDeploymentStrategy_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnDeployment_CFN_RESOURCE_TYPE_NAME ¶
func CfnDeployment_CFN_RESOURCE_TYPE_NAME() *string
func CfnDeployment_IsCfnElement ¶
func CfnDeployment_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDeployment_IsCfnResource ¶
func CfnDeployment_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnDeployment_IsConstruct ¶
func CfnDeployment_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnEnvironment_CFN_RESOURCE_TYPE_NAME ¶
func CfnEnvironment_CFN_RESOURCE_TYPE_NAME() *string
func CfnEnvironment_IsCfnElement ¶
func CfnEnvironment_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnEnvironment_IsCfnResource ¶
func CfnEnvironment_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnEnvironment_IsConstruct ¶
func CfnEnvironment_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnExtensionAssociation_CFN_RESOURCE_TYPE_NAME ¶ added in v2.78.0
func CfnExtensionAssociation_CFN_RESOURCE_TYPE_NAME() *string
func CfnExtensionAssociation_IsCfnElement ¶ added in v2.78.0
func CfnExtensionAssociation_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnExtensionAssociation_IsCfnResource ¶ added in v2.78.0
func CfnExtensionAssociation_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnExtensionAssociation_IsConstruct ¶ added in v2.78.0
func CfnExtensionAssociation_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnExtension_CFN_RESOURCE_TYPE_NAME ¶ added in v2.78.0
func CfnExtension_CFN_RESOURCE_TYPE_NAME() *string
func CfnExtension_IsCfnElement ¶ added in v2.78.0
func CfnExtension_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnExtension_IsCfnResource ¶ added in v2.78.0
func CfnExtension_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnExtension_IsConstruct ¶ added in v2.78.0
func CfnExtension_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func CfnHostedConfigurationVersion_CFN_RESOURCE_TYPE_NAME ¶
func CfnHostedConfigurationVersion_CFN_RESOURCE_TYPE_NAME() *string
func CfnHostedConfigurationVersion_IsCfnElement ¶
func CfnHostedConfigurationVersion_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnHostedConfigurationVersion_IsCfnResource ¶
func CfnHostedConfigurationVersion_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnHostedConfigurationVersion_IsConstruct ¶
func CfnHostedConfigurationVersion_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func DeploymentStrategy_IsConstruct ¶ added in v2.130.0
func DeploymentStrategy_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func DeploymentStrategy_IsOwnedResource ¶ added in v2.130.0
func DeploymentStrategy_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func DeploymentStrategy_IsResource ¶ added in v2.130.0
func DeploymentStrategy_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func Environment_IsConstruct ¶ added in v2.130.0
func Environment_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func Environment_IsOwnedResource ¶ added in v2.130.0
func Environment_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func Environment_IsResource ¶ added in v2.130.0
func Environment_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func Extension_IsConstruct ¶ added in v2.130.0
func Extension_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func Extension_IsOwnedResource ¶ added in v2.130.0
func Extension_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func Extension_IsResource ¶ added in v2.130.0
func Extension_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func HostedConfiguration_IsConstruct ¶ added in v2.130.0
func HostedConfiguration_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func NewAction_Override ¶ added in v2.130.0
func NewAction_Override(a Action, props *ActionProps)
func NewApplication_Override ¶ added in v2.130.0
func NewApplication_Override(a Application, scope constructs.Construct, id *string, props *ApplicationProps)
func NewCfnApplication_Override ¶
func NewCfnApplication_Override(c CfnApplication, scope constructs.Construct, id *string, props *CfnApplicationProps)
func NewCfnConfigurationProfile_Override ¶
func NewCfnConfigurationProfile_Override(c CfnConfigurationProfile, scope constructs.Construct, id *string, props *CfnConfigurationProfileProps)
func NewCfnDeploymentStrategy_Override ¶
func NewCfnDeploymentStrategy_Override(c CfnDeploymentStrategy, scope constructs.Construct, id *string, props *CfnDeploymentStrategyProps)
func NewCfnDeployment_Override ¶
func NewCfnDeployment_Override(c CfnDeployment, scope constructs.Construct, id *string, props *CfnDeploymentProps)
func NewCfnEnvironment_Override ¶
func NewCfnEnvironment_Override(c CfnEnvironment, scope constructs.Construct, id *string, props *CfnEnvironmentProps)
func NewCfnExtensionAssociation_Override ¶ added in v2.78.0
func NewCfnExtensionAssociation_Override(c CfnExtensionAssociation, scope constructs.Construct, id *string, props *CfnExtensionAssociationProps)
func NewCfnExtension_Override ¶ added in v2.78.0
func NewCfnExtension_Override(c CfnExtension, scope constructs.Construct, id *string, props *CfnExtensionProps)
func NewCfnHostedConfigurationVersion_Override ¶
func NewCfnHostedConfigurationVersion_Override(c CfnHostedConfigurationVersion, scope constructs.Construct, id *string, props *CfnHostedConfigurationVersionProps)
func NewConfigurationContent_Override ¶ added in v2.130.0
func NewConfigurationContent_Override(c ConfigurationContent)
func NewConfigurationSource_Override ¶ added in v2.130.0
func NewConfigurationSource_Override(c ConfigurationSource)
func NewDeploymentStrategyId_Override ¶ added in v2.130.0
func NewDeploymentStrategyId_Override(d DeploymentStrategyId)
func NewDeploymentStrategy_Override ¶ added in v2.130.0
func NewDeploymentStrategy_Override(d DeploymentStrategy, scope constructs.Construct, id *string, props *DeploymentStrategyProps)
func NewEnvironment_Override ¶ added in v2.130.0
func NewEnvironment_Override(e Environment, scope constructs.Construct, id *string, props *EnvironmentProps)
func NewEventBridgeDestination_Override ¶ added in v2.130.0
func NewEventBridgeDestination_Override(e EventBridgeDestination, bus awsevents.IEventBus)
func NewExtensibleBase_Override ¶ added in v2.130.0
func NewExtensibleBase_Override(e ExtensibleBase, scope constructs.Construct, resourceArn *string, resourceName *string)
func NewExtension_Override ¶ added in v2.130.0
func NewExtension_Override(e Extension, scope constructs.Construct, id *string, props *ExtensionProps)
func NewHostedConfiguration_Override ¶ added in v2.130.0
func NewHostedConfiguration_Override(h HostedConfiguration, scope constructs.Construct, id *string, props *HostedConfigurationProps)
func NewJsonSchemaValidator_Override ¶ added in v2.130.0
func NewJsonSchemaValidator_Override(j JsonSchemaValidator)
func NewLambdaDestination_Override ¶ added in v2.130.0
func NewLambdaDestination_Override(l LambdaDestination, func_ awslambda.IFunction)
func NewLambdaValidator_Override ¶ added in v2.130.0
func NewLambdaValidator_Override(l LambdaValidator)
func NewMonitor_Override ¶ added in v2.130.0
func NewMonitor_Override(m Monitor)
func NewRolloutStrategy_Override ¶ added in v2.130.0
func NewRolloutStrategy_Override(r RolloutStrategy)
func NewSnsDestination_Override ¶ added in v2.130.0
func NewSnsDestination_Override(s SnsDestination, topic awssns.ITopic)
func NewSourcedConfiguration_Override ¶ added in v2.130.0
func NewSourcedConfiguration_Override(s SourcedConfiguration, scope constructs.Construct, id *string, props *SourcedConfigurationProps)
func NewSqsDestination_Override ¶ added in v2.130.0
func NewSqsDestination_Override(s SqsDestination, queue awssqs.IQueue)
func SourcedConfiguration_IsConstruct ¶ added in v2.130.0
func SourcedConfiguration_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
Types ¶
type Action ¶ added in v2.130.0
type Action interface { // The action points that will trigger the extension action. ActionPoints() *[]ActionPoint // The description for the action. Description() *string // The event destination for the action. EventDestination() IEventDestination // The execution role for the action. ExecutionRole() awsiam.IRole // The flag that specifies whether to create the execution role. InvokeWithoutExecutionRole() *bool // The name for the action. Name() *string }
Defines an action for an extension.
Example:
var fn function appconfig.NewExtension(this, jsii.String("MyExtension"), &ExtensionProps{ Actions: []action{ appconfig.NewAction(&ActionProps{ ActionPoints: []actionPoint{ appconfig.*actionPoint_ON_DEPLOYMENT_START, }, EventDestination: appconfig.NewLambdaDestination(fn), }), }, })
func NewAction ¶ added in v2.130.0
func NewAction(props *ActionProps) Action
type ActionPoint ¶ added in v2.130.0
type ActionPoint string
Defines Extension action points.
Example:
var fn function appconfig.NewExtension(this, jsii.String("MyExtension"), &ExtensionProps{ Actions: []action{ appconfig.NewAction(&ActionProps{ ActionPoints: []actionPoint{ appconfig.*actionPoint_ON_DEPLOYMENT_START, }, EventDestination: appconfig.NewLambdaDestination(fn), }), }, })
const ( ActionPoint_PRE_CREATE_HOSTED_CONFIGURATION_VERSION ActionPoint = "PRE_CREATE_HOSTED_CONFIGURATION_VERSION" ActionPoint_PRE_START_DEPLOYMENT ActionPoint = "PRE_START_DEPLOYMENT" ActionPoint_ON_DEPLOYMENT_START ActionPoint = "ON_DEPLOYMENT_START" ActionPoint_ON_DEPLOYMENT_STEP ActionPoint = "ON_DEPLOYMENT_STEP" ActionPoint_ON_DEPLOYMENT_BAKING ActionPoint = "ON_DEPLOYMENT_BAKING" ActionPoint_ON_DEPLOYMENT_COMPLETE ActionPoint = "ON_DEPLOYMENT_COMPLETE" ActionPoint_ON_DEPLOYMENT_ROLLED_BACK ActionPoint = "ON_DEPLOYMENT_ROLLED_BACK" )
type ActionProps ¶ added in v2.130.0
type ActionProps struct { // The action points that will trigger the extension action. ActionPoints *[]ActionPoint `field:"required" json:"actionPoints" yaml:"actionPoints"` // The event destination for the action. EventDestination IEventDestination `field:"required" json:"eventDestination" yaml:"eventDestination"` // The description for the action. // Default: - No description. // Description *string `field:"optional" json:"description" yaml:"description"` // The execution role for the action. // Default: - A role is generated. // ExecutionRole awsiam.IRole `field:"optional" json:"executionRole" yaml:"executionRole"` // The flag that specifies whether or not to create the execution role. // // If set to true, then the role will not be auto-generated under the assumption // there is already the corresponding resource-based policy attached to the event // destination. If false, the execution role will be generated if not provided. // Default: false. // InvokeWithoutExecutionRole *bool `field:"optional" json:"invokeWithoutExecutionRole" yaml:"invokeWithoutExecutionRole"` // The name for the action. // Default: - A name is generated. // Name *string `field:"optional" json:"name" yaml:"name"` }
Properties for the Action construct.
Example:
var fn function appconfig.NewExtension(this, jsii.String("MyExtension"), &ExtensionProps{ Actions: []action{ appconfig.NewAction(&ActionProps{ ActionPoints: []actionPoint{ appconfig.*actionPoint_ON_DEPLOYMENT_START, }, EventDestination: appconfig.NewLambdaDestination(fn), }), }, })
type Application ¶ added in v2.130.0
type Application interface { awscdk.Resource IApplication IExtensible // The Amazon Resource Name (ARN) of the application. ApplicationArn() *string // The ID of the application. ApplicationId() *string // The description of the application. Description() *string // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment Extensible() ExtensibleBase SetExtensible(val ExtensibleBase) // The name of the application. Name() *string // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // Adds an environment. AddEnvironment(id *string, options *EnvironmentOptions) IEnvironment // Adds an existing environment. AddExistingEnvironment(environment IEnvironment) // Adds an extension association to the application. AddExtension(extension IExtension) // Adds a hosted configuration. AddHostedConfiguration(id *string, options *HostedConfigurationOptions) HostedConfiguration // Adds a sourced configuration. AddSourcedConfiguration(id *string, options *SourcedConfigurationOptions) SourcedConfiguration // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Returns the list of associated environments. Environments() *[]IEnvironment GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Adds an extension defined by the action point and event destination and also creates an extension association to an application. On(actionPoint ActionPoint, eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_BAKING extension with the provided event destination and also creates an extension association to an application. OnDeploymentBaking(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_COMPLETE extension with the provided event destination and also creates an extension association to an application. OnDeploymentComplete(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_ROLLED_BACK extension with the provided event destination and also creates an extension association to an application. OnDeploymentRolledBack(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_START extension with the provided event destination and also creates an extension association to an application. OnDeploymentStart(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_STEP extension with the provided event destination and also creates an extension association to an application. OnDeploymentStep(eventDestination IEventDestination, options *ExtensionOptions) // Adds a PRE_CREATE_HOSTED_CONFIGURATION_VERSION extension with the provided event destination and also creates an extension association to an application. PreCreateHostedConfigurationVersion(eventDestination IEventDestination, options *ExtensionOptions) // Adds a PRE_START_DEPLOYMENT extension with the provided event destination and also creates an extension association to an application. PreStartDeployment(eventDestination IEventDestination, options *ExtensionOptions) // Returns a string representation of this construct. ToString() *string }
An AWS AppConfig application.
Example:
app := appconfig.NewApplication(this, jsii.String("MyApp")) env := appconfig.NewEnvironment(this, jsii.String("MyEnv"), &EnvironmentProps{ Application: app, }) appconfig.NewHostedConfiguration(this, jsii.String("MyHostedConfig"), &HostedConfigurationProps{ Application: app, DeployTo: []iEnvironment{ env, }, Content: appconfig.ConfigurationContent_FromInlineText(jsii.String("This is my configuration content.")), })
See: https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-application.html
func NewApplication ¶ added in v2.130.0
func NewApplication(scope constructs.Construct, id *string, props *ApplicationProps) Application
type ApplicationProps ¶ added in v2.130.0
type ApplicationProps struct { // The name of the application. // Default: - A name is generated. // ApplicationName *string `field:"optional" json:"applicationName" yaml:"applicationName"` // The description for the application. // Default: - No description. // Description *string `field:"optional" json:"description" yaml:"description"` }
Properties for the Application construct.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" applicationProps := &ApplicationProps{ ApplicationName: jsii.String("applicationName"), Description: jsii.String("description"), }
type CfnApplication ¶
type CfnApplication interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggableV2 // The application ID. AttrApplicationId() *string // Tag Manager which manages the tags for this resource. CdkTagManager() awscdk.TagManager // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // A description of the application. Description() *string SetDescription(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // A name for the application. Name() *string SetName(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Metadata to assign to the application. Tags() *[]*awscdk.CfnTag SetTags(val *[]*awscdk.CfnTag) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
The `AWS::AppConfig::Application` resource creates an application.
In AWS AppConfig , an application is simply an organizational construct like a folder. This organizational construct has a relationship with some unit of executable code. For example, you could create an application called MyMobileApp to organize and manage configuration data for a mobile application installed by your users.
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 - Choose a pre-defined deployment strategy or create your own - Deploy the configuration
For more information, see [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) 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 "github.com/aws/aws-cdk-go/awscdk" cfnApplication := awscdk.Aws_appconfig.NewCfnApplication(this, jsii.String("MyCfnApplication"), &CfnApplicationProps{ Name: jsii.String("name"), // the properties below are optional Description: jsii.String("description"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnApplication ¶
func NewCfnApplication(scope constructs.Construct, id *string, props *CfnApplicationProps) CfnApplication
type CfnApplicationProps ¶
type CfnApplicationProps struct { // A name for the application. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-application.html#cfn-appconfig-application-name // Name *string `field:"required" json:"name" yaml:"name"` // A description of the application. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-application.html#cfn-appconfig-application-description // Description *string `field:"optional" json:"description" yaml:"description"` // Metadata to assign to the application. // // Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-application.html#cfn-appconfig-application-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnApplication`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnApplicationProps := &CfnApplicationProps{ Name: jsii.String("name"), // the properties below are optional Description: jsii.String("description"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnConfigurationProfile ¶
type CfnConfigurationProfile interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggableV2 // The application ID. ApplicationId() *string SetApplicationId(val *string) // The configuration profile ID. AttrConfigurationProfileId() *string // The Amazon Resource Name of the AWS Key Management Service key to encrypt new configuration data versions in the AWS AppConfig hosted configuration store. // // This attribute is only used for `hosted` configuration types. To encrypt data managed in other configuration stores, see the documentation for how to specify an AWS KMS key for that particular service. AttrKmsKeyArn() *string // Tag Manager which manages the tags for this resource. CdkTagManager() awscdk.TagManager // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // A description of the configuration profile. Description() *string SetDescription(val *string) // The AWS Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated. KmsKeyIdentifier() *string SetKmsKeyIdentifier(val *string) // A URI to locate the configuration. // // You can specify the following:. LocationUri() *string SetLocationUri(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // A name for the configuration profile. Name() *string SetName(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The ARN of an IAM role with permission to access the configuration at the specified `LocationUri` . RetrievalRoleArn() *string SetRetrievalRoleArn(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Metadata to assign to the configuration profile. Tags() *[]*awscdk.CfnTag SetTags(val *[]*awscdk.CfnTag) // The type of configurations contained in the profile. Type() *string SetType(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // A list of methods for validating the configuration. Validators() interface{} SetValidators(val interface{}) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
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 - Choose a pre-defined deployment strategy or create your own - Deploy the configuration
For more information, see [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) 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 "github.com/aws/aws-cdk-go/awscdk" cfnConfigurationProfile := awscdk.Aws_appconfig.NewCfnConfigurationProfile(this, jsii.String("MyCfnConfigurationProfile"), &CfnConfigurationProfileProps{ ApplicationId: jsii.String("applicationId"), LocationUri: jsii.String("locationUri"), Name: jsii.String("name"), // the properties below are optional Description: jsii.String("description"), KmsKeyIdentifier: jsii.String("kmsKeyIdentifier"), RetrievalRoleArn: jsii.String("retrievalRoleArn"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, Type: jsii.String("type"), Validators: []interface{}{ &ValidatorsProperty{ Content: jsii.String("content"), Type: jsii.String("type"), }, }, })
func NewCfnConfigurationProfile ¶
func NewCfnConfigurationProfile(scope constructs.Construct, id *string, props *CfnConfigurationProfileProps) CfnConfigurationProfile
type CfnConfigurationProfileProps ¶
type CfnConfigurationProfileProps struct { // The application ID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html#cfn-appconfig-configurationprofile-applicationid // ApplicationId *string `field:"required" json:"applicationId" yaml:"applicationId"` // 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` ://<pipeline name>. // - For an AWS Secrets Manager secret, specify the URI in the following format: `secretsmanager` ://<secret name>. // - 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). // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html#cfn-appconfig-configurationprofile-locationuri // LocationUri *string `field:"required" json:"locationUri" yaml:"locationUri"` // A name for the configuration profile. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html#cfn-appconfig-configurationprofile-name // Name *string `field:"required" json:"name" yaml:"name"` // A description of the configuration profile. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html#cfn-appconfig-configurationprofile-description // Description *string `field:"optional" json:"description" yaml:"description"` // The AWS Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html#cfn-appconfig-configurationprofile-kmskeyidentifier // KmsKeyIdentifier *string `field:"optional" json:"kmsKeyIdentifier" yaml:"kmsKeyIdentifier"` // 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. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html#cfn-appconfig-configurationprofile-retrievalrolearn // RetrievalRoleArn *string `field:"optional" json:"retrievalRoleArn" yaml:"retrievalRoleArn"` // 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. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html#cfn-appconfig-configurationprofile-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // 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` // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html#cfn-appconfig-configurationprofile-type // Type *string `field:"optional" json:"type" yaml:"type"` // A list of methods for validating the configuration. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html#cfn-appconfig-configurationprofile-validators // Validators interface{} `field:"optional" json:"validators" yaml:"validators"` }
Properties for defining a `CfnConfigurationProfile`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnConfigurationProfileProps := &CfnConfigurationProfileProps{ ApplicationId: jsii.String("applicationId"), LocationUri: jsii.String("locationUri"), Name: jsii.String("name"), // the properties below are optional Description: jsii.String("description"), KmsKeyIdentifier: jsii.String("kmsKeyIdentifier"), RetrievalRoleArn: jsii.String("retrievalRoleArn"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, Type: jsii.String("type"), Validators: []interface{}{ &ValidatorsProperty{ Content: jsii.String("content"), Type: jsii.String("type"), }, }, }
type CfnConfigurationProfile_ValidatorsProperty ¶
type CfnConfigurationProfile_ValidatorsProperty struct { // Either the JSON Schema content or the Amazon Resource Name (ARN) of an Lambda function. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-configurationprofile-validators.html#cfn-appconfig-configurationprofile-validators-content // Content *string `field:"optional" json:"content" yaml:"content"` // AWS AppConfig supports validators of type `JSON_SCHEMA` and `LAMBDA`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-configurationprofile-validators.html#cfn-appconfig-configurationprofile-validators-type // Type *string `field:"optional" json:"type" yaml:"type"` }
A validator provides a syntactic or semantic check to ensure the configuration that you want to deploy functions as intended.
To validate your application configuration data, you provide a schema or an AWS Lambda function that runs against the configuration. The configuration deployment or update can only proceed when the configuration data is valid. For more information, see [About validators](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-configuration-profile.html#appconfig-creating-configuration-and-profile-validators) 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 "github.com/aws/aws-cdk-go/awscdk" validatorsProperty := &ValidatorsProperty{ Content: jsii.String("content"), Type: jsii.String("type"), }
type CfnDeployment ¶
type CfnDeployment interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggableV2 // The application ID. ApplicationId() *string SetApplicationId(val *string) AttrId() *string // Tag Manager which manages the tags for this resource. CdkTagManager() awscdk.TagManager // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The configuration profile ID. ConfigurationProfileId() *string SetConfigurationProfileId(val *string) // The configuration version to deploy. ConfigurationVersion() *string SetConfigurationVersion(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The deployment strategy ID. DeploymentStrategyId() *string SetDeploymentStrategyId(val *string) // A description of the deployment. Description() *string SetDescription(val *string) // A map of dynamic extension parameter names to values to pass to associated extensions with `PRE_START_DEPLOYMENT` actions. DynamicExtensionParameters() interface{} SetDynamicExtensionParameters(val interface{}) // The environment ID. EnvironmentId() *string SetEnvironmentId(val *string) // The AWS Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated. KmsKeyIdentifier() *string SetKmsKeyIdentifier(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Metadata to assign to the deployment. Tags() *[]*awscdk.CfnTag SetTags(val *[]*awscdk.CfnTag) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
The `AWS::AppConfig::Deployment` resource starts a deployment.
Starting a deployment in AWS AppConfig calls the `StartDeployment` API action. This call includes the IDs of the AWS AppConfig application, the environment, the configuration profile, and (optionally) the configuration data version to deploy. The call also includes the ID of the deployment strategy to use, which determines how the configuration data is deployed.
AWS AppConfig monitors the distribution to all hosts and reports status. If a distribution fails, then AWS AppConfig rolls back the configuration.
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 - Choose a pre-defined deployment strategy or create your own - Deploy the configuration
For more information, see [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) 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 "github.com/aws/aws-cdk-go/awscdk" cfnDeployment := awscdk.Aws_appconfig.NewCfnDeployment(this, jsii.String("MyCfnDeployment"), &CfnDeploymentProps{ ApplicationId: jsii.String("applicationId"), ConfigurationProfileId: jsii.String("configurationProfileId"), ConfigurationVersion: jsii.String("configurationVersion"), DeploymentStrategyId: jsii.String("deploymentStrategyId"), EnvironmentId: jsii.String("environmentId"), // the properties below are optional Description: jsii.String("description"), DynamicExtensionParameters: []interface{}{ &DynamicExtensionParametersProperty{ ExtensionReference: jsii.String("extensionReference"), ParameterName: jsii.String("parameterName"), ParameterValue: jsii.String("parameterValue"), }, }, KmsKeyIdentifier: jsii.String("kmsKeyIdentifier"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html
func NewCfnDeployment ¶
func NewCfnDeployment(scope constructs.Construct, id *string, props *CfnDeploymentProps) CfnDeployment
type CfnDeploymentProps ¶
type CfnDeploymentProps struct { // The application ID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html#cfn-appconfig-deployment-applicationid // ApplicationId *string `field:"required" json:"applicationId" yaml:"applicationId"` // The configuration profile ID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html#cfn-appconfig-deployment-configurationprofileid // ConfigurationProfileId *string `field:"required" json:"configurationProfileId" yaml:"configurationProfileId"` // The configuration version to deploy. // // If deploying an AWS AppConfig hosted configuration version, you can specify either the version number or version label. For all other configurations, you must specify the version number. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html#cfn-appconfig-deployment-configurationversion // ConfigurationVersion *string `field:"required" json:"configurationVersion" yaml:"configurationVersion"` // The deployment strategy ID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html#cfn-appconfig-deployment-deploymentstrategyid // DeploymentStrategyId *string `field:"required" json:"deploymentStrategyId" yaml:"deploymentStrategyId"` // The environment ID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html#cfn-appconfig-deployment-environmentid // EnvironmentId *string `field:"required" json:"environmentId" yaml:"environmentId"` // A description of the deployment. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html#cfn-appconfig-deployment-description // Description *string `field:"optional" json:"description" yaml:"description"` // A map of dynamic extension parameter names to values to pass to associated extensions with `PRE_START_DEPLOYMENT` actions. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html#cfn-appconfig-deployment-dynamicextensionparameters // DynamicExtensionParameters interface{} `field:"optional" json:"dynamicExtensionParameters" yaml:"dynamicExtensionParameters"` // The AWS Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html#cfn-appconfig-deployment-kmskeyidentifier // KmsKeyIdentifier *string `field:"optional" json:"kmsKeyIdentifier" yaml:"kmsKeyIdentifier"` // Metadata to assign to the deployment. // // Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html#cfn-appconfig-deployment-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnDeployment`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDeploymentProps := &CfnDeploymentProps{ ApplicationId: jsii.String("applicationId"), ConfigurationProfileId: jsii.String("configurationProfileId"), ConfigurationVersion: jsii.String("configurationVersion"), DeploymentStrategyId: jsii.String("deploymentStrategyId"), EnvironmentId: jsii.String("environmentId"), // the properties below are optional Description: jsii.String("description"), DynamicExtensionParameters: []interface{}{ &DynamicExtensionParametersProperty{ ExtensionReference: jsii.String("extensionReference"), ParameterName: jsii.String("parameterName"), ParameterValue: jsii.String("parameterValue"), }, }, KmsKeyIdentifier: jsii.String("kmsKeyIdentifier"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html
type CfnDeploymentStrategy ¶
type CfnDeploymentStrategy interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggableV2 // The deployment strategy ID. AttrId() *string // Tag Manager which manages the tags for this resource. CdkTagManager() awscdk.TagManager // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Total amount of time for a deployment to last. DeploymentDurationInMinutes() *float64 SetDeploymentDurationInMinutes(val *float64) // A description of the deployment strategy. Description() *string SetDescription(val *string) // Specifies the amount of time AWS AppConfig monitors for Amazon CloudWatch alarms after the configuration has been deployed to 100% of its targets, before considering the deployment to be complete. FinalBakeTimeInMinutes() *float64 SetFinalBakeTimeInMinutes(val *float64) // The percentage of targets to receive a deployed configuration during each interval. GrowthFactor() *float64 SetGrowthFactor(val *float64) // The algorithm used to define how percentage grows over time. // // AWS AppConfig supports the following growth types:. GrowthType() *string SetGrowthType(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // A name for the deployment strategy. Name() *string SetName(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // Save the deployment strategy to a Systems Manager (SSM) document. ReplicateTo() *string SetReplicateTo(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Assigns metadata to an AWS AppConfig resource. Tags() *[]*awscdk.CfnTag SetTags(val *[]*awscdk.CfnTag) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
The `AWS::AppConfig::DeploymentStrategy` resource creates an AWS AppConfig deployment strategy.
A deployment strategy defines important criteria for rolling out your configuration to the designated targets. A deployment strategy includes: the overall duration required, a percentage of targets to receive the deployment during each interval, an algorithm that defines how percentage grows, and bake time.
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 - Choose a pre-defined deployment strategy or create your own - Deploy the configuration
For more information, see [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) 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 "github.com/aws/aws-cdk-go/awscdk" cfnDeploymentStrategy := awscdk.Aws_appconfig.NewCfnDeploymentStrategy(this, jsii.String("MyCfnDeploymentStrategy"), &CfnDeploymentStrategyProps{ DeploymentDurationInMinutes: jsii.Number(123), GrowthFactor: jsii.Number(123), Name: jsii.String("name"), ReplicateTo: jsii.String("replicateTo"), // the properties below are optional Description: jsii.String("description"), FinalBakeTimeInMinutes: jsii.Number(123), GrowthType: jsii.String("growthType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnDeploymentStrategy ¶
func NewCfnDeploymentStrategy(scope constructs.Construct, id *string, props *CfnDeploymentStrategyProps) CfnDeploymentStrategy
type CfnDeploymentStrategyProps ¶
type CfnDeploymentStrategyProps struct { // Total amount of time for a deployment to last. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html#cfn-appconfig-deploymentstrategy-deploymentdurationinminutes // DeploymentDurationInMinutes *float64 `field:"required" json:"deploymentDurationInMinutes" yaml:"deploymentDurationInMinutes"` // The percentage of targets to receive a deployed configuration during each interval. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html#cfn-appconfig-deploymentstrategy-growthfactor // GrowthFactor *float64 `field:"required" json:"growthFactor" yaml:"growthFactor"` // A name for the deployment strategy. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html#cfn-appconfig-deploymentstrategy-name // Name *string `field:"required" json:"name" yaml:"name"` // Save the deployment strategy to a Systems Manager (SSM) document. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html#cfn-appconfig-deploymentstrategy-replicateto // ReplicateTo *string `field:"required" json:"replicateTo" yaml:"replicateTo"` // A description of the deployment strategy. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html#cfn-appconfig-deploymentstrategy-description // Description *string `field:"optional" json:"description" yaml:"description"` // Specifies the amount of time AWS AppConfig monitors for Amazon CloudWatch alarms after the configuration has been deployed to 100% of its targets, before considering the deployment to be complete. // // If an alarm is triggered during this time, AWS AppConfig rolls back the deployment. You must configure permissions for AWS AppConfig to roll back based on CloudWatch alarms. For more information, see [Configuring permissions for rollback based on Amazon CloudWatch alarms](https://docs.aws.amazon.com/appconfig/latest/userguide/getting-started-with-appconfig-cloudwatch-alarms-permissions.html) in the *AWS AppConfig User Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html#cfn-appconfig-deploymentstrategy-finalbaketimeinminutes // FinalBakeTimeInMinutes *float64 `field:"optional" json:"finalBakeTimeInMinutes" yaml:"finalBakeTimeInMinutes"` // The algorithm used to define how percentage grows over time. AWS AppConfig supports the following growth types:. // // *Linear* : For this type, AWS 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 a `Step 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, AWS AppConfig processes the deployment exponentially using the following formula: `G*(2^N)` . In this formula, `G` is the growth factor specified by the user and `N` 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. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html#cfn-appconfig-deploymentstrategy-growthtype // GrowthType *string `field:"optional" json:"growthType" yaml:"growthType"` // Assigns metadata to an AWS AppConfig resource. // // Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define. You can specify a maximum of 50 tags for a resource. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html#cfn-appconfig-deploymentstrategy-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnDeploymentStrategy`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnDeploymentStrategyProps := &CfnDeploymentStrategyProps{ DeploymentDurationInMinutes: jsii.Number(123), GrowthFactor: jsii.Number(123), Name: jsii.String("name"), ReplicateTo: jsii.String("replicateTo"), // the properties below are optional Description: jsii.String("description"), FinalBakeTimeInMinutes: jsii.Number(123), GrowthType: jsii.String("growthType"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnDeployment_DynamicExtensionParametersProperty ¶ added in v2.134.0
type CfnDeployment_DynamicExtensionParametersProperty struct { // The ARN or ID of the extension for which you are inserting a dynamic parameter. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-deployment-dynamicextensionparameters.html#cfn-appconfig-deployment-dynamicextensionparameters-extensionreference // ExtensionReference *string `field:"optional" json:"extensionReference" yaml:"extensionReference"` // The parameter name. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-deployment-dynamicextensionparameters.html#cfn-appconfig-deployment-dynamicextensionparameters-parametername // ParameterName *string `field:"optional" json:"parameterName" yaml:"parameterName"` // The parameter value. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-deployment-dynamicextensionparameters.html#cfn-appconfig-deployment-dynamicextensionparameters-parametervalue // ParameterValue *string `field:"optional" json:"parameterValue" yaml:"parameterValue"` }
A map of dynamic extension parameter names to values to pass to associated extensions with `PRE_START_DEPLOYMENT` actions.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" dynamicExtensionParametersProperty := &DynamicExtensionParametersProperty{ ExtensionReference: jsii.String("extensionReference"), ParameterName: jsii.String("parameterName"), ParameterValue: jsii.String("parameterValue"), }
type CfnEnvironment ¶
type CfnEnvironment interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggableV2 // The application ID. ApplicationId() *string SetApplicationId(val *string) // The environment ID. AttrEnvironmentId() *string // Tag Manager which manages the tags for this resource. CdkTagManager() awscdk.TagManager // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // A description of the environment. Description() *string SetDescription(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // Amazon CloudWatch alarms to monitor during the deployment process. Monitors() interface{} SetMonitors(val interface{}) // A name for the environment. Name() *string SetName(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Metadata to assign to the environment. Tags() *[]*awscdk.CfnTag SetTags(val *[]*awscdk.CfnTag) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
The `AWS::AppConfig::Environment` resource creates an environment, which is a logical deployment group of AWS AppConfig targets, such as applications in a `Beta` or `Production` environment.
You define one or more environments for each AWS AppConfig application. You can also define environments for application subcomponents such as the `Web` , `Mobile` and `Back-end` components for your application. You can configure Amazon CloudWatch alarms for each environment. The system monitors alarms during a configuration deployment. If an alarm is triggered, the system rolls back the configuration.
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 - Choose a pre-defined deployment strategy or create your own - Deploy the configuration
For more information, see [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) 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 "github.com/aws/aws-cdk-go/awscdk" cfnEnvironment := awscdk.Aws_appconfig.NewCfnEnvironment(this, jsii.String("MyCfnEnvironment"), &CfnEnvironmentProps{ ApplicationId: jsii.String("applicationId"), Name: jsii.String("name"), // the properties below are optional Description: jsii.String("description"), Monitors: []interface{}{ &MonitorsProperty{ AlarmArn: jsii.String("alarmArn"), AlarmRoleArn: jsii.String("alarmRoleArn"), }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnEnvironment ¶
func NewCfnEnvironment(scope constructs.Construct, id *string, props *CfnEnvironmentProps) CfnEnvironment
type CfnEnvironmentProps ¶
type CfnEnvironmentProps struct { // The application ID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html#cfn-appconfig-environment-applicationid // ApplicationId *string `field:"required" json:"applicationId" yaml:"applicationId"` // A name for the environment. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html#cfn-appconfig-environment-name // Name *string `field:"required" json:"name" yaml:"name"` // A description of the environment. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html#cfn-appconfig-environment-description // Description *string `field:"optional" json:"description" yaml:"description"` // Amazon CloudWatch alarms to monitor during the deployment process. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html#cfn-appconfig-environment-monitors // Monitors interface{} `field:"optional" json:"monitors" yaml:"monitors"` // Metadata to assign to the environment. // // Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html#cfn-appconfig-environment-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnEnvironment`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnEnvironmentProps := &CfnEnvironmentProps{ ApplicationId: jsii.String("applicationId"), Name: jsii.String("name"), // the properties below are optional Description: jsii.String("description"), Monitors: []interface{}{ &MonitorsProperty{ AlarmArn: jsii.String("alarmArn"), AlarmRoleArn: jsii.String("alarmRoleArn"), }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnEnvironment_MonitorProperty ¶ added in v2.127.0
type CfnEnvironment_MonitorProperty struct { // Amazon Resource Name (ARN) of the Amazon CloudWatch alarm. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-monitor.html#cfn-appconfig-environment-monitor-alarmarn // AlarmArn *string `field:"required" json:"alarmArn" yaml:"alarmArn"` // ARN of an AWS Identity and Access Management (IAM) role for AWS AppConfig to monitor `AlarmArn` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-monitor.html#cfn-appconfig-environment-monitor-alarmrolearn // AlarmRoleArn *string `field:"optional" json:"alarmRoleArn" yaml:"alarmRoleArn"` }
Amazon CloudWatch alarms to monitor during the deployment process.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" monitorProperty := &MonitorProperty{ AlarmArn: jsii.String("alarmArn"), // the properties below are optional AlarmRoleArn: jsii.String("alarmRoleArn"), }
type CfnEnvironment_MonitorsProperty ¶
type CfnEnvironment_MonitorsProperty struct { // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-monitors.html#cfn-appconfig-environment-monitors-alarmarn // AlarmArn *string `field:"optional" json:"alarmArn" yaml:"alarmArn"` // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-environment-monitors.html#cfn-appconfig-environment-monitors-alarmrolearn // AlarmRoleArn *string `field:"optional" json:"alarmRoleArn" yaml:"alarmRoleArn"` }
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" monitorsProperty := &MonitorsProperty{ AlarmArn: jsii.String("alarmArn"), AlarmRoleArn: jsii.String("alarmRoleArn"), }
type CfnExtension ¶ added in v2.78.0
type CfnExtension interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // The actions defined in the extension. Actions() interface{} SetActions(val interface{}) // The system-generated Amazon Resource Name (ARN) for the extension. AttrArn() *string // The system-generated ID of the extension. AttrId() *string // The extension version number. AttrVersionNumber() *float64 // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // Information about the extension. Description() *string SetDescription(val *string) // You can omit this field when you create an extension. LatestVersionNumber() *float64 SetLatestVersionNumber(val *float64) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // A name for the extension. Name() *string SetName(val *string) // The tree node. Node() constructs.Node // The parameters accepted by the extension. Parameters() interface{} SetParameters(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // Adds one or more tags for the specified extension. TagsRaw() *[]*awscdk.CfnTag SetTagsRaw(val *[]*awscdk.CfnTag) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
Creates an AWS AppConfig extension.
An extension augments your ability to inject logic or behavior at different points during the AWS AppConfig workflow of creating or deploying a configuration.
You can create your own extensions or use the AWS authored extensions provided by AWS AppConfig . For an AWS AppConfig extension that uses AWS Lambda , you must create a Lambda function to perform any computation and processing defined in the extension. If you plan to create custom versions of the AWS authored notification extensions, you only need to specify an Amazon Resource Name (ARN) in the `Uri` field for the new extension version.
- For a custom EventBridge notification extension, enter the ARN of the EventBridge default events in the `Uri` field. - For a custom Amazon SNS notification extension, enter the ARN of an Amazon SNS topic in the `Uri` field. - For a custom Amazon SQS notification extension, enter the ARN of an Amazon SQS message queue in the `Uri` field.
For more information about extensions, see [Extending workflows](https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html) 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 "github.com/aws/aws-cdk-go/awscdk" var actions interface{} cfnExtension := awscdk.Aws_appconfig.NewCfnExtension(this, jsii.String("MyCfnExtension"), &CfnExtensionProps{ Actions: actions, Name: jsii.String("name"), // the properties below are optional Description: jsii.String("description"), LatestVersionNumber: jsii.Number(123), Parameters: map[string]interface{}{ "parametersKey": &ParameterProperty{ "required": jsii.Boolean(false), // the properties below are optional "description": jsii.String("description"), "dynamic": jsii.Boolean(false), }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html
func NewCfnExtension ¶ added in v2.78.0
func NewCfnExtension(scope constructs.Construct, id *string, props *CfnExtensionProps) CfnExtension
type CfnExtensionAssociation ¶ added in v2.78.0
type CfnExtensionAssociation interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // The ARN of the extension defined in the association. AttrArn() *string // The ARN of the extension defined in the association. AttrExtensionArn() *string // The system-generated ID for the association. AttrId() *string // The ARNs of applications, configuration profiles, or environments defined in the association. AttrResourceArn() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The name, the ID, or the Amazon Resource Name (ARN) of the extension. ExtensionIdentifier() *string SetExtensionIdentifier(val *string) // The version number of the extension. ExtensionVersionNumber() *float64 SetExtensionVersionNumber(val *float64) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // The parameter names and values defined in the extensions. Parameters() interface{} SetParameters(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The ARN of an application, configuration profile, or environment. ResourceIdentifier() *string SetResourceIdentifier(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // Adds one or more tags for the specified extension association. TagsRaw() *[]*awscdk.CfnTag SetTagsRaw(val *[]*awscdk.CfnTag) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
When you create an extension or configure an AWS authored extension, you associate the extension with an AWS AppConfig application, environment, or configuration profile.
For example, you can choose to run the `AWS AppConfig deployment events to Amazon SNS` AWS authored extension and receive notifications on an Amazon SNS topic anytime a configuration deployment is started for a specific application. Defining which extension to associate with an AWS AppConfig resource is called an *extension association* . An extension association is a specified relationship between an extension and an AWS AppConfig resource, such as an application or a configuration profile. For more information about extensions and associations, see [Extending workflows](https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html) 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 "github.com/aws/aws-cdk-go/awscdk" cfnExtensionAssociation := awscdk.Aws_appconfig.NewCfnExtensionAssociation(this, jsii.String("MyCfnExtensionAssociation"), &CfnExtensionAssociationProps{ ExtensionIdentifier: jsii.String("extensionIdentifier"), ExtensionVersionNumber: jsii.Number(123), Parameters: map[string]*string{ "parametersKey": jsii.String("parameters"), }, ResourceIdentifier: jsii.String("resourceIdentifier"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnExtensionAssociation ¶ added in v2.78.0
func NewCfnExtensionAssociation(scope constructs.Construct, id *string, props *CfnExtensionAssociationProps) CfnExtensionAssociation
type CfnExtensionAssociationProps ¶ added in v2.78.0
type CfnExtensionAssociationProps struct { // The name, the ID, or the Amazon Resource Name (ARN) of the extension. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html#cfn-appconfig-extensionassociation-extensionidentifier // ExtensionIdentifier *string `field:"optional" json:"extensionIdentifier" yaml:"extensionIdentifier"` // The version number of the extension. // // If not specified, AWS AppConfig uses the maximum version of the extension. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html#cfn-appconfig-extensionassociation-extensionversionnumber // ExtensionVersionNumber *float64 `field:"optional" json:"extensionVersionNumber" yaml:"extensionVersionNumber"` // The parameter names and values defined in the extensions. // // Extension parameters marked `Required` must be entered for this field. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html#cfn-appconfig-extensionassociation-parameters // Parameters interface{} `field:"optional" json:"parameters" yaml:"parameters"` // The ARN of an application, configuration profile, or environment. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html#cfn-appconfig-extensionassociation-resourceidentifier // ResourceIdentifier *string `field:"optional" json:"resourceIdentifier" yaml:"resourceIdentifier"` // Adds one or more tags for the specified extension association. // // Tags are metadata that help you categorize resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html#cfn-appconfig-extensionassociation-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnExtensionAssociation`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnExtensionAssociationProps := &CfnExtensionAssociationProps{ ExtensionIdentifier: jsii.String("extensionIdentifier"), ExtensionVersionNumber: jsii.Number(123), Parameters: map[string]*string{ "parametersKey": jsii.String("parameters"), }, ResourceIdentifier: jsii.String("resourceIdentifier"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnExtensionProps ¶ added in v2.78.0
type CfnExtensionProps struct { // The actions defined in the extension. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html#cfn-appconfig-extension-actions // Actions interface{} `field:"required" json:"actions" yaml:"actions"` // A name for the extension. // // Each extension name in your account must be unique. Extension versions use the same name. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html#cfn-appconfig-extension-name // Name *string `field:"required" json:"name" yaml:"name"` // Information about the extension. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html#cfn-appconfig-extension-description // Description *string `field:"optional" json:"description" yaml:"description"` // You can omit this field when you create an extension. // // When you create a new version, specify the most recent current version number. For example, you create version 3, enter 2 for this field. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html#cfn-appconfig-extension-latestversionnumber // LatestVersionNumber *float64 `field:"optional" json:"latestVersionNumber" yaml:"latestVersionNumber"` // The parameters accepted by the extension. // // You specify parameter values when you associate the extension to an AWS AppConfig resource by using the `CreateExtensionAssociation` API action. For AWS Lambda extension actions, these parameters are included in the Lambda request object. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html#cfn-appconfig-extension-parameters // Parameters interface{} `field:"optional" json:"parameters" yaml:"parameters"` // Adds one or more tags for the specified extension. // // Tags are metadata that help you categorize resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html#cfn-appconfig-extension-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnExtension`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var actions interface{} cfnExtensionProps := &CfnExtensionProps{ Actions: actions, Name: jsii.String("name"), // the properties below are optional Description: jsii.String("description"), LatestVersionNumber: jsii.Number(123), Parameters: map[string]interface{}{ "parametersKey": &ParameterProperty{ "required": jsii.Boolean(false), // the properties below are optional "description": jsii.String("description"), "dynamic": jsii.Boolean(false), }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html
type CfnExtension_ActionProperty ¶ added in v2.88.0
type CfnExtension_ActionProperty struct { // The action name. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-extension-action.html#cfn-appconfig-extension-action-name // Name *string `field:"required" json:"name" yaml:"name"` // The extension URI associated to the action point in the extension definition. // // The URI can be an Amazon Resource Name (ARN) for one of the following: an AWS Lambda function, an Amazon Simple Queue Service queue, an Amazon Simple Notification Service topic, or the Amazon EventBridge default event bus. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-extension-action.html#cfn-appconfig-extension-action-uri // Uri *string `field:"required" json:"uri" yaml:"uri"` // Information about actions defined in the extension. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-extension-action.html#cfn-appconfig-extension-action-description // Description *string `field:"optional" json:"description" yaml:"description"` // An Amazon Resource Name (ARN) for an AWS Identity and Access Management assume role. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-extension-action.html#cfn-appconfig-extension-action-rolearn // RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"` }
The actions defined in the extension.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" actionProperty := &ActionProperty{ Name: jsii.String("name"), Uri: jsii.String("uri"), // the properties below are optional Description: jsii.String("description"), RoleArn: jsii.String("roleArn"), }
type CfnExtension_ParameterProperty ¶ added in v2.78.0
type CfnExtension_ParameterProperty struct { // A parameter value must be specified in the extension association. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-extension-parameter.html#cfn-appconfig-extension-parameter-required // Required interface{} `field:"required" json:"required" yaml:"required"` // Information about the parameter. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-extension-parameter.html#cfn-appconfig-extension-parameter-description // Description *string `field:"optional" json:"description" yaml:"description"` // Indicates whether this parameter's value can be supplied at the extension's action point instead of during extension association. // // Dynamic parameters can't be marked `Required` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appconfig-extension-parameter.html#cfn-appconfig-extension-parameter-dynamic // Dynamic interface{} `field:"optional" json:"dynamic" yaml:"dynamic"` }
A value such as an Amazon Resource Name (ARN) or an Amazon Simple Notification Service topic entered in an extension when invoked.
Parameter values are specified in an extension association. For more information about extensions, see [Extending workflows](https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html) 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 "github.com/aws/aws-cdk-go/awscdk" parameterProperty := &ParameterProperty{ Required: jsii.Boolean(false), // the properties below are optional Description: jsii.String("description"), Dynamic: jsii.Boolean(false), }
type CfnHostedConfigurationVersion ¶
type CfnHostedConfigurationVersion interface { awscdk.CfnResource awscdk.IInspectable // The application ID. ApplicationId() *string SetApplicationId(val *string) // The configuration version. AttrVersionNumber() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The configuration profile ID. ConfigurationProfileId() *string SetConfigurationProfileId(val *string) // The configuration data, as bytes. Content() *string SetContent(val *string) // A standard MIME type describing the format of the configuration content. ContentType() *string SetContentType(val *string) // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // A description of the configuration. Description() *string SetDescription(val *string) // An optional locking token used to prevent race conditions from overwriting configuration updates when creating a new version. LatestVersionNumber() *float64 SetLatestVersionNumber(val *float64) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // A user-defined label for an AWS AppConfig hosted configuration version. VersionLabel() *string SetVersionLabel(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use `addPropertyOverride` or prefix `path` with // "Properties." (i.e. `Properties.TopicName`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal `.` in the property name, prefix with a `\`. In most // programming languages you will need to write this as `"\\."` because the // `\` itself will need to be escaped. // // For example, // “`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // “` // would add the overrides // “`json // "Properties": { // "GlobalSecondaryIndexes": [ // { // "Projection": { // "NonKeyAttributes": [ "myattribute" ] // ... // } // ... // }, // { // "ProjectionType": "INCLUDE" // ... // }, // ] // ... // } // “` // // The `value` argument to `addOverride` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some // cases, a snapshot can be taken of the resource prior to deletion // (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: `true` if the resource should be included or `false` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) }
Create a new configuration in the AWS AppConfig hosted configuration store.
Configurations must be 1 MB or smaller. The AWS AppConfig hosted configuration store provides the following benefits over other configuration store options.
- You don't need to set up and configure other services such as Amazon Simple Storage Service ( Amazon S3 ) or Parameter Store. - You don't need to configure AWS Identity and Access Management ( IAM ) permissions to use the configuration store. - You can store configurations in any content type. - There is no cost to use the store. - You can create a configuration and add it to the store when you create a configuration profile.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnHostedConfigurationVersion := awscdk.Aws_appconfig.NewCfnHostedConfigurationVersion(this, jsii.String("MyCfnHostedConfigurationVersion"), &CfnHostedConfigurationVersionProps{ ApplicationId: jsii.String("applicationId"), ConfigurationProfileId: jsii.String("configurationProfileId"), Content: jsii.String("content"), ContentType: jsii.String("contentType"), // the properties below are optional Description: jsii.String("description"), LatestVersionNumber: jsii.Number(123), VersionLabel: jsii.String("versionLabel"), })
func NewCfnHostedConfigurationVersion ¶
func NewCfnHostedConfigurationVersion(scope constructs.Construct, id *string, props *CfnHostedConfigurationVersionProps) CfnHostedConfigurationVersion
type CfnHostedConfigurationVersionProps ¶
type CfnHostedConfigurationVersionProps struct { // The application ID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-applicationid // ApplicationId *string `field:"required" json:"applicationId" yaml:"applicationId"` // The configuration profile ID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-configurationprofileid // ConfigurationProfileId *string `field:"required" json:"configurationProfileId" yaml:"configurationProfileId"` // The configuration data, as bytes. // // > AWS AppConfig accepts any type of data, including text formats like JSON or TOML, or binary formats like protocol buffers or compressed data. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-content // Content *string `field:"required" json:"content" yaml:"content"` // A standard MIME type describing the format of the configuration content. // // For more information, see [Content-Type](https://docs.aws.amazon.com/https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-contenttype // ContentType *string `field:"required" json:"contentType" yaml:"contentType"` // A description of the configuration. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-description // Description *string `field:"optional" json:"description" yaml:"description"` // An optional locking token used to prevent race conditions from overwriting configuration updates when creating a new version. // // To ensure your data is not overwritten when creating multiple hosted configuration versions in rapid succession, specify the version number of the latest hosted configuration version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-latestversionnumber // LatestVersionNumber *float64 `field:"optional" json:"latestVersionNumber" yaml:"latestVersionNumber"` // A user-defined label for an AWS AppConfig hosted configuration version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html#cfn-appconfig-hostedconfigurationversion-versionlabel // VersionLabel *string `field:"optional" json:"versionLabel" yaml:"versionLabel"` }
Properties for defining a `CfnHostedConfigurationVersion`.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" cfnHostedConfigurationVersionProps := &CfnHostedConfigurationVersionProps{ ApplicationId: jsii.String("applicationId"), ConfigurationProfileId: jsii.String("configurationProfileId"), Content: jsii.String("content"), ContentType: jsii.String("contentType"), // the properties below are optional Description: jsii.String("description"), LatestVersionNumber: jsii.Number(123), VersionLabel: jsii.String("versionLabel"), }
type ConfigurationContent ¶ added in v2.130.0
type ConfigurationContent interface { // The configuration content. Content() *string // The configuration content type. ContentType() *string }
Defines the hosted configuration content.
Example:
app := appconfig.NewApplication(this, jsii.String("MyApp")) env := appconfig.NewEnvironment(this, jsii.String("MyEnv"), &EnvironmentProps{ Application: app, }) appconfig.NewHostedConfiguration(this, jsii.String("MyHostedConfig"), &HostedConfigurationProps{ Application: app, DeployTo: []iEnvironment{ env, }, Content: appconfig.ConfigurationContent_FromInlineText(jsii.String("This is my configuration content.")), })
func ConfigurationContent_FromFile ¶ added in v2.130.0
func ConfigurationContent_FromFile(inputPath *string, contentType *string) ConfigurationContent
Defines the hosted configuration content from a file.
func ConfigurationContent_FromInline ¶ added in v2.130.0
func ConfigurationContent_FromInline(content *string, contentType *string) ConfigurationContent
Defines the hosted configuration content from inline code.
func ConfigurationContent_FromInlineJson ¶ added in v2.130.0
func ConfigurationContent_FromInlineJson(content *string, contentType *string) ConfigurationContent
Defines the hosted configuration content as JSON from inline code.
func ConfigurationContent_FromInlineText ¶ added in v2.130.0
func ConfigurationContent_FromInlineText(content *string) ConfigurationContent
Defines the hosted configuration content as text from inline code.
func ConfigurationContent_FromInlineYaml ¶ added in v2.130.0
func ConfigurationContent_FromInlineYaml(content *string) ConfigurationContent
Defines the hosted configuration content as YAML from inline code.
type ConfigurationOptions ¶ added in v2.130.0
type ConfigurationOptions struct { // The deployment key of the configuration. // Default: - None. // DeploymentKey awskms.IKey `field:"optional" json:"deploymentKey" yaml:"deploymentKey"` // The deployment strategy for the configuration. // Default: - A deployment strategy with the rollout strategy set to // RolloutStrategy.CANARY_10_PERCENT_20_MINUTES // DeploymentStrategy IDeploymentStrategy `field:"optional" json:"deploymentStrategy" yaml:"deploymentStrategy"` // The list of environments to deploy the configuration to. // // If this parameter is not specified, then there will be no // deployment created alongside this configuration. // // Deployments can be added later using the `IEnvironment.addDeployment` or // `IEnvironment.addDeployments` methods. // Default: - None. // DeployTo *[]IEnvironment `field:"optional" json:"deployTo" yaml:"deployTo"` // The description of the configuration. // Default: - No description. // Description *string `field:"optional" json:"description" yaml:"description"` // The name of the configuration. // Default: - A name is generated. // Name *string `field:"optional" json:"name" yaml:"name"` // The type of configuration. // Default: ConfigurationType.FREEFORM // Type ConfigurationType `field:"optional" json:"type" yaml:"type"` // The validators for the configuration. // Default: - No validators. // Validators *[]IValidator `field:"optional" json:"validators" yaml:"validators"` }
Options for the Configuration construct.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var deploymentStrategy deploymentStrategy var environment environment var key key var validator iValidator configurationOptions := &ConfigurationOptions{ DeploymentKey: key, DeploymentStrategy: deploymentStrategy, DeployTo: []iEnvironment{ environment, }, Description: jsii.String("description"), Name: jsii.String("name"), Type: awscdk.Aws_appconfig.ConfigurationType_FREEFORM, Validators: []*iValidator{ validator, }, }
type ConfigurationProps ¶ added in v2.130.0
type ConfigurationProps struct { // The deployment key of the configuration. // Default: - None. // DeploymentKey awskms.IKey `field:"optional" json:"deploymentKey" yaml:"deploymentKey"` // The deployment strategy for the configuration. // Default: - A deployment strategy with the rollout strategy set to // RolloutStrategy.CANARY_10_PERCENT_20_MINUTES // DeploymentStrategy IDeploymentStrategy `field:"optional" json:"deploymentStrategy" yaml:"deploymentStrategy"` // The list of environments to deploy the configuration to. // // If this parameter is not specified, then there will be no // deployment created alongside this configuration. // // Deployments can be added later using the `IEnvironment.addDeployment` or // `IEnvironment.addDeployments` methods. // Default: - None. // DeployTo *[]IEnvironment `field:"optional" json:"deployTo" yaml:"deployTo"` // The description of the configuration. // Default: - No description. // Description *string `field:"optional" json:"description" yaml:"description"` // The name of the configuration. // Default: - A name is generated. // Name *string `field:"optional" json:"name" yaml:"name"` // The type of configuration. // Default: ConfigurationType.FREEFORM // Type ConfigurationType `field:"optional" json:"type" yaml:"type"` // The validators for the configuration. // Default: - No validators. // Validators *[]IValidator `field:"optional" json:"validators" yaml:"validators"` // The application associated with the configuration. Application IApplication `field:"required" json:"application" yaml:"application"` }
Properties for the Configuration construct.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var application application var deploymentStrategy deploymentStrategy var environment environment var key key var validator iValidator configurationProps := &ConfigurationProps{ Application: application, // the properties below are optional DeploymentKey: key, DeploymentStrategy: deploymentStrategy, DeployTo: []iEnvironment{ environment, }, Description: jsii.String("description"), Name: jsii.String("name"), Type: awscdk.Aws_appconfig.ConfigurationType_FREEFORM, Validators: []*iValidator{ validator, }, }
type ConfigurationSource ¶ added in v2.130.0
type ConfigurationSource interface { // The KMS Key that encrypts the configuration. Key() awskms.IKey // The URI of the configuration source. LocationUri() *string // The type of the configuration source. Type() ConfigurationSourceType }
Defines the integrated configuration sources.
Example:
var application application var bucket bucket appconfig.NewSourcedConfiguration(this, jsii.String("MySourcedConfiguration"), &SourcedConfigurationProps{ Application: Application, Location: appconfig.ConfigurationSource_FromBucket(bucket, jsii.String("path/to/file.json")), Type: appconfig.ConfigurationType_FEATURE_FLAGS, Name: jsii.String("MyConfig"), Description: jsii.String("This is my sourced configuration from CDK."), })
func ConfigurationSource_FromBucket ¶ added in v2.130.0
func ConfigurationSource_FromBucket(bucket awss3.IBucket, objectKey *string, key awskms.IKey) ConfigurationSource
Defines configuration content from an Amazon S3 bucket.
func ConfigurationSource_FromCfnDocument ¶ added in v2.130.0
func ConfigurationSource_FromCfnDocument(document awsssm.CfnDocument) ConfigurationSource
Defines configuration content from a Systems Manager (SSM) document.
func ConfigurationSource_FromParameter ¶ added in v2.130.0
func ConfigurationSource_FromParameter(parameter awsssm.IParameter, key awskms.IKey) ConfigurationSource
Defines configuration content from a Systems Manager (SSM) Parameter Store parameter.
func ConfigurationSource_FromPipeline ¶ added in v2.130.0
func ConfigurationSource_FromPipeline(pipeline awscodepipeline.IPipeline) ConfigurationSource
Defines configuration content from AWS CodePipeline.
func ConfigurationSource_FromSecret ¶ added in v2.130.0
func ConfigurationSource_FromSecret(secret awssecretsmanager.ISecret) ConfigurationSource
Defines configuration content from an AWS Secrets Manager secret.
type ConfigurationSourceType ¶ added in v2.130.0
type ConfigurationSourceType string
The configuration source type.
const ( ConfigurationSourceType_S3 ConfigurationSourceType = "S3" ConfigurationSourceType_SECRETS_MANAGER ConfigurationSourceType = "SECRETS_MANAGER" ConfigurationSourceType_SSM_PARAMETER ConfigurationSourceType = "SSM_PARAMETER" ConfigurationSourceType_SSM_DOCUMENT ConfigurationSourceType = "SSM_DOCUMENT" ConfigurationSourceType_CODE_PIPELINE ConfigurationSourceType = "CODE_PIPELINE" )
type ConfigurationType ¶ added in v2.130.0
type ConfigurationType string
The configuration type.
Example:
var application application appconfig.NewHostedConfiguration(this, jsii.String("MyHostedConfiguration"), &HostedConfigurationProps{ Application: Application, Content: appconfig.ConfigurationContent_FromInlineText(jsii.String("This is my configuration content.")), Type: appconfig.ConfigurationType_FEATURE_FLAGS, })
const ( // Freeform configuration profile. // // Allows you to store your data in the AWS AppConfig // hosted configuration store or another Systems Manager capability or AWS service that integrates // with AWS AppConfig. // See: https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-free-form-configurations-creating.html // ConfigurationType_FREEFORM ConfigurationType = "FREEFORM" // Feature flag configuration profile. // // This configuration stores its data // in the AWS AppConfig hosted configuration store and the URI is simply hosted. ConfigurationType_FEATURE_FLAGS ConfigurationType = "FEATURE_FLAGS" )
type DeploymentStrategy ¶ added in v2.130.0
type DeploymentStrategy interface { awscdk.Resource IDeploymentStrategy // The deployment duration in minutes of the deployment strategy. DeploymentDurationInMinutes() *float64 // The Amazon Resource Name (ARN) of the deployment strategy. DeploymentStrategyArn() *string // The ID of the deployment strategy. DeploymentStrategyId() *string // The description of the deployment strategy. Description() *string // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The final bake time in minutes of the deployment strategy. FinalBakeTimeInMinutes() *float64 // The growth factor of the deployment strategy. GrowthFactor() *float64 // The growth type of the deployment strategy. GrowthType() GrowthType // The name of the deployment strategy. Name() *string // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
An AWS AppConfig deployment strategy.
Example:
appconfig.NewDeploymentStrategy(this, jsii.String("MyDeploymentStrategy"), &DeploymentStrategyProps{ RolloutStrategy: appconfig.RolloutStrategy_Linear(&RolloutStrategyProps{ GrowthFactor: jsii.Number(20), DeploymentDuration: awscdk.Duration_Minutes(jsii.Number(30)), FinalBakeTime: awscdk.Duration_*Minutes(jsii.Number(30)), }), })
See: https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-deployment-strategy.html
func NewDeploymentStrategy ¶ added in v2.130.0
func NewDeploymentStrategy(scope constructs.Construct, id *string, props *DeploymentStrategyProps) DeploymentStrategy
type DeploymentStrategyId ¶ added in v2.130.0
type DeploymentStrategyId interface { // The deployment strategy ID. Id() *string }
Defines the deployment strategy ID's of AWS AppConfig deployment strategies.
Example:
appconfig.DeploymentStrategy_FromDeploymentStrategyId(this, jsii.String("MyImportedDeploymentStrategy"), appconfig.DeploymentStrategyId_FromString(jsii.String("abc123")))
See: https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-deployment-strategy.html
func DeploymentStrategyId_ALL_AT_ONCE ¶ added in v2.130.0
func DeploymentStrategyId_ALL_AT_ONCE() DeploymentStrategyId
func DeploymentStrategyId_CANARY_10_PERCENT_20_MINUTES ¶ added in v2.130.0
func DeploymentStrategyId_CANARY_10_PERCENT_20_MINUTES() DeploymentStrategyId
func DeploymentStrategyId_FromString ¶ added in v2.130.0
func DeploymentStrategyId_FromString(deploymentStrategyId *string) DeploymentStrategyId
Builds a deployment strategy ID from a string.
func DeploymentStrategyId_LINEAR_20_PERCENT_EVERY_6_MINUTES ¶ added in v2.130.0
func DeploymentStrategyId_LINEAR_20_PERCENT_EVERY_6_MINUTES() DeploymentStrategyId
func DeploymentStrategyId_LINEAR_50_PERCENT_EVERY_30_SECONDS ¶ added in v2.130.0
func DeploymentStrategyId_LINEAR_50_PERCENT_EVERY_30_SECONDS() DeploymentStrategyId
type DeploymentStrategyProps ¶ added in v2.130.0
type DeploymentStrategyProps struct { // The rollout strategy for the deployment strategy. // // You can use predefined deployment // strategies, such as RolloutStrategy.ALL_AT_ONCE, RolloutStrategy.LINEAR_50_PERCENT_EVERY_30_SECONDS, // or RolloutStrategy.CANARY_10_PERCENT_20_MINUTES. RolloutStrategy RolloutStrategy `field:"required" json:"rolloutStrategy" yaml:"rolloutStrategy"` // A name for the deployment strategy. // Default: - A name is generated. // DeploymentStrategyName *string `field:"optional" json:"deploymentStrategyName" yaml:"deploymentStrategyName"` // A description of the deployment strategy. // Default: - No description. // Description *string `field:"optional" json:"description" yaml:"description"` }
Properties for DeploymentStrategy.
Example:
appconfig.NewDeploymentStrategy(this, jsii.String("MyDeploymentStrategy"), &DeploymentStrategyProps{ RolloutStrategy: appconfig.RolloutStrategy_Linear(&RolloutStrategyProps{ GrowthFactor: jsii.Number(20), DeploymentDuration: awscdk.Duration_Minutes(jsii.Number(30)), FinalBakeTime: awscdk.Duration_*Minutes(jsii.Number(30)), }), })
type Environment ¶ added in v2.130.0
type Environment interface { awscdk.Resource IEnvironment IExtensible // The application associated with the environment. Application() IApplication // The ID of the environment. ApplicationId() *string DeploymentQueue() *[]CfnDeployment SetDeploymentQueue(val *[]CfnDeployment) // The description of the environment. Description() *string // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The Amazon Resource Name (ARN) of the environment. EnvironmentArn() *string // The ID of the environment. EnvironmentId() *string Extensible() ExtensibleBase SetExtensible(val ExtensibleBase) // The monitors for the environment. Monitors() *[]Monitor // The name of the environment. Name() *string // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // Creates a deployment of the supplied configuration to this environment. // // Note that you can only deploy one configuration at a time to an environment. // However, you can deploy one configuration each to different environments at the same time. // If more than one deployment is requested for this environment, they will occur in the same order they were provided. AddDeployment(configuration IConfiguration) // Creates a deployment for each of the supplied configurations to this environment. // // These configurations will be deployed in the same order as the input array. AddDeployments(configurations ...IConfiguration) // Adds an extension association to the environment. AddExtension(extension IExtension) // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Adds an IAM policy statement associated with this environment to an IAM principal's policy. Grant(grantee awsiam.IGrantable, actions ...*string) awsiam.Grant // Permits an IAM principal to perform read operations on this environment's configurations. // // Actions: GetLatestConfiguration, StartConfigurationSession. GrantReadConfig(identity awsiam.IGrantable) awsiam.Grant // Adds an extension defined by the action point and event destination and also creates an extension association to the environment. On(actionPoint ActionPoint, eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_BAKING extension with the provided event destination and also creates an extension association to the environment. OnDeploymentBaking(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_COMPLETE extension with the provided event destination and also creates an extension association to the environment. OnDeploymentComplete(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_ROLLED_BACK extension with the provided event destination and also creates an extension association to the environment. OnDeploymentRolledBack(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_START extension with the provided event destination and also creates an extension association to the environment. OnDeploymentStart(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_STEP extension with the provided event destination and also creates an extension association to the environment. OnDeploymentStep(eventDestination IEventDestination, options *ExtensionOptions) // Adds a PRE_CREATE_HOSTED_CONFIGURATION_VERSION extension with the provided event destination and also creates an extension association to the environment. PreCreateHostedConfigurationVersion(eventDestination IEventDestination, options *ExtensionOptions) // Adds a PRE_START_DEPLOYMENT extension with the provided event destination and also creates an extension association to the environment. PreStartDeployment(eventDestination IEventDestination, options *ExtensionOptions) // Returns a string representation of this construct. ToString() *string }
An AWS AppConfig environment.
Example:
app := appconfig.NewApplication(this, jsii.String("MyApp")) env := appconfig.NewEnvironment(this, jsii.String("MyEnv"), &EnvironmentProps{ Application: app, }) appconfig.NewHostedConfiguration(this, jsii.String("MyFirstHostedConfig"), &HostedConfigurationProps{ Application: app, DeployTo: []iEnvironment{ env, }, Content: appconfig.ConfigurationContent_FromInlineText(jsii.String("This is my first configuration content.")), }) appconfig.NewHostedConfiguration(this, jsii.String("MySecondHostedConfig"), &HostedConfigurationProps{ Application: app, DeployTo: []*iEnvironment{ env, }, Content: appconfig.ConfigurationContent_*FromInlineText(jsii.String("This is my second configuration content.")), })
See: https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-environment.html
func NewEnvironment ¶ added in v2.130.0
func NewEnvironment(scope constructs.Construct, id *string, props *EnvironmentProps) Environment
type EnvironmentAttributes ¶ added in v2.130.0
type EnvironmentAttributes struct { // The application associated with the environment. Application IApplication `field:"required" json:"application" yaml:"application"` // The ID of the environment. EnvironmentId *string `field:"required" json:"environmentId" yaml:"environmentId"` // The description of the environment. // Default: - None. // Description *string `field:"optional" json:"description" yaml:"description"` // The monitors for the environment. // Default: - None. // Monitors *[]Monitor `field:"optional" json:"monitors" yaml:"monitors"` // The name of the environment. // Default: - None. // Name *string `field:"optional" json:"name" yaml:"name"` }
Attributes of an existing AWS AppConfig environment to import it.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var application application var monitor monitor environmentAttributes := &EnvironmentAttributes{ Application: application, EnvironmentId: jsii.String("environmentId"), // the properties below are optional Description: jsii.String("description"), Monitors: []*monitor{ monitor, }, Name: jsii.String("name"), }
type EnvironmentOptions ¶ added in v2.130.0
type EnvironmentOptions struct { // The description of the environment. // Default: - No description. // Description *string `field:"optional" json:"description" yaml:"description"` // The name of the environment. // Default: - A name is generated. // EnvironmentName *string `field:"optional" json:"environmentName" yaml:"environmentName"` // The monitors for the environment. // Default: - No monitors. // Monitors *[]Monitor `field:"optional" json:"monitors" yaml:"monitors"` }
Options for the Environment construct.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var monitor monitor environmentOptions := &EnvironmentOptions{ Description: jsii.String("description"), EnvironmentName: jsii.String("environmentName"), Monitors: []*monitor{ monitor, }, }
type EnvironmentProps ¶ added in v2.130.0
type EnvironmentProps struct { // The description of the environment. // Default: - No description. // Description *string `field:"optional" json:"description" yaml:"description"` // The name of the environment. // Default: - A name is generated. // EnvironmentName *string `field:"optional" json:"environmentName" yaml:"environmentName"` // The monitors for the environment. // Default: - No monitors. // Monitors *[]Monitor `field:"optional" json:"monitors" yaml:"monitors"` // The application to be associated with the environment. Application IApplication `field:"required" json:"application" yaml:"application"` }
Properties for the Environment construct.
Example:
app := appconfig.NewApplication(this, jsii.String("MyApp")) env := appconfig.NewEnvironment(this, jsii.String("MyEnv"), &EnvironmentProps{ Application: app, }) appconfig.NewHostedConfiguration(this, jsii.String("MyFirstHostedConfig"), &HostedConfigurationProps{ Application: app, DeployTo: []iEnvironment{ env, }, Content: appconfig.ConfigurationContent_FromInlineText(jsii.String("This is my first configuration content.")), }) appconfig.NewHostedConfiguration(this, jsii.String("MySecondHostedConfig"), &HostedConfigurationProps{ Application: app, DeployTo: []*iEnvironment{ env, }, Content: appconfig.ConfigurationContent_*FromInlineText(jsii.String("This is my second configuration content.")), })
type EventBridgeDestination ¶ added in v2.130.0
type EventBridgeDestination interface { IEventDestination // The URI of the extension event destination. ExtensionUri() *string // The type of the extension event destination. Type() SourceType }
Use an Amazon EventBridge event bus as an event destination.
Example:
bus := events.EventBus_FromEventBusName(this, jsii.String("MyEventBus"), jsii.String("default")) appconfig.NewExtension(this, jsii.String("MyExtension"), &ExtensionProps{ Actions: []action{ appconfig.NewAction(&ActionProps{ ActionPoints: []actionPoint{ appconfig.*actionPoint_ON_DEPLOYMENT_START, }, EventDestination: appconfig.NewEventBridgeDestination(bus), }), }, })
func NewEventBridgeDestination ¶ added in v2.130.0
func NewEventBridgeDestination(bus awsevents.IEventBus) EventBridgeDestination
type ExtensibleBase ¶ added in v2.130.0
type ExtensibleBase interface { IExtensible // Adds an extension association to the derived resource. AddExtension(extension IExtension) // Adds an extension defined by the action point and event destination and also creates an extension association to the derived resource. On(actionPoint ActionPoint, eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_BAKING extension with the provided event destination and also creates an extension association to the derived resource. OnDeploymentBaking(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_COMPLETE extension with the provided event destination and also creates an extension association to the derived resource. OnDeploymentComplete(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_ROLLED_BACK extension with the provided event destination and also creates an extension association to the derived resource. OnDeploymentRolledBack(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_START extension with the provided event destination and also creates an extension association to the derived resource. OnDeploymentStart(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_STEP extension with the provided event destination and also creates an extension association to the derived resource. OnDeploymentStep(eventDestination IEventDestination, options *ExtensionOptions) // Adds a PRE_CREATE_HOSTED_CONFIGURATION_VERSION extension with the provided event destination and also creates an extension association to the derived resource. PreCreateHostedConfigurationVersion(eventDestination IEventDestination, options *ExtensionOptions) // Adds a PRE_START_DEPLOYMENT extension with the provided event destination and also creates an extension association to the derived resource. PreStartDeployment(eventDestination IEventDestination, options *ExtensionOptions) }
This class is meant to be used by AWS AppConfig resources (application, configuration profile, environment) directly.
There is currently no use for this class outside of the AWS AppConfig construct implementation. It is intended to be used with the resources since there is currently no way to inherit from two classes (at least within JSII constraints).
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" extensibleBase := awscdk.Aws_appconfig.NewExtensibleBase(this, jsii.String("resourceArn"), jsii.String("resourceName"))
func NewExtensibleBase ¶ added in v2.130.0
func NewExtensibleBase(scope constructs.Construct, resourceArn *string, resourceName *string) ExtensibleBase
type Extension ¶ added in v2.130.0
type Extension interface { awscdk.Resource IExtension // The actions for the extension. Actions() *[]Action // The description of the extension. Description() *string // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment // The Amazon Resource Name (ARN) of the extension. ExtensionArn() *string // The ID of the extension. ExtensionId() *string // The version number of the extension. ExtensionVersionNumber() *float64 // The latest version number of the extension. LatestVersionNumber() *float64 // The name of the extension. Name() *string // The tree node. Node() constructs.Node // The parameters of the extension. Parameters() *[]Parameter // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string // The stack in which this resource is defined. Stack() awscdk.Stack // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string }
An AWS AppConfig extension.
Example:
var fn function appconfig.NewExtension(this, jsii.String("MyExtension"), &ExtensionProps{ Actions: []action{ appconfig.NewAction(&ActionProps{ ActionPoints: []actionPoint{ appconfig.*actionPoint_ON_DEPLOYMENT_START, }, EventDestination: appconfig.NewLambdaDestination(fn), }), }, })
See: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
func NewExtension ¶ added in v2.130.0
func NewExtension(scope constructs.Construct, id *string, props *ExtensionProps) Extension
type ExtensionAttributes ¶ added in v2.130.0
type ExtensionAttributes struct { // The ID of the extension. ExtensionId *string `field:"required" json:"extensionId" yaml:"extensionId"` // The version number of the extension. ExtensionVersionNumber *float64 `field:"required" json:"extensionVersionNumber" yaml:"extensionVersionNumber"` // The actions of the extension. // Default: - None. // Actions *[]Action `field:"optional" json:"actions" yaml:"actions"` // The description of the extension. // Default: - None. // Description *string `field:"optional" json:"description" yaml:"description"` // The Amazon Resource Name (ARN) of the extension. // Default: - The extension ARN is generated. // ExtensionArn *string `field:"optional" json:"extensionArn" yaml:"extensionArn"` // The name of the extension. // Default: - None. // Name *string `field:"optional" json:"name" yaml:"name"` }
Attributes of an existing AWS AppConfig extension to import.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var action action extensionAttributes := &ExtensionAttributes{ ExtensionId: jsii.String("extensionId"), ExtensionVersionNumber: jsii.Number(123), // the properties below are optional Actions: []*action{ action, }, Description: jsii.String("description"), ExtensionArn: jsii.String("extensionArn"), Name: jsii.String("name"), }
type ExtensionOptions ¶ added in v2.130.0
type ExtensionOptions struct { // A description of the extension. // Default: - No description. // Description *string `field:"optional" json:"description" yaml:"description"` // The name of the extension. // Default: - A name is generated. // ExtensionName *string `field:"optional" json:"extensionName" yaml:"extensionName"` // The latest version number of the extension. // // When you create a new version, // specify the most recent current version number. For example, you create version 3, // enter 2 for this field. // Default: - None. // LatestVersionNumber *float64 `field:"optional" json:"latestVersionNumber" yaml:"latestVersionNumber"` // The parameters accepted for the extension. // Default: - None. // Parameters *[]Parameter `field:"optional" json:"parameters" yaml:"parameters"` }
Options for the Extension construct.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" var parameter parameter extensionOptions := &ExtensionOptions{ Description: jsii.String("description"), ExtensionName: jsii.String("extensionName"), LatestVersionNumber: jsii.Number(123), Parameters: []*parameter{ parameter, }, }
type ExtensionProps ¶ added in v2.130.0
type ExtensionProps struct { // A description of the extension. // Default: - No description. // Description *string `field:"optional" json:"description" yaml:"description"` // The name of the extension. // Default: - A name is generated. // ExtensionName *string `field:"optional" json:"extensionName" yaml:"extensionName"` // The latest version number of the extension. // // When you create a new version, // specify the most recent current version number. For example, you create version 3, // enter 2 for this field. // Default: - None. // LatestVersionNumber *float64 `field:"optional" json:"latestVersionNumber" yaml:"latestVersionNumber"` // The parameters accepted for the extension. // Default: - None. // Parameters *[]Parameter `field:"optional" json:"parameters" yaml:"parameters"` // The actions for the extension. Actions *[]Action `field:"required" json:"actions" yaml:"actions"` }
Properties for the Extension construct.
Example:
var fn function appconfig.NewExtension(this, jsii.String("MyExtension"), &ExtensionProps{ Actions: []action{ appconfig.NewAction(&ActionProps{ ActionPoints: []actionPoint{ appconfig.*actionPoint_ON_DEPLOYMENT_START, }, EventDestination: appconfig.NewLambdaDestination(fn), }), }, })
type GrowthType ¶ added in v2.130.0
type GrowthType string
Defines the growth type of the deployment strategy.
const ( // AWS AppConfig will process the deployment by increments of the growth factor evenly distributed over the deployment. GrowthType_LINEAR GrowthType = "LINEAR" // AWS AppConfig will process the deployment exponentially using the following formula: `G*(2^N)`. // // In this formula, `G` is the step percentage specified by the user and `N` // is the number of steps until the configuration is deployed to all targets. GrowthType_EXPONENTIAL GrowthType = "EXPONENTIAL" )
type HostedConfiguration ¶ added in v2.130.0
type HostedConfiguration interface { constructs.Construct IConfiguration IExtensible // The application associated with the configuration. Application() IApplication ApplicationId() *string SetApplicationId(val *string) // The Amazon Resource Name (ARN) of the configuration profile. ConfigurationProfileArn() *string // The ID of the configuration profile. ConfigurationProfileId() *string // The content of the hosted configuration. Content() *string // The content type of the hosted configuration. ContentType() *string // The deployment key for the configuration. DeploymentKey() awskms.IKey // The deployment strategy for the configuration. DeploymentStrategy() IDeploymentStrategy // The environments to deploy to. DeployTo() *[]IEnvironment // The description of the configuration. Description() *string Extensible() ExtensibleBase SetExtensible(val ExtensibleBase) // The Amazon Resource Name (ARN) of the hosted configuration version. HostedConfigurationVersionArn() *string // The latest version number of the hosted configuration. LatestVersionNumber() *float64 // The name of the configuration. Name() *string // The tree node. Node() constructs.Node // The configuration type. Type() ConfigurationType // The validators for the configuration. Validators() *[]IValidator // The version label of the hosted configuration. VersionLabel() *string // The version number of the hosted configuration. VersionNumber() *string AddExistingEnvironmentsToApplication() // Adds an extension association to the configuration profile. AddExtension(extension IExtension) DeployConfigToEnvironments() // Adds an extension defined by the action point and event destination and also creates an extension association to the configuration profile. On(actionPoint ActionPoint, eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_BAKING extension with the provided event destination and also creates an extension association to the configuration profile. OnDeploymentBaking(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_COMPLETE extension with the provided event destination and also creates an extension association to the configuration profile. OnDeploymentComplete(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_ROLLED_BACK extension with the provided event destination and also creates an extension association to the configuration profile. OnDeploymentRolledBack(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_START extension with the provided event destination and also creates an extension association to the configuration profile. OnDeploymentStart(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_STEP extension with the provided event destination and also creates an extension association to the configuration profile. OnDeploymentStep(eventDestination IEventDestination, options *ExtensionOptions) // Adds a PRE_CREATE_HOSTED_CONFIGURATION_VERSION extension with the provided event destination and also creates an extension association to the configuration profile. PreCreateHostedConfigurationVersion(eventDestination IEventDestination, options *ExtensionOptions) // Adds a PRE_START_DEPLOYMENT extension with the provided event destination and also creates an extension association to the configuration profile. PreStartDeployment(eventDestination IEventDestination, options *ExtensionOptions) // Returns a string representation of this construct. ToString() *string }
A hosted configuration represents configuration stored in the AWS AppConfig hosted configuration store.
Example:
app := appconfig.NewApplication(this, jsii.String("MyApp")) env := appconfig.NewEnvironment(this, jsii.String("MyEnv"), &EnvironmentProps{ Application: app, }) appconfig.NewHostedConfiguration(this, jsii.String("MyHostedConfig"), &HostedConfigurationProps{ Application: app, DeployTo: []iEnvironment{ env, }, Content: appconfig.ConfigurationContent_FromInlineText(jsii.String("This is my configuration content.")), })
func NewHostedConfiguration ¶ added in v2.130.0
func NewHostedConfiguration(scope constructs.Construct, id *string, props *HostedConfigurationProps) HostedConfiguration
type HostedConfigurationOptions ¶ added in v2.130.0
type HostedConfigurationOptions struct { // The deployment key of the configuration. // Default: - None. // DeploymentKey awskms.IKey `field:"optional" json:"deploymentKey" yaml:"deploymentKey"` // The deployment strategy for the configuration. // Default: - A deployment strategy with the rollout strategy set to // RolloutStrategy.CANARY_10_PERCENT_20_MINUTES // DeploymentStrategy IDeploymentStrategy `field:"optional" json:"deploymentStrategy" yaml:"deploymentStrategy"` // The list of environments to deploy the configuration to. // // If this parameter is not specified, then there will be no // deployment created alongside this configuration. // // Deployments can be added later using the `IEnvironment.addDeployment` or // `IEnvironment.addDeployments` methods. // Default: - None. // DeployTo *[]IEnvironment `field:"optional" json:"deployTo" yaml:"deployTo"` // The description of the configuration. // Default: - No description. // Description *string `field:"optional" json:"description" yaml:"description"` // The name of the configuration. // Default: - A name is generated. // Name *string `field:"optional" json:"name" yaml:"name"` // The type of configuration. // Default: ConfigurationType.FREEFORM // Type ConfigurationType `field:"optional" json:"type" yaml:"type"` // The validators for the configuration. // Default: - No validators. // Validators *[]IValidator `field:"optional" json:"validators" yaml:"validators"` // The content of the hosted configuration. Content ConfigurationContent `field:"required" json:"content" yaml:"content"` // The latest version number of the hosted configuration. // Default: - None. // LatestVersionNumber *float64 `field:"optional" json:"latestVersionNumber" yaml:"latestVersionNumber"` // The version label of the hosted configuration. // Default: - None. // VersionLabel *string `field:"optional" json:"versionLabel" yaml:"versionLabel"` }
Options for HostedConfiguration.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var configurationContent configurationContent var deploymentStrategy deploymentStrategy var environment environment var key key var validator iValidator hostedConfigurationOptions := &HostedConfigurationOptions{ Content: configurationContent, // the properties below are optional DeploymentKey: key, DeploymentStrategy: deploymentStrategy, DeployTo: []iEnvironment{ environment, }, Description: jsii.String("description"), LatestVersionNumber: jsii.Number(123), Name: jsii.String("name"), Type: awscdk.Aws_appconfig.ConfigurationType_FREEFORM, Validators: []*iValidator{ validator, }, VersionLabel: jsii.String("versionLabel"), }
type HostedConfigurationProps ¶ added in v2.130.0
type HostedConfigurationProps struct { // The deployment key of the configuration. // Default: - None. // DeploymentKey awskms.IKey `field:"optional" json:"deploymentKey" yaml:"deploymentKey"` // The deployment strategy for the configuration. // Default: - A deployment strategy with the rollout strategy set to // RolloutStrategy.CANARY_10_PERCENT_20_MINUTES // DeploymentStrategy IDeploymentStrategy `field:"optional" json:"deploymentStrategy" yaml:"deploymentStrategy"` // The list of environments to deploy the configuration to. // // If this parameter is not specified, then there will be no // deployment created alongside this configuration. // // Deployments can be added later using the `IEnvironment.addDeployment` or // `IEnvironment.addDeployments` methods. // Default: - None. // DeployTo *[]IEnvironment `field:"optional" json:"deployTo" yaml:"deployTo"` // The description of the configuration. // Default: - No description. // Description *string `field:"optional" json:"description" yaml:"description"` // The name of the configuration. // Default: - A name is generated. // Name *string `field:"optional" json:"name" yaml:"name"` // The type of configuration. // Default: ConfigurationType.FREEFORM // Type ConfigurationType `field:"optional" json:"type" yaml:"type"` // The validators for the configuration. // Default: - No validators. // Validators *[]IValidator `field:"optional" json:"validators" yaml:"validators"` // The application associated with the configuration. Application IApplication `field:"required" json:"application" yaml:"application"` // The content of the hosted configuration. Content ConfigurationContent `field:"required" json:"content" yaml:"content"` // The latest version number of the hosted configuration. // Default: - None. // LatestVersionNumber *float64 `field:"optional" json:"latestVersionNumber" yaml:"latestVersionNumber"` // The version label of the hosted configuration. // Default: - None. // VersionLabel *string `field:"optional" json:"versionLabel" yaml:"versionLabel"` }
Properties for HostedConfiguration.
Example:
app := appconfig.NewApplication(this, jsii.String("MyApp")) env := appconfig.NewEnvironment(this, jsii.String("MyEnv"), &EnvironmentProps{ Application: app, }) appconfig.NewHostedConfiguration(this, jsii.String("MyHostedConfig"), &HostedConfigurationProps{ Application: app, DeployTo: []iEnvironment{ env, }, Content: appconfig.ConfigurationContent_FromInlineText(jsii.String("This is my configuration content.")), })
type IApplication ¶ added in v2.130.0
type IApplication interface { awscdk.IResource // Adds an environment. AddEnvironment(id *string, options *EnvironmentOptions) IEnvironment // Adds an existing environment. AddExistingEnvironment(environment IEnvironment) // Adds an extension association to the application. AddExtension(extension IExtension) // Adds a hosted configuration. AddHostedConfiguration(id *string, options *HostedConfigurationOptions) HostedConfiguration // Adds a sourced configuration. AddSourcedConfiguration(id *string, options *SourcedConfigurationOptions) SourcedConfiguration // Returns the list of associated environments. Environments() *[]IEnvironment // Adds an extension defined by the action point and event destination and also creates an extension association to an application. On(actionPoint ActionPoint, eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_BAKING extension with the provided event destination and also creates an extension association to an application. OnDeploymentBaking(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_COMPLETE extension with the provided event destination and also creates an extension association to an application. OnDeploymentComplete(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_ROLLED_BACK extension with the provided event destination and also creates an extension association to an application. OnDeploymentRolledBack(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_START extension with the provided event destination and also creates an extension association to an application. OnDeploymentStart(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_STEP extension with the provided event destination and also creates an extension association to an application. OnDeploymentStep(eventDestination IEventDestination, options *ExtensionOptions) // Adds a PRE_CREATE_HOSTED_CONFIGURATION_VERSION extension with the provided event destination and also creates an extension association to an application. PreCreateHostedConfigurationVersion(eventDestination IEventDestination, options *ExtensionOptions) // Adds a PRE_START_DEPLOYMENT extension with the provided event destination and also creates an extension association to an application. PreStartDeployment(eventDestination IEventDestination, options *ExtensionOptions) // The Amazon Resource Name (ARN) of the application. ApplicationArn() *string // The ID of the application. ApplicationId() *string // The description of the application. Description() *string // The name of the application. Name() *string }
func Application_FromApplicationArn ¶ added in v2.130.0
func Application_FromApplicationArn(scope constructs.Construct, id *string, applicationArn *string) IApplication
Imports an AWS AppConfig application into the CDK using its Amazon Resource Name (ARN).
func Application_FromApplicationId ¶ added in v2.130.0
func Application_FromApplicationId(scope constructs.Construct, id *string, applicationId *string) IApplication
Imports an AWS AppConfig application into the CDK using its ID.
type IConfiguration ¶ added in v2.130.0
type IConfiguration interface { constructs.IConstruct // The application associated with the configuration. Application() IApplication // The ID of the configuration profile. ConfigurationProfileId() *string // The deployment key for the configuration. DeploymentKey() awskms.IKey // The deployment strategy for the configuration. DeploymentStrategy() IDeploymentStrategy // The environments to deploy to. DeployTo() *[]IEnvironment // The description of the configuration. Description() *string // The name of the configuration. Name() *string // The configuration type. Type() ConfigurationType // The validators for the configuration. Validators() *[]IValidator // The configuration version number. VersionNumber() *string }
type IDeploymentStrategy ¶ added in v2.130.0
type IDeploymentStrategy interface { awscdk.IResource // The deployment duration in minutes. DeploymentDurationInMinutes() *float64 // The Amazon Resource Name (ARN) of the deployment strategy. DeploymentStrategyArn() *string // The ID of the deployment strategy. DeploymentStrategyId() *string // The description of the deployment strategy. Description() *string // The final bake time in minutes. FinalBakeTimeInMinutes() *float64 // The growth factor of the deployment strategy. GrowthFactor() *float64 // The growth type of the deployment strategy. GrowthType() GrowthType // The name of the deployment strategy. Name() *string }
func DeploymentStrategy_FromDeploymentStrategyArn ¶ added in v2.130.0
func DeploymentStrategy_FromDeploymentStrategyArn(scope constructs.Construct, id *string, deploymentStrategyArn *string) IDeploymentStrategy
Imports a deployment strategy into the CDK using its Amazon Resource Name (ARN).
func DeploymentStrategy_FromDeploymentStrategyId ¶ added in v2.130.0
func DeploymentStrategy_FromDeploymentStrategyId(scope constructs.Construct, id *string, deploymentStrategyId DeploymentStrategyId) IDeploymentStrategy
Imports a deployment strategy into the CDK using its ID.
type IEnvironment ¶ added in v2.130.0
type IEnvironment interface { awscdk.IResource // Creates a deployment of the supplied configuration to this environment. // // Note that you can only deploy one configuration at a time to an environment. // However, you can deploy one configuration each to different environments at the same time. // If more than one deployment is requested for this environment, they will occur in the same order they were provided. AddDeployment(configuration IConfiguration) // Creates a deployment for each of the supplied configurations to this environment. // // These configurations will be deployed in the same order as the input array. AddDeployments(configurations ...IConfiguration) // Adds an extension association to the environment. AddExtension(extension IExtension) // Adds an IAM policy statement associated with this environment to an IAM principal's policy. Grant(grantee awsiam.IGrantable, actions ...*string) awsiam.Grant // Permits an IAM principal to perform read operations on this environment's configurations. // // Actions: GetLatestConfiguration, StartConfigurationSession. GrantReadConfig(grantee awsiam.IGrantable) awsiam.Grant // Adds an extension defined by the action point and event destination and also creates an extension association to the environment. On(actionPoint ActionPoint, eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_BAKING extension with the provided event destination and also creates an extension association to the environment. OnDeploymentBaking(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_COMPLETE extension with the provided event destination and also creates an extension association to the environment. OnDeploymentComplete(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_ROLLED_BACK extension with the provided event destination and also creates an extension association to the environment. OnDeploymentRolledBack(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_START extension with the provided event destination and also creates an extension association to the environment. OnDeploymentStart(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_STEP extension with the provided event destination and also creates an extension association to the environment. OnDeploymentStep(eventDestination IEventDestination, options *ExtensionOptions) // Adds a PRE_CREATE_HOSTED_CONFIGURATION_VERSION extension with the provided event destination and also creates an extension association to the environment. PreCreateHostedConfigurationVersion(eventDestination IEventDestination, options *ExtensionOptions) // Adds a PRE_START_DEPLOYMENT extension with the provided event destination and also creates an extension association to the environment. PreStartDeployment(eventDestination IEventDestination, options *ExtensionOptions) // The application associated with the environment. Application() IApplication // The ID of the application associated to the environment. ApplicationId() *string // The description of the environment. Description() *string // The Amazon Resource Name (ARN) of the environment. EnvironmentArn() *string // The ID of the environment. EnvironmentId() *string // The monitors for the environment. Monitors() *[]Monitor // The name of the environment. Name() *string }
func Environment_FromEnvironmentArn ¶ added in v2.130.0
func Environment_FromEnvironmentArn(scope constructs.Construct, id *string, environmentArn *string) IEnvironment
Imports an environment into the CDK using its Amazon Resource Name (ARN).
func Environment_FromEnvironmentAttributes ¶ added in v2.130.0
func Environment_FromEnvironmentAttributes(scope constructs.Construct, id *string, attrs *EnvironmentAttributes) IEnvironment
Imports an environment into the CDK from its attributes.
type IEventDestination ¶ added in v2.130.0
type IEventDestination interface { // The URI of the extension event destination. ExtensionUri() *string // The IAM policy document to invoke the event destination. PolicyDocument() awsiam.PolicyDocument // The type of the extension event destination. Type() SourceType }
Implemented by allowed extension event destinations.
type IExtensible ¶ added in v2.130.0
type IExtensible interface { // Adds an extension association to the derived resource. AddExtension(extension IExtension) // Adds an extension defined by the action point and event destination and also creates an extension association to the derived resource. On(actionPoint ActionPoint, eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_BAKING extension with the provided event destination and also creates an extension association to the derived resource. OnDeploymentBaking(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_COMPLETE extension with the provided event destination and also creates an extension association to the derived resource. OnDeploymentComplete(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_ROLLED_BACK extension with the provided event destination and also creates an extension association to the derived resource. OnDeploymentRolledBack(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_START extension with the provided event destination and also creates an extension association to the derived resource. OnDeploymentStart(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_STEP extension with the provided event destination and also creates an extension association to the derived resource. OnDeploymentStep(eventDestination IEventDestination, options *ExtensionOptions) // Adds a PRE_CREATE_HOSTED_CONFIGURATION_VERSION extension with the provided event destination and also creates an extension association to the derived resource. PreCreateHostedConfigurationVersion(eventDestination IEventDestination, options *ExtensionOptions) // Adds a PRE_START_DEPLOYMENT extension with the provided event destination and also creates an extension association to the derived resource. PreStartDeployment(eventDestination IEventDestination, options *ExtensionOptions) }
Defines the extensible base implementation for extension association resources.
type IExtension ¶ added in v2.130.0
type IExtension interface { awscdk.IResource // The actions for the extension. Actions() *[]Action // The description of the extension. Description() *string // The Amazon Resource Name (ARN) of the extension. ExtensionArn() *string // The ID of the extension. ExtensionId() *string // The version number of the extension. ExtensionVersionNumber() *float64 // The latest version number of the extension. LatestVersionNumber() *float64 // The name of the extension. Name() *string // The parameters of the extension. Parameters() *[]Parameter }
func Extension_FromExtensionArn ¶ added in v2.130.0
func Extension_FromExtensionArn(scope constructs.Construct, id *string, extensionArn *string) IExtension
Imports an extension into the CDK using its Amazon Resource Name (ARN).
func Extension_FromExtensionAttributes ¶ added in v2.130.0
func Extension_FromExtensionAttributes(scope constructs.Construct, id *string, attrs *ExtensionAttributes) IExtension
Imports an extension into the CDK using its attributes.
type IValidator ¶ added in v2.130.0
type IValidator interface { // The content of the validator. Content() *string // The type of validator. Type() ValidatorType }
type JsonSchemaValidator ¶ added in v2.130.0
type JsonSchemaValidator interface { IValidator // The content of the validator. Content() *string // The type of validator. Type() ValidatorType }
Defines a JSON Schema validator.
Example:
var application application var fn function appconfig.NewHostedConfiguration(this, jsii.String("MyHostedConfiguration"), &HostedConfigurationProps{ Application: Application, Content: appconfig.ConfigurationContent_FromInlineText(jsii.String("This is my configuration content.")), Validators: []iValidator{ appconfig.JsonSchemaValidator_FromFile(jsii.String("schema.json")), appconfig.LambdaValidator_FromFunction(fn), }, })
func JsonSchemaValidator_FromFile ¶ added in v2.130.0
func JsonSchemaValidator_FromFile(inputPath *string) JsonSchemaValidator
Defines a JSON Schema validator from a file.
func JsonSchemaValidator_FromInline ¶ added in v2.130.0
func JsonSchemaValidator_FromInline(code *string) JsonSchemaValidator
Defines a JSON Schema validator from inline code.
type LambdaDestination ¶ added in v2.130.0
type LambdaDestination interface { IEventDestination // The URI of the extension event destination. ExtensionUri() *string // The IAM policy document to invoke the event destination. PolicyDocument() awsiam.PolicyDocument // The type of the extension event destination. Type() SourceType }
Use an AWS Lambda function as an event destination.
Example:
var fn function appconfig.NewExtension(this, jsii.String("MyExtension"), &ExtensionProps{ Actions: []action{ appconfig.NewAction(&ActionProps{ ActionPoints: []actionPoint{ appconfig.*actionPoint_ON_DEPLOYMENT_START, }, EventDestination: appconfig.NewLambdaDestination(fn), }), }, })
func NewLambdaDestination ¶ added in v2.130.0
func NewLambdaDestination(func_ awslambda.IFunction) LambdaDestination
type LambdaValidator ¶ added in v2.130.0
type LambdaValidator interface { IValidator // The content of the validator. Content() *string // The type of validator. Type() ValidatorType }
Defines an AWS Lambda validator.
Example:
var application application var fn function appconfig.NewHostedConfiguration(this, jsii.String("MyHostedConfiguration"), &HostedConfigurationProps{ Application: Application, Content: appconfig.ConfigurationContent_FromInlineText(jsii.String("This is my configuration content.")), Validators: []iValidator{ appconfig.JsonSchemaValidator_FromFile(jsii.String("schema.json")), appconfig.LambdaValidator_FromFunction(fn), }, })
func LambdaValidator_FromFunction ¶ added in v2.130.0
func LambdaValidator_FromFunction(func_ awslambda.Function) LambdaValidator
Defines an AWS Lambda validator from a Lambda function.
This will call `addPermission` to your function to grant AWS AppConfig permissions.
type Monitor ¶ added in v2.130.0
type Monitor interface { // The alarm ARN for AWS AppConfig to monitor. AlarmArn() *string // The IAM role ARN for AWS AppConfig to view the alarm state. AlarmRoleArn() *string // Indicates whether a CloudWatch alarm is a composite alarm. IsCompositeAlarm() *bool // The type of monitor. MonitorType() MonitorType }
Defines monitors that will be associated with an AWS AppConfig environment.
Example:
var application application var alarm alarm var compositeAlarm compositeAlarm appconfig.NewEnvironment(this, jsii.String("MyEnvironment"), &EnvironmentProps{ Application: Application, Monitors: []monitor{ appconfig.*monitor_FromCloudWatchAlarm(alarm), appconfig.*monitor_*FromCloudWatchAlarm(compositeAlarm), }, })
func Monitor_FromCfnMonitorsProperty ¶ added in v2.130.0
func Monitor_FromCfnMonitorsProperty(monitorsProperty *CfnEnvironment_MonitorsProperty) Monitor
Creates a Monitor from a CfnEnvironment.MonitorsProperty construct.
func Monitor_FromCloudWatchAlarm ¶ added in v2.130.0
func Monitor_FromCloudWatchAlarm(alarm awscloudwatch.IAlarm, alarmRole awsiam.IRole) Monitor
Creates a Monitor from a CloudWatch alarm.
If the alarm role is not specified, a role will be generated.
type MonitorType ¶ added in v2.130.0
type MonitorType string
The type of Monitor.
const ( // A Monitor from a CloudWatch alarm. MonitorType_CLOUDWATCH MonitorType = "CLOUDWATCH" // A Monitor from a CfnEnvironment.MonitorsProperty construct. MonitorType_CFN_MONITORS_PROPERTY MonitorType = "CFN_MONITORS_PROPERTY" )
type Parameter ¶ added in v2.130.0
type Parameter interface { // The description of the parameter. Description() *string // A boolean that indicates if the parameter is required or optional. IsRequired() *bool // The name of the parameter. Name() *string // The value of the parameter. Value() *string }
Defines a parameter for an extension.
Example:
var fn function appconfig.NewExtension(this, jsii.String("MyExtension"), &ExtensionProps{ Actions: []action{ appconfig.NewAction(&ActionProps{ ActionPoints: []actionPoint{ appconfig.*actionPoint_ON_DEPLOYMENT_START, }, EventDestination: appconfig.NewLambdaDestination(fn), }), }, Parameters: []parameter{ appconfig.*parameter_Required(jsii.String("testParam"), jsii.String("true")), appconfig.*parameter_NotRequired(jsii.String("testNotRequiredParam")), }, })
func Parameter_NotRequired ¶ added in v2.130.0
An optional parameter for an extension.
type Platform ¶ added in v2.130.0
type Platform string
Defines the platform for the AWS AppConfig Lambda extension.
type RolloutStrategy ¶ added in v2.130.0
type RolloutStrategy interface { // The deployment duration of the rollout strategy. DeploymentDuration() awscdk.Duration // The final bake time of the deployment strategy. FinalBakeTime() awscdk.Duration // The growth factor of the rollout strategy. GrowthFactor() *float64 // The growth type of the rollout strategy. GrowthType() GrowthType }
Defines the rollout strategy for a deployment strategy and includes the growth factor, deployment duration, growth type, and optionally final bake time.
Example:
appconfig.NewDeploymentStrategy(this, jsii.String("MyDeploymentStrategy"), &DeploymentStrategyProps{ RolloutStrategy: appconfig.RolloutStrategy_Linear(&RolloutStrategyProps{ GrowthFactor: jsii.Number(20), DeploymentDuration: awscdk.Duration_Minutes(jsii.Number(30)), FinalBakeTime: awscdk.Duration_*Minutes(jsii.Number(30)), }), })
See: https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-deployment-strategy.html
func RolloutStrategy_ALL_AT_ONCE ¶ added in v2.130.0
func RolloutStrategy_ALL_AT_ONCE() RolloutStrategy
func RolloutStrategy_CANARY_10_PERCENT_20_MINUTES ¶ added in v2.130.0
func RolloutStrategy_CANARY_10_PERCENT_20_MINUTES() RolloutStrategy
func RolloutStrategy_Exponential ¶ added in v2.130.0
func RolloutStrategy_Exponential(props *RolloutStrategyProps) RolloutStrategy
Build your own exponential rollout strategy.
func RolloutStrategy_LINEAR_20_PERCENT_EVERY_6_MINUTES ¶ added in v2.130.0
func RolloutStrategy_LINEAR_20_PERCENT_EVERY_6_MINUTES() RolloutStrategy
func RolloutStrategy_LINEAR_50_PERCENT_EVERY_30_SECONDS ¶ added in v2.130.0
func RolloutStrategy_LINEAR_50_PERCENT_EVERY_30_SECONDS() RolloutStrategy
func RolloutStrategy_Linear ¶ added in v2.130.0
func RolloutStrategy_Linear(props *RolloutStrategyProps) RolloutStrategy
Build your own linear rollout strategy.
type RolloutStrategyProps ¶ added in v2.130.0
type RolloutStrategyProps struct { // The deployment duration of the deployment strategy. // // This defines // the total amount of time for a deployment to last. DeploymentDuration awscdk.Duration `field:"required" json:"deploymentDuration" yaml:"deploymentDuration"` // The growth factor of the deployment strategy. // // This defines // the percentage of targets to receive a deployed configuration // during each interval. GrowthFactor *float64 `field:"required" json:"growthFactor" yaml:"growthFactor"` // The final bake time of the deployment strategy. // // This setting specifies the amount of time AWS AppConfig monitors for Amazon // CloudWatch alarms after the configuration has been deployed to // 100% of its targets, before considering the deployment to be complete. // If an alarm is triggered during this time, AWS AppConfig rolls back // the deployment. // Default: Duration.minutes(0) // FinalBakeTime awscdk.Duration `field:"optional" json:"finalBakeTime" yaml:"finalBakeTime"` }
Properties for the Rollout Strategy.
Example:
var application application appconfig.NewHostedConfiguration(this, jsii.String("MyHostedConfiguration"), &HostedConfigurationProps{ Application: Application, Content: appconfig.ConfigurationContent_FromInlineText(jsii.String("This is my configuration content.")), DeploymentStrategy: appconfig.NewDeploymentStrategy(this, jsii.String("MyDeploymentStrategy"), &DeploymentStrategyProps{ RolloutStrategy: appconfig.RolloutStrategy_Linear(&RolloutStrategyProps{ GrowthFactor: jsii.Number(15), DeploymentDuration: awscdk.Duration_Minutes(jsii.Number(30)), FinalBakeTime: awscdk.Duration_*Minutes(jsii.Number(15)), }), }), })
type SnsDestination ¶ added in v2.130.0
type SnsDestination interface { IEventDestination // The URI of the extension event destination. ExtensionUri() *string // The IAM policy document to invoke the event destination. PolicyDocument() awsiam.PolicyDocument // The type of the extension event destination. Type() SourceType }
Use an Amazon SNS topic as an event destination.
Example:
var topic topic appconfig.NewExtension(this, jsii.String("MyExtension"), &ExtensionProps{ Actions: []action{ appconfig.NewAction(&ActionProps{ ActionPoints: []actionPoint{ appconfig.*actionPoint_ON_DEPLOYMENT_START, }, EventDestination: appconfig.NewSnsDestination(topic), }), }, })
func NewSnsDestination ¶ added in v2.130.0
func NewSnsDestination(topic awssns.ITopic) SnsDestination
type SourceType ¶ added in v2.130.0
type SourceType string
Defines the source type for event destinations.
const ( SourceType_LAMBDA SourceType = "LAMBDA" SourceType_SQS SourceType = "SQS" SourceType_SNS SourceType = "SNS" SourceType_EVENTS SourceType = "EVENTS" )
type SourcedConfiguration ¶ added in v2.130.0
type SourcedConfiguration interface { constructs.Construct IConfiguration IExtensible // The application associated with the configuration. Application() IApplication ApplicationId() *string SetApplicationId(val *string) // The Amazon Resource Name (ARN) of the configuration profile. ConfigurationProfileArn() *string // The ID of the configuration profile. ConfigurationProfileId() *string // The deployment key for the configuration. DeploymentKey() awskms.IKey // The deployment strategy for the configuration. DeploymentStrategy() IDeploymentStrategy // The environments to deploy to. DeployTo() *[]IEnvironment // The description of the configuration. Description() *string Extensible() ExtensibleBase SetExtensible(val ExtensibleBase) // The location where the configuration is stored. Location() ConfigurationSource // The name of the configuration. Name() *string // The tree node. Node() constructs.Node // The IAM role to retrieve the configuration. RetrievalRole() awsiam.IRole // The key to decrypt the configuration if applicable. // // This key // can be used when storing configuration in AWS Secrets Manager, Systems Manager Parameter Store, // or Amazon S3. SourceKey() awskms.IKey // The configuration type. Type() ConfigurationType // The validators for the configuration. Validators() *[]IValidator // The version number of the configuration to deploy. VersionNumber() *string AddExistingEnvironmentsToApplication() // Adds an extension association to the configuration profile. AddExtension(extension IExtension) DeployConfigToEnvironments() // Adds an extension defined by the action point and event destination and also creates an extension association to the configuration profile. On(actionPoint ActionPoint, eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_BAKING extension with the provided event destination and also creates an extension association to the configuration profile. OnDeploymentBaking(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_COMPLETE extension with the provided event destination and also creates an extension association to the configuration profile. OnDeploymentComplete(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_ROLLED_BACK extension with the provided event destination and also creates an extension association to the configuration profile. OnDeploymentRolledBack(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_START extension with the provided event destination and also creates an extension association to the configuration profile. OnDeploymentStart(eventDestination IEventDestination, options *ExtensionOptions) // Adds an ON_DEPLOYMENT_STEP extension with the provided event destination and also creates an extension association to the configuration profile. OnDeploymentStep(eventDestination IEventDestination, options *ExtensionOptions) // Adds a PRE_CREATE_HOSTED_CONFIGURATION_VERSION extension with the provided event destination and also creates an extension association to the configuration profile. PreCreateHostedConfigurationVersion(eventDestination IEventDestination, options *ExtensionOptions) // Adds a PRE_START_DEPLOYMENT extension with the provided event destination and also creates an extension association to the configuration profile. PreStartDeployment(eventDestination IEventDestination, options *ExtensionOptions) // Returns a string representation of this construct. ToString() *string }
A sourced configuration represents configuration stored in an Amazon S3 bucket, AWS Secrets Manager secret, Systems Manager (SSM) Parameter Store parameter, SSM document, or AWS CodePipeline.
Example:
var application application var bucket bucket appconfig.NewSourcedConfiguration(this, jsii.String("MySourcedConfiguration"), &SourcedConfigurationProps{ Application: Application, Location: appconfig.ConfigurationSource_FromBucket(bucket, jsii.String("path/to/file.json")), Type: appconfig.ConfigurationType_FEATURE_FLAGS, Name: jsii.String("MyConfig"), Description: jsii.String("This is my sourced configuration from CDK."), })
func NewSourcedConfiguration ¶ added in v2.130.0
func NewSourcedConfiguration(scope constructs.Construct, id *string, props *SourcedConfigurationProps) SourcedConfiguration
type SourcedConfigurationOptions ¶ added in v2.130.0
type SourcedConfigurationOptions struct { // The deployment key of the configuration. // Default: - None. // DeploymentKey awskms.IKey `field:"optional" json:"deploymentKey" yaml:"deploymentKey"` // The deployment strategy for the configuration. // Default: - A deployment strategy with the rollout strategy set to // RolloutStrategy.CANARY_10_PERCENT_20_MINUTES // DeploymentStrategy IDeploymentStrategy `field:"optional" json:"deploymentStrategy" yaml:"deploymentStrategy"` // The list of environments to deploy the configuration to. // // If this parameter is not specified, then there will be no // deployment created alongside this configuration. // // Deployments can be added later using the `IEnvironment.addDeployment` or // `IEnvironment.addDeployments` methods. // Default: - None. // DeployTo *[]IEnvironment `field:"optional" json:"deployTo" yaml:"deployTo"` // The description of the configuration. // Default: - No description. // Description *string `field:"optional" json:"description" yaml:"description"` // The name of the configuration. // Default: - A name is generated. // Name *string `field:"optional" json:"name" yaml:"name"` // The type of configuration. // Default: ConfigurationType.FREEFORM // Type ConfigurationType `field:"optional" json:"type" yaml:"type"` // The validators for the configuration. // Default: - No validators. // Validators *[]IValidator `field:"optional" json:"validators" yaml:"validators"` // The location where the configuration is stored. Location ConfigurationSource `field:"required" json:"location" yaml:"location"` // The IAM role to retrieve the configuration. // Default: - A role is generated. // RetrievalRole awsiam.IRole `field:"optional" json:"retrievalRole" yaml:"retrievalRole"` // The version number of the sourced configuration to deploy. // // If this is not specified, // then there will be no deployment. // Default: - None. // VersionNumber *string `field:"optional" json:"versionNumber" yaml:"versionNumber"` }
Options for SourcedConfiguration.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var configurationSource configurationSource var deploymentStrategy deploymentStrategy var environment environment var key key var role role var validator iValidator sourcedConfigurationOptions := &SourcedConfigurationOptions{ Location: configurationSource, // the properties below are optional DeploymentKey: key, DeploymentStrategy: deploymentStrategy, DeployTo: []iEnvironment{ environment, }, Description: jsii.String("description"), Name: jsii.String("name"), RetrievalRole: role, Type: awscdk.Aws_appconfig.ConfigurationType_FREEFORM, Validators: []*iValidator{ validator, }, VersionNumber: jsii.String("versionNumber"), }
type SourcedConfigurationProps ¶ added in v2.130.0
type SourcedConfigurationProps struct { // The deployment key of the configuration. // Default: - None. // DeploymentKey awskms.IKey `field:"optional" json:"deploymentKey" yaml:"deploymentKey"` // The deployment strategy for the configuration. // Default: - A deployment strategy with the rollout strategy set to // RolloutStrategy.CANARY_10_PERCENT_20_MINUTES // DeploymentStrategy IDeploymentStrategy `field:"optional" json:"deploymentStrategy" yaml:"deploymentStrategy"` // The list of environments to deploy the configuration to. // // If this parameter is not specified, then there will be no // deployment created alongside this configuration. // // Deployments can be added later using the `IEnvironment.addDeployment` or // `IEnvironment.addDeployments` methods. // Default: - None. // DeployTo *[]IEnvironment `field:"optional" json:"deployTo" yaml:"deployTo"` // The description of the configuration. // Default: - No description. // Description *string `field:"optional" json:"description" yaml:"description"` // The name of the configuration. // Default: - A name is generated. // Name *string `field:"optional" json:"name" yaml:"name"` // The type of configuration. // Default: ConfigurationType.FREEFORM // Type ConfigurationType `field:"optional" json:"type" yaml:"type"` // The validators for the configuration. // Default: - No validators. // Validators *[]IValidator `field:"optional" json:"validators" yaml:"validators"` // The application associated with the configuration. Application IApplication `field:"required" json:"application" yaml:"application"` // The location where the configuration is stored. Location ConfigurationSource `field:"required" json:"location" yaml:"location"` // The IAM role to retrieve the configuration. // Default: - Auto generated if location type is not ConfigurationSourceType.CODE_PIPELINE otherwise no role specified. // RetrievalRole awsiam.IRole `field:"optional" json:"retrievalRole" yaml:"retrievalRole"` // The version number of the sourced configuration to deploy. // // If this is not specified, // then there will be no deployment. // Default: - None. // VersionNumber *string `field:"optional" json:"versionNumber" yaml:"versionNumber"` }
Properties for SourcedConfiguration.
Example:
var application application var bucket bucket appconfig.NewSourcedConfiguration(this, jsii.String("MySourcedConfiguration"), &SourcedConfigurationProps{ Application: Application, Location: appconfig.ConfigurationSource_FromBucket(bucket, jsii.String("path/to/file.json")), Type: appconfig.ConfigurationType_FEATURE_FLAGS, Name: jsii.String("MyConfig"), Description: jsii.String("This is my sourced configuration from CDK."), })
type SqsDestination ¶ added in v2.130.0
type SqsDestination interface { IEventDestination // The URI of the extension event destination. ExtensionUri() *string // The IAM policy document to invoke the event destination. PolicyDocument() awsiam.PolicyDocument // The type of the extension event destination. Type() SourceType }
Use an Amazon SQS queue as an event destination.
Example:
var queue queue appconfig.NewExtension(this, jsii.String("MyExtension"), &ExtensionProps{ Actions: []action{ appconfig.NewAction(&ActionProps{ ActionPoints: []actionPoint{ appconfig.*actionPoint_ON_DEPLOYMENT_START, }, EventDestination: appconfig.NewSqsDestination(queue), }), }, })
func NewSqsDestination ¶ added in v2.130.0
func NewSqsDestination(queue awssqs.IQueue) SqsDestination
type ValidatorType ¶ added in v2.130.0
type ValidatorType string
The validator type.
const ( // JSON Scema validator. ValidatorType_JSON_SCHEMA ValidatorType = "JSON_SCHEMA" // Validate using a Lambda function. ValidatorType_LAMBDA ValidatorType = "LAMBDA" )
Source Files ¶
- Action.go
- ActionPoint.go
- ActionProps.go
- Action__checks.go
- Application.go
- ApplicationProps.go
- Application__checks.go
- CfnApplication.go
- CfnApplicationProps.go
- CfnApplication__checks.go
- CfnConfigurationProfile.go
- CfnConfigurationProfileProps.go
- CfnConfigurationProfile_ValidatorsProperty.go
- CfnConfigurationProfile__checks.go
- CfnDeployment.go
- CfnDeploymentProps.go
- CfnDeploymentStrategy.go
- CfnDeploymentStrategyProps.go
- CfnDeploymentStrategy__checks.go
- CfnDeployment_DynamicExtensionParametersProperty.go
- CfnDeployment__checks.go
- CfnEnvironment.go
- CfnEnvironmentProps.go
- CfnEnvironment_MonitorProperty.go
- CfnEnvironment_MonitorsProperty.go
- CfnEnvironment__checks.go
- CfnExtension.go
- CfnExtensionAssociation.go
- CfnExtensionAssociationProps.go
- CfnExtensionAssociation__checks.go
- CfnExtensionProps.go
- CfnExtension_ActionProperty.go
- CfnExtension_ParameterProperty.go
- CfnExtension__checks.go
- CfnHostedConfigurationVersion.go
- CfnHostedConfigurationVersionProps.go
- CfnHostedConfigurationVersion__checks.go
- ConfigurationContent.go
- ConfigurationContent__checks.go
- ConfigurationOptions.go
- ConfigurationProps.go
- ConfigurationSource.go
- ConfigurationSourceType.go
- ConfigurationSource__checks.go
- ConfigurationType.go
- DeploymentStrategy.go
- DeploymentStrategyId.go
- DeploymentStrategyId__checks.go
- DeploymentStrategyProps.go
- DeploymentStrategy__checks.go
- Environment.go
- EnvironmentAttributes.go
- EnvironmentOptions.go
- EnvironmentProps.go
- Environment__checks.go
- EventBridgeDestination.go
- EventBridgeDestination__checks.go
- ExtensibleBase.go
- ExtensibleBase__checks.go
- Extension.go
- ExtensionAttributes.go
- ExtensionOptions.go
- ExtensionProps.go
- Extension__checks.go
- GrowthType.go
- HostedConfiguration.go
- HostedConfigurationOptions.go
- HostedConfigurationProps.go
- HostedConfiguration__checks.go
- IApplication.go
- IApplication__checks.go
- IConfiguration.go
- IDeploymentStrategy.go
- IEnvironment.go
- IEnvironment__checks.go
- IEventDestination.go
- IExtensible.go
- IExtensible__checks.go
- IExtension.go
- IValidator.go
- JsonSchemaValidator.go
- JsonSchemaValidator__checks.go
- LambdaDestination.go
- LambdaDestination__checks.go
- LambdaValidator.go
- LambdaValidator__checks.go
- Monitor.go
- MonitorType.go
- Monitor__checks.go
- Parameter.go
- Parameter__checks.go
- Platform.go
- RolloutStrategy.go
- RolloutStrategyProps.go
- RolloutStrategy__checks.go
- SnsDestination.go
- SnsDestination__checks.go
- SourceType.go
- SourcedConfiguration.go
- SourcedConfigurationOptions.go
- SourcedConfigurationProps.go
- SourcedConfiguration__checks.go
- SqsDestination.go
- SqsDestination__checks.go
- ValidatorType.go
- main.go