Documentation ¶
Index ¶
- func CfnAssociation_CFN_RESOURCE_TYPE_NAME() *string
- func CfnAssociation_IsCfnElement(x interface{}) *bool
- func CfnAssociation_IsCfnResource(x interface{}) *bool
- func CfnAssociation_IsConstruct(x interface{}) *bool
- func CfnDocument_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDocument_IsCfnElement(x interface{}) *bool
- func CfnDocument_IsCfnResource(x interface{}) *bool
- func CfnDocument_IsConstruct(x interface{}) *bool
- func CfnMaintenanceWindowTarget_CFN_RESOURCE_TYPE_NAME() *string
- func CfnMaintenanceWindowTarget_IsCfnElement(x interface{}) *bool
- func CfnMaintenanceWindowTarget_IsCfnResource(x interface{}) *bool
- func CfnMaintenanceWindowTarget_IsConstruct(x interface{}) *bool
- func CfnMaintenanceWindowTask_CFN_RESOURCE_TYPE_NAME() *string
- func CfnMaintenanceWindowTask_IsCfnElement(x interface{}) *bool
- func CfnMaintenanceWindowTask_IsCfnResource(x interface{}) *bool
- func CfnMaintenanceWindowTask_IsConstruct(x interface{}) *bool
- func CfnMaintenanceWindow_CFN_RESOURCE_TYPE_NAME() *string
- func CfnMaintenanceWindow_IsCfnElement(x interface{}) *bool
- func CfnMaintenanceWindow_IsCfnResource(x interface{}) *bool
- func CfnMaintenanceWindow_IsConstruct(x interface{}) *bool
- func CfnParameter_CFN_RESOURCE_TYPE_NAME() *string
- func CfnParameter_IsCfnElement(x interface{}) *bool
- func CfnParameter_IsCfnResource(x interface{}) *bool
- func CfnParameter_IsConstruct(x interface{}) *bool
- func CfnPatchBaseline_CFN_RESOURCE_TYPE_NAME() *string
- func CfnPatchBaseline_IsCfnElement(x interface{}) *bool
- func CfnPatchBaseline_IsCfnResource(x interface{}) *bool
- func CfnPatchBaseline_IsConstruct(x interface{}) *bool
- func CfnResourceDataSync_CFN_RESOURCE_TYPE_NAME() *string
- func CfnResourceDataSync_IsCfnElement(x interface{}) *bool
- func CfnResourceDataSync_IsCfnResource(x interface{}) *bool
- func CfnResourceDataSync_IsConstruct(x interface{}) *bool
- func CfnResourcePolicy_CFN_RESOURCE_TYPE_NAME() *string
- func CfnResourcePolicy_IsCfnElement(x interface{}) *bool
- func CfnResourcePolicy_IsCfnResource(x interface{}) *bool
- func CfnResourcePolicy_IsConstruct(x interface{}) *bool
- func NewCfnAssociation_Override(c CfnAssociation, scope constructs.Construct, id *string, ...)
- func NewCfnDocument_Override(c CfnDocument, scope constructs.Construct, id *string, props *CfnDocumentProps)
- func NewCfnMaintenanceWindowTarget_Override(c CfnMaintenanceWindowTarget, scope constructs.Construct, id *string, ...)
- func NewCfnMaintenanceWindowTask_Override(c CfnMaintenanceWindowTask, scope constructs.Construct, id *string, ...)
- func NewCfnMaintenanceWindow_Override(c CfnMaintenanceWindow, scope constructs.Construct, id *string, ...)
- func NewCfnParameter_Override(c CfnParameter, scope constructs.Construct, id *string, ...)
- func NewCfnPatchBaseline_Override(c CfnPatchBaseline, scope constructs.Construct, id *string, ...)
- func NewCfnResourceDataSync_Override(c CfnResourceDataSync, scope constructs.Construct, id *string, ...)
- func NewCfnResourcePolicy_Override(c CfnResourcePolicy, scope constructs.Construct, id *string, ...)
- func NewStringListParameter_Override(s StringListParameter, scope constructs.Construct, id *string, ...)
- func NewStringParameter_Override(s StringParameter, scope constructs.Construct, id *string, ...)
- func StringListParameter_IsConstruct(x interface{}) *bool
- func StringListParameter_IsOwnedResource(construct constructs.IConstruct) *bool
- func StringListParameter_IsResource(construct constructs.IConstruct) *bool
- func StringListParameter_ValueForTypedListParameter(scope constructs.Construct, parameterName *string, type_ ParameterValueType, ...) *[]*string
- func StringParameter_IsConstruct(x interface{}) *bool
- func StringParameter_IsOwnedResource(construct constructs.IConstruct) *bool
- func StringParameter_IsResource(construct constructs.IConstruct) *bool
- func StringParameter_ValueForSecureStringParameter(scope constructs.Construct, parameterName *string, version *float64) *string
- func StringParameter_ValueForStringParameter(scope constructs.Construct, parameterName *string, version *float64) *string
- func StringParameter_ValueForTypedStringParameter(scope constructs.Construct, parameterName *string, type_ ParameterType, ...) *string
- func StringParameter_ValueForTypedStringParameterV2(scope constructs.Construct, parameterName *string, type_ ParameterValueType, ...) *string
- func StringParameter_ValueFromLookup(scope constructs.Construct, parameterName *string) *string
- type CfnAssociation
- type CfnAssociationProps
- type CfnAssociation_InstanceAssociationOutputLocationProperty
- type CfnAssociation_S3OutputLocationProperty
- type CfnAssociation_TargetProperty
- type CfnDocument
- type CfnDocumentProps
- type CfnDocument_AttachmentsSourceProperty
- type CfnDocument_DocumentRequiresProperty
- type CfnMaintenanceWindow
- type CfnMaintenanceWindowProps
- type CfnMaintenanceWindowTarget
- type CfnMaintenanceWindowTargetProps
- type CfnMaintenanceWindowTarget_TargetsProperty
- type CfnMaintenanceWindowTask
- type CfnMaintenanceWindowTaskProps
- type CfnMaintenanceWindowTask_CloudWatchOutputConfigProperty
- type CfnMaintenanceWindowTask_LoggingInfoProperty
- type CfnMaintenanceWindowTask_MaintenanceWindowAutomationParametersProperty
- type CfnMaintenanceWindowTask_MaintenanceWindowLambdaParametersProperty
- type CfnMaintenanceWindowTask_MaintenanceWindowRunCommandParametersProperty
- type CfnMaintenanceWindowTask_MaintenanceWindowStepFunctionsParametersProperty
- type CfnMaintenanceWindowTask_NotificationConfigProperty
- type CfnMaintenanceWindowTask_TargetProperty
- type CfnMaintenanceWindowTask_TaskInvocationParametersProperty
- type CfnParameter
- type CfnParameterProps
- type CfnPatchBaseline
- type CfnPatchBaselineProps
- type CfnPatchBaseline_PatchFilterGroupProperty
- type CfnPatchBaseline_PatchFilterProperty
- type CfnPatchBaseline_PatchSourceProperty
- type CfnPatchBaseline_RuleGroupProperty
- type CfnPatchBaseline_RuleProperty
- type CfnResourceDataSync
- type CfnResourceDataSyncProps
- type CfnResourceDataSync_AwsOrganizationsSourceProperty
- type CfnResourceDataSync_S3DestinationProperty
- type CfnResourceDataSync_SyncSourceProperty
- type CfnResourcePolicy
- type CfnResourcePolicyProps
- type CommonStringParameterAttributes
- type IParameter
- type IStringListParameter
- type IStringParameter
- func StringParameter_FromSecureStringParameterAttributes(scope constructs.Construct, id *string, attrs *SecureStringParameterAttributes) IStringParameter
- func StringParameter_FromStringParameterArn(scope constructs.Construct, id *string, stringParameterArn *string) IStringParameter
- func StringParameter_FromStringParameterAttributes(scope constructs.Construct, id *string, attrs *StringParameterAttributes) IStringParameter
- func StringParameter_FromStringParameterName(scope constructs.Construct, id *string, stringParameterName *string) IStringParameter
- type ListParameterAttributes
- type ParameterDataType
- type ParameterOptions
- type ParameterTier
- type ParameterType
- type ParameterValueType
- type SecureStringParameterAttributes
- type StringListParameter
- type StringListParameterProps
- type StringParameter
- type StringParameterAttributes
- type StringParameterProps
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CfnAssociation_CFN_RESOURCE_TYPE_NAME ¶
func CfnAssociation_CFN_RESOURCE_TYPE_NAME() *string
func CfnAssociation_IsCfnElement ¶
func CfnAssociation_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 CfnAssociation_IsCfnResource ¶
func CfnAssociation_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnAssociation_IsConstruct ¶
func CfnAssociation_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 CfnDocument_CFN_RESOURCE_TYPE_NAME ¶
func CfnDocument_CFN_RESOURCE_TYPE_NAME() *string
func CfnDocument_IsCfnElement ¶
func CfnDocument_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 CfnDocument_IsCfnResource ¶
func CfnDocument_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnDocument_IsConstruct ¶
func CfnDocument_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 CfnMaintenanceWindowTarget_CFN_RESOURCE_TYPE_NAME ¶
func CfnMaintenanceWindowTarget_CFN_RESOURCE_TYPE_NAME() *string
func CfnMaintenanceWindowTarget_IsCfnElement ¶
func CfnMaintenanceWindowTarget_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 CfnMaintenanceWindowTarget_IsCfnResource ¶
func CfnMaintenanceWindowTarget_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnMaintenanceWindowTarget_IsConstruct ¶
func CfnMaintenanceWindowTarget_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 CfnMaintenanceWindowTask_CFN_RESOURCE_TYPE_NAME ¶
func CfnMaintenanceWindowTask_CFN_RESOURCE_TYPE_NAME() *string
func CfnMaintenanceWindowTask_IsCfnElement ¶
func CfnMaintenanceWindowTask_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 CfnMaintenanceWindowTask_IsCfnResource ¶
func CfnMaintenanceWindowTask_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnMaintenanceWindowTask_IsConstruct ¶
func CfnMaintenanceWindowTask_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 CfnMaintenanceWindow_CFN_RESOURCE_TYPE_NAME ¶
func CfnMaintenanceWindow_CFN_RESOURCE_TYPE_NAME() *string
func CfnMaintenanceWindow_IsCfnElement ¶
func CfnMaintenanceWindow_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 CfnMaintenanceWindow_IsCfnResource ¶
func CfnMaintenanceWindow_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnMaintenanceWindow_IsConstruct ¶
func CfnMaintenanceWindow_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 CfnParameter_CFN_RESOURCE_TYPE_NAME ¶
func CfnParameter_CFN_RESOURCE_TYPE_NAME() *string
func CfnParameter_IsCfnElement ¶
func CfnParameter_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 CfnParameter_IsCfnResource ¶
func CfnParameter_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnParameter_IsConstruct ¶
func CfnParameter_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 CfnPatchBaseline_CFN_RESOURCE_TYPE_NAME ¶
func CfnPatchBaseline_CFN_RESOURCE_TYPE_NAME() *string
func CfnPatchBaseline_IsCfnElement ¶
func CfnPatchBaseline_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 CfnPatchBaseline_IsCfnResource ¶
func CfnPatchBaseline_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnPatchBaseline_IsConstruct ¶
func CfnPatchBaseline_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 CfnResourceDataSync_CFN_RESOURCE_TYPE_NAME ¶
func CfnResourceDataSync_CFN_RESOURCE_TYPE_NAME() *string
func CfnResourceDataSync_IsCfnElement ¶
func CfnResourceDataSync_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 CfnResourceDataSync_IsCfnResource ¶
func CfnResourceDataSync_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnResourceDataSync_IsConstruct ¶
func CfnResourceDataSync_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 CfnResourcePolicy_CFN_RESOURCE_TYPE_NAME ¶ added in v2.54.0
func CfnResourcePolicy_CFN_RESOURCE_TYPE_NAME() *string
func CfnResourcePolicy_IsCfnElement ¶ added in v2.54.0
func CfnResourcePolicy_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 CfnResourcePolicy_IsCfnResource ¶ added in v2.54.0
func CfnResourcePolicy_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnResourcePolicy_IsConstruct ¶ added in v2.54.0
func CfnResourcePolicy_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 NewCfnAssociation_Override ¶
func NewCfnAssociation_Override(c CfnAssociation, scope constructs.Construct, id *string, props *CfnAssociationProps)
func NewCfnDocument_Override ¶
func NewCfnDocument_Override(c CfnDocument, scope constructs.Construct, id *string, props *CfnDocumentProps)
func NewCfnMaintenanceWindowTarget_Override ¶
func NewCfnMaintenanceWindowTarget_Override(c CfnMaintenanceWindowTarget, scope constructs.Construct, id *string, props *CfnMaintenanceWindowTargetProps)
func NewCfnMaintenanceWindowTask_Override ¶
func NewCfnMaintenanceWindowTask_Override(c CfnMaintenanceWindowTask, scope constructs.Construct, id *string, props *CfnMaintenanceWindowTaskProps)
func NewCfnMaintenanceWindow_Override ¶
func NewCfnMaintenanceWindow_Override(c CfnMaintenanceWindow, scope constructs.Construct, id *string, props *CfnMaintenanceWindowProps)
func NewCfnParameter_Override ¶
func NewCfnParameter_Override(c CfnParameter, scope constructs.Construct, id *string, props *CfnParameterProps)
func NewCfnPatchBaseline_Override ¶
func NewCfnPatchBaseline_Override(c CfnPatchBaseline, scope constructs.Construct, id *string, props *CfnPatchBaselineProps)
func NewCfnResourceDataSync_Override ¶
func NewCfnResourceDataSync_Override(c CfnResourceDataSync, scope constructs.Construct, id *string, props *CfnResourceDataSyncProps)
func NewCfnResourcePolicy_Override ¶ added in v2.54.0
func NewCfnResourcePolicy_Override(c CfnResourcePolicy, scope constructs.Construct, id *string, props *CfnResourcePolicyProps)
func NewStringListParameter_Override ¶
func NewStringListParameter_Override(s StringListParameter, scope constructs.Construct, id *string, props *StringListParameterProps)
func NewStringParameter_Override ¶
func NewStringParameter_Override(s StringParameter, scope constructs.Construct, id *string, props *StringParameterProps)
func StringListParameter_IsConstruct ¶
func StringListParameter_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 StringListParameter_IsOwnedResource ¶ added in v2.32.0
func StringListParameter_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func StringListParameter_IsResource ¶
func StringListParameter_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func StringListParameter_ValueForTypedListParameter ¶ added in v2.42.0
func StringListParameter_ValueForTypedListParameter(scope constructs.Construct, parameterName *string, type_ ParameterValueType, version *float64) *[]*string
Returns a token that will resolve (during deployment) to the list value of an SSM StringList parameter.
func StringParameter_IsConstruct ¶
func StringParameter_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 StringParameter_IsOwnedResource ¶ added in v2.32.0
func StringParameter_IsOwnedResource(construct constructs.IConstruct) *bool
Returns true if the construct was created by CDK, and false otherwise.
func StringParameter_IsResource ¶
func StringParameter_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func StringParameter_ValueForSecureStringParameter ¶
func StringParameter_ValueForSecureStringParameter(scope constructs.Construct, parameterName *string, version *float64) *string
Returns a token that will resolve (during deployment). Deprecated: Use `SecretValue.ssmSecure()` instead, it will correctly type the imported value as a `SecretValue` and allow importing without version. `SecretValue` lives in the core `aws-cdk-lib` module.
func StringParameter_ValueForStringParameter ¶
func StringParameter_ValueForStringParameter(scope constructs.Construct, parameterName *string, version *float64) *string
Returns a token that will resolve (during deployment) to the string value of an SSM string parameter.
func StringParameter_ValueForTypedStringParameter ¶
func StringParameter_ValueForTypedStringParameter(scope constructs.Construct, parameterName *string, type_ ParameterType, version *float64) *string
Returns a token that will resolve (during deployment) to the string value of an SSM string parameter. Deprecated: - use valueForTypedStringParameterV2 instead.
func StringParameter_ValueForTypedStringParameterV2 ¶ added in v2.42.0
func StringParameter_ValueForTypedStringParameterV2(scope constructs.Construct, parameterName *string, type_ ParameterValueType, version *float64) *string
Returns a token that will resolve (during deployment) to the string value of an SSM string parameter.
func StringParameter_ValueFromLookup ¶
Reads the value of an SSM parameter during synthesis through an environmental context provider.
Requires that the stack this scope is defined in will have explicit account/region information. Otherwise, it will fail during synthesis.
Types ¶
type CfnAssociation ¶
type CfnAssociation interface { awscdk.CfnResource awscdk.IInspectable // By default, when you create a new association, the system runs it immediately after it is created and then according to the schedule you specified. ApplyOnlyAtCronInterval() interface{} SetApplyOnlyAtCronInterval(val interface{}) // Specify a descriptive name for the association. AssociationName() *string SetAssociationName(val *string) // The association ID. AttrAssociationId() *string // Choose the parameter that will define how your automation will branch out. AutomationTargetParameterName() *string SetAutomationTargetParameterName(val *string) // The names or Amazon Resource Names (ARNs) of the Change Calendar type documents your associations are gated under. CalendarNames() *[]*string SetCalendarNames(val *[]*string) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The severity level that is assigned to the association. ComplianceSeverity() *string SetComplianceSeverity(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 version of the SSM document to associate with the target. DocumentVersion() *string SetDocumentVersion(val *string) // The ID of the instance that the SSM document is associated with. InstanceId() *string SetInstanceId(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 maximum number of targets allowed to run the association at the same time. MaxConcurrency() *string SetMaxConcurrency(val *string) // The number of errors that are allowed before the system stops sending requests to run the association on additional targets. MaxErrors() *string SetMaxErrors(val *string) // The name of the SSM document that contains the configuration information for the instance. Name() *string SetName(val *string) // The tree node. Node() constructs.Node // An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the request. OutputLocation() interface{} SetOutputLocation(val interface{}) // The parameters for the runtime configuration of the document. 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 // A cron expression that specifies a schedule when the association runs. ScheduleExpression() *string SetScheduleExpression(val *string) // Number of days to wait after the scheduled day to run an association. ScheduleOffset() *float64 SetScheduleOffset(val *float64) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The mode for generating association compliance. SyncCompliance() *string SetSyncCompliance(val *string) // The targets for the association. Targets() interface{} SetTargets(val interface{}) // 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{} // The number of seconds the service should wait for the association status to show "Success" before proceeding with the stack execution. WaitForSuccessTimeoutSeconds() *float64 SetWaitForSuccessTimeoutSeconds(val *float64) // 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::SSM::Association` resource creates a State Manager association for your managed instances.
A State Manager association defines the state that you want to maintain on your instances. For example, an association can specify that anti-virus software must be installed and running on your instances, or that certain ports must be closed. For static targets, the association specifies a schedule for when the configuration is reapplied. For dynamic targets, such as an AWS Resource Groups or an AWS Auto Scaling Group, State Manager applies the configuration when new instances are added to the group. The association also specifies actions to take when applying the configuration. For example, an association for anti-virus software might run once a day. If the software is not installed, then State Manager installs it. If the software is installed, but the service is not running, then the association might instruct State Manager to start the service.
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 parameters interface{} cfnAssociation := awscdk.Aws_ssm.NewCfnAssociation(this, jsii.String("MyCfnAssociation"), &CfnAssociationProps{ Name: jsii.String("name"), // the properties below are optional ApplyOnlyAtCronInterval: jsii.Boolean(false), AssociationName: jsii.String("associationName"), AutomationTargetParameterName: jsii.String("automationTargetParameterName"), CalendarNames: []*string{ jsii.String("calendarNames"), }, ComplianceSeverity: jsii.String("complianceSeverity"), DocumentVersion: jsii.String("documentVersion"), InstanceId: jsii.String("instanceId"), MaxConcurrency: jsii.String("maxConcurrency"), MaxErrors: jsii.String("maxErrors"), OutputLocation: &InstanceAssociationOutputLocationProperty{ S3Location: &S3OutputLocationProperty{ OutputS3BucketName: jsii.String("outputS3BucketName"), OutputS3KeyPrefix: jsii.String("outputS3KeyPrefix"), OutputS3Region: jsii.String("outputS3Region"), }, }, Parameters: parameters, ScheduleExpression: jsii.String("scheduleExpression"), ScheduleOffset: jsii.Number(123), SyncCompliance: jsii.String("syncCompliance"), Targets: []interface{}{ &TargetProperty{ Key: jsii.String("key"), Values: []*string{ jsii.String("values"), }, }, }, WaitForSuccessTimeoutSeconds: jsii.Number(123), })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html
func NewCfnAssociation ¶
func NewCfnAssociation(scope constructs.Construct, id *string, props *CfnAssociationProps) CfnAssociation
type CfnAssociationProps ¶
type CfnAssociationProps struct { // The name of the SSM document that contains the configuration information for the instance. // // You can specify `Command` or `Automation` documents. The documents can be AWS -predefined documents, documents you created, or a document that is shared with you from another account. For SSM documents that are shared with you from other AWS accounts , you must specify the complete SSM document ARN, in the following format: // // `arn:partition:ssm:region:account-id:document/document-name` // // For example: `arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document` // // For AWS -predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, `AWS -ApplyPatchBaseline` or `My-Document` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-name // Name *string `field:"required" json:"name" yaml:"name"` // By default, when you create a new association, the system runs it immediately after it is created and then according to the schedule you specified. // // Specify this option if you don't want an association to run immediately after you create it. This parameter is not supported for rate expressions. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-applyonlyatcroninterval // ApplyOnlyAtCronInterval interface{} `field:"optional" json:"applyOnlyAtCronInterval" yaml:"applyOnlyAtCronInterval"` // Specify a descriptive name for the association. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-associationname // AssociationName *string `field:"optional" json:"associationName" yaml:"associationName"` // Choose the parameter that will define how your automation will branch out. // // This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a capability of AWS Systems Manager . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-automationtargetparametername // AutomationTargetParameterName *string `field:"optional" json:"automationTargetParameterName" yaml:"automationTargetParameterName"` // The names or Amazon Resource Names (ARNs) of the Change Calendar type documents your associations are gated under. // // The associations only run when that Change Calendar is open. For more information, see [AWS Systems Manager Change Calendar](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-calendarnames // CalendarNames *[]*string `field:"optional" json:"calendarNames" yaml:"calendarNames"` // The severity level that is assigned to the association. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-complianceseverity // ComplianceSeverity *string `field:"optional" json:"complianceSeverity" yaml:"complianceSeverity"` // The version of the SSM document to associate with the target. // // > Note the following important information. // > // > - State Manager doesn't support running associations that use a new version of a document if that document is shared from another account. State Manager always runs the `default` version of a document if shared from another account, even though the Systems Manager console shows that a new version was processed. If you want to run an association using a new version of a document shared form another account, you must set the document version to `default` . // > - `DocumentVersion` is not valid for documents owned by AWS , such as `AWS-RunPatchBaseline` or `AWS-UpdateSSMAgent` . If you specify `DocumentVersion` for an AWS document, the system returns the following error: "Error occurred during operation 'CreateAssociation'." (RequestToken: <token>, HandlerErrorCode: GeneralServiceException). // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-documentversion // DocumentVersion *string `field:"optional" json:"documentVersion" yaml:"documentVersion"` // The ID of the instance that the SSM document is associated with. // // You must specify the `InstanceId` or `Targets` property. // // > `InstanceId` has been deprecated. To specify an instance ID for an association, use the `Targets` parameter. If you use the parameter `InstanceId` , you cannot use the parameters `AssociationName` , `DocumentVersion` , `MaxErrors` , `MaxConcurrency` , `OutputLocation` , or `ScheduleExpression` . To use these parameters, you must use the `Targets` parameter. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-instanceid // InstanceId *string `field:"optional" json:"instanceId" yaml:"instanceId"` // The maximum number of targets allowed to run the association at the same time. // // You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time. // // If a new managed node starts and attempts to run an association while Systems Manager is running `MaxConcurrency` associations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified for `MaxConcurrency` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-maxconcurrency // MaxConcurrency *string `field:"optional" json:"maxConcurrency" yaml:"maxConcurrency"` // The number of errors that are allowed before the system stops sending requests to run the association on additional targets. // // You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 managed nodes and set `MaxError` to 10%, then the system stops sending the request when the sixth error is received. // // Executions that are already running an association when `MaxErrors` is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set `MaxConcurrency` to 1 so that executions proceed one at a time. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-maxerrors // MaxErrors *string `field:"optional" json:"maxErrors" yaml:"maxErrors"` // An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the request. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-outputlocation // OutputLocation interface{} `field:"optional" json:"outputLocation" yaml:"outputLocation"` // The parameters for the runtime configuration of the document. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-parameters // Parameters interface{} `field:"optional" json:"parameters" yaml:"parameters"` // A cron expression that specifies a schedule when the association runs. // // The schedule runs in Coordinated Universal Time (UTC). // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-scheduleexpression // ScheduleExpression *string `field:"optional" json:"scheduleExpression" yaml:"scheduleExpression"` // Number of days to wait after the scheduled day to run an association. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-scheduleoffset // ScheduleOffset *float64 `field:"optional" json:"scheduleOffset" yaml:"scheduleOffset"` // The mode for generating association compliance. // // You can specify `AUTO` or `MANUAL` . In `AUTO` mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is `COMPLIANT` . If the association execution doesn't run successfully, the association is `NON-COMPLIANT` . // // In `MANUAL` mode, you must specify the `AssociationId` as a parameter for the `PutComplianceItems` API action. In this case, compliance data is not managed by State Manager. It is managed by your direct call to the `PutComplianceItems` API action. // // By default, all associations use `AUTO` mode. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-synccompliance // SyncCompliance *string `field:"optional" json:"syncCompliance" yaml:"syncCompliance"` // The targets for the association. // // You must specify the `InstanceId` or `Targets` property. You can target all instances in an AWS account by specifying t he `InstanceIds` key with a value of `*` . // // Supported formats include the following. // // - `Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>,<instance-id-3>` // - `Key=tag-key,Values=<my-tag-key-1>,<my-tag-key-2>` // // To view a JSON and a YAML example that targets all instances, see "Create an association for all managed instances in an AWS account " on the Examples page. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-targets // Targets interface{} `field:"optional" json:"targets" yaml:"targets"` // The number of seconds the service should wait for the association status to show "Success" before proceeding with the stack execution. // // If the association status doesn't show "Success" after the specified number of seconds, then stack creation fails. // // > When you specify a value for the `WaitForSuccessTimeoutSeconds` , [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html) for your AWS CloudFormation stack’s configuration might yield inaccurate results. If drift detection is important in your scenario, we recommend that you don’t include `WaitForSuccessTimeoutSeconds` in your template. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-waitforsuccesstimeoutseconds // WaitForSuccessTimeoutSeconds *float64 `field:"optional" json:"waitForSuccessTimeoutSeconds" yaml:"waitForSuccessTimeoutSeconds"` }
Properties for defining a `CfnAssociation`.
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 parameters interface{} cfnAssociationProps := &CfnAssociationProps{ Name: jsii.String("name"), // the properties below are optional ApplyOnlyAtCronInterval: jsii.Boolean(false), AssociationName: jsii.String("associationName"), AutomationTargetParameterName: jsii.String("automationTargetParameterName"), CalendarNames: []*string{ jsii.String("calendarNames"), }, ComplianceSeverity: jsii.String("complianceSeverity"), DocumentVersion: jsii.String("documentVersion"), InstanceId: jsii.String("instanceId"), MaxConcurrency: jsii.String("maxConcurrency"), MaxErrors: jsii.String("maxErrors"), OutputLocation: &InstanceAssociationOutputLocationProperty{ S3Location: &S3OutputLocationProperty{ OutputS3BucketName: jsii.String("outputS3BucketName"), OutputS3KeyPrefix: jsii.String("outputS3KeyPrefix"), OutputS3Region: jsii.String("outputS3Region"), }, }, Parameters: parameters, ScheduleExpression: jsii.String("scheduleExpression"), ScheduleOffset: jsii.Number(123), SyncCompliance: jsii.String("syncCompliance"), Targets: []interface{}{ &TargetProperty{ Key: jsii.String("key"), Values: []*string{ jsii.String("values"), }, }, }, WaitForSuccessTimeoutSeconds: jsii.Number(123), }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html
type CfnAssociation_InstanceAssociationOutputLocationProperty ¶
type CfnAssociation_InstanceAssociationOutputLocationProperty struct { // `S3OutputLocation` is a property of the [InstanceAssociationOutputLocation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-instanceassociationoutputlocation.html) property that specifies an Amazon S3 bucket where you want to store the results of this request. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-instanceassociationoutputlocation.html#cfn-ssm-association-instanceassociationoutputlocation-s3location // S3Location interface{} `field:"optional" json:"s3Location" yaml:"s3Location"` }
`InstanceAssociationOutputLocation` is a property of the [AWS::SSM::Association](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html) resource that specifies an Amazon S3 bucket where you want to store the results of this association request.
For the minimal permissions required to enable Amazon S3 output for an association, see [Creating associations](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-state-assoc.html) in the *Systems Manager 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" instanceAssociationOutputLocationProperty := &InstanceAssociationOutputLocationProperty{ S3Location: &S3OutputLocationProperty{ OutputS3BucketName: jsii.String("outputS3BucketName"), OutputS3KeyPrefix: jsii.String("outputS3KeyPrefix"), OutputS3Region: jsii.String("outputS3Region"), }, }
type CfnAssociation_S3OutputLocationProperty ¶
type CfnAssociation_S3OutputLocationProperty struct { // The name of the S3 bucket. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-s3outputlocation.html#cfn-ssm-association-s3outputlocation-outputs3bucketname // OutputS3BucketName *string `field:"optional" json:"outputS3BucketName" yaml:"outputS3BucketName"` // The S3 bucket subfolder. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-s3outputlocation.html#cfn-ssm-association-s3outputlocation-outputs3keyprefix // OutputS3KeyPrefix *string `field:"optional" json:"outputS3KeyPrefix" yaml:"outputS3KeyPrefix"` // The AWS Region of the S3 bucket. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-s3outputlocation.html#cfn-ssm-association-s3outputlocation-outputs3region // OutputS3Region *string `field:"optional" json:"outputS3Region" yaml:"outputS3Region"` }
`S3OutputLocation` is a property of the [AWS::SSM::Association](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html) resource that specifies an Amazon S3 bucket where you want to store the results of this association request.
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" s3OutputLocationProperty := &S3OutputLocationProperty{ OutputS3BucketName: jsii.String("outputS3BucketName"), OutputS3KeyPrefix: jsii.String("outputS3KeyPrefix"), OutputS3Region: jsii.String("outputS3Region"), }
type CfnAssociation_TargetProperty ¶
type CfnAssociation_TargetProperty struct { // User-defined criteria for sending commands that target managed nodes that meet the criteria. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-target.html#cfn-ssm-association-target-key // Key *string `field:"required" json:"key" yaml:"key"` // User-defined criteria that maps to `Key` . // // For example, if you specified `tag:ServerRole` , you could specify `value:WebServer` to run a command on instances that include EC2 tags of `ServerRole,WebServer` . // // Depending on the type of target, the maximum number of values for a key might be lower than the global maximum of 50. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-target.html#cfn-ssm-association-target-values // Values *[]*string `field:"required" json:"values" yaml:"values"` }
`Target` is a property of the [AWS::SSM::Association](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html) resource that specifies the targets for an SSM document in Systems Manager . You can target all instances in an AWS account by specifying the `InstanceIds` key with a value of `*` . To view a JSON and a YAML example that targets all instances, see the example "Create an association for all managed instances in an AWS account " later in this page.
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" targetProperty := &TargetProperty{ Key: jsii.String("key"), Values: []*string{ jsii.String("values"), }, }
type CfnDocument ¶
type CfnDocument interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // A list of key-value pairs that describe attachments to a version of a document. Attachments() interface{} SetAttachments(val interface{}) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // The content for the new SSM document in JSON or YAML. Content() interface{} SetContent(val interface{}) // 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 // Specify the document format for the request. DocumentFormat() *string SetDocumentFormat(val *string) // The type of document to create. DocumentType() *string SetDocumentType(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 SSM document. 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 // A list of SSM documents required by a document. Requires() interface{} SetRequires(val interface{}) // 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 // AWS CloudFormation resource tags to apply to the document. TagsRaw() *[]*awscdk.CfnTag SetTagsRaw(val *[]*awscdk.CfnTag) // Specify a target type to define the kinds of resources the document can run on. TargetType() *string SetTargetType(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{} // If the document resource you specify in your template already exists, this parameter determines whether a new version of the existing document is created, or the existing document is replaced. UpdateMethod() *string SetUpdateMethod(val *string) // An optional field specifying the version of the artifact you are creating with the document. VersionName() *string SetVersionName(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{}) }
The `AWS::SSM::Document` resource creates a Systems Manager (SSM) document in AWS Systems Manager .
This document d efines the actions that Systems Manager performs on your AWS resources.
> This resource does not support AWS CloudFormation drift detection.
Example:
var application application var document cfnDocument appconfig.NewSourcedConfiguration(this, jsii.String("MySourcedConfiguration"), &SourcedConfigurationProps{ Application: Application, Location: appconfig.ConfigurationSource_FromCfnDocument(document), })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html
func NewCfnDocument ¶
func NewCfnDocument(scope constructs.Construct, id *string, props *CfnDocumentProps) CfnDocument
type CfnDocumentProps ¶
type CfnDocumentProps struct { // The content for the new SSM document in JSON or YAML. // // For more information about the schemas for SSM document content, see [SSM document schema features and examples](https://docs.aws.amazon.com/systems-manager/latest/userguide/document-schemas-features.html) in the *AWS Systems Manager User Guide* . // // > This parameter also supports `String` data types. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-content // Content interface{} `field:"required" json:"content" yaml:"content"` // A list of key-value pairs that describe attachments to a version of a document. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-attachments // Attachments interface{} `field:"optional" json:"attachments" yaml:"attachments"` // Specify the document format for the request. // // `JSON` is the default format. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-documentformat // // Default: - "JSON". // DocumentFormat *string `field:"optional" json:"documentFormat" yaml:"documentFormat"` // The type of document to create. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-documenttype // DocumentType *string `field:"optional" json:"documentType" yaml:"documentType"` // A name for the SSM document. // // > You can't use the following strings as document name prefixes. These are reserved by AWS for use as document name prefixes: // > // > - `aws` // > - `amazon` // > - `amzn` // > - `AWSEC2` // > - `AWSConfigRemediation` // > - `AWSSupport`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-name // Name *string `field:"optional" json:"name" yaml:"name"` // A list of SSM documents required by a document. // // This parameter is used exclusively by AWS AppConfig . When a user creates an AWS AppConfig configuration in an SSM document, the user must also specify a required document for validation purposes. In this case, an `ApplicationConfiguration` document requires an `ApplicationConfigurationSchema` document for validation purposes. For more information, see [What is AWS AppConfig ?](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) in the *AWS AppConfig User Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-requires // Requires interface{} `field:"optional" json:"requires" yaml:"requires"` // AWS CloudFormation resource tags to apply to the document. // // Use tags to help you identify and categorize resources. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // Specify a target type to define the kinds of resources the document can run on. // // For example, to run a document on EC2 instances, specify the following value: `/AWS::EC2::Instance` . If you specify a value of '/' the document can run on all types of resources. If you don't specify a value, the document can't run on any resources. For a list of valid resource types, see [AWS resource and property types reference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) in the *AWS CloudFormation User Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-targettype // TargetType *string `field:"optional" json:"targetType" yaml:"targetType"` // If the document resource you specify in your template already exists, this parameter determines whether a new version of the existing document is created, or the existing document is replaced. // // `Replace` is the default method. If you specify `NewVersion` for the `UpdateMethod` parameter, and the `Name` of the document does not match an existing resource, a new document is created. When you specify `NewVersion` , the default version of the document is changed to the newly created version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-updatemethod // // Default: - "Replace". // UpdateMethod *string `field:"optional" json:"updateMethod" yaml:"updateMethod"` // An optional field specifying the version of the artifact you are creating with the document. // // For example, `Release12.1` . This value is unique across all versions of a document, and can't be changed. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-versionname // VersionName *string `field:"optional" json:"versionName" yaml:"versionName"` }
Properties for defining a `CfnDocument`.
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 content interface{} cfnDocumentProps := &CfnDocumentProps{ Content: content, // the properties below are optional Attachments: []interface{}{ &AttachmentsSourceProperty{ Key: jsii.String("key"), Name: jsii.String("name"), Values: []*string{ jsii.String("values"), }, }, }, DocumentFormat: jsii.String("documentFormat"), DocumentType: jsii.String("documentType"), Name: jsii.String("name"), Requires: []interface{}{ &DocumentRequiresProperty{ Name: jsii.String("name"), Version: jsii.String("version"), }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, TargetType: jsii.String("targetType"), UpdateMethod: jsii.String("updateMethod"), VersionName: jsii.String("versionName"), }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html
type CfnDocument_AttachmentsSourceProperty ¶
type CfnDocument_AttachmentsSourceProperty struct { // The key of a key-value pair that identifies the location of an attachment to a document. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-document-attachmentssource.html#cfn-ssm-document-attachmentssource-key // Key *string `field:"optional" json:"key" yaml:"key"` // The name of the document attachment file. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-document-attachmentssource.html#cfn-ssm-document-attachmentssource-name // Name *string `field:"optional" json:"name" yaml:"name"` // The value of a key-value pair that identifies the location of an attachment to a document. // // The format for *Value* depends on the type of key you specify. // // - For the key *SourceUrl* , the value is an S3 bucket location. For example: // // `"Values": [ "s3://amzn-s3-demo-bucket/my-prefix" ]` // - For the key *S3FileUrl* , the value is a file in an S3 bucket. For example: // // `"Values": [ "s3://amzn-s3-demo-bucket/my-prefix/my-file.py" ]` // - For the key *AttachmentReference* , the value is constructed from the name of another SSM document in your account, a version number of that document, and a file attached to that document version that you want to reuse. For example: // // `"Values": [ "MyOtherDocument/3/my-other-file.py" ]` // // However, if the SSM document is shared with you from another account, the full SSM document ARN must be specified instead of the document name only. For example: // // `"Values": [ "arn:aws:ssm:us-east-2:111122223333:document/OtherAccountDocument/3/their-file.py" ]` // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-document-attachmentssource.html#cfn-ssm-document-attachmentssource-values // Values *[]*string `field:"optional" json:"values" yaml:"values"` }
Identifying information about a document attachment, including the file name and a key-value pair that identifies the location of an attachment to a document.
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" attachmentsSourceProperty := &AttachmentsSourceProperty{ Key: jsii.String("key"), Name: jsii.String("name"), Values: []*string{ jsii.String("values"), }, }
type CfnDocument_DocumentRequiresProperty ¶
type CfnDocument_DocumentRequiresProperty struct { // The name of the required SSM document. // // The name can be an Amazon Resource Name (ARN). // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-document-documentrequires.html#cfn-ssm-document-documentrequires-name // Name *string `field:"optional" json:"name" yaml:"name"` // The document version required by the current document. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-document-documentrequires.html#cfn-ssm-document-documentrequires-version // Version *string `field:"optional" json:"version" yaml:"version"` }
An SSM document required by the current document.
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" documentRequiresProperty := &DocumentRequiresProperty{ Name: jsii.String("name"), Version: jsii.String("version"), }
type CfnMaintenanceWindow ¶
type CfnMaintenanceWindow interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // Enables a maintenance window task to run on managed instances, even if you have not registered those instances as targets. AllowUnassociatedTargets() interface{} SetAllowUnassociatedTargets(val interface{}) AttrId() *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 number of hours before the end of the maintenance window that AWS Systems Manager stops scheduling new tasks for execution. Cutoff() *float64 SetCutoff(val *float64) // A description of the maintenance window. Description() *string SetDescription(val *string) // The duration of the maintenance window in hours. Duration() *float64 SetDuration(val *float64) // The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive. EndDate() *string SetEndDate(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 name of the maintenance window. 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 schedule of the maintenance window in the form of a cron or rate expression. Schedule() *string SetSchedule(val *string) // The number of days to wait to run a maintenance window after the scheduled cron expression date and time. ScheduleOffset() *float64 SetScheduleOffset(val *float64) // The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. ScheduleTimezone() *string SetScheduleTimezone(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. StartDate() *string SetStartDate(val *string) // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // Optional metadata that you assign to a resource in the form of an arbitrary set of tags (key-value pairs). 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{}) }
The `AWS::SSM::MaintenanceWindow` resource represents general information about a maintenance window for AWS Systems Manager .
Maintenance windows let you define a schedule for when to perform potentially disruptive actions on your instances, such as patching an operating system (OS), updating drivers, or installing software. Each maintenance window has a schedule, a duration, a set of registered targets, and a set of registered tasks.
For more information, see [Systems Manager Maintenance Windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html) in the *AWS Systems Manager User Guide* and [CreateMaintenanceWindow](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_CreateMaintenanceWindow.html) in the *AWS Systems Manager API Reference* .
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" cfnMaintenanceWindow := awscdk.Aws_ssm.NewCfnMaintenanceWindow(this, jsii.String("MyCfnMaintenanceWindow"), &CfnMaintenanceWindowProps{ AllowUnassociatedTargets: jsii.Boolean(false), Cutoff: jsii.Number(123), Duration: jsii.Number(123), Name: jsii.String("name"), Schedule: jsii.String("schedule"), // the properties below are optional Description: jsii.String("description"), EndDate: jsii.String("endDate"), ScheduleOffset: jsii.Number(123), ScheduleTimezone: jsii.String("scheduleTimezone"), StartDate: jsii.String("startDate"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
func NewCfnMaintenanceWindow ¶
func NewCfnMaintenanceWindow(scope constructs.Construct, id *string, props *CfnMaintenanceWindowProps) CfnMaintenanceWindow
type CfnMaintenanceWindowProps ¶
type CfnMaintenanceWindowProps struct { // Enables a maintenance window task to run on managed instances, even if you have not registered those instances as targets. // // If enabled, then you must specify the unregistered instances (by instance ID) when you register a task with the maintenance window. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-allowunassociatedtargets // AllowUnassociatedTargets interface{} `field:"required" json:"allowUnassociatedTargets" yaml:"allowUnassociatedTargets"` // The number of hours before the end of the maintenance window that AWS Systems Manager stops scheduling new tasks for execution. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-cutoff // Cutoff *float64 `field:"required" json:"cutoff" yaml:"cutoff"` // The duration of the maintenance window in hours. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-duration // Duration *float64 `field:"required" json:"duration" yaml:"duration"` // The name of the maintenance window. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-name // Name *string `field:"required" json:"name" yaml:"name"` // The schedule of the maintenance window in the form of a cron or rate expression. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-schedule // Schedule *string `field:"required" json:"schedule" yaml:"schedule"` // A description of the maintenance window. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-description // Description *string `field:"optional" json:"description" yaml:"description"` // The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-enddate // EndDate *string `field:"optional" json:"endDate" yaml:"endDate"` // The number of days to wait to run a maintenance window after the scheduled cron expression date and time. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-scheduleoffset // ScheduleOffset *float64 `field:"optional" json:"scheduleOffset" yaml:"scheduleOffset"` // The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-scheduletimezone // ScheduleTimezone *string `field:"optional" json:"scheduleTimezone" yaml:"scheduleTimezone"` // The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. // // `StartDate` allows you to delay activation of the maintenance window until the specified future date. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-startdate // StartDate *string `field:"optional" json:"startDate" yaml:"startDate"` // Optional metadata that you assign to a resource in the form of an arbitrary set of tags (key-value pairs). // // Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a maintenance window to identify the type of tasks it will run, the types of targets, and the environment it will run in. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnMaintenanceWindow`.
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" cfnMaintenanceWindowProps := &CfnMaintenanceWindowProps{ AllowUnassociatedTargets: jsii.Boolean(false), Cutoff: jsii.Number(123), Duration: jsii.Number(123), Name: jsii.String("name"), Schedule: jsii.String("schedule"), // the properties below are optional Description: jsii.String("description"), EndDate: jsii.String("endDate"), ScheduleOffset: jsii.Number(123), ScheduleTimezone: jsii.String("scheduleTimezone"), StartDate: jsii.String("startDate"), Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
type CfnMaintenanceWindowTarget ¶
type CfnMaintenanceWindowTarget interface { awscdk.CfnResource awscdk.IInspectable AttrId() *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 // A description for the target. 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 // The name for the maintenance window target. Name() *string SetName(val *string) // The tree node. Node() constructs.Node // A user-provided value that will be included in any Amazon CloudWatch Events events that are raised while running tasks for these targets in this maintenance window. OwnerInformation() *string SetOwnerInformation(val *string) // 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 type of target that is being registered with the maintenance window. ResourceType() *string SetResourceType(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The targets to register with the maintenance window. Targets() interface{} SetTargets(val interface{}) // 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{} // The ID of the maintenance window to register the target with. WindowId() *string SetWindowId(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{}) }
The `AWS::SSM::MaintenanceWindowTarget` resource registers a target with a maintenance window for AWS Systems Manager .
For more information, see [RegisterTargetWithMaintenanceWindow](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_RegisterTargetWithMaintenanceWindow.html) in the *AWS Systems Manager API Reference* .
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" cfnMaintenanceWindowTarget := awscdk.Aws_ssm.NewCfnMaintenanceWindowTarget(this, jsii.String("MyCfnMaintenanceWindowTarget"), &CfnMaintenanceWindowTargetProps{ ResourceType: jsii.String("resourceType"), Targets: []interface{}{ &TargetsProperty{ Key: jsii.String("key"), Values: []*string{ jsii.String("values"), }, }, }, WindowId: jsii.String("windowId"), // the properties below are optional Description: jsii.String("description"), Name: jsii.String("name"), OwnerInformation: jsii.String("ownerInformation"), })
func NewCfnMaintenanceWindowTarget ¶
func NewCfnMaintenanceWindowTarget(scope constructs.Construct, id *string, props *CfnMaintenanceWindowTargetProps) CfnMaintenanceWindowTarget
type CfnMaintenanceWindowTargetProps ¶
type CfnMaintenanceWindowTargetProps struct { // The type of target that is being registered with the maintenance window. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-resourcetype // ResourceType *string `field:"required" json:"resourceType" yaml:"resourceType"` // The targets to register with the maintenance window. // // In other words, the instances to run commands on when the maintenance window runs. // // You must specify targets by using the `WindowTargetIds` parameter. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-targets // Targets interface{} `field:"required" json:"targets" yaml:"targets"` // The ID of the maintenance window to register the target with. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-windowid // WindowId *string `field:"required" json:"windowId" yaml:"windowId"` // A description for the target. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-description // Description *string `field:"optional" json:"description" yaml:"description"` // The name for the maintenance window target. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-name // Name *string `field:"optional" json:"name" yaml:"name"` // A user-provided value that will be included in any Amazon CloudWatch Events events that are raised while running tasks for these targets in this maintenance window. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-ownerinformation // OwnerInformation *string `field:"optional" json:"ownerInformation" yaml:"ownerInformation"` }
Properties for defining a `CfnMaintenanceWindowTarget`.
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" cfnMaintenanceWindowTargetProps := &CfnMaintenanceWindowTargetProps{ ResourceType: jsii.String("resourceType"), Targets: []interface{}{ &TargetsProperty{ Key: jsii.String("key"), Values: []*string{ jsii.String("values"), }, }, }, WindowId: jsii.String("windowId"), // the properties below are optional Description: jsii.String("description"), Name: jsii.String("name"), OwnerInformation: jsii.String("ownerInformation"), }
type CfnMaintenanceWindowTarget_TargetsProperty ¶
type CfnMaintenanceWindowTarget_TargetsProperty struct { // User-defined criteria for sending commands that target managed nodes that meet the criteria. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtarget-targets.html#cfn-ssm-maintenancewindowtarget-targets-key // Key *string `field:"required" json:"key" yaml:"key"` // User-defined criteria that maps to `Key` . // // For example, if you specified `tag:ServerRole` , you could specify `value:WebServer` to run a command on instances that include EC2 tags of `ServerRole,WebServer` . // // Depending on the type of target, the maximum number of values for a key might be lower than the global maximum of 50. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtarget-targets.html#cfn-ssm-maintenancewindowtarget-targets-values // Values *[]*string `field:"required" json:"values" yaml:"values"` }
The `Targets` property type specifies adding a target to a maintenance window target in AWS Systems Manager .
`Targets` is a property of the [AWS::SSM::MaintenanceWindowTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html) resource.
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" targetsProperty := &TargetsProperty{ Key: jsii.String("key"), Values: []*string{ jsii.String("values"), }, }
type CfnMaintenanceWindowTask ¶
type CfnMaintenanceWindowTask interface { awscdk.CfnResource awscdk.IInspectable AttrId() *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 specification for whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached. CutoffBehavior() *string SetCutoffBehavior(val *string) // A description of the task. Description() *string SetDescription(val *string) // Information about an Amazon S3 bucket to write Run Command task-level logs to. LoggingInfo() interface{} SetLoggingInfo(val interface{}) // 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 maximum number of targets this task can be run for, in parallel. MaxConcurrency() *string SetMaxConcurrency(val *string) // The maximum number of errors allowed before this task stops being scheduled. MaxErrors() *string SetMaxErrors(val *string) // The task name. Name() *string SetName(val *string) // The tree node. Node() constructs.Node // The priority of the task in the maintenance window. Priority() *float64 SetPriority(val *float64) // 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 Amazon Resource Name (ARN) of the IAM service role for AWS Systems Manager to assume when running a maintenance window task. ServiceRoleArn() *string SetServiceRoleArn(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The targets, either instances or window target IDs. Targets() interface{} SetTargets(val interface{}) // The resource that the task uses during execution. TaskArn() *string SetTaskArn(val *string) // The parameters to pass to the task when it runs. TaskInvocationParameters() interface{} SetTaskInvocationParameters(val interface{}) // The parameters to pass to the task when it runs. TaskParameters() interface{} SetTaskParameters(val interface{}) // The type of task. TaskType() *string SetTaskType(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{} // The ID of the maintenance window where the task is registered. WindowId() *string SetWindowId(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{}) }
The `AWS::SSM::MaintenanceWindowTask` resource defines information about a task for an AWS Systems Manager maintenance window.
For more information, see [RegisterTaskWithMaintenanceWindow](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_RegisterTaskWithMaintenanceWindow.html) in the *AWS Systems Manager API Reference* .
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 parameters interface{} var taskParameters interface{} cfnMaintenanceWindowTask := awscdk.Aws_ssm.NewCfnMaintenanceWindowTask(this, jsii.String("MyCfnMaintenanceWindowTask"), &CfnMaintenanceWindowTaskProps{ Priority: jsii.Number(123), TaskArn: jsii.String("taskArn"), TaskType: jsii.String("taskType"), WindowId: jsii.String("windowId"), // the properties below are optional CutoffBehavior: jsii.String("cutoffBehavior"), Description: jsii.String("description"), LoggingInfo: &LoggingInfoProperty{ Region: jsii.String("region"), S3Bucket: jsii.String("s3Bucket"), // the properties below are optional S3Prefix: jsii.String("s3Prefix"), }, MaxConcurrency: jsii.String("maxConcurrency"), MaxErrors: jsii.String("maxErrors"), Name: jsii.String("name"), ServiceRoleArn: jsii.String("serviceRoleArn"), Targets: []interface{}{ &TargetProperty{ Key: jsii.String("key"), Values: []*string{ jsii.String("values"), }, }, }, TaskInvocationParameters: &TaskInvocationParametersProperty{ MaintenanceWindowAutomationParameters: &MaintenanceWindowAutomationParametersProperty{ DocumentVersion: jsii.String("documentVersion"), Parameters: parameters, }, MaintenanceWindowLambdaParameters: &MaintenanceWindowLambdaParametersProperty{ ClientContext: jsii.String("clientContext"), Payload: jsii.String("payload"), Qualifier: jsii.String("qualifier"), }, MaintenanceWindowRunCommandParameters: &MaintenanceWindowRunCommandParametersProperty{ CloudWatchOutputConfig: &CloudWatchOutputConfigProperty{ CloudWatchLogGroupName: jsii.String("cloudWatchLogGroupName"), CloudWatchOutputEnabled: jsii.Boolean(false), }, Comment: jsii.String("comment"), DocumentHash: jsii.String("documentHash"), DocumentHashType: jsii.String("documentHashType"), DocumentVersion: jsii.String("documentVersion"), NotificationConfig: &NotificationConfigProperty{ NotificationArn: jsii.String("notificationArn"), // the properties below are optional NotificationEvents: []*string{ jsii.String("notificationEvents"), }, NotificationType: jsii.String("notificationType"), }, OutputS3BucketName: jsii.String("outputS3BucketName"), OutputS3KeyPrefix: jsii.String("outputS3KeyPrefix"), Parameters: parameters, ServiceRoleArn: jsii.String("serviceRoleArn"), TimeoutSeconds: jsii.Number(123), }, MaintenanceWindowStepFunctionsParameters: &MaintenanceWindowStepFunctionsParametersProperty{ Input: jsii.String("input"), Name: jsii.String("name"), }, }, TaskParameters: taskParameters, })
func NewCfnMaintenanceWindowTask ¶
func NewCfnMaintenanceWindowTask(scope constructs.Construct, id *string, props *CfnMaintenanceWindowTaskProps) CfnMaintenanceWindowTask
type CfnMaintenanceWindowTaskProps ¶
type CfnMaintenanceWindowTaskProps struct { // The priority of the task in the maintenance window. // // The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-priority // Priority *float64 `field:"required" json:"priority" yaml:"priority"` // The resource that the task uses during execution. // // For `RUN_COMMAND` and `AUTOMATION` task types, `TaskArn` is the SSM document name or Amazon Resource Name (ARN). // // For `LAMBDA` tasks, `TaskArn` is the function name or ARN. // // For `STEP_FUNCTIONS` tasks, `TaskArn` is the state machine ARN. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-taskarn // TaskArn *string `field:"required" json:"taskArn" yaml:"taskArn"` // The type of task. // // Valid values: `RUN_COMMAND` , `AUTOMATION` , `LAMBDA` , `STEP_FUNCTIONS` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-tasktype // TaskType *string `field:"required" json:"taskType" yaml:"taskType"` // The ID of the maintenance window where the task is registered. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-windowid // WindowId *string `field:"required" json:"windowId" yaml:"windowId"` // The specification for whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-cutoffbehavior // CutoffBehavior *string `field:"optional" json:"cutoffBehavior" yaml:"cutoffBehavior"` // A description of the task. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-description // Description *string `field:"optional" json:"description" yaml:"description"` // Information about an Amazon S3 bucket to write Run Command task-level logs to. // // > `LoggingInfo` has been deprecated. To specify an Amazon S3 bucket to contain logs for Run Command tasks, instead use the `OutputS3BucketName` and `OutputS3KeyPrefix` options in the `TaskInvocationParameters` structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see [AWS ::SSM::MaintenanceWindowTask MaintenanceWindowRunCommandParameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-logginginfo // LoggingInfo interface{} `field:"optional" json:"loggingInfo" yaml:"loggingInfo"` // The maximum number of targets this task can be run for, in parallel. // // > Although this element is listed as "Required: No", a value can be omitted only when you are registering or updating a [targetless task](https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html) You must provide a value in all other cases. // > // > For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of `1` . This value doesn't affect the running of your task. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-maxconcurrency // MaxConcurrency *string `field:"optional" json:"maxConcurrency" yaml:"maxConcurrency"` // The maximum number of errors allowed before this task stops being scheduled. // // > Although this element is listed as "Required: No", a value can be omitted only when you are registering or updating a [targetless task](https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html) You must provide a value in all other cases. // > // > For maintenance window tasks without a target specified, you can't supply a value for this option. Instead, the system inserts a placeholder value of `1` . This value doesn't affect the running of your task. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-maxerrors // MaxErrors *string `field:"optional" json:"maxErrors" yaml:"maxErrors"` // The task name. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-name // Name *string `field:"optional" json:"name" yaml:"name"` // The Amazon Resource Name (ARN) of the IAM service role for AWS Systems Manager to assume when running a maintenance window task. // // If you do not specify a service role ARN, Systems Manager uses a service-linked role in your account. If no appropriate service-linked role for Systems Manager exists in your account, it is created when you run `RegisterTaskWithMaintenanceWindow` . // // However, for an improved security posture, we strongly recommend creating a custom policy and custom service role for running your maintenance window tasks. The policy can be crafted to provide only the permissions needed for your particular maintenance window tasks. For more information, see [Setting up maintenance windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html) in the in the *AWS Systems Manager User Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-servicerolearn // ServiceRoleArn *string `field:"optional" json:"serviceRoleArn" yaml:"serviceRoleArn"` // The targets, either instances or window target IDs. // // - Specify instances using `Key=InstanceIds,Values= *instanceid1* , *instanceid2*` . // - Specify window target IDs using `Key=WindowTargetIds,Values= *window-target-id-1* , *window-target-id-2*` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-targets // Targets interface{} `field:"optional" json:"targets" yaml:"targets"` // The parameters to pass to the task when it runs. // // Populate only the fields that match the task type. All other fields should be empty. // // > When you update a maintenance window task that has options specified in `TaskInvocationParameters` , you must provide again all the `TaskInvocationParameters` values that you want to retain. The values you do not specify again are removed. For example, suppose that when you registered a Run Command task, you specified `TaskInvocationParameters` values for `Comment` , `NotificationConfig` , and `OutputS3BucketName` . If you update the maintenance window task and specify only a different `OutputS3BucketName` value, the values for `Comment` and `NotificationConfig` are removed. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-taskinvocationparameters // TaskInvocationParameters interface{} `field:"optional" json:"taskInvocationParameters" yaml:"taskInvocationParameters"` // The parameters to pass to the task when it runs. // // > `TaskParameters` has been deprecated. To specify parameters to pass to a task when it runs, instead use the `Parameters` option in the `TaskInvocationParameters` structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see [MaintenanceWindowTaskInvocationParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_MaintenanceWindowTaskInvocationParameters.html) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-taskparameters // TaskParameters interface{} `field:"optional" json:"taskParameters" yaml:"taskParameters"` }
Properties for defining a `CfnMaintenanceWindowTask`.
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 parameters interface{} var taskParameters interface{} cfnMaintenanceWindowTaskProps := &CfnMaintenanceWindowTaskProps{ Priority: jsii.Number(123), TaskArn: jsii.String("taskArn"), TaskType: jsii.String("taskType"), WindowId: jsii.String("windowId"), // the properties below are optional CutoffBehavior: jsii.String("cutoffBehavior"), Description: jsii.String("description"), LoggingInfo: &LoggingInfoProperty{ Region: jsii.String("region"), S3Bucket: jsii.String("s3Bucket"), // the properties below are optional S3Prefix: jsii.String("s3Prefix"), }, MaxConcurrency: jsii.String("maxConcurrency"), MaxErrors: jsii.String("maxErrors"), Name: jsii.String("name"), ServiceRoleArn: jsii.String("serviceRoleArn"), Targets: []interface{}{ &TargetProperty{ Key: jsii.String("key"), Values: []*string{ jsii.String("values"), }, }, }, TaskInvocationParameters: &TaskInvocationParametersProperty{ MaintenanceWindowAutomationParameters: &MaintenanceWindowAutomationParametersProperty{ DocumentVersion: jsii.String("documentVersion"), Parameters: parameters, }, MaintenanceWindowLambdaParameters: &MaintenanceWindowLambdaParametersProperty{ ClientContext: jsii.String("clientContext"), Payload: jsii.String("payload"), Qualifier: jsii.String("qualifier"), }, MaintenanceWindowRunCommandParameters: &MaintenanceWindowRunCommandParametersProperty{ CloudWatchOutputConfig: &CloudWatchOutputConfigProperty{ CloudWatchLogGroupName: jsii.String("cloudWatchLogGroupName"), CloudWatchOutputEnabled: jsii.Boolean(false), }, Comment: jsii.String("comment"), DocumentHash: jsii.String("documentHash"), DocumentHashType: jsii.String("documentHashType"), DocumentVersion: jsii.String("documentVersion"), NotificationConfig: &NotificationConfigProperty{ NotificationArn: jsii.String("notificationArn"), // the properties below are optional NotificationEvents: []*string{ jsii.String("notificationEvents"), }, NotificationType: jsii.String("notificationType"), }, OutputS3BucketName: jsii.String("outputS3BucketName"), OutputS3KeyPrefix: jsii.String("outputS3KeyPrefix"), Parameters: parameters, ServiceRoleArn: jsii.String("serviceRoleArn"), TimeoutSeconds: jsii.Number(123), }, MaintenanceWindowStepFunctionsParameters: &MaintenanceWindowStepFunctionsParametersProperty{ Input: jsii.String("input"), Name: jsii.String("name"), }, }, TaskParameters: taskParameters, }
type CfnMaintenanceWindowTask_CloudWatchOutputConfigProperty ¶ added in v2.10.0
type CfnMaintenanceWindowTask_CloudWatchOutputConfigProperty struct { // The name of the CloudWatch Logs log group where you want to send command output. // // If you don't specify a group name, AWS Systems Manager automatically creates a log group for you. The log group uses the following naming format: // // `aws/ssm/ *SystemsManagerDocumentName*`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-cloudwatchoutputconfig.html#cfn-ssm-maintenancewindowtask-cloudwatchoutputconfig-cloudwatchloggroupname // CloudWatchLogGroupName *string `field:"optional" json:"cloudWatchLogGroupName" yaml:"cloudWatchLogGroupName"` // Enables Systems Manager to send command output to CloudWatch Logs. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-cloudwatchoutputconfig.html#cfn-ssm-maintenancewindowtask-cloudwatchoutputconfig-cloudwatchoutputenabled // CloudWatchOutputEnabled interface{} `field:"optional" json:"cloudWatchOutputEnabled" yaml:"cloudWatchOutputEnabled"` }
Configuration options for sending command output to Amazon CloudWatch Logs.
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" cloudWatchOutputConfigProperty := &CloudWatchOutputConfigProperty{ CloudWatchLogGroupName: jsii.String("cloudWatchLogGroupName"), CloudWatchOutputEnabled: jsii.Boolean(false), }
type CfnMaintenanceWindowTask_LoggingInfoProperty ¶
type CfnMaintenanceWindowTask_LoggingInfoProperty struct { // The AWS Region where the S3 bucket is located. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-logginginfo.html#cfn-ssm-maintenancewindowtask-logginginfo-region // Region *string `field:"required" json:"region" yaml:"region"` // The name of an S3 bucket where execution logs are stored. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-logginginfo.html#cfn-ssm-maintenancewindowtask-logginginfo-s3bucket // S3Bucket *string `field:"required" json:"s3Bucket" yaml:"s3Bucket"` // The Amazon S3 bucket subfolder. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-logginginfo.html#cfn-ssm-maintenancewindowtask-logginginfo-s3prefix // S3Prefix *string `field:"optional" json:"s3Prefix" yaml:"s3Prefix"` }
The `LoggingInfo` property type specifies information about the Amazon S3 bucket to write instance-level logs to.
`LoggingInfo` is a property of the [AWS::SSM::MaintenanceWindowTask](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html) resource.
> `LoggingInfo` has been deprecated. To specify an Amazon S3 bucket to contain logs, instead use the `OutputS3BucketName` and `OutputS3KeyPrefix` options in the `TaskInvocationParameters` structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see [AWS ::SSM::MaintenanceWindowTask MaintenanceWindowRunCommandParameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html) .
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" loggingInfoProperty := &LoggingInfoProperty{ Region: jsii.String("region"), S3Bucket: jsii.String("s3Bucket"), // the properties below are optional S3Prefix: jsii.String("s3Prefix"), }
type CfnMaintenanceWindowTask_MaintenanceWindowAutomationParametersProperty ¶
type CfnMaintenanceWindowTask_MaintenanceWindowAutomationParametersProperty struct { // The version of an Automation runbook to use during task execution. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowautomationparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowautomationparameters-documentversion // DocumentVersion *string `field:"optional" json:"documentVersion" yaml:"documentVersion"` // The parameters for the `AUTOMATION` type task. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowautomationparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowautomationparameters-parameters // Parameters interface{} `field:"optional" json:"parameters" yaml:"parameters"` }
The `MaintenanceWindowAutomationParameters` property type specifies the parameters for an `AUTOMATION` task type for a maintenance window task in AWS Systems Manager .
`MaintenanceWindowAutomationParameters` is a property of the [TaskInvocationParameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html) property type.
For information about available parameters in Automation runbooks, you can view the content of the runbook itself in the Systems Manager console. For information, see [View runbook content](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents-reference-details.html#view-automation-json) in the *AWS Systems Manager 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 parameters interface{} maintenanceWindowAutomationParametersProperty := &MaintenanceWindowAutomationParametersProperty{ DocumentVersion: jsii.String("documentVersion"), Parameters: parameters, }
type CfnMaintenanceWindowTask_MaintenanceWindowLambdaParametersProperty ¶
type CfnMaintenanceWindowTask_MaintenanceWindowLambdaParametersProperty struct { // Client-specific information to pass to the AWS Lambda function that you're invoking. // // You can then use the `context` variable to process the client information in your AWS Lambda function. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowlambdaparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowlambdaparameters-clientcontext // ClientContext *string `field:"optional" json:"clientContext" yaml:"clientContext"` // JSON to provide to your AWS Lambda function as input. // // > Although `Type` is listed as "String" for this property, the payload content must be formatted as a Base64-encoded binary data object. // // *Length Constraint:* 4096. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowlambdaparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowlambdaparameters-payload // Payload *string `field:"optional" json:"payload" yaml:"payload"` // An AWS Lambda function version or alias name. // // If you specify a function version, the action uses the qualified function Amazon Resource Name (ARN) to invoke a specific Lambda function. If you specify an alias name, the action uses the alias ARN to invoke the Lambda function version that the alias points to. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowlambdaparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowlambdaparameters-qualifier // Qualifier *string `field:"optional" json:"qualifier" yaml:"qualifier"` }
The `MaintenanceWindowLambdaParameters` property type specifies the parameters for a `LAMBDA` task type for a maintenance window task in AWS Systems Manager .
`MaintenanceWindowLambdaParameters` is a property of the [TaskInvocationParameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html) property type.
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" maintenanceWindowLambdaParametersProperty := &MaintenanceWindowLambdaParametersProperty{ ClientContext: jsii.String("clientContext"), Payload: jsii.String("payload"), Qualifier: jsii.String("qualifier"), }
type CfnMaintenanceWindowTask_MaintenanceWindowRunCommandParametersProperty ¶
type CfnMaintenanceWindowTask_MaintenanceWindowRunCommandParametersProperty struct { // Configuration options for sending command output to Amazon CloudWatch Logs. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-cloudwatchoutputconfig // CloudWatchOutputConfig interface{} `field:"optional" json:"cloudWatchOutputConfig" yaml:"cloudWatchOutputConfig"` // Information about the command or commands to run. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-comment // Comment *string `field:"optional" json:"comment" yaml:"comment"` // The SHA-256 or SHA-1 hash created by the system when the document was created. // // SHA-1 hashes have been deprecated. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-documenthash // DocumentHash *string `field:"optional" json:"documentHash" yaml:"documentHash"` // The SHA-256 or SHA-1 hash type. // // SHA-1 hashes are deprecated. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-documenthashtype // DocumentHashType *string `field:"optional" json:"documentHashType" yaml:"documentHashType"` // The AWS Systems Manager document (SSM document) version to use in the request. // // You can specify `$DEFAULT` , `$LATEST` , or a specific version number. If you run commands by using the AWS CLI, then you must escape the first two options by using a backslash. If you specify a version number, then you don't need to use the backslash. For example: // // `--document-version "\$DEFAULT"` // // `--document-version "\$LATEST"` // // `--document-version "3"`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-documentversion // DocumentVersion *string `field:"optional" json:"documentVersion" yaml:"documentVersion"` // Configurations for sending notifications about command status changes on a per-managed node basis. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-notificationconfig // NotificationConfig interface{} `field:"optional" json:"notificationConfig" yaml:"notificationConfig"` // The name of the Amazon Simple Storage Service (Amazon S3) bucket. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-outputs3bucketname // OutputS3BucketName *string `field:"optional" json:"outputS3BucketName" yaml:"outputS3BucketName"` // The S3 bucket subfolder. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-outputs3keyprefix // OutputS3KeyPrefix *string `field:"optional" json:"outputS3KeyPrefix" yaml:"outputS3KeyPrefix"` // The parameters for the `RUN_COMMAND` task execution. // // The supported parameters are the same as those for the `SendCommand` API call. For more information, see [SendCommand](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html) in the *AWS Systems Manager API Reference* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-parameters // Parameters interface{} `field:"optional" json:"parameters" yaml:"parameters"` // The Amazon Resource Name (ARN) of the IAM service role for AWS Systems Manager to assume when running a maintenance window task. // // If you do not specify a service role ARN, Systems Manager uses a service-linked role in your account. If no appropriate service-linked role for Systems Manager exists in your account, it is created when you run `RegisterTaskWithMaintenanceWindow` . // // However, for an improved security posture, we strongly recommend creating a custom policy and custom service role for running your maintenance window tasks. The policy can be crafted to provide only the permissions needed for your particular maintenance window tasks. For more information, see [Setting up maintenance windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html) in the in the *AWS Systems Manager User Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-servicerolearn // ServiceRoleArn *string `field:"optional" json:"serviceRoleArn" yaml:"serviceRoleArn"` // If this time is reached and the command hasn't already started running, it doesn't run. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-timeoutseconds // TimeoutSeconds *float64 `field:"optional" json:"timeoutSeconds" yaml:"timeoutSeconds"` }
The `MaintenanceWindowRunCommandParameters` property type specifies the parameters for a `RUN_COMMAND` task type for a maintenance window task in AWS Systems Manager .
This means that these parameters are the same as those for the `SendCommand` API call. For more information about `SendCommand` parameters, see [SendCommand](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html) in the *AWS Systems Manager API Reference* .
For information about available parameters in SSM Command documents, you can view the content of the document itself in the Systems Manager console. For information, see [Viewing SSM command document content](https://docs.aws.amazon.com/systems-manager/latest/userguide/viewing-ssm-document-content.html) in the *AWS Systems Manager User Guide* .
`MaintenanceWindowRunCommandParameters` is a property of the [TaskInvocationParameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html) property type.
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 parameters interface{} maintenanceWindowRunCommandParametersProperty := &MaintenanceWindowRunCommandParametersProperty{ CloudWatchOutputConfig: &CloudWatchOutputConfigProperty{ CloudWatchLogGroupName: jsii.String("cloudWatchLogGroupName"), CloudWatchOutputEnabled: jsii.Boolean(false), }, Comment: jsii.String("comment"), DocumentHash: jsii.String("documentHash"), DocumentHashType: jsii.String("documentHashType"), DocumentVersion: jsii.String("documentVersion"), NotificationConfig: &NotificationConfigProperty{ NotificationArn: jsii.String("notificationArn"), // the properties below are optional NotificationEvents: []*string{ jsii.String("notificationEvents"), }, NotificationType: jsii.String("notificationType"), }, OutputS3BucketName: jsii.String("outputS3BucketName"), OutputS3KeyPrefix: jsii.String("outputS3KeyPrefix"), Parameters: parameters, ServiceRoleArn: jsii.String("serviceRoleArn"), TimeoutSeconds: jsii.Number(123), }
type CfnMaintenanceWindowTask_MaintenanceWindowStepFunctionsParametersProperty ¶
type CfnMaintenanceWindowTask_MaintenanceWindowStepFunctionsParametersProperty struct { // The inputs for the `STEP_FUNCTIONS` task. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowstepfunctionsparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowstepfunctionsparameters-input // Input *string `field:"optional" json:"input" yaml:"input"` // The name of the `STEP_FUNCTIONS` task. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowstepfunctionsparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowstepfunctionsparameters-name // Name *string `field:"optional" json:"name" yaml:"name"` }
The `MaintenanceWindowStepFunctionsParameters` property type specifies the parameters for the execution of a `STEP_FUNCTIONS` task in a Systems Manager maintenance window.
`MaintenanceWindowStepFunctionsParameters` is a property of the [TaskInvocationParameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html) property type.
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" maintenanceWindowStepFunctionsParametersProperty := &MaintenanceWindowStepFunctionsParametersProperty{ Input: jsii.String("input"), Name: jsii.String("name"), }
type CfnMaintenanceWindowTask_NotificationConfigProperty ¶
type CfnMaintenanceWindowTask_NotificationConfigProperty struct { // An Amazon Resource Name (ARN) for an Amazon Simple Notification Service (Amazon SNS) topic. // // Run Command pushes notifications about command status changes to this topic. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-notificationconfig.html#cfn-ssm-maintenancewindowtask-notificationconfig-notificationarn // NotificationArn *string `field:"required" json:"notificationArn" yaml:"notificationArn"` // The different events that you can receive notifications for. // // These events include the following: `All` (events), `InProgress` , `Success` , `TimedOut` , `Cancelled` , `Failed` . To learn more about these events, see [Configuring Amazon SNS Notifications for AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/monitoring-sns-notifications.html) in the *AWS Systems Manager User Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-notificationconfig.html#cfn-ssm-maintenancewindowtask-notificationconfig-notificationevents // NotificationEvents *[]*string `field:"optional" json:"notificationEvents" yaml:"notificationEvents"` // The notification type. // // - `Command` : Receive notification when the status of a command changes. // - `Invocation` : For commands sent to multiple instances, receive notification on a per-instance basis when the status of a command changes. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-notificationconfig.html#cfn-ssm-maintenancewindowtask-notificationconfig-notificationtype // NotificationType *string `field:"optional" json:"notificationType" yaml:"notificationType"` }
The `NotificationConfig` property type specifies configurations for sending notifications for a maintenance window task in AWS Systems Manager .
`NotificationConfig` is a property of the [MaintenanceWindowRunCommandParameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html) property type.
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" notificationConfigProperty := &NotificationConfigProperty{ NotificationArn: jsii.String("notificationArn"), // the properties below are optional NotificationEvents: []*string{ jsii.String("notificationEvents"), }, NotificationType: jsii.String("notificationType"), }
type CfnMaintenanceWindowTask_TargetProperty ¶
type CfnMaintenanceWindowTask_TargetProperty struct { // User-defined criteria for sending commands that target instances that meet the criteria. // // `Key` can be `InstanceIds` or `WindowTargetIds` . For more information about how to target instances within a maintenance window task, see [About 'register-task-with-maintenance-window' Options and Values](https://docs.aws.amazon.com/systems-manager/latest/userguide/register-tasks-options.html) in the *AWS Systems Manager User Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-target.html#cfn-ssm-maintenancewindowtask-target-key // Key *string `field:"required" json:"key" yaml:"key"` // User-defined criteria that maps to `Key` . // // For example, if you specify `InstanceIds` , you can specify `i-1234567890abcdef0,i-9876543210abcdef0` to run a command on two EC2 instances. For more information about how to target instances within a maintenance window task, see [About 'register-task-with-maintenance-window' Options and Values](https://docs.aws.amazon.com/systems-manager/latest/userguide/register-tasks-options.html) in the *AWS Systems Manager User Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-target.html#cfn-ssm-maintenancewindowtask-target-values // Values *[]*string `field:"required" json:"values" yaml:"values"` }
The `Target` property type specifies targets (either instances or window target IDs).
You specify instances by using `Key=InstanceIds,Values=< *instanceid1* >,< *instanceid2* >` . You specify window target IDs using `Key=WindowTargetIds,Values=< *window-target-id-1* >,< *window-target-id-2* >` for a maintenance window task in AWS Systems Manager .
`Target` is a property of the [AWS::SSM::MaintenanceWindowTask](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html) property type.
> To use `resource-groups:Name` as the key for a maintenance window target, specify the resource group as a `AWS::SSM::MaintenanceWindowTarget` type, and use the `Ref` function to specify the target for `AWS::SSM::MaintenanceWindowTask` . For an example, see *Create a Run Command task that targets instances using a resource group name* in [AWS::SSM::MaintenanceWindowTask Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#aws-resource-ssm-maintenancewindowtask--examples) .
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" targetProperty := &TargetProperty{ Key: jsii.String("key"), Values: []*string{ jsii.String("values"), }, }
type CfnMaintenanceWindowTask_TaskInvocationParametersProperty ¶
type CfnMaintenanceWindowTask_TaskInvocationParametersProperty struct { // The parameters for an `AUTOMATION` task type. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html#cfn-ssm-maintenancewindowtask-taskinvocationparameters-maintenancewindowautomationparameters // MaintenanceWindowAutomationParameters interface{} `field:"optional" json:"maintenanceWindowAutomationParameters" yaml:"maintenanceWindowAutomationParameters"` // The parameters for a `LAMBDA` task type. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html#cfn-ssm-maintenancewindowtask-taskinvocationparameters-maintenancewindowlambdaparameters // MaintenanceWindowLambdaParameters interface{} `field:"optional" json:"maintenanceWindowLambdaParameters" yaml:"maintenanceWindowLambdaParameters"` // The parameters for a `RUN_COMMAND` task type. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html#cfn-ssm-maintenancewindowtask-taskinvocationparameters-maintenancewindowruncommandparameters // MaintenanceWindowRunCommandParameters interface{} `field:"optional" json:"maintenanceWindowRunCommandParameters" yaml:"maintenanceWindowRunCommandParameters"` // The parameters for a `STEP_FUNCTIONS` task type. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html#cfn-ssm-maintenancewindowtask-taskinvocationparameters-maintenancewindowstepfunctionsparameters // MaintenanceWindowStepFunctionsParameters interface{} `field:"optional" json:"maintenanceWindowStepFunctionsParameters" yaml:"maintenanceWindowStepFunctionsParameters"` }
The `TaskInvocationParameters` property type specifies the task execution parameters for a maintenance window task in AWS Systems Manager .
`TaskInvocationParameters` is a property of the [AWS::SSM::MaintenanceWindowTask](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html) property type.
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 parameters interface{} taskInvocationParametersProperty := &TaskInvocationParametersProperty{ MaintenanceWindowAutomationParameters: &MaintenanceWindowAutomationParametersProperty{ DocumentVersion: jsii.String("documentVersion"), Parameters: parameters, }, MaintenanceWindowLambdaParameters: &MaintenanceWindowLambdaParametersProperty{ ClientContext: jsii.String("clientContext"), Payload: jsii.String("payload"), Qualifier: jsii.String("qualifier"), }, MaintenanceWindowRunCommandParameters: &MaintenanceWindowRunCommandParametersProperty{ CloudWatchOutputConfig: &CloudWatchOutputConfigProperty{ CloudWatchLogGroupName: jsii.String("cloudWatchLogGroupName"), CloudWatchOutputEnabled: jsii.Boolean(false), }, Comment: jsii.String("comment"), DocumentHash: jsii.String("documentHash"), DocumentHashType: jsii.String("documentHashType"), DocumentVersion: jsii.String("documentVersion"), NotificationConfig: &NotificationConfigProperty{ NotificationArn: jsii.String("notificationArn"), // the properties below are optional NotificationEvents: []*string{ jsii.String("notificationEvents"), }, NotificationType: jsii.String("notificationType"), }, OutputS3BucketName: jsii.String("outputS3BucketName"), OutputS3KeyPrefix: jsii.String("outputS3KeyPrefix"), Parameters: parameters, ServiceRoleArn: jsii.String("serviceRoleArn"), TimeoutSeconds: jsii.Number(123), }, MaintenanceWindowStepFunctionsParameters: &MaintenanceWindowStepFunctionsParametersProperty{ Input: jsii.String("input"), Name: jsii.String("name"), }, }
type CfnParameter ¶
type CfnParameter interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // A regular expression used to validate the parameter value. AllowedPattern() *string SetAllowedPattern(val *string) // Returns the type of the parameter. // // Valid values are `String` or `StringList` . AttrType() *string // Returns the value of the parameter. AttrValue() *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 data type of the parameter, such as `text` or `aws:ec2:image` . DataType() *string SetDataType(val *string) // Information about the parameter. 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 // The name of the parameter. Name() *string SetName(val *string) // The tree node. Node() constructs.Node // Information about the policies assigned to a parameter. Policies() *string SetPolicies(val *string) // 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 // Optional metadata that you assign to a resource in the form of an arbitrary set of tags (key-value pairs). TagsRaw() *map[string]*string SetTagsRaw(val *map[string]*string) // The parameter tier. Tier() *string SetTier(val *string) // The type of parameter. 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{} // The parameter value. Value() *string SetValue(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{}) }
The `AWS::SSM::Parameter` resource creates an SSM parameter in AWS Systems Manager Parameter Store.
> To create an SSM parameter, you must have the AWS Identity and Access Management ( IAM ) permissions `ssm:PutParameter` and `ssm:AddTagsToResource` . On stack creation, AWS CloudFormation adds the following three tags to the parameter: `aws:cloudformation:stack-name` , `aws:cloudformation:logical-id` , and `aws:cloudformation:stack-id` , in addition to any custom tags you specify. > > To add, update, or remove tags during stack update, you must have IAM permissions for both `ssm:AddTagsToResource` and `ssm:RemoveTagsFromResource` . For more information, see [Managing Access Using Policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/security-iam.html#security_iam_access-manage) in the *AWS Systems Manager User Guide* .
For information about valid values for parameters, see [About requirements and constraints for parameter names](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html#sysman-parameter-name-constraints) in the *AWS Systems Manager User Guide* and [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html) in the *AWS Systems Manager API Reference* .
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" cfnParameter := awscdk.Aws_ssm.NewCfnParameter(this, jsii.String("MyCfnParameter"), &CfnParameterProps{ Type: jsii.String("type"), Value: jsii.String("value"), // the properties below are optional AllowedPattern: jsii.String("allowedPattern"), DataType: jsii.String("dataType"), Description: jsii.String("description"), Name: jsii.String("name"), Policies: jsii.String("policies"), Tags: map[string]*string{ "tagsKey": jsii.String("tags"), }, Tier: jsii.String("tier"), })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html
func NewCfnParameter ¶
func NewCfnParameter(scope constructs.Construct, id *string, props *CfnParameterProps) CfnParameter
type CfnParameterProps ¶
type CfnParameterProps struct { // The type of parameter. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-type // Type *string `field:"required" json:"type" yaml:"type"` // The parameter value. // // > If type is `StringList` , the system returns a comma-separated string with no spaces between commas in the `Value` field. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-value // Value *string `field:"required" json:"value" yaml:"value"` // A regular expression used to validate the parameter value. // // For example, for `String` types with values restricted to numbers, you can specify the following: `AllowedPattern=^\d+$`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-allowedpattern // AllowedPattern *string `field:"optional" json:"allowedPattern" yaml:"allowedPattern"` // The data type of the parameter, such as `text` or `aws:ec2:image` . // // The default is `text` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-datatype // DataType *string `field:"optional" json:"dataType" yaml:"dataType"` // Information about the parameter. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-description // Description *string `field:"optional" json:"description" yaml:"description"` // The name of the parameter. // // > The maximum length constraint listed below includes capacity for additional system attributes that aren't part of the name. The maximum length for a parameter name, including the full length of the parameter Amazon Resource Name (ARN), is 1011 characters. For example, the length of the following parameter name is 65 characters, not 20 characters: `arn:aws:ssm:us-east-2:111222333444:parameter/ExampleParameterName` // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-name // Name *string `field:"optional" json:"name" yaml:"name"` // Information about the policies assigned to a parameter. // // [Assigning parameter policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html) in the *AWS Systems Manager User Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-policies // Policies *string `field:"optional" json:"policies" yaml:"policies"` // Optional metadata that you assign to a resource in the form of an arbitrary set of tags (key-value pairs). // // Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a Systems Manager parameter to identify the type of resource to which it applies, the environment, or the type of configuration data referenced by the parameter. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-tags // Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"` // The parameter tier. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-tier // Tier *string `field:"optional" json:"tier" yaml:"tier"` }
Properties for defining a `CfnParameter`.
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" cfnParameterProps := &CfnParameterProps{ Type: jsii.String("type"), Value: jsii.String("value"), // the properties below are optional AllowedPattern: jsii.String("allowedPattern"), DataType: jsii.String("dataType"), Description: jsii.String("description"), Name: jsii.String("name"), Policies: jsii.String("policies"), Tags: map[string]*string{ "tagsKey": jsii.String("tags"), }, Tier: jsii.String("tier"), }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html
type CfnPatchBaseline ¶
type CfnPatchBaseline interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // A set of rules used to include patches in the baseline. ApprovalRules() interface{} SetApprovalRules(val interface{}) // A list of explicitly approved patches for the baseline. ApprovedPatches() *[]*string SetApprovedPatches(val *[]*string) // Defines the compliance level for approved patches. ApprovedPatchesComplianceLevel() *string SetApprovedPatchesComplianceLevel(val *string) // Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. ApprovedPatchesEnableNonSecurity() interface{} SetApprovedPatchesEnableNonSecurity(val interface{}) // The ID of the patch baseline. AttrId() *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 // Set the baseline as default baseline. DefaultBaseline() interface{} SetDefaultBaseline(val interface{}) // A description of the patch baseline. Description() *string SetDescription(val *string) // A set of global filters used to include patches in the baseline. GlobalFilters() interface{} SetGlobalFilters(val interface{}) // 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 name of the patch baseline. Name() *string SetName(val *string) // The tree node. Node() constructs.Node // Defines the operating system the patch baseline applies to. OperatingSystem() *string SetOperatingSystem(val *string) // The name of the patch group to be registered with the patch baseline. PatchGroups() *[]*string SetPatchGroups(val *[]*string) // 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 // A list of explicitly rejected patches for the baseline. RejectedPatches() *[]*string SetRejectedPatches(val *[]*string) // The action for Patch Manager to take on patches included in the `RejectedPackages` list. RejectedPatchesAction() *string SetRejectedPatchesAction(val *string) // Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Sources() interface{} SetSources(val interface{}) // 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 // Optional metadata that you assign to a resource. 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{}) }
The `AWS::SSM::PatchBaseline` resource defines the basic information for an AWS Systems Manager patch baseline.
A patch baseline defines which patches are approved for installation on your instances.
For more information, see [CreatePatchBaseline](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_CreatePatchBaseline.html) in the *AWS Systems Manager API Reference* .
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" cfnPatchBaseline := awscdk.Aws_ssm.NewCfnPatchBaseline(this, jsii.String("MyCfnPatchBaseline"), &CfnPatchBaselineProps{ Name: jsii.String("name"), // the properties below are optional ApprovalRules: &RuleGroupProperty{ PatchRules: []interface{}{ &RuleProperty{ ApproveAfterDays: jsii.Number(123), ApproveUntilDate: jsii.String("approveUntilDate"), ComplianceLevel: jsii.String("complianceLevel"), EnableNonSecurity: jsii.Boolean(false), PatchFilterGroup: &PatchFilterGroupProperty{ PatchFilters: []interface{}{ &PatchFilterProperty{ Key: jsii.String("key"), Values: []*string{ jsii.String("values"), }, }, }, }, }, }, }, ApprovedPatches: []*string{ jsii.String("approvedPatches"), }, ApprovedPatchesComplianceLevel: jsii.String("approvedPatchesComplianceLevel"), ApprovedPatchesEnableNonSecurity: jsii.Boolean(false), DefaultBaseline: jsii.Boolean(false), Description: jsii.String("description"), GlobalFilters: &PatchFilterGroupProperty{ PatchFilters: []interface{}{ &PatchFilterProperty{ Key: jsii.String("key"), Values: []*string{ jsii.String("values"), }, }, }, }, OperatingSystem: jsii.String("operatingSystem"), PatchGroups: []*string{ jsii.String("patchGroups"), }, RejectedPatches: []*string{ jsii.String("rejectedPatches"), }, RejectedPatchesAction: jsii.String("rejectedPatchesAction"), Sources: []interface{}{ &PatchSourceProperty{ Configuration: jsii.String("configuration"), Name: jsii.String("name"), Products: []*string{ jsii.String("products"), }, }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html
func NewCfnPatchBaseline ¶
func NewCfnPatchBaseline(scope constructs.Construct, id *string, props *CfnPatchBaselineProps) CfnPatchBaseline
type CfnPatchBaselineProps ¶
type CfnPatchBaselineProps struct { // The name of the patch baseline. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-name // Name *string `field:"required" json:"name" yaml:"name"` // A set of rules used to include patches in the baseline. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-approvalrules // ApprovalRules interface{} `field:"optional" json:"approvalRules" yaml:"approvalRules"` // A list of explicitly approved patches for the baseline. // // For information about accepted formats for lists of approved patches and rejected patches, see [About package name formats for approved and rejected patch lists](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html) in the *AWS Systems Manager User Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-approvedpatches // ApprovedPatches *[]*string `field:"optional" json:"approvedPatches" yaml:"approvedPatches"` // Defines the compliance level for approved patches. // // When an approved patch is reported as missing, this value describes the severity of the compliance violation. The default value is `UNSPECIFIED` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-approvedpatchescompliancelevel // // Default: - "UNSPECIFIED". // ApprovedPatchesComplianceLevel *string `field:"optional" json:"approvedPatchesComplianceLevel" yaml:"approvedPatchesComplianceLevel"` // Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. // // The default value is `false` . Applies to Linux managed nodes only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-approvedpatchesenablenonsecurity // // Default: - false. // ApprovedPatchesEnableNonSecurity interface{} `field:"optional" json:"approvedPatchesEnableNonSecurity" yaml:"approvedPatchesEnableNonSecurity"` // Set the baseline as default baseline. // // Only registering to default patch baseline is allowed. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-defaultbaseline // // Default: - false. // DefaultBaseline interface{} `field:"optional" json:"defaultBaseline" yaml:"defaultBaseline"` // A description of the patch baseline. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-description // Description *string `field:"optional" json:"description" yaml:"description"` // A set of global filters used to include patches in the baseline. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-globalfilters // GlobalFilters interface{} `field:"optional" json:"globalFilters" yaml:"globalFilters"` // Defines the operating system the patch baseline applies to. // // The default value is `WINDOWS` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-operatingsystem // // Default: - "WINDOWS". // OperatingSystem *string `field:"optional" json:"operatingSystem" yaml:"operatingSystem"` // The name of the patch group to be registered with the patch baseline. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-patchgroups // PatchGroups *[]*string `field:"optional" json:"patchGroups" yaml:"patchGroups"` // A list of explicitly rejected patches for the baseline. // // For information about accepted formats for lists of approved patches and rejected patches, see [About package name formats for approved and rejected patch lists](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html) in the *AWS Systems Manager User Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-rejectedpatches // RejectedPatches *[]*string `field:"optional" json:"rejectedPatches" yaml:"rejectedPatches"` // The action for Patch Manager to take on patches included in the `RejectedPackages` list. // // - **ALLOW_AS_DEPENDENCY** - *Linux and macOS* : A package in the rejected patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as `INSTALLED_OTHER` . This is the default action if no option is specified. // // *Windows Server* : Windows Server doesn't support the concept of package dependencies. If a package in the rejected patches list and already installed on the node, its status is reported as `INSTALLED_OTHER` . Any package not already installed on the node is skipped. This is the default action if no option is specified. // - **BLOCK** - *All OSs* : Packages in the rejected patches list, and packages that include them as dependencies, aren't installed by Patch Manager under any circumstances. If a package was installed before it was added to the rejected patches list, or is installed outside of Patch Manager afterward, it's considered noncompliant with the patch baseline and its status is reported as `INSTALLED_REJECTED` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-rejectedpatchesaction // // Default: - "ALLOW_AS_DEPENDENCY". // RejectedPatchesAction *string `field:"optional" json:"rejectedPatchesAction" yaml:"rejectedPatchesAction"` // Information about the patches to use to update the managed nodes, including target operating systems and source repositories. // // Applies to Linux managed nodes only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-sources // Sources interface{} `field:"optional" json:"sources" yaml:"sources"` // Optional metadata that you assign to a resource. // // Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a patch baseline to identify the severity level of patches it specifies and the operating system family it applies to. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-tags // Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnPatchBaseline`.
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" cfnPatchBaselineProps := &CfnPatchBaselineProps{ Name: jsii.String("name"), // the properties below are optional ApprovalRules: &RuleGroupProperty{ PatchRules: []interface{}{ &RuleProperty{ ApproveAfterDays: jsii.Number(123), ApproveUntilDate: jsii.String("approveUntilDate"), ComplianceLevel: jsii.String("complianceLevel"), EnableNonSecurity: jsii.Boolean(false), PatchFilterGroup: &PatchFilterGroupProperty{ PatchFilters: []interface{}{ &PatchFilterProperty{ Key: jsii.String("key"), Values: []*string{ jsii.String("values"), }, }, }, }, }, }, }, ApprovedPatches: []*string{ jsii.String("approvedPatches"), }, ApprovedPatchesComplianceLevel: jsii.String("approvedPatchesComplianceLevel"), ApprovedPatchesEnableNonSecurity: jsii.Boolean(false), DefaultBaseline: jsii.Boolean(false), Description: jsii.String("description"), GlobalFilters: &PatchFilterGroupProperty{ PatchFilters: []interface{}{ &PatchFilterProperty{ Key: jsii.String("key"), Values: []*string{ jsii.String("values"), }, }, }, }, OperatingSystem: jsii.String("operatingSystem"), PatchGroups: []*string{ jsii.String("patchGroups"), }, RejectedPatches: []*string{ jsii.String("rejectedPatches"), }, RejectedPatchesAction: jsii.String("rejectedPatchesAction"), Sources: []interface{}{ &PatchSourceProperty{ Configuration: jsii.String("configuration"), Name: jsii.String("name"), Products: []*string{ jsii.String("products"), }, }, }, Tags: []cfnTag{ &cfnTag{ Key: jsii.String("key"), Value: jsii.String("value"), }, }, }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html
type CfnPatchBaseline_PatchFilterGroupProperty ¶
type CfnPatchBaseline_PatchFilterGroupProperty struct { // The set of patch filters that make up the group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchfiltergroup.html#cfn-ssm-patchbaseline-patchfiltergroup-patchfilters // PatchFilters interface{} `field:"optional" json:"patchFilters" yaml:"patchFilters"` }
The `PatchFilterGroup` property type specifies a set of patch filters for an AWS Systems Manager patch baseline, typically used for approval rules for a Systems Manager patch baseline.
`PatchFilterGroup` is the property type for the `GlobalFilters` property of the [AWS::SSM::PatchBaseline](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html) resource and the `PatchFilterGroup` property of the [Rule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html) property type.
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" patchFilterGroupProperty := &PatchFilterGroupProperty{ PatchFilters: []interface{}{ &PatchFilterProperty{ Key: jsii.String("key"), Values: []*string{ jsii.String("values"), }, }, }, }
type CfnPatchBaseline_PatchFilterProperty ¶
type CfnPatchBaseline_PatchFilterProperty struct { // The key for the filter. // // For information about valid keys, see [PatchFilter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html) in the *AWS Systems Manager API Reference* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchfilter.html#cfn-ssm-patchbaseline-patchfilter-key // Key *string `field:"optional" json:"key" yaml:"key"` // The value for the filter key. // // For information about valid values for each key based on operating system type, see [PatchFilter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html) in the *AWS Systems Manager API Reference* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchfilter.html#cfn-ssm-patchbaseline-patchfilter-values // Values *[]*string `field:"optional" json:"values" yaml:"values"` }
The `PatchFilter` property type defines a patch filter for an AWS Systems Manager patch baseline.
The `PatchFilters` property of the [PatchFilterGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchfiltergroup.html) property type contains a list of `PatchFilter` property types.
You can view lists of valid values for the patch properties by running the `DescribePatchProperties` command. For more information, see [DescribePatchProperties](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribePatchProperties.html) in the *AWS Systems Manager API Reference* .
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" patchFilterProperty := &PatchFilterProperty{ Key: jsii.String("key"), Values: []*string{ jsii.String("values"), }, }
type CfnPatchBaseline_PatchSourceProperty ¶
type CfnPatchBaseline_PatchSourceProperty struct { // The value of the yum repo configuration. For example:. // // `[main]` // // `name=MyCustomRepository` // // `baseurl=https://my-custom-repository` // // `enabled=1` // // > For information about other options available for your yum repository configuration, see [dnf.conf(5)](https://docs.aws.amazon.com/https://man7.org/linux/man-pages/man5/dnf.conf.5.html) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchsource.html#cfn-ssm-patchbaseline-patchsource-configuration // Configuration *string `field:"optional" json:"configuration" yaml:"configuration"` // The name specified to identify the patch source. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchsource.html#cfn-ssm-patchbaseline-patchsource-name // Name *string `field:"optional" json:"name" yaml:"name"` // The specific operating system versions a patch repository applies to, such as "Ubuntu16.04", "RedhatEnterpriseLinux7.2" or "Suse12.7". For lists of supported product values, see [PatchFilter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html) in the *AWS Systems Manager API Reference* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchsource.html#cfn-ssm-patchbaseline-patchsource-products // Products *[]*string `field:"optional" json:"products" yaml:"products"` }
`PatchSource` is the property type for the `Sources` resource of the [AWS::SSM::PatchBaseline](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html) resource.
The AWS CloudFormation `AWS::SSM::PatchSource` resource is used to provide information about the patches to use to update target instances, including target operating systems and source repository. Applies to Linux managed nodes only.
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" patchSourceProperty := &PatchSourceProperty{ Configuration: jsii.String("configuration"), Name: jsii.String("name"), Products: []*string{ jsii.String("products"), }, }
type CfnPatchBaseline_RuleGroupProperty ¶
type CfnPatchBaseline_RuleGroupProperty struct { // The rules that make up the rule group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rulegroup.html#cfn-ssm-patchbaseline-rulegroup-patchrules // PatchRules interface{} `field:"optional" json:"patchRules" yaml:"patchRules"` }
The `RuleGroup` property type specifies a set of rules that define the approval rules for an AWS Systems Manager patch baseline.
`RuleGroup` is the property type for the `ApprovalRules` property of the [AWS::SSM::PatchBaseline](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html) resource.
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" ruleGroupProperty := &RuleGroupProperty{ PatchRules: []interface{}{ &RuleProperty{ ApproveAfterDays: jsii.Number(123), ApproveUntilDate: jsii.String("approveUntilDate"), ComplianceLevel: jsii.String("complianceLevel"), EnableNonSecurity: jsii.Boolean(false), PatchFilterGroup: &PatchFilterGroupProperty{ PatchFilters: []interface{}{ &PatchFilterProperty{ Key: jsii.String("key"), Values: []*string{ jsii.String("values"), }, }, }, }, }, }, }
type CfnPatchBaseline_RuleProperty ¶
type CfnPatchBaseline_RuleProperty struct { // The number of days after the release date of each patch matched by the rule that the patch is marked as approved in the patch baseline. // // For example, a value of `7` means that patches are approved seven days after they are released. // // > This parameter is marked as not required, but your request must include a value for either `ApproveAfterDays` or `ApproveUntilDate` . // // Not supported for Debian Server or Ubuntu Server. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-approveafterdays // ApproveAfterDays *float64 `field:"optional" json:"approveAfterDays" yaml:"approveAfterDays"` // The cutoff date for auto approval of released patches. // // Any patches released on or before this date are installed automatically. // // Enter dates in the format `YYYY-MM-DD` . For example, `2024-12-31` . // // > This parameter is marked as not required, but your request must include a value for either `ApproveUntilDate` or `ApproveAfterDays` . // // Not supported for Debian Server or Ubuntu Server. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-approveuntildate // ApproveUntilDate *string `field:"optional" json:"approveUntilDate" yaml:"approveUntilDate"` // A compliance severity level for all approved patches in a patch baseline. // // Valid compliance severity levels include the following: `UNSPECIFIED` , `CRITICAL` , `HIGH` , `MEDIUM` , `LOW` , and `INFORMATIONAL` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-compliancelevel // ComplianceLevel *string `field:"optional" json:"complianceLevel" yaml:"complianceLevel"` // For managed nodes identified by the approval rule filters, enables a patch baseline to apply non-security updates available in the specified repository. // // The default value is `false` . Applies to Linux managed nodes only. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-enablenonsecurity // // Default: - false. // EnableNonSecurity interface{} `field:"optional" json:"enableNonSecurity" yaml:"enableNonSecurity"` // The patch filter group that defines the criteria for the rule. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-patchfiltergroup // PatchFilterGroup interface{} `field:"optional" json:"patchFilterGroup" yaml:"patchFilterGroup"` }
The `Rule` property type specifies an approval rule for a Systems Manager patch baseline.
The `PatchRules` property of the [RuleGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rulegroup.html) property type contains a list of `Rule` property types.
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" ruleProperty := &RuleProperty{ ApproveAfterDays: jsii.Number(123), ApproveUntilDate: jsii.String("approveUntilDate"), ComplianceLevel: jsii.String("complianceLevel"), EnableNonSecurity: jsii.Boolean(false), PatchFilterGroup: &PatchFilterGroupProperty{ PatchFilters: []interface{}{ &PatchFilterProperty{ Key: jsii.String("key"), Values: []*string{ jsii.String("values"), }, }, }, }, }
type CfnResourceDataSync ¶
type CfnResourceDataSync interface { awscdk.CfnResource awscdk.IInspectable // The name of the resource data sync. AttrSyncName() *string // The name of the S3 bucket where the aggregated data is stored. BucketName() *string SetBucketName(val *string) // An Amazon S3 prefix for the bucket. BucketPrefix() *string SetBucketPrefix(val *string) // The AWS Region with the S3 bucket targeted by the resource data sync. BucketRegion() *string SetBucketRegion(val *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 Amazon Resource Name (ARN) of an encryption key for a destination in Amazon S3 . KmsKeyArn() *string SetKmsKeyArn(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 // Configuration information for the target S3 bucket. S3Destination() interface{} SetS3Destination(val interface{}) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // A supported sync format. SyncFormat() *string SetSyncFormat(val *string) // A name for the resource data sync. SyncName() *string SetSyncName(val *string) // Information about the source where the data was synchronized. SyncSource() interface{} SetSyncSource(val interface{}) // The type of resource data sync. SyncType() *string SetSyncType(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{} // 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::SSM::ResourceDataSync` resource creates, updates, or deletes a resource data sync for AWS Systems Manager .
A resource data sync helps you view data from multiple sources in a single location. Systems Manager offers two types of resource data sync: `SyncToDestination` and `SyncFromSource` .
You can configure Systems Manager Inventory to use the `SyncToDestination` type to synchronize Inventory data from multiple AWS Regions to a single Amazon S3 bucket.
You can configure Systems Manager Explorer to use the `SyncFromSource` type to synchronize operational work items (OpsItems) and operational data (OpsData) from multiple AWS Regions . This type can synchronize OpsItems and OpsData from multiple AWS accounts and Regions or from an `EntireOrganization` by using AWS Organizations .
A resource data sync is an asynchronous operation that returns immediately. After a successful initial sync is completed, the system continuously syncs data.
By default, data is not encrypted in Amazon S3 . We strongly recommend that you enable encryption in Amazon S3 to ensure secure data storage. We also recommend that you secure access to the Amazon S3 bucket by creating a restrictive bucket policy.
For more information, see [Configuring Inventory Collection](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-configuring.html#sysman-inventory-datasync) and [Setting Up Systems Manager Explorer to Display Data from Multiple Accounts and Regions](https://docs.aws.amazon.com/systems-manager/latest/userguide/Explorer-resource-data-sync.html) in the *AWS Systems Manager User Guide* .
> The following *Syntax* section shows all fields that are supported for a resource data sync. The *Examples* section below shows the recommended way to specify configurations for each sync type. Refer to the *Examples* section when you create your resource data sync.
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" cfnResourceDataSync := awscdk.Aws_ssm.NewCfnResourceDataSync(this, jsii.String("MyCfnResourceDataSync"), &CfnResourceDataSyncProps{ SyncName: jsii.String("syncName"), // the properties below are optional BucketName: jsii.String("bucketName"), BucketPrefix: jsii.String("bucketPrefix"), BucketRegion: jsii.String("bucketRegion"), KmsKeyArn: jsii.String("kmsKeyArn"), S3Destination: &S3DestinationProperty{ BucketName: jsii.String("bucketName"), BucketRegion: jsii.String("bucketRegion"), SyncFormat: jsii.String("syncFormat"), // the properties below are optional BucketPrefix: jsii.String("bucketPrefix"), KmsKeyArn: jsii.String("kmsKeyArn"), }, SyncFormat: jsii.String("syncFormat"), SyncSource: &SyncSourceProperty{ SourceRegions: []*string{ jsii.String("sourceRegions"), }, SourceType: jsii.String("sourceType"), // the properties below are optional AwsOrganizationsSource: &AwsOrganizationsSourceProperty{ OrganizationSourceType: jsii.String("organizationSourceType"), // the properties below are optional OrganizationalUnits: []*string{ jsii.String("organizationalUnits"), }, }, IncludeFutureRegions: jsii.Boolean(false), }, SyncType: jsii.String("syncType"), })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html
func NewCfnResourceDataSync ¶
func NewCfnResourceDataSync(scope constructs.Construct, id *string, props *CfnResourceDataSyncProps) CfnResourceDataSync
type CfnResourceDataSyncProps ¶
type CfnResourceDataSyncProps struct { // A name for the resource data sync. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-syncname // SyncName *string `field:"required" json:"syncName" yaml:"syncName"` // The name of the S3 bucket where the aggregated data is stored. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-bucketname // BucketName *string `field:"optional" json:"bucketName" yaml:"bucketName"` // An Amazon S3 prefix for the bucket. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-bucketprefix // BucketPrefix *string `field:"optional" json:"bucketPrefix" yaml:"bucketPrefix"` // The AWS Region with the S3 bucket targeted by the resource data sync. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-bucketregion // BucketRegion *string `field:"optional" json:"bucketRegion" yaml:"bucketRegion"` // The Amazon Resource Name (ARN) of an encryption key for a destination in Amazon S3 . // // You can use a KMS key to encrypt inventory data in Amazon S3 . You must specify a key that exist in the same AWS Region as the destination Amazon S3 bucket. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-kmskeyarn // KmsKeyArn *string `field:"optional" json:"kmsKeyArn" yaml:"kmsKeyArn"` // Configuration information for the target S3 bucket. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-s3destination // S3Destination interface{} `field:"optional" json:"s3Destination" yaml:"s3Destination"` // A supported sync format. // // The following format is currently supported: JsonSerDe. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-syncformat // SyncFormat *string `field:"optional" json:"syncFormat" yaml:"syncFormat"` // Information about the source where the data was synchronized. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-syncsource // SyncSource interface{} `field:"optional" json:"syncSource" yaml:"syncSource"` // The type of resource data sync. // // If `SyncType` is `SyncToDestination` , then the resource data sync synchronizes data to an S3 bucket. If the `SyncType` is `SyncFromSource` then the resource data sync synchronizes data from AWS Organizations or from multiple AWS Regions . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-synctype // SyncType *string `field:"optional" json:"syncType" yaml:"syncType"` }
Properties for defining a `CfnResourceDataSync`.
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" cfnResourceDataSyncProps := &CfnResourceDataSyncProps{ SyncName: jsii.String("syncName"), // the properties below are optional BucketName: jsii.String("bucketName"), BucketPrefix: jsii.String("bucketPrefix"), BucketRegion: jsii.String("bucketRegion"), KmsKeyArn: jsii.String("kmsKeyArn"), S3Destination: &S3DestinationProperty{ BucketName: jsii.String("bucketName"), BucketRegion: jsii.String("bucketRegion"), SyncFormat: jsii.String("syncFormat"), // the properties below are optional BucketPrefix: jsii.String("bucketPrefix"), KmsKeyArn: jsii.String("kmsKeyArn"), }, SyncFormat: jsii.String("syncFormat"), SyncSource: &SyncSourceProperty{ SourceRegions: []*string{ jsii.String("sourceRegions"), }, SourceType: jsii.String("sourceType"), // the properties below are optional AwsOrganizationsSource: &AwsOrganizationsSourceProperty{ OrganizationSourceType: jsii.String("organizationSourceType"), // the properties below are optional OrganizationalUnits: []*string{ jsii.String("organizationalUnits"), }, }, IncludeFutureRegions: jsii.Boolean(false), }, SyncType: jsii.String("syncType"), }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html
type CfnResourceDataSync_AwsOrganizationsSourceProperty ¶
type CfnResourceDataSync_AwsOrganizationsSourceProperty struct { // If an AWS organization is present, this is either `OrganizationalUnits` or `EntireOrganization` . // // For `OrganizationalUnits` , the data is aggregated from a set of organization units. For `EntireOrganization` , the data is aggregated from the entire AWS organization. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-awsorganizationssource.html#cfn-ssm-resourcedatasync-awsorganizationssource-organizationsourcetype // OrganizationSourceType *string `field:"required" json:"organizationSourceType" yaml:"organizationSourceType"` // The AWS Organizations organization units included in the sync. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-awsorganizationssource.html#cfn-ssm-resourcedatasync-awsorganizationssource-organizationalunits // OrganizationalUnits *[]*string `field:"optional" json:"organizationalUnits" yaml:"organizationalUnits"` }
Information about the `AwsOrganizationsSource` resource data sync source.
A sync source of this type can synchronize data from AWS Organizations or, if an AWS organization isn't present, from multiple AWS Regions .
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" awsOrganizationsSourceProperty := &AwsOrganizationsSourceProperty{ OrganizationSourceType: jsii.String("organizationSourceType"), // the properties below are optional OrganizationalUnits: []*string{ jsii.String("organizationalUnits"), }, }
type CfnResourceDataSync_S3DestinationProperty ¶
type CfnResourceDataSync_S3DestinationProperty struct { // The name of the S3 bucket where the aggregated data is stored. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-s3destination.html#cfn-ssm-resourcedatasync-s3destination-bucketname // BucketName *string `field:"required" json:"bucketName" yaml:"bucketName"` // The AWS Region with the S3 bucket targeted by the resource data sync. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-s3destination.html#cfn-ssm-resourcedatasync-s3destination-bucketregion // BucketRegion *string `field:"required" json:"bucketRegion" yaml:"bucketRegion"` // A supported sync format. // // The following format is currently supported: JsonSerDe. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-s3destination.html#cfn-ssm-resourcedatasync-s3destination-syncformat // SyncFormat *string `field:"required" json:"syncFormat" yaml:"syncFormat"` // An Amazon S3 prefix for the bucket. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-s3destination.html#cfn-ssm-resourcedatasync-s3destination-bucketprefix // BucketPrefix *string `field:"optional" json:"bucketPrefix" yaml:"bucketPrefix"` // The ARN of an encryption key for a destination in Amazon S3. // // Must belong to the same Region as the destination S3 bucket. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-s3destination.html#cfn-ssm-resourcedatasync-s3destination-kmskeyarn // KmsKeyArn *string `field:"optional" json:"kmsKeyArn" yaml:"kmsKeyArn"` }
Information about the target S3 bucket for the resource data sync.
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" s3DestinationProperty := &S3DestinationProperty{ BucketName: jsii.String("bucketName"), BucketRegion: jsii.String("bucketRegion"), SyncFormat: jsii.String("syncFormat"), // the properties below are optional BucketPrefix: jsii.String("bucketPrefix"), KmsKeyArn: jsii.String("kmsKeyArn"), }
type CfnResourceDataSync_SyncSourceProperty ¶
type CfnResourceDataSync_SyncSourceProperty struct { // The `SyncSource` AWS Regions included in the resource data sync. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-syncsource.html#cfn-ssm-resourcedatasync-syncsource-sourceregions // SourceRegions *[]*string `field:"required" json:"sourceRegions" yaml:"sourceRegions"` // The type of data source for the resource data sync. // // `SourceType` is either `AwsOrganizations` (if an organization is present in AWS Organizations ) or `SingleAccountMultiRegions` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-syncsource.html#cfn-ssm-resourcedatasync-syncsource-sourcetype // SourceType *string `field:"required" json:"sourceType" yaml:"sourceType"` // Information about the AwsOrganizationsSource resource data sync source. // // A sync source of this type can synchronize data from AWS Organizations . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-syncsource.html#cfn-ssm-resourcedatasync-syncsource-awsorganizationssource // AwsOrganizationsSource interface{} `field:"optional" json:"awsOrganizationsSource" yaml:"awsOrganizationsSource"` // Whether to automatically synchronize and aggregate data from new AWS Regions when those Regions come online. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-resourcedatasync-syncsource.html#cfn-ssm-resourcedatasync-syncsource-includefutureregions // IncludeFutureRegions interface{} `field:"optional" json:"includeFutureRegions" yaml:"includeFutureRegions"` }
Information about the source of the data included in the resource data sync.
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" syncSourceProperty := &SyncSourceProperty{ SourceRegions: []*string{ jsii.String("sourceRegions"), }, SourceType: jsii.String("sourceType"), // the properties below are optional AwsOrganizationsSource: &AwsOrganizationsSourceProperty{ OrganizationSourceType: jsii.String("organizationSourceType"), // the properties below are optional OrganizationalUnits: []*string{ jsii.String("organizationalUnits"), }, }, IncludeFutureRegions: jsii.Boolean(false), }
type CfnResourcePolicy ¶ added in v2.54.0
type CfnResourcePolicy interface { awscdk.CfnResource awscdk.IInspectable // ID of the current policy version. // // The hash helps to prevent a situation where multiple users attempt to overwrite a policy. You must provide this hash and the policy ID when updating or deleting a policy. AttrPolicyHash() *string // ID of the current policy version. AttrPolicyId() *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 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 // A policy you want to associate with a resource. Policy() interface{} SetPolicy(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 Amazon Resource Name (ARN) of the resource to which you want to attach a policy. ResourceArn() *string SetResourceArn(val *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{} // 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 or updates a Systems Manager resource policy.
A resource policy helps you to define the IAM entity (for example, an AWS account ) that can manage your Systems Manager resources. Currently, `OpsItemGroup` is the only resource that supports Systems Manager resource policies. The resource policy for `OpsItemGroup` enables AWS accounts to view and interact with OpsCenter operational work items (OpsItems). OpsCenter is a capability of Systems Manager .
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 policy interface{} cfnResourcePolicy := awscdk.Aws_ssm.NewCfnResourcePolicy(this, jsii.String("MyCfnResourcePolicy"), &CfnResourcePolicyProps{ Policy: policy, ResourceArn: jsii.String("resourceArn"), })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcepolicy.html
func NewCfnResourcePolicy ¶ added in v2.54.0
func NewCfnResourcePolicy(scope constructs.Construct, id *string, props *CfnResourcePolicyProps) CfnResourcePolicy
type CfnResourcePolicyProps ¶ added in v2.54.0
type CfnResourcePolicyProps struct { // A policy you want to associate with a resource. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcepolicy.html#cfn-ssm-resourcepolicy-policy // Policy interface{} `field:"required" json:"policy" yaml:"policy"` // The Amazon Resource Name (ARN) of the resource to which you want to attach a policy. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcepolicy.html#cfn-ssm-resourcepolicy-resourcearn // ResourceArn *string `field:"required" json:"resourceArn" yaml:"resourceArn"` }
Properties for defining a `CfnResourcePolicy`.
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 policy interface{} cfnResourcePolicyProps := &CfnResourcePolicyProps{ Policy: policy, ResourceArn: jsii.String("resourceArn"), }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcepolicy.html
type CommonStringParameterAttributes ¶
type CommonStringParameterAttributes struct { // The name of the parameter store value. // // This value can be a token or a concrete string. If it is a concrete string // and includes "/" it must also be prefixed with a "/" (fully-qualified). ParameterName *string `field:"required" json:"parameterName" yaml:"parameterName"` // Indicates whether the parameter name is a simple name. // // A parameter name // without any "/" is considered a simple name. If the parameter name includes // "/", setting simpleName to true might cause unintended issues such // as duplicate "/" in the resulting ARN. // // This is required only if `parameterName` is a token, which means we // are unable to detect if the name is simple or "path-like" for the purpose // of rendering SSM parameter ARNs. // // If `parameterName` is not specified, `simpleName` must be `true` (or // undefined) since the name generated by AWS CloudFormation is always a // simple name. // Default: - auto-detect based on `parameterName`. // SimpleName *bool `field:"optional" json:"simpleName" yaml:"simpleName"` }
Common attributes for string parameters.
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" commonStringParameterAttributes := &CommonStringParameterAttributes{ ParameterName: jsii.String("parameterName"), // the properties below are optional SimpleName: jsii.Boolean(false), }
type IParameter ¶
type IParameter interface { awscdk.IResource // Grants read (DescribeParameter, GetParameters, GetParameter, GetParameterHistory) permissions on the SSM Parameter. GrantRead(grantee awsiam.IGrantable) awsiam.Grant // Grants write (PutParameter) permissions on the SSM Parameter. GrantWrite(grantee awsiam.IGrantable) awsiam.Grant // The ARN of the SSM Parameter resource. ParameterArn() *string // The name of the SSM Parameter resource. ParameterName() *string // The type of the SSM Parameter resource. ParameterType() *string }
An SSM Parameter reference.
type IStringListParameter ¶
type IStringListParameter interface { IParameter // The parameter value. // // Value must not nest another parameter. Do not use {{}} in the value. Values in the array // cannot contain commas (“,“). StringListValue() *[]*string }
A StringList SSM Parameter.
func StringListParameter_FromListParameterAttributes ¶ added in v2.42.0
func StringListParameter_FromListParameterAttributes(scope constructs.Construct, id *string, attrs *ListParameterAttributes) IStringListParameter
Imports an external string list parameter with name and optional version.
func StringListParameter_FromStringListParameterName ¶
func StringListParameter_FromStringListParameterName(scope constructs.Construct, id *string, stringListParameterName *string) IStringListParameter
Imports an external parameter of type string list.
Returns a token and should not be parsed.
type IStringParameter ¶
type IStringParameter interface { IParameter // The parameter value. // // Value must not nest another parameter. Do not use {{}} in the value. StringValue() *string }
A String SSM Parameter.
func StringParameter_FromSecureStringParameterAttributes ¶
func StringParameter_FromSecureStringParameterAttributes(scope constructs.Construct, id *string, attrs *SecureStringParameterAttributes) IStringParameter
Imports a secure string parameter from the SSM parameter store.
func StringParameter_FromStringParameterArn ¶ added in v2.154.0
func StringParameter_FromStringParameterArn(scope constructs.Construct, id *string, stringParameterArn *string) IStringParameter
Imports an external string parameter by ARN.
func StringParameter_FromStringParameterAttributes ¶
func StringParameter_FromStringParameterAttributes(scope constructs.Construct, id *string, attrs *StringParameterAttributes) IStringParameter
Imports an external string parameter with name and optional version.
func StringParameter_FromStringParameterName ¶
func StringParameter_FromStringParameterName(scope constructs.Construct, id *string, stringParameterName *string) IStringParameter
Imports an external string parameter by name.
type ListParameterAttributes ¶ added in v2.42.0
type ListParameterAttributes struct { // The name of the parameter store value. // // This value can be a token or a concrete string. If it is a concrete string // and includes "/" it must also be prefixed with a "/" (fully-qualified). ParameterName *string `field:"required" json:"parameterName" yaml:"parameterName"` // Indicates whether the parameter name is a simple name. // // A parameter name // without any "/" is considered a simple name. If the parameter name includes // "/", setting simpleName to true might cause unintended issues such // as duplicate "/" in the resulting ARN. // // This is required only if `parameterName` is a token, which means we // are unable to detect if the name is simple or "path-like" for the purpose // of rendering SSM parameter ARNs. // // If `parameterName` is not specified, `simpleName` must be `true` (or // undefined) since the name generated by AWS CloudFormation is always a // simple name. // Default: - auto-detect based on `parameterName`. // SimpleName *bool `field:"optional" json:"simpleName" yaml:"simpleName"` // The type of the string list parameter value. // // Using specific types can be helpful in catching invalid values // at the start of creating or updating a stack. CloudFormation validates // the values against existing values in the account. // // Note - if you want to allow values from different AWS accounts, use // ParameterValueType.STRING // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#aws-ssm-parameter-types // // Default: ParameterValueType.STRING // ElementType ParameterValueType `field:"optional" json:"elementType" yaml:"elementType"` // The version number of the value you wish to retrieve. // Default: The latest version will be retrieved. // Version *float64 `field:"optional" json:"version" yaml:"version"` }
Attributes for parameters of string list type.
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" listParameterAttributes := &ListParameterAttributes{ ParameterName: jsii.String("parameterName"), // the properties below are optional ElementType: awscdk.Aws_ssm.ParameterValueType_STRING, SimpleName: jsii.Boolean(false), Version: jsii.Number(123), }
See: ParameterType.
type ParameterDataType ¶
type ParameterDataType string
SSM parameter data type.
const ( // Text. ParameterDataType_TEXT ParameterDataType = "TEXT" // Aws Ec2 Image. ParameterDataType_AWS_EC2_IMAGE ParameterDataType = "AWS_EC2_IMAGE" )
type ParameterOptions ¶
type ParameterOptions struct { // A regular expression used to validate the parameter value. // // For example, for String types with values restricted to // numbers, you can specify the following: “^\d+$“. // Default: no validation is performed. // AllowedPattern *string `field:"optional" json:"allowedPattern" yaml:"allowedPattern"` // Information about the parameter that you want to add to the system. // Default: none. // Description *string `field:"optional" json:"description" yaml:"description"` // The name of the parameter. // Default: - a name will be generated by CloudFormation. // ParameterName *string `field:"optional" json:"parameterName" yaml:"parameterName"` // Indicates whether the parameter name is a simple name. // // A parameter name // without any "/" is considered a simple name. If the parameter name includes // "/", setting simpleName to true might cause unintended issues such // as duplicate "/" in the resulting ARN. // // This is required only if `parameterName` is a token, which means we // are unable to detect if the name is simple or "path-like" for the purpose // of rendering SSM parameter ARNs. // // If `parameterName` is not specified, `simpleName` must be `true` (or // undefined) since the name generated by AWS CloudFormation is always a // simple name. // Default: - auto-detect based on `parameterName`. // SimpleName *bool `field:"optional" json:"simpleName" yaml:"simpleName"` // The tier of the string parameter. // Default: - undefined. // Tier ParameterTier `field:"optional" json:"tier" yaml:"tier"` }
Properties needed to create a new SSM Parameter.
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" parameterOptions := &ParameterOptions{ AllowedPattern: jsii.String("allowedPattern"), Description: jsii.String("description"), ParameterName: jsii.String("parameterName"), SimpleName: jsii.Boolean(false), Tier: awscdk.Aws_ssm.ParameterTier_ADVANCED, }
type ParameterTier ¶
type ParameterTier string
SSM parameter tier.
Example:
ssm.NewStringParameter(this, jsii.String("Parameter"), &StringParameterProps{ AllowedPattern: jsii.String(".*"), Description: jsii.String("The value Foo"), ParameterName: jsii.String("FooParameter"), StringValue: jsii.String("Foo"), Tier: ssm.ParameterTier_ADVANCED, })
const ( // String. ParameterTier_ADVANCED ParameterTier = "ADVANCED" // String. ParameterTier_INTELLIGENT_TIERING ParameterTier = "INTELLIGENT_TIERING" // String. ParameterTier_STANDARD ParameterTier = "STANDARD" )
type ParameterType ¶
type ParameterType string
SSM parameter type. Deprecated: these types are no longer used.
const ( // String. // Deprecated: these types are no longer used. ParameterType_STRING ParameterType = "STRING" // Secure String. // // Parameter Store uses an AWS Key Management Service (KMS) customer master key (CMK) to encrypt the parameter value. // Parameters of type SecureString cannot be created directly from a CDK application. // Deprecated: these types are no longer used. ParameterType_SECURE_STRING ParameterType = "SECURE_STRING" // String List. // Deprecated: these types are no longer used. ParameterType_STRING_LIST ParameterType = "STRING_LIST" // An Amazon EC2 image ID, such as ami-0ff8a91507f77f867. // Deprecated: these types are no longer used. ParameterType_AWS_EC2_IMAGE_ID ParameterType = "AWS_EC2_IMAGE_ID" )
type ParameterValueType ¶ added in v2.42.0
type ParameterValueType string
The type of CFN SSM Parameter.
Using specific types can be helpful in catching invalid values at the start of creating or updating a stack. CloudFormation validates the values against existing values in the account.
Example:
ssm.StringParameter_ValueForTypedStringParameterV2(this, jsii.String("/My/Public/Parameter"), ssm.ParameterValueType_AWS_EC2_IMAGE_ID)
const ( // String. ParameterValueType_STRING ParameterValueType = "STRING" // An Availability Zone, such as us-west-2a. ParameterValueType_AWS_EC2_AVAILABILITYZONE_NAME ParameterValueType = "AWS_EC2_AVAILABILITYZONE_NAME" // An Amazon EC2 image ID, such as ami-0ff8a91507f77f867. ParameterValueType_AWS_EC2_IMAGE_ID ParameterValueType = "AWS_EC2_IMAGE_ID" // An Amazon EC2 instance ID, such as i-1e731a32. ParameterValueType_AWS_EC2_INSTANCE_ID ParameterValueType = "AWS_EC2_INSTANCE_ID" // An Amazon EC2 key pair name. ParameterValueType_AWS_EC2_KEYPAIR_KEYNAME ParameterValueType = "AWS_EC2_KEYPAIR_KEYNAME" // An EC2-Classic or default VPC security group name, such as my-sg-abc. ParameterValueType_AWS_EC2_SECURITYGROUP_GROUPNAME ParameterValueType = "AWS_EC2_SECURITYGROUP_GROUPNAME" // A security group ID, such as sg-a123fd85. ParameterValueType_AWS_EC2_SECURITYGROUP_ID ParameterValueType = "AWS_EC2_SECURITYGROUP_ID" // A subnet ID, such as subnet-123a351e. ParameterValueType_AWS_EC2_SUBNET_ID ParameterValueType = "AWS_EC2_SUBNET_ID" // An Amazon EBS volume ID, such as vol-3cdd3f56. ParameterValueType_AWS_EC2_VOLUME_ID ParameterValueType = "AWS_EC2_VOLUME_ID" // A VPC ID, such as vpc-a123baa3. ParameterValueType_AWS_EC2_VPC_ID ParameterValueType = "AWS_EC2_VPC_ID" // An Amazon Route 53 hosted zone ID, such as Z23YXV4OVPL04A. ParameterValueType_AWS_ROUTE53_HOSTEDZONE_ID ParameterValueType = "AWS_ROUTE53_HOSTEDZONE_ID" )
type SecureStringParameterAttributes ¶
type SecureStringParameterAttributes struct { // The name of the parameter store value. // // This value can be a token or a concrete string. If it is a concrete string // and includes "/" it must also be prefixed with a "/" (fully-qualified). ParameterName *string `field:"required" json:"parameterName" yaml:"parameterName"` // Indicates whether the parameter name is a simple name. // // A parameter name // without any "/" is considered a simple name. If the parameter name includes // "/", setting simpleName to true might cause unintended issues such // as duplicate "/" in the resulting ARN. // // This is required only if `parameterName` is a token, which means we // are unable to detect if the name is simple or "path-like" for the purpose // of rendering SSM parameter ARNs. // // If `parameterName` is not specified, `simpleName` must be `true` (or // undefined) since the name generated by AWS CloudFormation is always a // simple name. // Default: - auto-detect based on `parameterName`. // SimpleName *bool `field:"optional" json:"simpleName" yaml:"simpleName"` // The encryption key that is used to encrypt this parameter. // Default: - default master key. // EncryptionKey awskms.IKey `field:"optional" json:"encryptionKey" yaml:"encryptionKey"` // The version number of the value you wish to retrieve. // Default: - AWS CloudFormation uses the latest version of the parameter. // Version *float64 `field:"optional" json:"version" yaml:"version"` }
Attributes for secure string parameters.
Example:
parameterVersion := awscdk.Token_AsNumber(map[string]*string{ "Ref": jsii.String("MyParameter"), }) // Retrieve the latest value of the non-secret parameter // with name "/My/String/Parameter". stringValue := ssm.StringParameter_FromStringParameterAttributes(this, jsii.String("MyValue"), &StringParameterAttributes{ ParameterName: jsii.String("/My/Public/Parameter"), }).StringValue stringValueVersionFromToken := ssm.StringParameter_FromStringParameterAttributes(this, jsii.String("MyValueVersionFromToken"), &StringParameterAttributes{ ParameterName: jsii.String("/My/Public/Parameter"), // parameter version from token Version: parameterVersion, }).StringValue // Retrieve a specific version of the secret (SecureString) parameter. // 'version' is always required. secretValue := ssm.StringParameter_FromSecureStringParameterAttributes(this, jsii.String("MySecureValue"), &SecureStringParameterAttributes{ ParameterName: jsii.String("/My/Secret/Parameter"), Version: jsii.Number(5), }) secretValueVersionFromToken := ssm.StringParameter_FromSecureStringParameterAttributes(this, jsii.String("MySecureValueVersionFromToken"), &SecureStringParameterAttributes{ ParameterName: jsii.String("/My/Secret/Parameter"), // parameter version from token Version: parameterVersion, })
type StringListParameter ¶
type StringListParameter interface { awscdk.Resource IParameter IStringListParameter // The encryption key that is used to encrypt this parameter. // Default: - default master key. // EncryptionKey() awskms.IKey // 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 tree node. Node() constructs.Node // The ARN of the SSM Parameter resource. ParameterArn() *string // The name of the SSM Parameter resource. ParameterName() *string // The type of the SSM Parameter resource. ParameterType() *string // 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 // The parameter value. // // Value must not nest another parameter. Do not use {{}} in the value. Values in the array // cannot contain commas (“,“). StringListValue() *[]*string // 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 // Grants read (DescribeParameter, GetParameters, GetParameter, GetParameterHistory) permissions on the SSM Parameter. GrantRead(grantee awsiam.IGrantable) awsiam.Grant // Grants write (PutParameter) permissions on the SSM Parameter. GrantWrite(grantee awsiam.IGrantable) awsiam.Grant // Returns a string representation of this construct. ToString() *string }
Creates a new StringList SSM Parameter.
Example:
ssm.StringListParameter_ValueForTypedListParameter(this, jsii.String("/My/Public/Parameter"), ssm.ParameterValueType_AWS_EC2_IMAGE_ID)
func NewStringListParameter ¶
func NewStringListParameter(scope constructs.Construct, id *string, props *StringListParameterProps) StringListParameter
type StringListParameterProps ¶
type StringListParameterProps struct { // A regular expression used to validate the parameter value. // // For example, for String types with values restricted to // numbers, you can specify the following: “^\d+$“. // Default: no validation is performed. // AllowedPattern *string `field:"optional" json:"allowedPattern" yaml:"allowedPattern"` // Information about the parameter that you want to add to the system. // Default: none. // Description *string `field:"optional" json:"description" yaml:"description"` // The name of the parameter. // Default: - a name will be generated by CloudFormation. // ParameterName *string `field:"optional" json:"parameterName" yaml:"parameterName"` // Indicates whether the parameter name is a simple name. // // A parameter name // without any "/" is considered a simple name. If the parameter name includes // "/", setting simpleName to true might cause unintended issues such // as duplicate "/" in the resulting ARN. // // This is required only if `parameterName` is a token, which means we // are unable to detect if the name is simple or "path-like" for the purpose // of rendering SSM parameter ARNs. // // If `parameterName` is not specified, `simpleName` must be `true` (or // undefined) since the name generated by AWS CloudFormation is always a // simple name. // Default: - auto-detect based on `parameterName`. // SimpleName *bool `field:"optional" json:"simpleName" yaml:"simpleName"` // The tier of the string parameter. // Default: - undefined. // Tier ParameterTier `field:"optional" json:"tier" yaml:"tier"` // The values of the parameter. // // It may not reference another parameter and “{{}}“ cannot be used in the value. StringListValue *[]*string `field:"required" json:"stringListValue" yaml:"stringListValue"` }
Properties needed to create a StringList SSM Parameter.
Example:
// Grant read access to some Role var role iRole // Create a new SSM Parameter holding a String param := ssm.NewStringParameter(this, jsii.String("StringParameter"), &StringParameterProps{ // description: 'Some user-friendly description', // name: 'ParameterName', StringValue: jsii.String("Initial parameter value"), }) param.grantRead(role) // Create a new SSM Parameter holding a StringList listParameter := ssm.NewStringListParameter(this, jsii.String("StringListParameter"), &StringListParameterProps{ // description: 'Some user-friendly description', // name: 'ParameterName', StringListValue: []*string{ jsii.String("Initial parameter value A"), jsii.String("Initial parameter value B"), }, })
type StringParameter ¶
type StringParameter interface { awscdk.Resource IParameter IStringParameter // The encryption key that is used to encrypt this parameter. // Default: - default master key. // EncryptionKey() awskms.IKey // 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 tree node. Node() constructs.Node // The ARN of the SSM Parameter resource. ParameterArn() *string // The name of the SSM Parameter resource. ParameterName() *string // The type of the SSM Parameter resource. ParameterType() *string // 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 // The parameter value. // // Value must not nest another parameter. Do not use {{}} in the value. StringValue() *string // 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 // Grants read (DescribeParameter, GetParameters, GetParameter, GetParameterHistory) permissions on the SSM Parameter. GrantRead(grantee awsiam.IGrantable) awsiam.Grant // Grants write (PutParameter) permissions on the SSM Parameter. GrantWrite(grantee awsiam.IGrantable) awsiam.Grant // Returns a string representation of this construct. ToString() *string }
Creates a new String SSM Parameter.
Example:
ssmParameter := ssm.NewStringParameter(this, jsii.String("mySsmParameter"), &StringParameterProps{ ParameterName: jsii.String("mySsmParameter"), StringValue: jsii.String("mySsmParameterValue"), })
func NewStringParameter ¶
func NewStringParameter(scope constructs.Construct, id *string, props *StringParameterProps) StringParameter
type StringParameterAttributes ¶
type StringParameterAttributes struct { // The name of the parameter store value. // // This value can be a token or a concrete string. If it is a concrete string // and includes "/" it must also be prefixed with a "/" (fully-qualified). ParameterName *string `field:"required" json:"parameterName" yaml:"parameterName"` // Indicates whether the parameter name is a simple name. // // A parameter name // without any "/" is considered a simple name. If the parameter name includes // "/", setting simpleName to true might cause unintended issues such // as duplicate "/" in the resulting ARN. // // This is required only if `parameterName` is a token, which means we // are unable to detect if the name is simple or "path-like" for the purpose // of rendering SSM parameter ARNs. // // If `parameterName` is not specified, `simpleName` must be `true` (or // undefined) since the name generated by AWS CloudFormation is always a // simple name. // Default: - auto-detect based on `parameterName`. // SimpleName *bool `field:"optional" json:"simpleName" yaml:"simpleName"` // Use a dynamic reference as the representation in CloudFormation template level. // // By default, CDK tries to deduce an appropriate representation based on the parameter value (a CfnParameter or a dynamic reference). Use this flag to override the representation when it does not work. // Default: false. // ForceDynamicReference *bool `field:"optional" json:"forceDynamicReference" yaml:"forceDynamicReference"` // The type of the string parameter. // Default: ParameterType.STRING // // Deprecated: - use valueType instead. Type ParameterType `field:"optional" json:"type" yaml:"type"` // The type of the string parameter value. // // Using specific types can be helpful in catching invalid values // at the start of creating or updating a stack. CloudFormation validates // the values against existing values in the account. // // Note - if you want to allow values from different AWS accounts, use // ParameterValueType.STRING // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#aws-ssm-parameter-types // // Default: ParameterValueType.STRING // ValueType ParameterValueType `field:"optional" json:"valueType" yaml:"valueType"` // The version number of the value you wish to retrieve. // Default: The latest version will be retrieved. // Version *float64 `field:"optional" json:"version" yaml:"version"` }
Attributes for parameters of various types of string.
Example:
parameterVersion := awscdk.Token_AsNumber(map[string]*string{ "Ref": jsii.String("MyParameter"), }) // Retrieve the latest value of the non-secret parameter // with name "/My/String/Parameter". stringValue := ssm.StringParameter_FromStringParameterAttributes(this, jsii.String("MyValue"), &StringParameterAttributes{ ParameterName: jsii.String("/My/Public/Parameter"), }).StringValue stringValueVersionFromToken := ssm.StringParameter_FromStringParameterAttributes(this, jsii.String("MyValueVersionFromToken"), &StringParameterAttributes{ ParameterName: jsii.String("/My/Public/Parameter"), // parameter version from token Version: parameterVersion, }).StringValue // Retrieve a specific version of the secret (SecureString) parameter. // 'version' is always required. secretValue := ssm.StringParameter_FromSecureStringParameterAttributes(this, jsii.String("MySecureValue"), &SecureStringParameterAttributes{ ParameterName: jsii.String("/My/Secret/Parameter"), Version: jsii.Number(5), }) secretValueVersionFromToken := ssm.StringParameter_FromSecureStringParameterAttributes(this, jsii.String("MySecureValueVersionFromToken"), &SecureStringParameterAttributes{ ParameterName: jsii.String("/My/Secret/Parameter"), // parameter version from token Version: parameterVersion, })
See: ParameterType.
type StringParameterProps ¶
type StringParameterProps struct { // A regular expression used to validate the parameter value. // // For example, for String types with values restricted to // numbers, you can specify the following: “^\d+$“. // Default: no validation is performed. // AllowedPattern *string `field:"optional" json:"allowedPattern" yaml:"allowedPattern"` // Information about the parameter that you want to add to the system. // Default: none. // Description *string `field:"optional" json:"description" yaml:"description"` // The name of the parameter. // Default: - a name will be generated by CloudFormation. // ParameterName *string `field:"optional" json:"parameterName" yaml:"parameterName"` // Indicates whether the parameter name is a simple name. // // A parameter name // without any "/" is considered a simple name. If the parameter name includes // "/", setting simpleName to true might cause unintended issues such // as duplicate "/" in the resulting ARN. // // This is required only if `parameterName` is a token, which means we // are unable to detect if the name is simple or "path-like" for the purpose // of rendering SSM parameter ARNs. // // If `parameterName` is not specified, `simpleName` must be `true` (or // undefined) since the name generated by AWS CloudFormation is always a // simple name. // Default: - auto-detect based on `parameterName`. // SimpleName *bool `field:"optional" json:"simpleName" yaml:"simpleName"` // The tier of the string parameter. // Default: - undefined. // Tier ParameterTier `field:"optional" json:"tier" yaml:"tier"` // The value of the parameter. // // It may not reference another parameter and “{{}}“ cannot be used in the value. StringValue *string `field:"required" json:"stringValue" yaml:"stringValue"` // The data type of the parameter, such as `text` or `aws:ec2:image`. // Default: ParameterDataType.TEXT // DataType ParameterDataType `field:"optional" json:"dataType" yaml:"dataType"` // The type of the string parameter. // Default: ParameterType.STRING // // Deprecated: - type will always be 'String'. Type ParameterType `field:"optional" json:"type" yaml:"type"` }
Properties needed to create a String SSM parameter.
Example:
import lambda "github.com/aws/aws-cdk-go/awscdk" var func iFunction simpleParameter := ssm.NewStringParameter(this, jsii.String("StringParameter"), &StringParameterProps{ // the parameter name doesn't contain any '/' ParameterName: jsii.String("parameter"), StringValue: jsii.String("SOME_VALUE"), SimpleName: jsii.Boolean(true), }) nonSimpleParameter := ssm.NewStringParameter(this, jsii.String("StringParameter"), &StringParameterProps{ // the parameter name contains '/' ParameterName: fmt.Sprintf("/%v/my/app/param", func.FunctionName), StringValue: jsii.String("SOME_VALUE"), SimpleName: jsii.Boolean(false), })
Source Files ¶
- CfnAssociation.go
- CfnAssociationProps.go
- CfnAssociation_InstanceAssociationOutputLocationProperty.go
- CfnAssociation_S3OutputLocationProperty.go
- CfnAssociation_TargetProperty.go
- CfnAssociation__checks.go
- CfnDocument.go
- CfnDocumentProps.go
- CfnDocument_AttachmentsSourceProperty.go
- CfnDocument_DocumentRequiresProperty.go
- CfnDocument__checks.go
- CfnMaintenanceWindow.go
- CfnMaintenanceWindowProps.go
- CfnMaintenanceWindowTarget.go
- CfnMaintenanceWindowTargetProps.go
- CfnMaintenanceWindowTarget_TargetsProperty.go
- CfnMaintenanceWindowTarget__checks.go
- CfnMaintenanceWindowTask.go
- CfnMaintenanceWindowTaskProps.go
- CfnMaintenanceWindowTask_CloudWatchOutputConfigProperty.go
- CfnMaintenanceWindowTask_LoggingInfoProperty.go
- CfnMaintenanceWindowTask_MaintenanceWindowAutomationParametersProperty.go
- CfnMaintenanceWindowTask_MaintenanceWindowLambdaParametersProperty.go
- CfnMaintenanceWindowTask_MaintenanceWindowRunCommandParametersProperty.go
- CfnMaintenanceWindowTask_MaintenanceWindowStepFunctionsParametersProperty.go
- CfnMaintenanceWindowTask_NotificationConfigProperty.go
- CfnMaintenanceWindowTask_TargetProperty.go
- CfnMaintenanceWindowTask_TaskInvocationParametersProperty.go
- CfnMaintenanceWindowTask__checks.go
- CfnMaintenanceWindow__checks.go
- CfnParameter.go
- CfnParameterProps.go
- CfnParameter__checks.go
- CfnPatchBaseline.go
- CfnPatchBaselineProps.go
- CfnPatchBaseline_PatchFilterGroupProperty.go
- CfnPatchBaseline_PatchFilterProperty.go
- CfnPatchBaseline_PatchSourceProperty.go
- CfnPatchBaseline_RuleGroupProperty.go
- CfnPatchBaseline_RuleProperty.go
- CfnPatchBaseline__checks.go
- CfnResourceDataSync.go
- CfnResourceDataSyncProps.go
- CfnResourceDataSync_AwsOrganizationsSourceProperty.go
- CfnResourceDataSync_S3DestinationProperty.go
- CfnResourceDataSync_SyncSourceProperty.go
- CfnResourceDataSync__checks.go
- CfnResourcePolicy.go
- CfnResourcePolicyProps.go
- CfnResourcePolicy__checks.go
- CommonStringParameterAttributes.go
- IParameter.go
- IParameter__checks.go
- IStringListParameter.go
- IStringParameter.go
- ListParameterAttributes.go
- ParameterDataType.go
- ParameterOptions.go
- ParameterTier.go
- ParameterType.go
- ParameterValueType.go
- SecureStringParameterAttributes.go
- StringListParameter.go
- StringListParameterProps.go
- StringListParameter__checks.go
- StringParameter.go
- StringParameterAttributes.go
- StringParameterProps.go
- StringParameter__checks.go
- main.go