Documentation ¶
Index ¶
- func CfnConnectorDefinitionVersion_CFN_RESOURCE_TYPE_NAME() *string
- func CfnConnectorDefinitionVersion_IsCfnElement(x interface{}) *bool
- func CfnConnectorDefinitionVersion_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnConnectorDefinitionVersion_IsConstruct(x interface{}) *bool
- func CfnConnectorDefinition_CFN_RESOURCE_TYPE_NAME() *string
- func CfnConnectorDefinition_IsCfnElement(x interface{}) *bool
- func CfnConnectorDefinition_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnConnectorDefinition_IsConstruct(x interface{}) *bool
- func CfnCoreDefinitionVersion_CFN_RESOURCE_TYPE_NAME() *string
- func CfnCoreDefinitionVersion_IsCfnElement(x interface{}) *bool
- func CfnCoreDefinitionVersion_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnCoreDefinitionVersion_IsConstruct(x interface{}) *bool
- func CfnCoreDefinition_CFN_RESOURCE_TYPE_NAME() *string
- func CfnCoreDefinition_IsCfnElement(x interface{}) *bool
- func CfnCoreDefinition_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnCoreDefinition_IsConstruct(x interface{}) *bool
- func CfnDeviceDefinitionVersion_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDeviceDefinitionVersion_IsCfnElement(x interface{}) *bool
- func CfnDeviceDefinitionVersion_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnDeviceDefinitionVersion_IsConstruct(x interface{}) *bool
- func CfnDeviceDefinition_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDeviceDefinition_IsCfnElement(x interface{}) *bool
- func CfnDeviceDefinition_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnDeviceDefinition_IsConstruct(x interface{}) *bool
- func CfnFunctionDefinitionVersion_CFN_RESOURCE_TYPE_NAME() *string
- func CfnFunctionDefinitionVersion_IsCfnElement(x interface{}) *bool
- func CfnFunctionDefinitionVersion_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnFunctionDefinitionVersion_IsConstruct(x interface{}) *bool
- func CfnFunctionDefinition_CFN_RESOURCE_TYPE_NAME() *string
- func CfnFunctionDefinition_IsCfnElement(x interface{}) *bool
- func CfnFunctionDefinition_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnFunctionDefinition_IsConstruct(x interface{}) *bool
- func CfnGroupVersion_CFN_RESOURCE_TYPE_NAME() *string
- func CfnGroupVersion_IsCfnElement(x interface{}) *bool
- func CfnGroupVersion_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnGroupVersion_IsConstruct(x interface{}) *bool
- func CfnGroup_CFN_RESOURCE_TYPE_NAME() *string
- func CfnGroup_IsCfnElement(x interface{}) *bool
- func CfnGroup_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnGroup_IsConstruct(x interface{}) *bool
- func CfnLoggerDefinitionVersion_CFN_RESOURCE_TYPE_NAME() *string
- func CfnLoggerDefinitionVersion_IsCfnElement(x interface{}) *bool
- func CfnLoggerDefinitionVersion_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnLoggerDefinitionVersion_IsConstruct(x interface{}) *bool
- func CfnLoggerDefinition_CFN_RESOURCE_TYPE_NAME() *string
- func CfnLoggerDefinition_IsCfnElement(x interface{}) *bool
- func CfnLoggerDefinition_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnLoggerDefinition_IsConstruct(x interface{}) *bool
- func CfnResourceDefinitionVersion_CFN_RESOURCE_TYPE_NAME() *string
- func CfnResourceDefinitionVersion_IsCfnElement(x interface{}) *bool
- func CfnResourceDefinitionVersion_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnResourceDefinitionVersion_IsConstruct(x interface{}) *bool
- func CfnResourceDefinition_CFN_RESOURCE_TYPE_NAME() *string
- func CfnResourceDefinition_IsCfnElement(x interface{}) *bool
- func CfnResourceDefinition_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnResourceDefinition_IsConstruct(x interface{}) *bool
- func CfnSubscriptionDefinitionVersion_CFN_RESOURCE_TYPE_NAME() *string
- func CfnSubscriptionDefinitionVersion_IsCfnElement(x interface{}) *bool
- func CfnSubscriptionDefinitionVersion_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnSubscriptionDefinitionVersion_IsConstruct(x interface{}) *bool
- func CfnSubscriptionDefinition_CFN_RESOURCE_TYPE_NAME() *string
- func CfnSubscriptionDefinition_IsCfnElement(x interface{}) *bool
- func CfnSubscriptionDefinition_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnSubscriptionDefinition_IsConstruct(x interface{}) *bool
- func NewCfnConnectorDefinitionVersion_Override(c CfnConnectorDefinitionVersion, scope constructs.Construct, id *string, ...)
- func NewCfnConnectorDefinition_Override(c CfnConnectorDefinition, scope constructs.Construct, id *string, ...)
- func NewCfnCoreDefinitionVersion_Override(c CfnCoreDefinitionVersion, scope constructs.Construct, id *string, ...)
- func NewCfnCoreDefinition_Override(c CfnCoreDefinition, scope constructs.Construct, id *string, ...)
- func NewCfnDeviceDefinitionVersion_Override(c CfnDeviceDefinitionVersion, scope constructs.Construct, id *string, ...)
- func NewCfnDeviceDefinition_Override(c CfnDeviceDefinition, scope constructs.Construct, id *string, ...)
- func NewCfnFunctionDefinitionVersion_Override(c CfnFunctionDefinitionVersion, scope constructs.Construct, id *string, ...)
- func NewCfnFunctionDefinition_Override(c CfnFunctionDefinition, scope constructs.Construct, id *string, ...)
- func NewCfnGroupVersion_Override(c CfnGroupVersion, scope constructs.Construct, id *string, ...)
- func NewCfnGroup_Override(c CfnGroup, scope constructs.Construct, id *string, props *CfnGroupProps)
- func NewCfnLoggerDefinitionVersion_Override(c CfnLoggerDefinitionVersion, scope constructs.Construct, id *string, ...)
- func NewCfnLoggerDefinition_Override(c CfnLoggerDefinition, scope constructs.Construct, id *string, ...)
- func NewCfnResourceDefinitionVersion_Override(c CfnResourceDefinitionVersion, scope constructs.Construct, id *string, ...)
- func NewCfnResourceDefinition_Override(c CfnResourceDefinition, scope constructs.Construct, id *string, ...)
- func NewCfnSubscriptionDefinitionVersion_Override(c CfnSubscriptionDefinitionVersion, scope constructs.Construct, id *string, ...)
- func NewCfnSubscriptionDefinition_Override(c CfnSubscriptionDefinition, scope constructs.Construct, id *string, ...)
- type CfnConnectorDefinition
- type CfnConnectorDefinitionProps
- type CfnConnectorDefinitionVersion
- type CfnConnectorDefinitionVersionProps
- type CfnConnectorDefinitionVersion_ConnectorProperty
- type CfnConnectorDefinition_ConnectorDefinitionVersionProperty
- type CfnConnectorDefinition_ConnectorProperty
- type CfnCoreDefinition
- type CfnCoreDefinitionProps
- type CfnCoreDefinitionVersion
- type CfnCoreDefinitionVersionProps
- type CfnCoreDefinitionVersion_CoreProperty
- type CfnCoreDefinition_CoreDefinitionVersionProperty
- type CfnCoreDefinition_CoreProperty
- type CfnDeviceDefinition
- type CfnDeviceDefinitionProps
- type CfnDeviceDefinitionVersion
- type CfnDeviceDefinitionVersionProps
- type CfnDeviceDefinitionVersion_DeviceProperty
- type CfnDeviceDefinition_DeviceDefinitionVersionProperty
- type CfnDeviceDefinition_DeviceProperty
- type CfnFunctionDefinition
- type CfnFunctionDefinitionProps
- type CfnFunctionDefinitionVersion
- type CfnFunctionDefinitionVersionProps
- type CfnFunctionDefinitionVersion_DefaultConfigProperty
- type CfnFunctionDefinitionVersion_EnvironmentProperty
- type CfnFunctionDefinitionVersion_ExecutionProperty
- type CfnFunctionDefinitionVersion_FunctionConfigurationProperty
- type CfnFunctionDefinitionVersion_FunctionProperty
- type CfnFunctionDefinitionVersion_ResourceAccessPolicyProperty
- type CfnFunctionDefinitionVersion_RunAsProperty
- type CfnFunctionDefinition_DefaultConfigProperty
- type CfnFunctionDefinition_EnvironmentProperty
- type CfnFunctionDefinition_ExecutionProperty
- type CfnFunctionDefinition_FunctionConfigurationProperty
- type CfnFunctionDefinition_FunctionDefinitionVersionProperty
- type CfnFunctionDefinition_FunctionProperty
- type CfnFunctionDefinition_ResourceAccessPolicyProperty
- type CfnFunctionDefinition_RunAsProperty
- type CfnGroup
- type CfnGroupProps
- type CfnGroupVersion
- type CfnGroupVersionProps
- type CfnGroup_GroupVersionProperty
- type CfnLoggerDefinition
- type CfnLoggerDefinitionProps
- type CfnLoggerDefinitionVersion
- type CfnLoggerDefinitionVersionProps
- type CfnLoggerDefinitionVersion_LoggerProperty
- type CfnLoggerDefinition_LoggerDefinitionVersionProperty
- type CfnLoggerDefinition_LoggerProperty
- type CfnResourceDefinition
- type CfnResourceDefinitionProps
- type CfnResourceDefinitionVersion
- type CfnResourceDefinitionVersionProps
- type CfnResourceDefinitionVersion_GroupOwnerSettingProperty
- type CfnResourceDefinitionVersion_LocalDeviceResourceDataProperty
- type CfnResourceDefinitionVersion_LocalVolumeResourceDataProperty
- type CfnResourceDefinitionVersion_ResourceDataContainerProperty
- type CfnResourceDefinitionVersion_ResourceDownloadOwnerSettingProperty
- type CfnResourceDefinitionVersion_ResourceInstanceProperty
- type CfnResourceDefinitionVersion_S3MachineLearningModelResourceDataProperty
- type CfnResourceDefinitionVersion_SageMakerMachineLearningModelResourceDataProperty
- type CfnResourceDefinitionVersion_SecretsManagerSecretResourceDataProperty
- type CfnResourceDefinition_GroupOwnerSettingProperty
- type CfnResourceDefinition_LocalDeviceResourceDataProperty
- type CfnResourceDefinition_LocalVolumeResourceDataProperty
- type CfnResourceDefinition_ResourceDataContainerProperty
- type CfnResourceDefinition_ResourceDefinitionVersionProperty
- type CfnResourceDefinition_ResourceDownloadOwnerSettingProperty
- type CfnResourceDefinition_ResourceInstanceProperty
- type CfnResourceDefinition_S3MachineLearningModelResourceDataProperty
- type CfnResourceDefinition_SageMakerMachineLearningModelResourceDataProperty
- type CfnResourceDefinition_SecretsManagerSecretResourceDataProperty
- type CfnSubscriptionDefinition
- type CfnSubscriptionDefinitionProps
- type CfnSubscriptionDefinitionVersion
- type CfnSubscriptionDefinitionVersionProps
- type CfnSubscriptionDefinitionVersion_SubscriptionProperty
- type CfnSubscriptionDefinition_SubscriptionDefinitionVersionProperty
- type CfnSubscriptionDefinition_SubscriptionProperty
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CfnConnectorDefinitionVersion_CFN_RESOURCE_TYPE_NAME ¶
func CfnConnectorDefinitionVersion_CFN_RESOURCE_TYPE_NAME() *string
func CfnConnectorDefinitionVersion_IsCfnElement ¶
func CfnConnectorDefinitionVersion_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 CfnConnectorDefinitionVersion_IsCfnResource ¶
func CfnConnectorDefinitionVersion_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnConnectorDefinitionVersion_IsConstruct ¶
func CfnConnectorDefinitionVersion_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 CfnConnectorDefinition_CFN_RESOURCE_TYPE_NAME ¶
func CfnConnectorDefinition_CFN_RESOURCE_TYPE_NAME() *string
func CfnConnectorDefinition_IsCfnElement ¶
func CfnConnectorDefinition_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 CfnConnectorDefinition_IsCfnResource ¶
func CfnConnectorDefinition_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnConnectorDefinition_IsConstruct ¶
func CfnConnectorDefinition_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 CfnCoreDefinitionVersion_CFN_RESOURCE_TYPE_NAME ¶
func CfnCoreDefinitionVersion_CFN_RESOURCE_TYPE_NAME() *string
func CfnCoreDefinitionVersion_IsCfnElement ¶
func CfnCoreDefinitionVersion_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 CfnCoreDefinitionVersion_IsCfnResource ¶
func CfnCoreDefinitionVersion_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnCoreDefinitionVersion_IsConstruct ¶
func CfnCoreDefinitionVersion_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 CfnCoreDefinition_CFN_RESOURCE_TYPE_NAME ¶
func CfnCoreDefinition_CFN_RESOURCE_TYPE_NAME() *string
func CfnCoreDefinition_IsCfnElement ¶
func CfnCoreDefinition_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 CfnCoreDefinition_IsCfnResource ¶
func CfnCoreDefinition_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnCoreDefinition_IsConstruct ¶
func CfnCoreDefinition_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 CfnDeviceDefinitionVersion_CFN_RESOURCE_TYPE_NAME ¶
func CfnDeviceDefinitionVersion_CFN_RESOURCE_TYPE_NAME() *string
func CfnDeviceDefinitionVersion_IsCfnElement ¶
func CfnDeviceDefinitionVersion_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 CfnDeviceDefinitionVersion_IsCfnResource ¶
func CfnDeviceDefinitionVersion_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnDeviceDefinitionVersion_IsConstruct ¶
func CfnDeviceDefinitionVersion_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 CfnDeviceDefinition_CFN_RESOURCE_TYPE_NAME ¶
func CfnDeviceDefinition_CFN_RESOURCE_TYPE_NAME() *string
func CfnDeviceDefinition_IsCfnElement ¶
func CfnDeviceDefinition_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 CfnDeviceDefinition_IsCfnResource ¶
func CfnDeviceDefinition_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnDeviceDefinition_IsConstruct ¶
func CfnDeviceDefinition_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 CfnFunctionDefinitionVersion_CFN_RESOURCE_TYPE_NAME ¶
func CfnFunctionDefinitionVersion_CFN_RESOURCE_TYPE_NAME() *string
func CfnFunctionDefinitionVersion_IsCfnElement ¶
func CfnFunctionDefinitionVersion_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 CfnFunctionDefinitionVersion_IsCfnResource ¶
func CfnFunctionDefinitionVersion_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnFunctionDefinitionVersion_IsConstruct ¶
func CfnFunctionDefinitionVersion_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 CfnFunctionDefinition_CFN_RESOURCE_TYPE_NAME ¶
func CfnFunctionDefinition_CFN_RESOURCE_TYPE_NAME() *string
func CfnFunctionDefinition_IsCfnElement ¶
func CfnFunctionDefinition_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 CfnFunctionDefinition_IsCfnResource ¶
func CfnFunctionDefinition_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnFunctionDefinition_IsConstruct ¶
func CfnFunctionDefinition_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 CfnGroupVersion_CFN_RESOURCE_TYPE_NAME ¶
func CfnGroupVersion_CFN_RESOURCE_TYPE_NAME() *string
func CfnGroupVersion_IsCfnElement ¶
func CfnGroupVersion_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 CfnGroupVersion_IsCfnResource ¶
func CfnGroupVersion_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnGroupVersion_IsConstruct ¶
func CfnGroupVersion_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 CfnGroup_CFN_RESOURCE_TYPE_NAME ¶
func CfnGroup_CFN_RESOURCE_TYPE_NAME() *string
func CfnGroup_IsCfnElement ¶
func CfnGroup_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 CfnGroup_IsCfnResource ¶
func CfnGroup_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnGroup_IsConstruct ¶
func CfnGroup_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 CfnLoggerDefinitionVersion_CFN_RESOURCE_TYPE_NAME ¶
func CfnLoggerDefinitionVersion_CFN_RESOURCE_TYPE_NAME() *string
func CfnLoggerDefinitionVersion_IsCfnElement ¶
func CfnLoggerDefinitionVersion_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 CfnLoggerDefinitionVersion_IsCfnResource ¶
func CfnLoggerDefinitionVersion_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnLoggerDefinitionVersion_IsConstruct ¶
func CfnLoggerDefinitionVersion_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 CfnLoggerDefinition_CFN_RESOURCE_TYPE_NAME ¶
func CfnLoggerDefinition_CFN_RESOURCE_TYPE_NAME() *string
func CfnLoggerDefinition_IsCfnElement ¶
func CfnLoggerDefinition_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 CfnLoggerDefinition_IsCfnResource ¶
func CfnLoggerDefinition_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnLoggerDefinition_IsConstruct ¶
func CfnLoggerDefinition_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 CfnResourceDefinitionVersion_CFN_RESOURCE_TYPE_NAME ¶
func CfnResourceDefinitionVersion_CFN_RESOURCE_TYPE_NAME() *string
func CfnResourceDefinitionVersion_IsCfnElement ¶
func CfnResourceDefinitionVersion_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 CfnResourceDefinitionVersion_IsCfnResource ¶
func CfnResourceDefinitionVersion_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnResourceDefinitionVersion_IsConstruct ¶
func CfnResourceDefinitionVersion_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 CfnResourceDefinition_CFN_RESOURCE_TYPE_NAME ¶
func CfnResourceDefinition_CFN_RESOURCE_TYPE_NAME() *string
func CfnResourceDefinition_IsCfnElement ¶
func CfnResourceDefinition_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 CfnResourceDefinition_IsCfnResource ¶
func CfnResourceDefinition_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnResourceDefinition_IsConstruct ¶
func CfnResourceDefinition_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 CfnSubscriptionDefinitionVersion_CFN_RESOURCE_TYPE_NAME ¶
func CfnSubscriptionDefinitionVersion_CFN_RESOURCE_TYPE_NAME() *string
func CfnSubscriptionDefinitionVersion_IsCfnElement ¶
func CfnSubscriptionDefinitionVersion_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 CfnSubscriptionDefinitionVersion_IsCfnResource ¶
func CfnSubscriptionDefinitionVersion_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnSubscriptionDefinitionVersion_IsConstruct ¶
func CfnSubscriptionDefinitionVersion_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 CfnSubscriptionDefinition_CFN_RESOURCE_TYPE_NAME ¶
func CfnSubscriptionDefinition_CFN_RESOURCE_TYPE_NAME() *string
func CfnSubscriptionDefinition_IsCfnElement ¶
func CfnSubscriptionDefinition_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 CfnSubscriptionDefinition_IsCfnResource ¶
func CfnSubscriptionDefinition_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnSubscriptionDefinition_IsConstruct ¶
func CfnSubscriptionDefinition_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 NewCfnConnectorDefinitionVersion_Override ¶
func NewCfnConnectorDefinitionVersion_Override(c CfnConnectorDefinitionVersion, scope constructs.Construct, id *string, props *CfnConnectorDefinitionVersionProps)
func NewCfnConnectorDefinition_Override ¶
func NewCfnConnectorDefinition_Override(c CfnConnectorDefinition, scope constructs.Construct, id *string, props *CfnConnectorDefinitionProps)
func NewCfnCoreDefinitionVersion_Override ¶
func NewCfnCoreDefinitionVersion_Override(c CfnCoreDefinitionVersion, scope constructs.Construct, id *string, props *CfnCoreDefinitionVersionProps)
func NewCfnCoreDefinition_Override ¶
func NewCfnCoreDefinition_Override(c CfnCoreDefinition, scope constructs.Construct, id *string, props *CfnCoreDefinitionProps)
func NewCfnDeviceDefinitionVersion_Override ¶
func NewCfnDeviceDefinitionVersion_Override(c CfnDeviceDefinitionVersion, scope constructs.Construct, id *string, props *CfnDeviceDefinitionVersionProps)
func NewCfnDeviceDefinition_Override ¶
func NewCfnDeviceDefinition_Override(c CfnDeviceDefinition, scope constructs.Construct, id *string, props *CfnDeviceDefinitionProps)
func NewCfnFunctionDefinitionVersion_Override ¶
func NewCfnFunctionDefinitionVersion_Override(c CfnFunctionDefinitionVersion, scope constructs.Construct, id *string, props *CfnFunctionDefinitionVersionProps)
func NewCfnFunctionDefinition_Override ¶
func NewCfnFunctionDefinition_Override(c CfnFunctionDefinition, scope constructs.Construct, id *string, props *CfnFunctionDefinitionProps)
func NewCfnGroupVersion_Override ¶
func NewCfnGroupVersion_Override(c CfnGroupVersion, scope constructs.Construct, id *string, props *CfnGroupVersionProps)
func NewCfnGroup_Override ¶
func NewCfnGroup_Override(c CfnGroup, scope constructs.Construct, id *string, props *CfnGroupProps)
func NewCfnLoggerDefinitionVersion_Override ¶
func NewCfnLoggerDefinitionVersion_Override(c CfnLoggerDefinitionVersion, scope constructs.Construct, id *string, props *CfnLoggerDefinitionVersionProps)
func NewCfnLoggerDefinition_Override ¶
func NewCfnLoggerDefinition_Override(c CfnLoggerDefinition, scope constructs.Construct, id *string, props *CfnLoggerDefinitionProps)
func NewCfnResourceDefinitionVersion_Override ¶
func NewCfnResourceDefinitionVersion_Override(c CfnResourceDefinitionVersion, scope constructs.Construct, id *string, props *CfnResourceDefinitionVersionProps)
func NewCfnResourceDefinition_Override ¶
func NewCfnResourceDefinition_Override(c CfnResourceDefinition, scope constructs.Construct, id *string, props *CfnResourceDefinitionProps)
func NewCfnSubscriptionDefinitionVersion_Override ¶
func NewCfnSubscriptionDefinitionVersion_Override(c CfnSubscriptionDefinitionVersion, scope constructs.Construct, id *string, props *CfnSubscriptionDefinitionVersionProps)
func NewCfnSubscriptionDefinition_Override ¶
func NewCfnSubscriptionDefinition_Override(c CfnSubscriptionDefinition, scope constructs.Construct, id *string, props *CfnSubscriptionDefinitionProps)
Types ¶
type CfnConnectorDefinition ¶
type CfnConnectorDefinition interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // The Amazon Resource Name (ARN) of the `ConnectorDefinition` , such as `arn:aws:greengrass:us-east-1: :/greengrass/definition/connectors/1234a5b6-78cd-901e-2fgh-3i45j6k178l9` . AttrArn() *string // The ID of the `ConnectorDefinition` , such as `1234a5b6-78cd-901e-2fgh-3i45j6k178l9` . AttrId() *string // The ARN of the last `ConnectorDefinitionVersion` that was added to the `ConnectorDefinition` , such as `arn:aws:greengrass:us-east-1: :/greengrass/definition/connectors/1234a5b6-78cd-901e-2fgh-3i45j6k178l9/versions/9876ac30-4bdb-4f9d-95af-b5fdb66be1a2` . AttrLatestVersionArn() *string // The name of the `ConnectorDefinition` , such as `MyConnectorDefinition` . AttrName() *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 connector definition version to include when the connector definition is created. InitialVersion() interface{} SetInitialVersion(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 connector definition. Name() *string SetName(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // Application-specific metadata to attach to the connector definition. TagsRaw() interface{} SetTagsRaw(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{} // 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::Greengrass::ConnectorDefinition` resource represents a connector definition for AWS IoT Greengrass .
Connector definitions are used to organize your connector definition versions.
Connector definitions can reference multiple connector definition versions. All connector definition versions must be associated with a connector definition. Each connector definition version can contain one or more connectors.
> When you create a connector definition, you can optionally include an initial connector definition version. To associate a connector definition version later, create an [`AWS::Greengrass::ConnectorDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html) resource and specify the ID of this connector definition. > > After you create the connector definition version that contains the connectors you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.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" var parameters interface{} var tags interface{} cfnConnectorDefinition := awscdk.Aws_greengrass.NewCfnConnectorDefinition(this, jsii.String("MyCfnConnectorDefinition"), &CfnConnectorDefinitionProps{ Name: jsii.String("name"), // the properties below are optional InitialVersion: &ConnectorDefinitionVersionProperty{ Connectors: []interface{}{ &ConnectorProperty{ ConnectorArn: jsii.String("connectorArn"), Id: jsii.String("id"), // the properties below are optional Parameters: parameters, }, }, }, Tags: tags, })
func NewCfnConnectorDefinition ¶
func NewCfnConnectorDefinition(scope constructs.Construct, id *string, props *CfnConnectorDefinitionProps) CfnConnectorDefinition
type CfnConnectorDefinitionProps ¶
type CfnConnectorDefinitionProps struct { // The name of the connector definition. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html#cfn-greengrass-connectordefinition-name // Name *string `field:"required" json:"name" yaml:"name"` // The connector definition version to include when the connector definition is created. // // A connector definition version contains a list of [`connector`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html) property types. // // > To associate a connector definition version after the connector definition is created, create an [`AWS::Greengrass::ConnectorDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html) resource and specify the ID of this connector definition. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html#cfn-greengrass-connectordefinition-initialversion // InitialVersion interface{} `field:"optional" json:"initialVersion" yaml:"initialVersion"` // Application-specific metadata to attach to the connector definition. // // You can use tags in IAM policies to control access to AWS IoT Greengrass resources. You can also use tags to categorize your resources. For more information, see [Tagging Your AWS IoT Greengrass Resources](https://docs.aws.amazon.com/greengrass/latest/developerguide/tagging.html) in the *Developer Guide* . // // This `Json` property type is processed as a map of key-value pairs. It uses the following format, which is different from most `Tags` implementations in AWS CloudFormation templates. // // “`json // "Tags": { "KeyName0": "value", "KeyName1": "value", "KeyName2": "value" // } // “`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html#cfn-greengrass-connectordefinition-tags // Tags interface{} `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnConnectorDefinition`.
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 tags interface{} cfnConnectorDefinitionProps := &CfnConnectorDefinitionProps{ Name: jsii.String("name"), // the properties below are optional InitialVersion: &ConnectorDefinitionVersionProperty{ Connectors: []interface{}{ &ConnectorProperty{ ConnectorArn: jsii.String("connectorArn"), Id: jsii.String("id"), // the properties below are optional Parameters: parameters, }, }, }, Tags: tags, }
type CfnConnectorDefinitionVersion ¶
type CfnConnectorDefinitionVersion 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 // The ID of the connector definition associated with this version. ConnectorDefinitionId() *string SetConnectorDefinitionId(val *string) // The connectors in this version. Connectors() interface{} SetConnectors(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 // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // 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::Greengrass::ConnectorDefinitionVersion` resource represents a connector definition version for AWS IoT Greengrass .
A connector definition version contains a list of connectors.
> To create a connector definition version, you must specify the ID of the connector definition that you want to associate with the version. For information about creating a connector definition, see [`AWS::Greengrass::ConnectorDefinition`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html) . > > After you create a connector definition version that contains the connectors you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.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" var parameters interface{} cfnConnectorDefinitionVersion := awscdk.Aws_greengrass.NewCfnConnectorDefinitionVersion(this, jsii.String("MyCfnConnectorDefinitionVersion"), &CfnConnectorDefinitionVersionProps{ ConnectorDefinitionId: jsii.String("connectorDefinitionId"), Connectors: []interface{}{ &ConnectorProperty{ ConnectorArn: jsii.String("connectorArn"), Id: jsii.String("id"), // the properties below are optional Parameters: parameters, }, }, })
func NewCfnConnectorDefinitionVersion ¶
func NewCfnConnectorDefinitionVersion(scope constructs.Construct, id *string, props *CfnConnectorDefinitionVersionProps) CfnConnectorDefinitionVersion
type CfnConnectorDefinitionVersionProps ¶
type CfnConnectorDefinitionVersionProps struct { // The ID of the connector definition associated with this version. // // This value is a GUID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html#cfn-greengrass-connectordefinitionversion-connectordefinitionid // ConnectorDefinitionId *string `field:"required" json:"connectorDefinitionId" yaml:"connectorDefinitionId"` // The connectors in this version. // // Only one instance of a given connector can be added to the connector definition version at a time. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html#cfn-greengrass-connectordefinitionversion-connectors // Connectors interface{} `field:"required" json:"connectors" yaml:"connectors"` }
Properties for defining a `CfnConnectorDefinitionVersion`.
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{} cfnConnectorDefinitionVersionProps := &CfnConnectorDefinitionVersionProps{ ConnectorDefinitionId: jsii.String("connectorDefinitionId"), Connectors: []interface{}{ &ConnectorProperty{ ConnectorArn: jsii.String("connectorArn"), Id: jsii.String("id"), // the properties below are optional Parameters: parameters, }, }, }
type CfnConnectorDefinitionVersion_ConnectorProperty ¶
type CfnConnectorDefinitionVersion_ConnectorProperty struct { // The Amazon Resource Name (ARN) of the connector. // // For more information about connectors provided by AWS , see [Greengrass Connectors Provided by AWS](https://docs.aws.amazon.com/greengrass/latest/developerguide/connectors-list.html) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinitionversion-connector.html#cfn-greengrass-connectordefinitionversion-connector-connectorarn // ConnectorArn *string `field:"required" json:"connectorArn" yaml:"connectorArn"` // A descriptive or arbitrary ID for the connector. // // This value must be unique within the connector definition version. Maximum length is 128 characters with pattern `[a-zA-Z0-9:_-]+` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinitionversion-connector.html#cfn-greengrass-connectordefinitionversion-connector-id // Id *string `field:"required" json:"id" yaml:"id"` // The parameters or configuration that the connector uses. // // For more information about connectors provided by AWS , see [Greengrass Connectors Provided by AWS](https://docs.aws.amazon.com/greengrass/latest/developerguide/connectors-list.html) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinitionversion-connector.html#cfn-greengrass-connectordefinitionversion-connector-parameters // Parameters interface{} `field:"optional" json:"parameters" yaml:"parameters"` }
Connectors are modules that provide built-in integration with local infrastructure, device protocols, AWS , and other cloud services.
For more information, see [Integrate with Services and Protocols Using Greengrass Connectors](https://docs.aws.amazon.com/greengrass/latest/developerguide/connectors.html) in the *Developer Guide* .
In an AWS CloudFormation template, the `Connectors` property of the [`AWS::Greengrass::ConnectorDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html) resource contains a list of `Connector` 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" var parameters interface{} connectorProperty := &ConnectorProperty{ ConnectorArn: jsii.String("connectorArn"), Id: jsii.String("id"), // the properties below are optional Parameters: parameters, }
type CfnConnectorDefinition_ConnectorDefinitionVersionProperty ¶
type CfnConnectorDefinition_ConnectorDefinitionVersionProperty struct { // The connectors in this version. // // Only one instance of a given connector can be added to a connector definition version at a time. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connectordefinitionversion.html#cfn-greengrass-connectordefinition-connectordefinitionversion-connectors // Connectors interface{} `field:"required" json:"connectors" yaml:"connectors"` }
A connector definition version contains a list of connectors.
> After you create a connector definition version that contains the connectors you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html) .
In an AWS CloudFormation template, `ConnectorDefinitionVersion` is the property type of the `InitialVersion` property in the [`AWS::Greengrass::ConnectorDefinition`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.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" var parameters interface{} connectorDefinitionVersionProperty := &ConnectorDefinitionVersionProperty{ Connectors: []interface{}{ &ConnectorProperty{ ConnectorArn: jsii.String("connectorArn"), Id: jsii.String("id"), // the properties below are optional Parameters: parameters, }, }, }
type CfnConnectorDefinition_ConnectorProperty ¶
type CfnConnectorDefinition_ConnectorProperty struct { // The Amazon Resource Name (ARN) of the connector. // // For more information about connectors provided by AWS , see [Greengrass Connectors Provided by AWS](https://docs.aws.amazon.com/greengrass/latest/developerguide/connectors-list.html) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html#cfn-greengrass-connectordefinition-connector-connectorarn // ConnectorArn *string `field:"required" json:"connectorArn" yaml:"connectorArn"` // A descriptive or arbitrary ID for the connector. // // This value must be unique within the connector definition version. Maximum length is 128 characters with pattern `[a-zA-Z0-9:_-]+` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html#cfn-greengrass-connectordefinition-connector-id // Id *string `field:"required" json:"id" yaml:"id"` // The parameters or configuration used by the connector. // // For more information about connectors provided by AWS , see [Greengrass Connectors Provided by AWS](https://docs.aws.amazon.com/greengrass/latest/developerguide/connectors-list.html) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html#cfn-greengrass-connectordefinition-connector-parameters // Parameters interface{} `field:"optional" json:"parameters" yaml:"parameters"` }
Connectors are modules that provide built-in integration with local infrastructure, device protocols, AWS , and other cloud services.
For more information, see [Integrate with Services and Protocols Using Greengrass Connectors](https://docs.aws.amazon.com/greengrass/latest/developerguide/connectors.html) in the *Developer Guide* .
In an AWS CloudFormation template, the `Connectors` property of the [`ConnectorDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connectordefinitionversion.html) property type contains a list of `Connector` 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" var parameters interface{} connectorProperty := &ConnectorProperty{ ConnectorArn: jsii.String("connectorArn"), Id: jsii.String("id"), // the properties below are optional Parameters: parameters, }
type CfnCoreDefinition ¶
type CfnCoreDefinition interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // The Amazon Resource Name (ARN) of the `CoreDefinition` , such as `arn:aws:greengrass:us-east-1: :/greengrass/definition/cores/1234a5b6-78cd-901e-2fgh-3i45j6k178l9` . AttrArn() *string // The ID of the `CoreDefinition` , such as `1234a5b6-78cd-901e-2fgh-3i45j6k178l9` . AttrId() *string // The ARN of the last `CoreDefinitionVersion` that was added to the `CoreDefinition` , such as `arn:aws:greengrass:us-east-1: :/greengrass/definition/cores/1234a5b6-78cd-901e-2fgh-3i45j6k178l9/versions/9876ac30-4bdb-4f9d-95af-b5fdb66be1a2` . AttrLatestVersionArn() *string // The name of the `CoreDefinition` , such as `MyCoreDefinition` . AttrName() *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 core definition version to include when the core definition is created. InitialVersion() interface{} SetInitialVersion(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 core definition. Name() *string SetName(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // Application-specific metadata to attach to the core definition. TagsRaw() interface{} SetTagsRaw(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{} // 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::Greengrass::CoreDefinition` resource represents a core definition for AWS IoT Greengrass .
Core definitions are used to organize your core definition versions.
Core definitions can reference multiple core definition versions. All core definition versions must be associated with a core definition. Each core definition version can contain one Greengrass core.
> When you create a core definition, you can optionally include an initial core definition version. To associate a core definition version later, create an [`AWS::Greengrass::CoreDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html) resource and specify the ID of this core definition. > > After you create the core definition version that contains the core you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.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" var tags interface{} cfnCoreDefinition := awscdk.Aws_greengrass.NewCfnCoreDefinition(this, jsii.String("MyCfnCoreDefinition"), &CfnCoreDefinitionProps{ Name: jsii.String("name"), // the properties below are optional InitialVersion: &CoreDefinitionVersionProperty{ Cores: []interface{}{ &CoreProperty{ CertificateArn: jsii.String("certificateArn"), Id: jsii.String("id"), ThingArn: jsii.String("thingArn"), // the properties below are optional SyncShadow: jsii.Boolean(false), }, }, }, Tags: tags, })
func NewCfnCoreDefinition ¶
func NewCfnCoreDefinition(scope constructs.Construct, id *string, props *CfnCoreDefinitionProps) CfnCoreDefinition
type CfnCoreDefinitionProps ¶
type CfnCoreDefinitionProps struct { // The name of the core definition. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html#cfn-greengrass-coredefinition-name // Name *string `field:"required" json:"name" yaml:"name"` // The core definition version to include when the core definition is created. // // Currently, a core definition version can contain only one [`core`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html) . // // > To associate a core definition version after the core definition is created, create an [`AWS::Greengrass::CoreDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html) resource and specify the ID of this core definition. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html#cfn-greengrass-coredefinition-initialversion // InitialVersion interface{} `field:"optional" json:"initialVersion" yaml:"initialVersion"` // Application-specific metadata to attach to the core definition. // // You can use tags in IAM policies to control access to AWS IoT Greengrass resources. You can also use tags to categorize your resources. For more information, see [Tagging Your AWS IoT Greengrass Resources](https://docs.aws.amazon.com/greengrass/latest/developerguide/tagging.html) in the *Developer Guide* . // // This `Json` property type is processed as a map of key-value pairs. It uses the following format, which is different from most `Tags` implementations in AWS CloudFormation templates. // // “`json // "Tags": { "KeyName0": "value", "KeyName1": "value", "KeyName2": "value" // } // “`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html#cfn-greengrass-coredefinition-tags // Tags interface{} `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnCoreDefinition`.
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 tags interface{} cfnCoreDefinitionProps := &CfnCoreDefinitionProps{ Name: jsii.String("name"), // the properties below are optional InitialVersion: &CoreDefinitionVersionProperty{ Cores: []interface{}{ &CoreProperty{ CertificateArn: jsii.String("certificateArn"), Id: jsii.String("id"), ThingArn: jsii.String("thingArn"), // the properties below are optional SyncShadow: jsii.Boolean(false), }, }, }, Tags: tags, }
type CfnCoreDefinitionVersion ¶
type CfnCoreDefinitionVersion 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 // The ID of the core definition associated with this version. CoreDefinitionId() *string SetCoreDefinitionId(val *string) // The Greengrass core in this version. Cores() interface{} SetCores(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 // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // 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::Greengrass::CoreDefinitionVersion` resource represents a core definition version for AWS IoT Greengrass .
A core definition version contains a Greengrass core.
> To create a core definition version, you must specify the ID of the core definition that you want to associate with the version. For information about creating a core definition, see [`AWS::Greengrass::CoreDefinition`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html) . > > After you create a core definition version that contains the core you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.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" cfnCoreDefinitionVersion := awscdk.Aws_greengrass.NewCfnCoreDefinitionVersion(this, jsii.String("MyCfnCoreDefinitionVersion"), &CfnCoreDefinitionVersionProps{ CoreDefinitionId: jsii.String("coreDefinitionId"), Cores: []interface{}{ &CoreProperty{ CertificateArn: jsii.String("certificateArn"), Id: jsii.String("id"), ThingArn: jsii.String("thingArn"), // the properties below are optional SyncShadow: jsii.Boolean(false), }, }, })
func NewCfnCoreDefinitionVersion ¶
func NewCfnCoreDefinitionVersion(scope constructs.Construct, id *string, props *CfnCoreDefinitionVersionProps) CfnCoreDefinitionVersion
type CfnCoreDefinitionVersionProps ¶
type CfnCoreDefinitionVersionProps struct { // The ID of the core definition associated with this version. // // This value is a GUID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html#cfn-greengrass-coredefinitionversion-coredefinitionid // CoreDefinitionId *string `field:"required" json:"coreDefinitionId" yaml:"coreDefinitionId"` // The Greengrass core in this version. // // Currently, the `Cores` property for a core definition version can contain only one core. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html#cfn-greengrass-coredefinitionversion-cores // Cores interface{} `field:"required" json:"cores" yaml:"cores"` }
Properties for defining a `CfnCoreDefinitionVersion`.
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" cfnCoreDefinitionVersionProps := &CfnCoreDefinitionVersionProps{ CoreDefinitionId: jsii.String("coreDefinitionId"), Cores: []interface{}{ &CoreProperty{ CertificateArn: jsii.String("certificateArn"), Id: jsii.String("id"), ThingArn: jsii.String("thingArn"), // the properties below are optional SyncShadow: jsii.Boolean(false), }, }, }
type CfnCoreDefinitionVersion_CoreProperty ¶
type CfnCoreDefinitionVersion_CoreProperty struct { // The ARN of the device certificate for the core. // // This X.509 certificate is used to authenticate the core with AWS IoT and AWS IoT Greengrass services. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-certificatearn // CertificateArn *string `field:"required" json:"certificateArn" yaml:"certificateArn"` // A descriptive or arbitrary ID for the core. // // This value must be unique within the core definition version. Maximum length is 128 characters with pattern `[a-zA-Z0-9:_-]+` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-id // Id *string `field:"required" json:"id" yaml:"id"` // The Amazon Resource Name (ARN) of the core, which is an AWS IoT device (thing). // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-thingarn // ThingArn *string `field:"required" json:"thingArn" yaml:"thingArn"` // Indicates whether the core's local shadow is synced with the cloud automatically. // // The default is false. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-syncshadow // SyncShadow interface{} `field:"optional" json:"syncShadow" yaml:"syncShadow"` }
A core is an AWS IoT device that runs the AWS IoT Greengrass core software and manages local processes for a Greengrass group.
For more information, see [What Is AWS IoT Greengrass ?](https://docs.aws.amazon.com/greengrass/latest/developerguide/what-is-gg.html) in the *Developer Guide* .
In an AWS CloudFormation template, the `Cores` property of the [`AWS::Greengrass::CoreDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html) resource contains a list of `Core` property types. Currently, the list can contain only one core.
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" coreProperty := &CoreProperty{ CertificateArn: jsii.String("certificateArn"), Id: jsii.String("id"), ThingArn: jsii.String("thingArn"), // the properties below are optional SyncShadow: jsii.Boolean(false), }
type CfnCoreDefinition_CoreDefinitionVersionProperty ¶
type CfnCoreDefinition_CoreDefinitionVersionProperty struct { // The Greengrass core in this version. // // Currently, the `Cores` property for a core definition version can contain only one core. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-coredefinitionversion.html#cfn-greengrass-coredefinition-coredefinitionversion-cores // Cores interface{} `field:"required" json:"cores" yaml:"cores"` }
A core definition version contains a Greengrass [core](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html) .
> After you create a core definition version that contains the core you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html) .
In an AWS CloudFormation template, `CoreDefinitionVersion` is the property type of the `InitialVersion` property in the [`AWS::Greengrass::CoreDefinition`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.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" coreDefinitionVersionProperty := &CoreDefinitionVersionProperty{ Cores: []interface{}{ &CoreProperty{ CertificateArn: jsii.String("certificateArn"), Id: jsii.String("id"), ThingArn: jsii.String("thingArn"), // the properties below are optional SyncShadow: jsii.Boolean(false), }, }, }
type CfnCoreDefinition_CoreProperty ¶
type CfnCoreDefinition_CoreProperty struct { // The Amazon Resource Name (ARN) of the device certificate for the core. // // This X.509 certificate is used to authenticate the core with AWS IoT and AWS IoT Greengrass services. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html#cfn-greengrass-coredefinition-core-certificatearn // CertificateArn *string `field:"required" json:"certificateArn" yaml:"certificateArn"` // A descriptive or arbitrary ID for the core. // // This value must be unique within the core definition version. Maximum length is 128 characters with pattern `[a-zA-Z0-9:_-]+` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html#cfn-greengrass-coredefinition-core-id // Id *string `field:"required" json:"id" yaml:"id"` // The ARN of the core, which is an AWS IoT device (thing). // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html#cfn-greengrass-coredefinition-core-thingarn // ThingArn *string `field:"required" json:"thingArn" yaml:"thingArn"` // Indicates whether the core's local shadow is synced with the cloud automatically. // // The default is false. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html#cfn-greengrass-coredefinition-core-syncshadow // SyncShadow interface{} `field:"optional" json:"syncShadow" yaml:"syncShadow"` }
A core is an AWS IoT device that runs the AWS IoT Greengrass core software and manages local processes for a Greengrass group.
For more information, see [What Is AWS IoT Greengrass ?](https://docs.aws.amazon.com/greengrass/latest/developerguide/what-is-gg.html) in the *Developer Guide* .
In an AWS CloudFormation template, the `Cores` property of the [`CoreDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-coredefinitionversion.html) property type contains a list of `Core` property types. Currently, the list can contain only one core.
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" coreProperty := &CoreProperty{ CertificateArn: jsii.String("certificateArn"), Id: jsii.String("id"), ThingArn: jsii.String("thingArn"), // the properties below are optional SyncShadow: jsii.Boolean(false), }
type CfnDeviceDefinition ¶
type CfnDeviceDefinition interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // The Amazon Resource Name (ARN) of the `DeviceDefinition` , such as `arn:aws:greengrass:us-east-1: :/greengrass/definition/devices/1234a5b6-78cd-901e-2fgh-3i45j6k178l9` . AttrArn() *string // The ID of the `DeviceDefinition` , such as `1234a5b6-78cd-901e-2fgh-3i45j6k178l9` . AttrId() *string // The ARN of the last `DeviceDefinitionVersion` that was added to the `DeviceDefinition` , such as `arn:aws:greengrass:us-east-1: :/greengrass/definition/devices/1234a5b6-78cd-901e-2fgh-3i45j6k178l9/versions/9876ac30-4bdb-4f9d-95af-b5fdb66be1a2` . AttrLatestVersionArn() *string // The name of the device definition. AttrName() *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 device definition version to include when the device definition is created. InitialVersion() interface{} SetInitialVersion(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 device definition. Name() *string SetName(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // Application-specific metadata to attach to the device definition. TagsRaw() interface{} SetTagsRaw(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{} // 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::Greengrass::DeviceDefinition` resource represents a device definition for AWS IoT Greengrass .
Device definitions are used to organize your device definition versions.
Device definitions can reference multiple device definition versions. All device definition versions must be associated with a device definition. Each device definition version can contain one or more devices.
> When you create a device definition, you can optionally include an initial device definition version. To associate a device definition version later, create an [`AWS::Greengrass::DeviceDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html) resource and specify the ID of this device definition. > > After you create the device definition version that contains the devices you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.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" var tags interface{} cfnDeviceDefinition := awscdk.Aws_greengrass.NewCfnDeviceDefinition(this, jsii.String("MyCfnDeviceDefinition"), &CfnDeviceDefinitionProps{ Name: jsii.String("name"), // the properties below are optional InitialVersion: &DeviceDefinitionVersionProperty{ Devices: []interface{}{ &DeviceProperty{ CertificateArn: jsii.String("certificateArn"), Id: jsii.String("id"), ThingArn: jsii.String("thingArn"), // the properties below are optional SyncShadow: jsii.Boolean(false), }, }, }, Tags: tags, })
func NewCfnDeviceDefinition ¶
func NewCfnDeviceDefinition(scope constructs.Construct, id *string, props *CfnDeviceDefinitionProps) CfnDeviceDefinition
type CfnDeviceDefinitionProps ¶
type CfnDeviceDefinitionProps struct { // The name of the device definition. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html#cfn-greengrass-devicedefinition-name // Name *string `field:"required" json:"name" yaml:"name"` // The device definition version to include when the device definition is created. // // A device definition version contains a list of [`device`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html) property types. // // > To associate a device definition version after the device definition is created, create an [`AWS::Greengrass::DeviceDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html) resource and specify the ID of this device definition. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html#cfn-greengrass-devicedefinition-initialversion // InitialVersion interface{} `field:"optional" json:"initialVersion" yaml:"initialVersion"` // Application-specific metadata to attach to the device definition. // // You can use tags in IAM policies to control access to AWS IoT Greengrass resources. You can also use tags to categorize your resources. For more information, see [Tagging Your AWS IoT Greengrass Resources](https://docs.aws.amazon.com/greengrass/latest/developerguide/tagging.html) in the *Developer Guide* . // // This `Json` property type is processed as a map of key-value pairs. It uses the following format, which is different from most `Tags` implementations in AWS CloudFormation templates. // // “`json // "Tags": { "KeyName0": "value", "KeyName1": "value", "KeyName2": "value" // } // “`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html#cfn-greengrass-devicedefinition-tags // Tags interface{} `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnDeviceDefinition`.
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 tags interface{} cfnDeviceDefinitionProps := &CfnDeviceDefinitionProps{ Name: jsii.String("name"), // the properties below are optional InitialVersion: &DeviceDefinitionVersionProperty{ Devices: []interface{}{ &DeviceProperty{ CertificateArn: jsii.String("certificateArn"), Id: jsii.String("id"), ThingArn: jsii.String("thingArn"), // the properties below are optional SyncShadow: jsii.Boolean(false), }, }, }, Tags: tags, }
type CfnDeviceDefinitionVersion ¶
type CfnDeviceDefinitionVersion 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 ID of the device definition associated with this version. DeviceDefinitionId() *string SetDeviceDefinitionId(val *string) // The devices in this version. Devices() interface{} SetDevices(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 tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // 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::Greengrass::DeviceDefinitionVersion` resource represents a device definition version for AWS IoT Greengrass .
A device definition version contains a list of devices.
> To create a device definition version, you must specify the ID of the device definition that you want to associate with the version. For information about creating a device definition, see [`AWS::Greengrass::DeviceDefinition`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html) . > > After you create a device definition version that contains the devices you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.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" cfnDeviceDefinitionVersion := awscdk.Aws_greengrass.NewCfnDeviceDefinitionVersion(this, jsii.String("MyCfnDeviceDefinitionVersion"), &CfnDeviceDefinitionVersionProps{ DeviceDefinitionId: jsii.String("deviceDefinitionId"), Devices: []interface{}{ &DeviceProperty{ CertificateArn: jsii.String("certificateArn"), Id: jsii.String("id"), ThingArn: jsii.String("thingArn"), // the properties below are optional SyncShadow: jsii.Boolean(false), }, }, })
func NewCfnDeviceDefinitionVersion ¶
func NewCfnDeviceDefinitionVersion(scope constructs.Construct, id *string, props *CfnDeviceDefinitionVersionProps) CfnDeviceDefinitionVersion
type CfnDeviceDefinitionVersionProps ¶
type CfnDeviceDefinitionVersionProps struct { // The ID of the device definition associated with this version. // // This value is a GUID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html#cfn-greengrass-devicedefinitionversion-devicedefinitionid // DeviceDefinitionId *string `field:"required" json:"deviceDefinitionId" yaml:"deviceDefinitionId"` // The devices in this version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html#cfn-greengrass-devicedefinitionversion-devices // Devices interface{} `field:"required" json:"devices" yaml:"devices"` }
Properties for defining a `CfnDeviceDefinitionVersion`.
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" cfnDeviceDefinitionVersionProps := &CfnDeviceDefinitionVersionProps{ DeviceDefinitionId: jsii.String("deviceDefinitionId"), Devices: []interface{}{ &DeviceProperty{ CertificateArn: jsii.String("certificateArn"), Id: jsii.String("id"), ThingArn: jsii.String("thingArn"), // the properties below are optional SyncShadow: jsii.Boolean(false), }, }, }
type CfnDeviceDefinitionVersion_DeviceProperty ¶
type CfnDeviceDefinitionVersion_DeviceProperty struct { // The ARN of the device certificate for the device. // // This X.509 certificate is used to authenticate the device with AWS IoT and AWS IoT Greengrass services. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html#cfn-greengrass-devicedefinitionversion-device-certificatearn // CertificateArn *string `field:"required" json:"certificateArn" yaml:"certificateArn"` // A descriptive or arbitrary ID for the device. // // This value must be unique within the device definition version. Maximum length is 128 characters with pattern `[a-zA-Z0-9:_-]+` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html#cfn-greengrass-devicedefinitionversion-device-id // Id *string `field:"required" json:"id" yaml:"id"` // The Amazon Resource Name (ARN) of the device, which is an AWS IoT device (thing). // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html#cfn-greengrass-devicedefinitionversion-device-thingarn // ThingArn *string `field:"required" json:"thingArn" yaml:"thingArn"` // Indicates whether the device's local shadow is synced with the cloud automatically. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html#cfn-greengrass-devicedefinitionversion-device-syncshadow // SyncShadow interface{} `field:"optional" json:"syncShadow" yaml:"syncShadow"` }
A device is an AWS IoT device (thing) that's added to a Greengrass group.
Greengrass devices can communicate with the Greengrass core in the same group. For more information, see [What Is AWS IoT Greengrass ?](https://docs.aws.amazon.com/greengrass/latest/developerguide/what-is-gg.html) in the *Developer Guide* .
In an AWS CloudFormation template, the `Devices` property of the [`AWS::Greengrass::DeviceDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html) resource contains a list of `Device` 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" deviceProperty := &DeviceProperty{ CertificateArn: jsii.String("certificateArn"), Id: jsii.String("id"), ThingArn: jsii.String("thingArn"), // the properties below are optional SyncShadow: jsii.Boolean(false), }
type CfnDeviceDefinition_DeviceDefinitionVersionProperty ¶
type CfnDeviceDefinition_DeviceDefinitionVersionProperty struct { // The devices in this version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-devicedefinitionversion.html#cfn-greengrass-devicedefinition-devicedefinitionversion-devices // Devices interface{} `field:"required" json:"devices" yaml:"devices"` }
A device definition version contains a list of [devices](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html) .
> After you create a device definition version that contains the devices you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html) .
In an AWS CloudFormation template, `DeviceDefinitionVersion` is the property type of the `InitialVersion` property in the [`AWS::Greengrass::DeviceDefinition`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.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" deviceDefinitionVersionProperty := &DeviceDefinitionVersionProperty{ Devices: []interface{}{ &DeviceProperty{ CertificateArn: jsii.String("certificateArn"), Id: jsii.String("id"), ThingArn: jsii.String("thingArn"), // the properties below are optional SyncShadow: jsii.Boolean(false), }, }, }
type CfnDeviceDefinition_DeviceProperty ¶
type CfnDeviceDefinition_DeviceProperty struct { // The Amazon Resource Name (ARN) of the device certificate for the device. // // This X.509 certificate is used to authenticate the device with AWS IoT and AWS IoT Greengrass services. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html#cfn-greengrass-devicedefinition-device-certificatearn // CertificateArn *string `field:"required" json:"certificateArn" yaml:"certificateArn"` // A descriptive or arbitrary ID for the device. // // This value must be unique within the device definition version. Maximum length is 128 characters with pattern `[a-zA-Z0-9:_-]+` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html#cfn-greengrass-devicedefinition-device-id // Id *string `field:"required" json:"id" yaml:"id"` // The ARN of the device, which is an AWS IoT device (thing). // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html#cfn-greengrass-devicedefinition-device-thingarn // ThingArn *string `field:"required" json:"thingArn" yaml:"thingArn"` // Indicates whether the device's local shadow is synced with the cloud automatically. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html#cfn-greengrass-devicedefinition-device-syncshadow // SyncShadow interface{} `field:"optional" json:"syncShadow" yaml:"syncShadow"` }
A device is an AWS IoT device (thing) that's added to a Greengrass group.
Greengrass devices can communicate with the Greengrass core in the same group. For more information, see [What Is AWS IoT Greengrass ?](https://docs.aws.amazon.com/greengrass/latest/developerguide/what-is-gg.html) in the *Developer Guide* .
In an AWS CloudFormation template, the `Devices` property of the [`DeviceDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-devicedefinitionversion.html) property type contains a list of `Device` 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" deviceProperty := &DeviceProperty{ CertificateArn: jsii.String("certificateArn"), Id: jsii.String("id"), ThingArn: jsii.String("thingArn"), // the properties below are optional SyncShadow: jsii.Boolean(false), }
type CfnFunctionDefinition ¶
type CfnFunctionDefinition interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // The Amazon Resource Name (ARN) of the `FunctionDefinition` , such as `arn:aws:greengrass:us-east-1: :/greengrass/definition/functions/1234a5b6-78cd-901e-2fgh-3i45j6k178l9` . AttrArn() *string // The ID of the `FunctionDefinition` , such as `1234a5b6-78cd-901e-2fgh-3i45j6k178l9` . AttrId() *string // The ARN of the last `FunctionDefinitionVersion` that was added to the `FunctionDefinition` , such as `arn:aws:greengrass:us-east-1: :/greengrass/definition/functions/1234a5b6-78cd-901e-2fgh-3i45j6k178l9/versions/9876ac30-4bdb-4f9d-95af-b5fdb66be1a2` . AttrLatestVersionArn() *string // The name of the `FunctionDefinition` , such as `MyFunctionDefinition` . AttrName() *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 function definition version to include when the function definition is created. InitialVersion() interface{} SetInitialVersion(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 function definition. Name() *string SetName(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // Application-specific metadata to attach to the function definition. TagsRaw() interface{} SetTagsRaw(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{} // 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::Greengrass::FunctionDefinition` resource represents a function definition for AWS IoT Greengrass .
Function definitions are used to organize your function definition versions.
Function definitions can reference multiple function definition versions. All function definition versions must be associated with a function definition. Each function definition version can contain one or more functions.
> When you create a function definition, you can optionally include an initial function definition version. To associate a function definition version later, create an [`AWS::Greengrass::FunctionDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html) resource and specify the ID of this function definition. > > After you create the function definition version that contains the functions you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.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" var tags interface{} var variables interface{} cfnFunctionDefinition := awscdk.Aws_greengrass.NewCfnFunctionDefinition(this, jsii.String("MyCfnFunctionDefinition"), &CfnFunctionDefinitionProps{ Name: jsii.String("name"), // the properties below are optional InitialVersion: &FunctionDefinitionVersionProperty{ Functions: []interface{}{ &FunctionProperty{ FunctionArn: jsii.String("functionArn"), FunctionConfiguration: &FunctionConfigurationProperty{ EncodingType: jsii.String("encodingType"), Environment: &EnvironmentProperty{ AccessSysfs: jsii.Boolean(false), Execution: &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }, ResourceAccessPolicies: []interface{}{ &ResourceAccessPolicyProperty{ ResourceId: jsii.String("resourceId"), // the properties below are optional Permission: jsii.String("permission"), }, }, Variables: variables, }, ExecArgs: jsii.String("execArgs"), Executable: jsii.String("executable"), MemorySize: jsii.Number(123), Pinned: jsii.Boolean(false), Timeout: jsii.Number(123), }, Id: jsii.String("id"), }, }, // the properties below are optional DefaultConfig: &DefaultConfigProperty{ Execution: &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }, }, }, Tags: tags, })
func NewCfnFunctionDefinition ¶
func NewCfnFunctionDefinition(scope constructs.Construct, id *string, props *CfnFunctionDefinitionProps) CfnFunctionDefinition
type CfnFunctionDefinitionProps ¶
type CfnFunctionDefinitionProps struct { // The name of the function definition. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html#cfn-greengrass-functiondefinition-name // Name *string `field:"required" json:"name" yaml:"name"` // The function definition version to include when the function definition is created. // // A function definition version contains a list of [`function`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html) property types. // // > To associate a function definition version after the function definition is created, create an [`AWS::Greengrass::FunctionDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html) resource and specify the ID of this function definition. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html#cfn-greengrass-functiondefinition-initialversion // InitialVersion interface{} `field:"optional" json:"initialVersion" yaml:"initialVersion"` // Application-specific metadata to attach to the function definition. // // You can use tags in IAM policies to control access to AWS IoT Greengrass resources. You can also use tags to categorize your resources. For more information, see [Tagging Your AWS IoT Greengrass Resources](https://docs.aws.amazon.com/greengrass/latest/developerguide/tagging.html) in the *Developer Guide* . // // This `Json` property type is processed as a map of key-value pairs. It uses the following format, which is different from most `Tags` implementations in AWS CloudFormation templates. // // “`json // "Tags": { "KeyName0": "value", "KeyName1": "value", "KeyName2": "value" // } // “`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html#cfn-greengrass-functiondefinition-tags // Tags interface{} `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnFunctionDefinition`.
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 tags interface{} var variables interface{} cfnFunctionDefinitionProps := &CfnFunctionDefinitionProps{ Name: jsii.String("name"), // the properties below are optional InitialVersion: &FunctionDefinitionVersionProperty{ Functions: []interface{}{ &FunctionProperty{ FunctionArn: jsii.String("functionArn"), FunctionConfiguration: &FunctionConfigurationProperty{ EncodingType: jsii.String("encodingType"), Environment: &EnvironmentProperty{ AccessSysfs: jsii.Boolean(false), Execution: &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }, ResourceAccessPolicies: []interface{}{ &ResourceAccessPolicyProperty{ ResourceId: jsii.String("resourceId"), // the properties below are optional Permission: jsii.String("permission"), }, }, Variables: variables, }, ExecArgs: jsii.String("execArgs"), Executable: jsii.String("executable"), MemorySize: jsii.Number(123), Pinned: jsii.Boolean(false), Timeout: jsii.Number(123), }, Id: jsii.String("id"), }, }, // the properties below are optional DefaultConfig: &DefaultConfigProperty{ Execution: &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }, }, }, Tags: tags, }
type CfnFunctionDefinitionVersion ¶
type CfnFunctionDefinitionVersion 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 default configuration that applies to all Lambda functions in the group. DefaultConfig() interface{} SetDefaultConfig(val interface{}) // The ID of the function definition associated with this version. FunctionDefinitionId() *string SetFunctionDefinitionId(val *string) // The functions in this version. Functions() interface{} SetFunctions(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 tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // 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::Greengrass::FunctionDefinitionVersion` resource represents a function definition version for AWS IoT Greengrass .
A function definition version contains contain a list of functions.
> To create a function definition version, you must specify the ID of the function definition that you want to associate with the version. For information about creating a function definition, see [`AWS::Greengrass::FunctionDefinition`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html) . > > After you create a function definition version that contains the functions you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.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" var variables interface{} cfnFunctionDefinitionVersion := awscdk.Aws_greengrass.NewCfnFunctionDefinitionVersion(this, jsii.String("MyCfnFunctionDefinitionVersion"), &CfnFunctionDefinitionVersionProps{ FunctionDefinitionId: jsii.String("functionDefinitionId"), Functions: []interface{}{ &FunctionProperty{ FunctionArn: jsii.String("functionArn"), FunctionConfiguration: &FunctionConfigurationProperty{ EncodingType: jsii.String("encodingType"), Environment: &EnvironmentProperty{ AccessSysfs: jsii.Boolean(false), Execution: &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }, ResourceAccessPolicies: []interface{}{ &ResourceAccessPolicyProperty{ ResourceId: jsii.String("resourceId"), // the properties below are optional Permission: jsii.String("permission"), }, }, Variables: variables, }, ExecArgs: jsii.String("execArgs"), Executable: jsii.String("executable"), MemorySize: jsii.Number(123), Pinned: jsii.Boolean(false), Timeout: jsii.Number(123), }, Id: jsii.String("id"), }, }, // the properties below are optional DefaultConfig: &DefaultConfigProperty{ Execution: &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }, }, })
func NewCfnFunctionDefinitionVersion ¶
func NewCfnFunctionDefinitionVersion(scope constructs.Construct, id *string, props *CfnFunctionDefinitionVersionProps) CfnFunctionDefinitionVersion
type CfnFunctionDefinitionVersionProps ¶
type CfnFunctionDefinitionVersionProps struct { // The ID of the function definition associated with this version. // // This value is a GUID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html#cfn-greengrass-functiondefinitionversion-functiondefinitionid // FunctionDefinitionId *string `field:"required" json:"functionDefinitionId" yaml:"functionDefinitionId"` // The functions in this version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html#cfn-greengrass-functiondefinitionversion-functions // Functions interface{} `field:"required" json:"functions" yaml:"functions"` // The default configuration that applies to all Lambda functions in the group. // // Individual Lambda functions can override these settings. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html#cfn-greengrass-functiondefinitionversion-defaultconfig // DefaultConfig interface{} `field:"optional" json:"defaultConfig" yaml:"defaultConfig"` }
Properties for defining a `CfnFunctionDefinitionVersion`.
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 variables interface{} cfnFunctionDefinitionVersionProps := &CfnFunctionDefinitionVersionProps{ FunctionDefinitionId: jsii.String("functionDefinitionId"), Functions: []interface{}{ &FunctionProperty{ FunctionArn: jsii.String("functionArn"), FunctionConfiguration: &FunctionConfigurationProperty{ EncodingType: jsii.String("encodingType"), Environment: &EnvironmentProperty{ AccessSysfs: jsii.Boolean(false), Execution: &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }, ResourceAccessPolicies: []interface{}{ &ResourceAccessPolicyProperty{ ResourceId: jsii.String("resourceId"), // the properties below are optional Permission: jsii.String("permission"), }, }, Variables: variables, }, ExecArgs: jsii.String("execArgs"), Executable: jsii.String("executable"), MemorySize: jsii.Number(123), Pinned: jsii.Boolean(false), Timeout: jsii.Number(123), }, Id: jsii.String("id"), }, }, // the properties below are optional DefaultConfig: &DefaultConfigProperty{ Execution: &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }, }, }
type CfnFunctionDefinitionVersion_DefaultConfigProperty ¶
type CfnFunctionDefinitionVersion_DefaultConfigProperty struct { // Configuration settings for the Lambda execution environment on the AWS IoT Greengrass core. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-defaultconfig.html#cfn-greengrass-functiondefinitionversion-defaultconfig-execution // Execution interface{} `field:"required" json:"execution" yaml:"execution"` }
The default configuration that applies to all Lambda functions in the function definition version.
Individual Lambda functions can override these settings.
In an AWS CloudFormation template, `DefaultConfig` is a property of the [`AWS::Greengrass::FunctionDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.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" defaultConfigProperty := &DefaultConfigProperty{ Execution: &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }, }
type CfnFunctionDefinitionVersion_EnvironmentProperty ¶
type CfnFunctionDefinitionVersion_EnvironmentProperty struct { // Indicates whether the function is allowed to access the `/sys` directory on the core device, which allows the read device information from `/sys` . // // > This property applies only to Lambda functions that run in a Greengrass container. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-accesssysfs // AccessSysfs interface{} `field:"optional" json:"accessSysfs" yaml:"accessSysfs"` // Settings for the Lambda execution environment in AWS IoT Greengrass . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-execution // Execution interface{} `field:"optional" json:"execution" yaml:"execution"` // A list of the [resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html) in the group that the function can access, with the corresponding read-only or read-write permissions. The maximum is 10 resources. // // > This property applies only to Lambda functions that run in a Greengrass container. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-resourceaccesspolicies // ResourceAccessPolicies interface{} `field:"optional" json:"resourceAccessPolicies" yaml:"resourceAccessPolicies"` // Environment variables for the Lambda function. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-variables // Variables interface{} `field:"optional" json:"variables" yaml:"variables"` }
The environment configuration for a Lambda function on the AWS IoT Greengrass core.
In an AWS CloudFormation template, `Environment` is a property of the [`FunctionConfiguration`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.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 variables interface{} environmentProperty := &EnvironmentProperty{ AccessSysfs: jsii.Boolean(false), Execution: &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }, ResourceAccessPolicies: []interface{}{ &ResourceAccessPolicyProperty{ ResourceId: jsii.String("resourceId"), // the properties below are optional Permission: jsii.String("permission"), }, }, Variables: variables, }
type CfnFunctionDefinitionVersion_ExecutionProperty ¶
type CfnFunctionDefinitionVersion_ExecutionProperty struct { // The containerization that the Lambda function runs in. // // Valid values are `GreengrassContainer` or `NoContainer` . Typically, this is `GreengrassContainer` . For more information, see [Containerization](https://docs.aws.amazon.com/greengrass/latest/developerguide/lambda-group-config.html#lambda-function-containerization) in the *Developer Guide* . // // - When set on the [`DefaultConfig`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-defaultconfig.html) property of a function definition version, this setting is used as the default containerization for all Lambda functions in the function definition version. // - When set on the [`Environment`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html) property of a function, this setting applies to the individual function and overrides the default. Omit this value to run the function with the default containerization. // // > We recommend that you run in a Greengrass container unless your business case requires that you run without containerization. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-execution.html#cfn-greengrass-functiondefinitionversion-execution-isolationmode // IsolationMode *string `field:"optional" json:"isolationMode" yaml:"isolationMode"` // The user and group permissions used to run the Lambda function. // // Typically, this is the ggc_user and ggc_group. For more information, see [Run as](https://docs.aws.amazon.com/greengrass/latest/developerguide/lambda-group-config.html#lambda-access-identity.html) in the *Developer Guide* . // // - When set on the [`DefaultConfig`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-defaultconfig.html) property of a function definition version, this setting is used as the default access identity for all Lambda functions in the function definition version. // - When set on the [`Environment`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html) property of a function, this setting applies to the individual function and overrides the default. You can override the user, group, or both. Omit this value to run the function with the default permissions. // // > Running as the root user increases risks to your data and device. Do not run as root (UID/GID=0) unless your business case requires it. For more information and requirements, see [Running a Lambda Function as Root](https://docs.aws.amazon.com/greengrass/latest/developerguide/lambda-group-config.html#lambda-running-as-root) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-execution.html#cfn-greengrass-functiondefinitionversion-execution-runas // RunAs interface{} `field:"optional" json:"runAs" yaml:"runAs"` }
Configuration settings for the Lambda execution environment on the AWS IoT Greengrass core.
In an AWS CloudFormation template, `Execution` is a property of the [`DefaultConfig`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-defaultconfig.html) property type for a function definition version and the [`Environment`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html) property type for a function.
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" executionProperty := &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }
type CfnFunctionDefinitionVersion_FunctionConfigurationProperty ¶
type CfnFunctionDefinitionVersion_FunctionConfigurationProperty struct { // The expected encoding type of the input payload for the function. // // Valid values are `json` (default) and `binary` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-encodingtype // EncodingType *string `field:"optional" json:"encodingType" yaml:"encodingType"` // The environment configuration of the function. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-environment // Environment interface{} `field:"optional" json:"environment" yaml:"environment"` // The execution arguments. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-execargs // ExecArgs *string `field:"optional" json:"execArgs" yaml:"execArgs"` // The name of the function executable. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-executable // Executable *string `field:"optional" json:"executable" yaml:"executable"` // The memory size (in KB) required by the function. // // > This property applies only to Lambda functions that run in a Greengrass container. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-memorysize // MemorySize *float64 `field:"optional" json:"memorySize" yaml:"memorySize"` // Indicates whether the function is pinned (or *long-lived* ). // // Pinned functions start when the core starts and process all requests in the same container. The default value is false. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-pinned // Pinned interface{} `field:"optional" json:"pinned" yaml:"pinned"` // The allowed execution time (in seconds) after which the function should terminate. // // For pinned functions, this timeout applies for each request. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-timeout // Timeout *float64 `field:"optional" json:"timeout" yaml:"timeout"` }
The group-specific configuration settings for a Lambda function.
These settings configure the function's behavior in the Greengrass group. For more information, see [Controlling Execution of Greengrass Lambda Functions by Using Group-Specific Configuration](https://docs.aws.amazon.com/greengrass/latest/developerguide/lambda-group-config.html) in the *Developer Guide* .
In an AWS CloudFormation template, `FunctionConfiguration` is a property of the [`Function`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-function.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 variables interface{} functionConfigurationProperty := &FunctionConfigurationProperty{ EncodingType: jsii.String("encodingType"), Environment: &EnvironmentProperty{ AccessSysfs: jsii.Boolean(false), Execution: &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }, ResourceAccessPolicies: []interface{}{ &ResourceAccessPolicyProperty{ ResourceId: jsii.String("resourceId"), // the properties below are optional Permission: jsii.String("permission"), }, }, Variables: variables, }, ExecArgs: jsii.String("execArgs"), Executable: jsii.String("executable"), MemorySize: jsii.Number(123), Pinned: jsii.Boolean(false), Timeout: jsii.Number(123), }
type CfnFunctionDefinitionVersion_FunctionProperty ¶
type CfnFunctionDefinitionVersion_FunctionProperty struct { // The Amazon Resource Name (ARN) of the alias (recommended) or version of the referenced Lambda function. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-function.html#cfn-greengrass-functiondefinitionversion-function-functionarn // FunctionArn *string `field:"required" json:"functionArn" yaml:"functionArn"` // The group-specific settings of the Lambda function. // // These settings configure the function's behavior in the Greengrass group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-function.html#cfn-greengrass-functiondefinitionversion-function-functionconfiguration // FunctionConfiguration interface{} `field:"required" json:"functionConfiguration" yaml:"functionConfiguration"` // A descriptive or arbitrary ID for the function. // // This value must be unique within the function definition version. Maximum length is 128 characters with pattern `[a-zA-Z0-9:_-]+` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-function.html#cfn-greengrass-functiondefinitionversion-function-id // Id *string `field:"required" json:"id" yaml:"id"` }
A function is a Lambda function that's referenced from an AWS IoT Greengrass group.
The function is deployed to a Greengrass core where it runs locally. For more information, see [Run Lambda Functions on the AWS IoT Greengrass Core](https://docs.aws.amazon.com/greengrass/latest/developerguide/lambda-functions.html) in the *Developer Guide* .
In an AWS CloudFormation template, the `Functions` property of the [`AWS::Greengrass::FunctionDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html) resource contains a list of `Function` 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" var variables interface{} functionProperty := &FunctionProperty{ FunctionArn: jsii.String("functionArn"), FunctionConfiguration: &FunctionConfigurationProperty{ EncodingType: jsii.String("encodingType"), Environment: &EnvironmentProperty{ AccessSysfs: jsii.Boolean(false), Execution: &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }, ResourceAccessPolicies: []interface{}{ &ResourceAccessPolicyProperty{ ResourceId: jsii.String("resourceId"), // the properties below are optional Permission: jsii.String("permission"), }, }, Variables: variables, }, ExecArgs: jsii.String("execArgs"), Executable: jsii.String("executable"), MemorySize: jsii.Number(123), Pinned: jsii.Boolean(false), Timeout: jsii.Number(123), }, Id: jsii.String("id"), }
type CfnFunctionDefinitionVersion_ResourceAccessPolicyProperty ¶
type CfnFunctionDefinitionVersion_ResourceAccessPolicyProperty struct { // The ID of the resource. // // This ID is assigned to the resource when you create the resource definition. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-resourceaccesspolicy.html#cfn-greengrass-functiondefinitionversion-resourceaccesspolicy-resourceid // ResourceId *string `field:"required" json:"resourceId" yaml:"resourceId"` // The read-only or read-write access that the Lambda function has to the resource. // // Valid values are `ro` or `rw` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-resourceaccesspolicy.html#cfn-greengrass-functiondefinitionversion-resourceaccesspolicy-permission // Permission *string `field:"optional" json:"permission" yaml:"permission"` }
A list of the [resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html) in the group that the function can access, with the corresponding read-only or read-write permissions. The maximum is 10 resources.
> This property applies only to Lambda functions that run in a Greengrass container.
In an AWS CloudFormation template, `ResourceAccessPolicy` is a property of the [`Environment`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.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" resourceAccessPolicyProperty := &ResourceAccessPolicyProperty{ ResourceId: jsii.String("resourceId"), // the properties below are optional Permission: jsii.String("permission"), }
type CfnFunctionDefinitionVersion_RunAsProperty ¶
type CfnFunctionDefinitionVersion_RunAsProperty struct { // The group ID whose permissions are used to run the Lambda function. // // You can use the `getent group` command on your core device to look up the group ID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-runas.html#cfn-greengrass-functiondefinitionversion-runas-gid // Gid *float64 `field:"optional" json:"gid" yaml:"gid"` // The user ID whose permissions are used to run the Lambda function. // // You can use the `getent passwd` command on your core device to look up the user ID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-runas.html#cfn-greengrass-functiondefinitionversion-runas-uid // Uid *float64 `field:"optional" json:"uid" yaml:"uid"` }
The user and group permissions used to run the Lambda function.
This setting overrides the default access identity that's specified for the group (by default, ggc_user and ggc_group). You can override the user, group, or both. For more information, see [Run as](https://docs.aws.amazon.com/greengrass/latest/developerguide/lambda-group-config.html#lambda-access-identity.html) in the *Developer Guide* .
> Running as the root user increases risks to your data and device. Do not run as root (UID/GID=0) unless your business case requires it. For more information and requirements, see [Running a Lambda Function as Root](https://docs.aws.amazon.com/greengrass/latest/developerguide/lambda-group-config.html#lambda-running-as-root) .
In an AWS CloudFormation template, `RunAs` is a property of the [`Execution`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-execution.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" runAsProperty := &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }
type CfnFunctionDefinition_DefaultConfigProperty ¶
type CfnFunctionDefinition_DefaultConfigProperty struct { // Configuration settings for the Lambda execution environment on the AWS IoT Greengrass core. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-defaultconfig.html#cfn-greengrass-functiondefinition-defaultconfig-execution // Execution interface{} `field:"required" json:"execution" yaml:"execution"` }
The default configuration that applies to all Lambda functions in the function definition version.
Individual Lambda functions can override these settings.
In an AWS CloudFormation template, `DefaultConfig` is a property of the [`FunctionDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functiondefinitionversion.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" defaultConfigProperty := &DefaultConfigProperty{ Execution: &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }, }
type CfnFunctionDefinition_EnvironmentProperty ¶
type CfnFunctionDefinition_EnvironmentProperty struct { // Indicates whether the function is allowed to access the `/sys` directory on the core device, which allows the read device information from `/sys` . // // > This property applies only to Lambda functions that run in a Greengrass container. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-accesssysfs // AccessSysfs interface{} `field:"optional" json:"accessSysfs" yaml:"accessSysfs"` // Settings for the Lambda execution environment in AWS IoT Greengrass . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-execution // Execution interface{} `field:"optional" json:"execution" yaml:"execution"` // A list of the [resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html) in the group that the function can access, with the corresponding read-only or read-write permissions. The maximum is 10 resources. // // > This property applies only for Lambda functions that run in a Greengrass container. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-resourceaccesspolicies // ResourceAccessPolicies interface{} `field:"optional" json:"resourceAccessPolicies" yaml:"resourceAccessPolicies"` // Environment variables for the Lambda function. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-variables // Variables interface{} `field:"optional" json:"variables" yaml:"variables"` }
The environment configuration for a Lambda function on the AWS IoT Greengrass core.
In an AWS CloudFormation template, `Environment` is a property of the [`FunctionConfiguration`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.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 variables interface{} environmentProperty := &EnvironmentProperty{ AccessSysfs: jsii.Boolean(false), Execution: &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }, ResourceAccessPolicies: []interface{}{ &ResourceAccessPolicyProperty{ ResourceId: jsii.String("resourceId"), // the properties below are optional Permission: jsii.String("permission"), }, }, Variables: variables, }
type CfnFunctionDefinition_ExecutionProperty ¶
type CfnFunctionDefinition_ExecutionProperty struct { // The containerization that the Lambda function runs in. // // Valid values are `GreengrassContainer` or `NoContainer` . Typically, this is `GreengrassContainer` . For more information, see [Containerization](https://docs.aws.amazon.com/greengrass/latest/developerguide/lambda-group-config.html#lambda-function-containerization) in the *Developer Guide* . // // - When set on the [`DefaultConfig`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-defaultconfig.html) property of a function definition version, this setting is used as the default containerization for all Lambda functions in the function definition version. // - When set on the [`Environment`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html) property of a function, this setting applies to the individual function and overrides the default. Omit this value to run the function with the default containerization. // // > We recommend that you run in a Greengrass container unless your business case requires that you run without containerization. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-execution.html#cfn-greengrass-functiondefinition-execution-isolationmode // IsolationMode *string `field:"optional" json:"isolationMode" yaml:"isolationMode"` // The user and group permissions used to run the Lambda function. // // Typically, this is the ggc_user and ggc_group. For more information, see [Run as](https://docs.aws.amazon.com/greengrass/latest/developerguide/lambda-group-config.html#lambda-access-identity.html) in the *Developer Guide* . // // - When set on the [`DefaultConfig`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-defaultconfig.html) property of a function definition version, this setting is used as the default access identity for all Lambda functions in the function definition version. // - When set on the [`Environment`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html) property of a function, this setting applies to the individual function and overrides the default. You can override the user, group, or both. Omit this value to run the function with the default permissions. // // > Running as the root user increases risks to your data and device. Do not run as root (UID/GID=0) unless your business case requires it. For more information and requirements, see [Running a Lambda Function as Root](https://docs.aws.amazon.com/greengrass/latest/developerguide/lambda-group-config.html#lambda-running-as-root) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-execution.html#cfn-greengrass-functiondefinition-execution-runas // RunAs interface{} `field:"optional" json:"runAs" yaml:"runAs"` }
Configuration settings for the Lambda execution environment on the AWS IoT Greengrass core.
In an AWS CloudFormation template, `Execution` is a property of the [`DefaultConfig`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-defaultconfig.html) property type for a function definition version and the [`Environment`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html) property type for a function.
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" executionProperty := &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }
type CfnFunctionDefinition_FunctionConfigurationProperty ¶
type CfnFunctionDefinition_FunctionConfigurationProperty struct { // The expected encoding type of the input payload for the function. // // Valid values are `json` (default) and `binary` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-encodingtype // EncodingType *string `field:"optional" json:"encodingType" yaml:"encodingType"` // The environment configuration of the function. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-environment // Environment interface{} `field:"optional" json:"environment" yaml:"environment"` // The execution arguments. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-execargs // ExecArgs *string `field:"optional" json:"execArgs" yaml:"execArgs"` // The name of the function executable. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-executable // Executable *string `field:"optional" json:"executable" yaml:"executable"` // The memory size (in KB) required by the function. // // > This property applies only to Lambda functions that run in a Greengrass container. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-memorysize // MemorySize *float64 `field:"optional" json:"memorySize" yaml:"memorySize"` // Indicates whether the function is pinned (or *long-lived* ). // // Pinned functions start when the core starts and process all requests in the same container. The default value is false. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-pinned // Pinned interface{} `field:"optional" json:"pinned" yaml:"pinned"` // The allowed execution time (in seconds) after which the function should terminate. // // For pinned functions, this timeout applies for each request. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-timeout // Timeout *float64 `field:"optional" json:"timeout" yaml:"timeout"` }
The group-specific configuration settings for a Lambda function.
These settings configure the function's behavior in the Greengrass group. For more information, see [Controlling Execution of Greengrass Lambda Functions by Using Group-Specific Configuration](https://docs.aws.amazon.com/greengrass/latest/developerguide/lambda-group-config.html) in the *Developer Guide* .
In an AWS CloudFormation template, `FunctionConfiguration` is a property of the [`Function`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.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 variables interface{} functionConfigurationProperty := &FunctionConfigurationProperty{ EncodingType: jsii.String("encodingType"), Environment: &EnvironmentProperty{ AccessSysfs: jsii.Boolean(false), Execution: &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }, ResourceAccessPolicies: []interface{}{ &ResourceAccessPolicyProperty{ ResourceId: jsii.String("resourceId"), // the properties below are optional Permission: jsii.String("permission"), }, }, Variables: variables, }, ExecArgs: jsii.String("execArgs"), Executable: jsii.String("executable"), MemorySize: jsii.Number(123), Pinned: jsii.Boolean(false), Timeout: jsii.Number(123), }
type CfnFunctionDefinition_FunctionDefinitionVersionProperty ¶
type CfnFunctionDefinition_FunctionDefinitionVersionProperty struct { // The functions in this version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functiondefinitionversion.html#cfn-greengrass-functiondefinition-functiondefinitionversion-functions // Functions interface{} `field:"required" json:"functions" yaml:"functions"` // The default configuration that applies to all Lambda functions in the group. // // Individual Lambda functions can override these settings. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functiondefinitionversion.html#cfn-greengrass-functiondefinition-functiondefinitionversion-defaultconfig // DefaultConfig interface{} `field:"optional" json:"defaultConfig" yaml:"defaultConfig"` }
A function definition version contains a list of functions.
> After you create a function definition version that contains the functions you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html) .
In an AWS CloudFormation template, `FunctionDefinitionVersion` is the property type of the `InitialVersion` property in the [`AWS::Greengrass::FunctionDefinition`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.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" var variables interface{} functionDefinitionVersionProperty := &FunctionDefinitionVersionProperty{ Functions: []interface{}{ &FunctionProperty{ FunctionArn: jsii.String("functionArn"), FunctionConfiguration: &FunctionConfigurationProperty{ EncodingType: jsii.String("encodingType"), Environment: &EnvironmentProperty{ AccessSysfs: jsii.Boolean(false), Execution: &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }, ResourceAccessPolicies: []interface{}{ &ResourceAccessPolicyProperty{ ResourceId: jsii.String("resourceId"), // the properties below are optional Permission: jsii.String("permission"), }, }, Variables: variables, }, ExecArgs: jsii.String("execArgs"), Executable: jsii.String("executable"), MemorySize: jsii.Number(123), Pinned: jsii.Boolean(false), Timeout: jsii.Number(123), }, Id: jsii.String("id"), }, }, // the properties below are optional DefaultConfig: &DefaultConfigProperty{ Execution: &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }, }, }
type CfnFunctionDefinition_FunctionProperty ¶
type CfnFunctionDefinition_FunctionProperty struct { // The Amazon Resource Name (ARN) of the alias (recommended) or version of the referenced Lambda function. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html#cfn-greengrass-functiondefinition-function-functionarn // FunctionArn *string `field:"required" json:"functionArn" yaml:"functionArn"` // The group-specific settings of the Lambda function. // // These settings configure the function's behavior in the Greengrass group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html#cfn-greengrass-functiondefinition-function-functionconfiguration // FunctionConfiguration interface{} `field:"required" json:"functionConfiguration" yaml:"functionConfiguration"` // A descriptive or arbitrary ID for the function. // // This value must be unique within the function definition version. Maximum length is 128 characters with pattern `[a-zA-Z0-9:_-]+` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html#cfn-greengrass-functiondefinition-function-id // Id *string `field:"required" json:"id" yaml:"id"` }
A function is a Lambda function that's referenced from an AWS IoT Greengrass group.
The function is deployed to a Greengrass core where it runs locally. For more information, see [Run Lambda Functions on the AWS IoT Greengrass Core](https://docs.aws.amazon.com/greengrass/latest/developerguide/lambda-functions.html) in the *Developer Guide* .
In an AWS CloudFormation template, the `Functions` property of the [`FunctionDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functiondefinitionversion.html) property type contains a list of `Function` 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" var variables interface{} functionProperty := &FunctionProperty{ FunctionArn: jsii.String("functionArn"), FunctionConfiguration: &FunctionConfigurationProperty{ EncodingType: jsii.String("encodingType"), Environment: &EnvironmentProperty{ AccessSysfs: jsii.Boolean(false), Execution: &ExecutionProperty{ IsolationMode: jsii.String("isolationMode"), RunAs: &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }, }, ResourceAccessPolicies: []interface{}{ &ResourceAccessPolicyProperty{ ResourceId: jsii.String("resourceId"), // the properties below are optional Permission: jsii.String("permission"), }, }, Variables: variables, }, ExecArgs: jsii.String("execArgs"), Executable: jsii.String("executable"), MemorySize: jsii.Number(123), Pinned: jsii.Boolean(false), Timeout: jsii.Number(123), }, Id: jsii.String("id"), }
type CfnFunctionDefinition_ResourceAccessPolicyProperty ¶
type CfnFunctionDefinition_ResourceAccessPolicyProperty struct { // The ID of the resource. // // This ID is assigned to the resource when you create the resource definition. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-resourceaccesspolicy.html#cfn-greengrass-functiondefinition-resourceaccesspolicy-resourceid // ResourceId *string `field:"required" json:"resourceId" yaml:"resourceId"` // The read-only or read-write access that the Lambda function has to the resource. // // Valid values are `ro` or `rw` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-resourceaccesspolicy.html#cfn-greengrass-functiondefinition-resourceaccesspolicy-permission // Permission *string `field:"optional" json:"permission" yaml:"permission"` }
A list of the [resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html) in the group that the function can access, with the corresponding read-only or read-write permissions. The maximum is 10 resources.
> This property applies only to Lambda functions that run in a Greengrass container.
In an AWS CloudFormation template, `ResourceAccessPolicy` is a property of the [`Environment`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.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" resourceAccessPolicyProperty := &ResourceAccessPolicyProperty{ ResourceId: jsii.String("resourceId"), // the properties below are optional Permission: jsii.String("permission"), }
type CfnFunctionDefinition_RunAsProperty ¶
type CfnFunctionDefinition_RunAsProperty struct { // The group ID whose permissions are used to run the Lambda function. // // You can use the `getent group` command on your core device to look up the group ID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-runas.html#cfn-greengrass-functiondefinition-runas-gid // Gid *float64 `field:"optional" json:"gid" yaml:"gid"` // The user ID whose permissions are used to run the Lambda function. // // You can use the `getent passwd` command on your core device to look up the user ID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-runas.html#cfn-greengrass-functiondefinition-runas-uid // Uid *float64 `field:"optional" json:"uid" yaml:"uid"` }
The access identity whose permissions are used to run the Lambda function.
This setting overrides the default access identity that's specified for the group (by default, ggc_user and ggc_group). You can override the user, group, or both. For more information, see [Run as](https://docs.aws.amazon.com/greengrass/latest/developerguide/lambda-group-config.html#lambda-access-identity.html) in the *Developer Guide* .
> Running as the root user increases risks to your data and device. Do not run as root (UID/GID=0) unless your business case requires it. For more information and requirements, see [Running a Lambda Function as Root](https://docs.aws.amazon.com/greengrass/latest/developerguide/lambda-group-config.html#lambda-running-as-root) .
In an AWS CloudFormation template, `RunAs` is a property of the [`Execution`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-execution.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" runAsProperty := &RunAsProperty{ Gid: jsii.Number(123), Uid: jsii.Number(123), }
type CfnGroup ¶
type CfnGroup interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // The ARN of the `Group` , such as `arn:aws:greengrass:us-east-1: :/greengrass/definition/groups/1234a5b6-78cd-901e-2fgh-3i45j6k178l9` . AttrArn() *string // The ID of the `Group` , such as `1234a5b6-78cd-901e-2fgh-3i45j6k178l9` . AttrId() *string // The ARN of the last `GroupVersion` that was added to the `Group` , such as `arn:aws:greengrass:us-east-1: :/greengrass/definition/groups/1234a5b6-78cd-901e-2fgh-3i45j6k178l9/versions/9876ac30-4bdb-4f9d-95af-b5fdb66be1a2` . AttrLatestVersionArn() *string // The name of the `Group` , such as `MyGroup` . AttrName() *string // The ARN of the IAM role that's attached to the `Group` , such as `arn:aws:iam:: :role/role-name` . AttrRoleArn() *string // The time (in milliseconds since the epoch) when the group role was attached to the `Group` . AttrRoleAttachedAt() *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 group version to include when the group is created. InitialVersion() interface{} SetInitialVersion(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 group. 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 Amazon Resource Name (ARN) of the IAM role attached to the group. RoleArn() *string SetRoleArn(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // Application-specific metadata to attach to the group. TagsRaw() interface{} SetTagsRaw(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{} // 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{}) }
AWS IoT Greengrass seamlessly extends AWS to edge devices so they can act locally on the data they generate, while still using the cloud for management, analytics, and durable storage.
With AWS IoT Greengrass , connected devices can run AWS Lambda functions, execute predictions based on machine learning models, keep device data in sync, and communicate with other devices securely – even when not connected to the internet. For more information, see the [Developer Guide](https://docs.aws.amazon.com/greengrass/latest/developerguide/what-is-gg.html) .
> For AWS Region support, see [AWS CloudFormation Support for AWS IoT Greengrass](https://docs.aws.amazon.com/greengrass/latest/developerguide/cloudformation-support.html) in the *Developer Guide* .
The `AWS::Greengrass::Group` resource represents a group in AWS IoT Greengrass . In the AWS IoT Greengrass API, groups are used to organize your group versions.
Groups can reference multiple group versions. All group versions must be associated with a group. A group version references a device definition version, subscription definition version, and other version types that contain the components you want to deploy to a Greengrass core device.
To deploy a group version, the group version must reference a core definition version that contains one core. Other version types are optionally included, depending on your business need.
> When you create a group, you can optionally include an initial group version. To associate a group version later, create a [`AWS::Greengrass::GroupVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html) resource and specify the ID of this group. > > To change group components (such as devices, subscriptions, or functions), you must create new versions. This is because versions are immutable. For example, to add a function, you create a function definition version that contains the new function (and all other functions that you want to deploy). Then you create a group version that references the new function definition version (and all other version types that you want to deploy).
*Deploying a Group Version*
After you create the group version in your AWS CloudFormation template, you can deploy it using the [`aws greengrass create-deployment`](https://docs.aws.amazon.com/greengrass/latest/apireference/createdeployment-post.html) command in the AWS CLI or from the *Greengrass* node in the AWS IoT console. To deploy a group version, you must have a Greengrass service role associated with your AWS account . For more information, see [AWS CloudFormation Support for AWS IoT Greengrass](https://docs.aws.amazon.com/greengrass/latest/developerguide/cloudformation-support.html) in the *Developer 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 tags interface{} cfnGroup := awscdk.Aws_greengrass.NewCfnGroup(this, jsii.String("MyCfnGroup"), &CfnGroupProps{ Name: jsii.String("name"), // the properties below are optional InitialVersion: &GroupVersionProperty{ ConnectorDefinitionVersionArn: jsii.String("connectorDefinitionVersionArn"), CoreDefinitionVersionArn: jsii.String("coreDefinitionVersionArn"), DeviceDefinitionVersionArn: jsii.String("deviceDefinitionVersionArn"), FunctionDefinitionVersionArn: jsii.String("functionDefinitionVersionArn"), LoggerDefinitionVersionArn: jsii.String("loggerDefinitionVersionArn"), ResourceDefinitionVersionArn: jsii.String("resourceDefinitionVersionArn"), SubscriptionDefinitionVersionArn: jsii.String("subscriptionDefinitionVersionArn"), }, RoleArn: jsii.String("roleArn"), Tags: tags, })
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html
func NewCfnGroup ¶
func NewCfnGroup(scope constructs.Construct, id *string, props *CfnGroupProps) CfnGroup
type CfnGroupProps ¶
type CfnGroupProps struct { // The name of the group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-name // Name *string `field:"required" json:"name" yaml:"name"` // The group version to include when the group is created. // // A group version references the Amazon Resource Name (ARN) of a core definition version, device definition version, subscription definition version, and other version types. The group version must reference a core definition version that contains one core. Other version types are optionally included, depending on your business need. // // > To associate a group version after the group is created, create an [`AWS::Greengrass::GroupVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html) resource and specify the ID of this group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-initialversion // InitialVersion interface{} `field:"optional" json:"initialVersion" yaml:"initialVersion"` // The Amazon Resource Name (ARN) of the IAM role attached to the group. // // This role contains the permissions that Lambda functions and connectors use to interact with other AWS services. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-rolearn // RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"` // Application-specific metadata to attach to the group. // // You can use tags in IAM policies to control access to AWS IoT Greengrass resources. You can also use tags to categorize your resources. For more information, see [Tagging Your AWS IoT Greengrass Resources](https://docs.aws.amazon.com/greengrass/latest/developerguide/tagging.html) in the *Developer Guide* . // // This `Json` property type is processed as a map of key-value pairs. It uses the following format, which is different from most `Tags` implementations in AWS CloudFormation templates. // // “`json // "Tags": { "KeyName0": "value", "KeyName1": "value", "KeyName2": "value" // } // “`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-tags // Tags interface{} `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnGroup`.
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 tags interface{} cfnGroupProps := &CfnGroupProps{ Name: jsii.String("name"), // the properties below are optional InitialVersion: &GroupVersionProperty{ ConnectorDefinitionVersionArn: jsii.String("connectorDefinitionVersionArn"), CoreDefinitionVersionArn: jsii.String("coreDefinitionVersionArn"), DeviceDefinitionVersionArn: jsii.String("deviceDefinitionVersionArn"), FunctionDefinitionVersionArn: jsii.String("functionDefinitionVersionArn"), LoggerDefinitionVersionArn: jsii.String("loggerDefinitionVersionArn"), ResourceDefinitionVersionArn: jsii.String("resourceDefinitionVersionArn"), SubscriptionDefinitionVersionArn: jsii.String("subscriptionDefinitionVersionArn"), }, RoleArn: jsii.String("roleArn"), Tags: tags, }
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html
type CfnGroupVersion ¶
type CfnGroupVersion 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 // The Amazon Resource Name (ARN) of the connector definition version that contains the connectors you want to deploy with the group version. ConnectorDefinitionVersionArn() *string SetConnectorDefinitionVersionArn(val *string) // The ARN of the core definition version that contains the core you want to deploy with the group version. CoreDefinitionVersionArn() *string SetCoreDefinitionVersionArn(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 ARN of the device definition version that contains the devices you want to deploy with the group version. DeviceDefinitionVersionArn() *string SetDeviceDefinitionVersionArn(val *string) // The ARN of the function definition version that contains the functions you want to deploy with the group version. FunctionDefinitionVersionArn() *string SetFunctionDefinitionVersionArn(val *string) // The ID of the group associated with this version. GroupId() *string SetGroupId(val *string) // The ARN of the logger definition version that contains the loggers you want to deploy with the group version. LoggerDefinitionVersionArn() *string SetLoggerDefinitionVersionArn(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The ARN of the resource definition version that contains the resources you want to deploy with the group version. ResourceDefinitionVersionArn() *string SetResourceDefinitionVersionArn(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 ARN of the subscription definition version that contains the subscriptions you want to deploy with the group version. SubscriptionDefinitionVersionArn() *string SetSubscriptionDefinitionVersionArn(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::Greengrass::GroupVersion` resource represents a group version in AWS IoT Greengrass .
A group version references a core definition version, device definition version, subscription definition version, and other version types that contain the components you want to deploy to a Greengrass core device. The group version must reference a core definition version that contains one core. Other version types are optionally included, depending on your business need.
> To create a group version, you must specify the ID of the group that you want to associate with the version. For information about creating a group, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.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" cfnGroupVersion := awscdk.Aws_greengrass.NewCfnGroupVersion(this, jsii.String("MyCfnGroupVersion"), &CfnGroupVersionProps{ GroupId: jsii.String("groupId"), // the properties below are optional ConnectorDefinitionVersionArn: jsii.String("connectorDefinitionVersionArn"), CoreDefinitionVersionArn: jsii.String("coreDefinitionVersionArn"), DeviceDefinitionVersionArn: jsii.String("deviceDefinitionVersionArn"), FunctionDefinitionVersionArn: jsii.String("functionDefinitionVersionArn"), LoggerDefinitionVersionArn: jsii.String("loggerDefinitionVersionArn"), ResourceDefinitionVersionArn: jsii.String("resourceDefinitionVersionArn"), SubscriptionDefinitionVersionArn: jsii.String("subscriptionDefinitionVersionArn"), })
func NewCfnGroupVersion ¶
func NewCfnGroupVersion(scope constructs.Construct, id *string, props *CfnGroupVersionProps) CfnGroupVersion
type CfnGroupVersionProps ¶
type CfnGroupVersionProps struct { // The ID of the group associated with this version. // // This value is a GUID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-groupid // GroupId *string `field:"required" json:"groupId" yaml:"groupId"` // The Amazon Resource Name (ARN) of the connector definition version that contains the connectors you want to deploy with the group version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-connectordefinitionversionarn // ConnectorDefinitionVersionArn *string `field:"optional" json:"connectorDefinitionVersionArn" yaml:"connectorDefinitionVersionArn"` // The ARN of the core definition version that contains the core you want to deploy with the group version. // // Currently, the core definition version can contain only one core. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-coredefinitionversionarn // CoreDefinitionVersionArn *string `field:"optional" json:"coreDefinitionVersionArn" yaml:"coreDefinitionVersionArn"` // The ARN of the device definition version that contains the devices you want to deploy with the group version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-devicedefinitionversionarn // DeviceDefinitionVersionArn *string `field:"optional" json:"deviceDefinitionVersionArn" yaml:"deviceDefinitionVersionArn"` // The ARN of the function definition version that contains the functions you want to deploy with the group version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-functiondefinitionversionarn // FunctionDefinitionVersionArn *string `field:"optional" json:"functionDefinitionVersionArn" yaml:"functionDefinitionVersionArn"` // The ARN of the logger definition version that contains the loggers you want to deploy with the group version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-loggerdefinitionversionarn // LoggerDefinitionVersionArn *string `field:"optional" json:"loggerDefinitionVersionArn" yaml:"loggerDefinitionVersionArn"` // The ARN of the resource definition version that contains the resources you want to deploy with the group version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-resourcedefinitionversionarn // ResourceDefinitionVersionArn *string `field:"optional" json:"resourceDefinitionVersionArn" yaml:"resourceDefinitionVersionArn"` // The ARN of the subscription definition version that contains the subscriptions you want to deploy with the group version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-subscriptiondefinitionversionarn // SubscriptionDefinitionVersionArn *string `field:"optional" json:"subscriptionDefinitionVersionArn" yaml:"subscriptionDefinitionVersionArn"` }
Properties for defining a `CfnGroupVersion`.
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" cfnGroupVersionProps := &CfnGroupVersionProps{ GroupId: jsii.String("groupId"), // the properties below are optional ConnectorDefinitionVersionArn: jsii.String("connectorDefinitionVersionArn"), CoreDefinitionVersionArn: jsii.String("coreDefinitionVersionArn"), DeviceDefinitionVersionArn: jsii.String("deviceDefinitionVersionArn"), FunctionDefinitionVersionArn: jsii.String("functionDefinitionVersionArn"), LoggerDefinitionVersionArn: jsii.String("loggerDefinitionVersionArn"), ResourceDefinitionVersionArn: jsii.String("resourceDefinitionVersionArn"), SubscriptionDefinitionVersionArn: jsii.String("subscriptionDefinitionVersionArn"), }
type CfnGroup_GroupVersionProperty ¶
type CfnGroup_GroupVersionProperty struct { // The Amazon Resource Name (ARN) of the connector definition version that contains the connectors you want to deploy with the group version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-connectordefinitionversionarn // ConnectorDefinitionVersionArn *string `field:"optional" json:"connectorDefinitionVersionArn" yaml:"connectorDefinitionVersionArn"` // The ARN of the core definition version that contains the core you want to deploy with the group version. // // Currently, the core definition version can contain only one core. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-coredefinitionversionarn // CoreDefinitionVersionArn *string `field:"optional" json:"coreDefinitionVersionArn" yaml:"coreDefinitionVersionArn"` // The ARN of the device definition version that contains the devices you want to deploy with the group version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-devicedefinitionversionarn // DeviceDefinitionVersionArn *string `field:"optional" json:"deviceDefinitionVersionArn" yaml:"deviceDefinitionVersionArn"` // The ARN of the function definition version that contains the functions you want to deploy with the group version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-functiondefinitionversionarn // FunctionDefinitionVersionArn *string `field:"optional" json:"functionDefinitionVersionArn" yaml:"functionDefinitionVersionArn"` // The ARN of the logger definition version that contains the loggers you want to deploy with the group version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-loggerdefinitionversionarn // LoggerDefinitionVersionArn *string `field:"optional" json:"loggerDefinitionVersionArn" yaml:"loggerDefinitionVersionArn"` // The ARN of the resource definition version that contains the resources you want to deploy with the group version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-resourcedefinitionversionarn // ResourceDefinitionVersionArn *string `field:"optional" json:"resourceDefinitionVersionArn" yaml:"resourceDefinitionVersionArn"` // The ARN of the subscription definition version that contains the subscriptions you want to deploy with the group version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-subscriptiondefinitionversionarn // SubscriptionDefinitionVersionArn *string `field:"optional" json:"subscriptionDefinitionVersionArn" yaml:"subscriptionDefinitionVersionArn"` }
A group version in AWS IoT Greengrass , which references of a core definition version, device definition version, subscription definition version, and other version types that contain the components you want to deploy to a Greengrass core device.
The group version must reference a core definition version that contains one core. Other version types are optionally included, depending on your business need.
In an AWS CloudFormation template, `GroupVersion` is the property type of the `InitialVersion` property in the [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.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" groupVersionProperty := &GroupVersionProperty{ ConnectorDefinitionVersionArn: jsii.String("connectorDefinitionVersionArn"), CoreDefinitionVersionArn: jsii.String("coreDefinitionVersionArn"), DeviceDefinitionVersionArn: jsii.String("deviceDefinitionVersionArn"), FunctionDefinitionVersionArn: jsii.String("functionDefinitionVersionArn"), LoggerDefinitionVersionArn: jsii.String("loggerDefinitionVersionArn"), ResourceDefinitionVersionArn: jsii.String("resourceDefinitionVersionArn"), SubscriptionDefinitionVersionArn: jsii.String("subscriptionDefinitionVersionArn"), }
type CfnLoggerDefinition ¶
type CfnLoggerDefinition interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // The Amazon Resource Name (ARN) of the `LoggerDefinition` , such as `arn:aws:greengrass:us-east-1: :/greengrass/definition/loggers/1234a5b6-78cd-901e-2fgh-3i45j6k178l9` . AttrArn() *string // The ID of the `LoggerDefinition` , such as `1234a5b6-78cd-901e-2fgh-3i45j6k178l9` . AttrId() *string // The ARN of the last `LoggerDefinitionVersion` that was added to the `LoggerDefinition` , such as `arn:aws:greengrass:us-east-1: :/greengrass/definition/loggers/1234a5b6-78cd-901e-2fgh-3i45j6k178l9/versions/9876ac30-4bdb-4f9d-95af-b5fdb66be1a2` . AttrLatestVersionArn() *string // The name of the `LoggerDefinition` , such as `MyLoggerDefinition` . AttrName() *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 logger definition version to include when the logger definition is created. InitialVersion() interface{} SetInitialVersion(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 logger definition. Name() *string SetName(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // Application-specific metadata to attach to the logger definition. TagsRaw() interface{} SetTagsRaw(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{} // 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::Greengrass::LoggerDefinition` resource represents a logger definition for AWS IoT Greengrass .
Logger definitions are used to organize your logger definition versions.
Logger definitions can reference multiple logger definition versions. All logger definition versions must be associated with a logger definition. Each logger definition version can contain one or more loggers.
> When you create a logger definition, you can optionally include an initial logger definition version. To associate a logger definition version later, create an [`AWS::Greengrass::LoggerDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html) resource and specify the ID of this logger definition. > > After you create the logger definition version that contains the loggers you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.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" var tags interface{} cfnLoggerDefinition := awscdk.Aws_greengrass.NewCfnLoggerDefinition(this, jsii.String("MyCfnLoggerDefinition"), &CfnLoggerDefinitionProps{ Name: jsii.String("name"), // the properties below are optional InitialVersion: &LoggerDefinitionVersionProperty{ Loggers: []interface{}{ &LoggerProperty{ Component: jsii.String("component"), Id: jsii.String("id"), Level: jsii.String("level"), Type: jsii.String("type"), // the properties below are optional Space: jsii.Number(123), }, }, }, Tags: tags, })
func NewCfnLoggerDefinition ¶
func NewCfnLoggerDefinition(scope constructs.Construct, id *string, props *CfnLoggerDefinitionProps) CfnLoggerDefinition
type CfnLoggerDefinitionProps ¶
type CfnLoggerDefinitionProps struct { // The name of the logger definition. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html#cfn-greengrass-loggerdefinition-name // Name *string `field:"required" json:"name" yaml:"name"` // The logger definition version to include when the logger definition is created. // // A logger definition version contains a list of [`logger`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html) property types. // // > To associate a logger definition version after the logger definition is created, create an [`AWS::Greengrass::LoggerDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html) resource and specify the ID of this logger definition. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html#cfn-greengrass-loggerdefinition-initialversion // InitialVersion interface{} `field:"optional" json:"initialVersion" yaml:"initialVersion"` // Application-specific metadata to attach to the logger definition. // // You can use tags in IAM policies to control access to AWS IoT Greengrass resources. You can also use tags to categorize your resources. For more information, see [Tagging Your AWS IoT Greengrass Resources](https://docs.aws.amazon.com/greengrass/latest/developerguide/tagging.html) in the *Developer Guide* . // // This `Json` property type is processed as a map of key-value pairs. It uses the following format, which is different from most `Tags` implementations in AWS CloudFormation templates. // // “`json // "Tags": { "KeyName0": "value", "KeyName1": "value", "KeyName2": "value" // } // “`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html#cfn-greengrass-loggerdefinition-tags // Tags interface{} `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnLoggerDefinition`.
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 tags interface{} cfnLoggerDefinitionProps := &CfnLoggerDefinitionProps{ Name: jsii.String("name"), // the properties below are optional InitialVersion: &LoggerDefinitionVersionProperty{ Loggers: []interface{}{ &LoggerProperty{ Component: jsii.String("component"), Id: jsii.String("id"), Level: jsii.String("level"), Type: jsii.String("type"), // the properties below are optional Space: jsii.Number(123), }, }, }, Tags: tags, }
type CfnLoggerDefinitionVersion ¶
type CfnLoggerDefinitionVersion 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 ID of the logger definition associated with this version. LoggerDefinitionId() *string SetLoggerDefinitionId(val *string) // The loggers in this version. Loggers() interface{} SetLoggers(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 tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // 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::Greengrass::LoggerDefinitionVersion` resource represents a logger definition version for AWS IoT Greengrass .
A logger definition version contains a list of loggers.
> To create a logger definition version, you must specify the ID of the logger definition that you want to associate with the version. For information about creating a logger definition, see [`AWS::Greengrass::LoggerDefinition`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html) . > > After you create a logger definition version that contains the loggers you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.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" cfnLoggerDefinitionVersion := awscdk.Aws_greengrass.NewCfnLoggerDefinitionVersion(this, jsii.String("MyCfnLoggerDefinitionVersion"), &CfnLoggerDefinitionVersionProps{ LoggerDefinitionId: jsii.String("loggerDefinitionId"), Loggers: []interface{}{ &LoggerProperty{ Component: jsii.String("component"), Id: jsii.String("id"), Level: jsii.String("level"), Type: jsii.String("type"), // the properties below are optional Space: jsii.Number(123), }, }, })
func NewCfnLoggerDefinitionVersion ¶
func NewCfnLoggerDefinitionVersion(scope constructs.Construct, id *string, props *CfnLoggerDefinitionVersionProps) CfnLoggerDefinitionVersion
type CfnLoggerDefinitionVersionProps ¶
type CfnLoggerDefinitionVersionProps struct { // The ID of the logger definition associated with this version. // // This value is a GUID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html#cfn-greengrass-loggerdefinitionversion-loggerdefinitionid // LoggerDefinitionId *string `field:"required" json:"loggerDefinitionId" yaml:"loggerDefinitionId"` // The loggers in this version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html#cfn-greengrass-loggerdefinitionversion-loggers // Loggers interface{} `field:"required" json:"loggers" yaml:"loggers"` }
Properties for defining a `CfnLoggerDefinitionVersion`.
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" cfnLoggerDefinitionVersionProps := &CfnLoggerDefinitionVersionProps{ LoggerDefinitionId: jsii.String("loggerDefinitionId"), Loggers: []interface{}{ &LoggerProperty{ Component: jsii.String("component"), Id: jsii.String("id"), Level: jsii.String("level"), Type: jsii.String("type"), // the properties below are optional Space: jsii.Number(123), }, }, }
type CfnLoggerDefinitionVersion_LoggerProperty ¶
type CfnLoggerDefinitionVersion_LoggerProperty struct { // The source of the log event. // // Valid values are `GreengrassSystem` or `Lambda` . When `GreengrassSystem` is used, events from Greengrass system components are logged. When `Lambda` is used, events from user-defined Lambda functions are logged. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-component // Component *string `field:"required" json:"component" yaml:"component"` // A descriptive or arbitrary ID for the logger. // // This value must be unique within the logger definition version. Maximum length is 128 characters with pattern `[a-zA-Z0-9:_-]+` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-id // Id *string `field:"required" json:"id" yaml:"id"` // The log-level threshold. // // Log events below this threshold are filtered out and aren't stored. Valid values are `DEBUG` , `INFO` (recommended), `WARN` , `ERROR` , or `FATAL` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-level // Level *string `field:"required" json:"level" yaml:"level"` // The storage mechanism for log events. // // Valid values are `FileSystem` or `AWSCloudWatch` . When `AWSCloudWatch` is used, log events are sent to CloudWatch Logs . When `FileSystem` is used, log events are stored on the local file system. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-type // Type *string `field:"required" json:"type" yaml:"type"` // The amount of file space (in KB) to use when writing logs to the local file system. // // This property does not apply for CloudWatch Logs . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-space // Space *float64 `field:"optional" json:"space" yaml:"space"` }
A logger represents logging settings for the AWS IoT Greengrass group, which can be stored in CloudWatch and the local file system of your core device.
All log entries include a timestamp, log level, and information about the event. For more information, see [Monitoring with AWS IoT Greengrass Logs](https://docs.aws.amazon.com/greengrass/latest/developerguide/greengrass-logs-overview.html) in the *Developer Guide* .
In an AWS CloudFormation template, the `Loggers` property of the [`AWS::Greengrass::LoggerDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html) resource contains a list of `Logger` 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" loggerProperty := &LoggerProperty{ Component: jsii.String("component"), Id: jsii.String("id"), Level: jsii.String("level"), Type: jsii.String("type"), // the properties below are optional Space: jsii.Number(123), }
type CfnLoggerDefinition_LoggerDefinitionVersionProperty ¶
type CfnLoggerDefinition_LoggerDefinitionVersionProperty struct { // The loggers in this version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-loggerdefinitionversion.html#cfn-greengrass-loggerdefinition-loggerdefinitionversion-loggers // Loggers interface{} `field:"required" json:"loggers" yaml:"loggers"` }
A logger definition version contains a list of [loggers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html) .
> After you create a logger definition version that contains the loggers you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html) .
In an AWS CloudFormation template, `LoggerDefinitionVersion` is the property type of the `InitialVersion` property in the [`AWS::Greengrass::LoggerDefinition`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.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" loggerDefinitionVersionProperty := &LoggerDefinitionVersionProperty{ Loggers: []interface{}{ &LoggerProperty{ Component: jsii.String("component"), Id: jsii.String("id"), Level: jsii.String("level"), Type: jsii.String("type"), // the properties below are optional Space: jsii.Number(123), }, }, }
type CfnLoggerDefinition_LoggerProperty ¶
type CfnLoggerDefinition_LoggerProperty struct { // The source of the log event. // // Valid values are `GreengrassSystem` or `Lambda` . When `GreengrassSystem` is used, events from Greengrass system components are logged. When `Lambda` is used, events from user-defined Lambda functions are logged. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-component // Component *string `field:"required" json:"component" yaml:"component"` // A descriptive or arbitrary ID for the logger. // // This value must be unique within the logger definition version. Maximum length is 128 characters with pattern `[a-zA-Z0-9:_-]+` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-id // Id *string `field:"required" json:"id" yaml:"id"` // The log-level threshold. // // Log events below this threshold are filtered out and aren't stored. Valid values are `DEBUG` , `INFO` (recommended), `WARN` , `ERROR` , or `FATAL` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-level // Level *string `field:"required" json:"level" yaml:"level"` // The storage mechanism for log events. // // Valid values are `FileSystem` or `AWSCloudWatch` . When `AWSCloudWatch` is used, log events are sent to CloudWatch Logs . When `FileSystem` is used, log events are stored on the local file system. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-type // Type *string `field:"required" json:"type" yaml:"type"` // The amount of file space (in KB) to use when writing logs to the local file system. // // This property does not apply for CloudWatch Logs . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-space // Space *float64 `field:"optional" json:"space" yaml:"space"` }
A logger represents logging settings for the AWS IoT Greengrass group, which can be stored in CloudWatch and the local file system of your core device.
All log entries include a timestamp, log level, and information about the event. For more information, see [Monitoring with AWS IoT Greengrass Logs](https://docs.aws.amazon.com/greengrass/latest/developerguide/greengrass-logs-overview.html) in the *Developer Guide* .
In an AWS CloudFormation template, the `Loggers` property of the [`LoggerDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-loggerdefinitionversion.html) property type contains a list of `Logger` 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" loggerProperty := &LoggerProperty{ Component: jsii.String("component"), Id: jsii.String("id"), Level: jsii.String("level"), Type: jsii.String("type"), // the properties below are optional Space: jsii.Number(123), }
type CfnResourceDefinition ¶
type CfnResourceDefinition interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // The Amazon Resource Name (ARN) of the `ResourceDefinition` , such as `arn:aws:greengrass:us-east-1: :/greengrass/definition/resources/1234a5b6-78cd-901e-2fgh-3i45j6k178l9` . AttrArn() *string // The ID of the `ResourceDefinition` , such as `1234a5b6-78cd-901e-2fgh-3i45j6k178l9` . AttrId() *string // The ARN of the last `ResourceDefinitionVersion` that was added to the `ResourceDefinition` , such as `arn:aws:greengrass:us-east-1: :/greengrass/definition/resources/1234a5b6-78cd-901e-2fgh-3i45j6k178l9/versions/9876ac30-4bdb-4f9d-95af-b5fdb66be1a2` . AttrLatestVersionArn() *string // The name of the `ResourceDefinition` , such as `MyResourceDefinition` . AttrName() *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 resource definition version to include when the resource definition is created. InitialVersion() interface{} SetInitialVersion(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 resource definition. Name() *string SetName(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // Application-specific metadata to attach to the resource definition. TagsRaw() interface{} SetTagsRaw(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{} // 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::Greengrass::ResourceDefinition` resource represents a resource definition for AWS IoT Greengrass .
Resource definitions are used to organize your resource definition versions.
Resource definitions can reference multiple resource definition versions. All resource definition versions must be associated with a resource definition. Each resource definition version can contain one or more resources. (In AWS CloudFormation , resources are named *resource instances* .)
> When you create a resource definition, you can optionally include an initial resource definition version. To associate a resource definition version later, create an [`AWS::Greengrass::ResourceDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html) resource and specify the ID of this resource definition. > > After you create the resource definition version that contains the resources you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.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" var tags interface{} cfnResourceDefinition := awscdk.Aws_greengrass.NewCfnResourceDefinition(this, jsii.String("MyCfnResourceDefinition"), &CfnResourceDefinitionProps{ Name: jsii.String("name"), // the properties below are optional InitialVersion: &ResourceDefinitionVersionProperty{ Resources: []interface{}{ &ResourceInstanceProperty{ Id: jsii.String("id"), Name: jsii.String("name"), ResourceDataContainer: &ResourceDataContainerProperty{ LocalDeviceResourceData: &LocalDeviceResourceDataProperty{ SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }, LocalVolumeResourceData: &LocalVolumeResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }, S3MachineLearningModelResourceData: &S3MachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), S3Uri: jsii.String("s3Uri"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }, SageMakerMachineLearningModelResourceData: &SageMakerMachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SageMakerJobArn: jsii.String("sageMakerJobArn"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }, SecretsManagerSecretResourceData: &SecretsManagerSecretResourceDataProperty{ Arn: jsii.String("arn"), // the properties below are optional AdditionalStagingLabelsToDownload: []*string{ jsii.String("additionalStagingLabelsToDownload"), }, }, }, }, }, }, Tags: tags, })
func NewCfnResourceDefinition ¶
func NewCfnResourceDefinition(scope constructs.Construct, id *string, props *CfnResourceDefinitionProps) CfnResourceDefinition
type CfnResourceDefinitionProps ¶
type CfnResourceDefinitionProps struct { // The name of the resource definition. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html#cfn-greengrass-resourcedefinition-name // Name *string `field:"required" json:"name" yaml:"name"` // The resource definition version to include when the resource definition is created. // // A resource definition version contains a list of [`resource instance`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourceinstance.html) property types. // // > To associate a resource definition version after the resource definition is created, create an [`AWS::Greengrass::ResourceDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html) resource and specify the ID of this resource definition. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html#cfn-greengrass-resourcedefinition-initialversion // InitialVersion interface{} `field:"optional" json:"initialVersion" yaml:"initialVersion"` // Application-specific metadata to attach to the resource definition. // // You can use tags in IAM policies to control access to AWS IoT Greengrass resources. You can also use tags to categorize your resources. For more information, see [Tagging Your AWS IoT Greengrass Resources](https://docs.aws.amazon.com/greengrass/latest/developerguide/tagging.html) in the *Developer Guide* . // // This `Json` property type is processed as a map of key-value pairs. It uses the following format, which is different from most `Tags` implementations in AWS CloudFormation templates. // // “`json // "Tags": { "KeyName0": "value", "KeyName1": "value", "KeyName2": "value" // } // “`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html#cfn-greengrass-resourcedefinition-tags // Tags interface{} `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnResourceDefinition`.
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 tags interface{} cfnResourceDefinitionProps := &CfnResourceDefinitionProps{ Name: jsii.String("name"), // the properties below are optional InitialVersion: &ResourceDefinitionVersionProperty{ Resources: []interface{}{ &ResourceInstanceProperty{ Id: jsii.String("id"), Name: jsii.String("name"), ResourceDataContainer: &ResourceDataContainerProperty{ LocalDeviceResourceData: &LocalDeviceResourceDataProperty{ SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }, LocalVolumeResourceData: &LocalVolumeResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }, S3MachineLearningModelResourceData: &S3MachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), S3Uri: jsii.String("s3Uri"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }, SageMakerMachineLearningModelResourceData: &SageMakerMachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SageMakerJobArn: jsii.String("sageMakerJobArn"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }, SecretsManagerSecretResourceData: &SecretsManagerSecretResourceDataProperty{ Arn: jsii.String("arn"), // the properties below are optional AdditionalStagingLabelsToDownload: []*string{ jsii.String("additionalStagingLabelsToDownload"), }, }, }, }, }, }, Tags: tags, }
type CfnResourceDefinitionVersion ¶
type CfnResourceDefinitionVersion 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 logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The ID of the resource definition associated with this version. ResourceDefinitionId() *string SetResourceDefinitionId(val *string) // The resources in this version. Resources() interface{} SetResources(val interface{}) // 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{}) }
The `AWS::Greengrass::ResourceDefinitionVersion` resource represents a resource definition version for AWS IoT Greengrass .
A resource definition version contains a list of resources. (In AWS CloudFormation , resources are named *resource instances* .)
> To create a resource definition version, you must specify the ID of the resource definition that you want to associate with the version. For information about creating a resource definition, see [`AWS::Greengrass::ResourceDefinition`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html) . > > After you create a resource definition version that contains the resources you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.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" cfnResourceDefinitionVersion := awscdk.Aws_greengrass.NewCfnResourceDefinitionVersion(this, jsii.String("MyCfnResourceDefinitionVersion"), &CfnResourceDefinitionVersionProps{ ResourceDefinitionId: jsii.String("resourceDefinitionId"), Resources: []interface{}{ &ResourceInstanceProperty{ Id: jsii.String("id"), Name: jsii.String("name"), ResourceDataContainer: &ResourceDataContainerProperty{ LocalDeviceResourceData: &LocalDeviceResourceDataProperty{ SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }, LocalVolumeResourceData: &LocalVolumeResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }, S3MachineLearningModelResourceData: &S3MachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), S3Uri: jsii.String("s3Uri"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }, SageMakerMachineLearningModelResourceData: &SageMakerMachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SageMakerJobArn: jsii.String("sageMakerJobArn"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }, SecretsManagerSecretResourceData: &SecretsManagerSecretResourceDataProperty{ Arn: jsii.String("arn"), // the properties below are optional AdditionalStagingLabelsToDownload: []*string{ jsii.String("additionalStagingLabelsToDownload"), }, }, }, }, }, })
func NewCfnResourceDefinitionVersion ¶
func NewCfnResourceDefinitionVersion(scope constructs.Construct, id *string, props *CfnResourceDefinitionVersionProps) CfnResourceDefinitionVersion
type CfnResourceDefinitionVersionProps ¶
type CfnResourceDefinitionVersionProps struct { // The ID of the resource definition associated with this version. // // This value is a GUID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html#cfn-greengrass-resourcedefinitionversion-resourcedefinitionid // ResourceDefinitionId *string `field:"required" json:"resourceDefinitionId" yaml:"resourceDefinitionId"` // The resources in this version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html#cfn-greengrass-resourcedefinitionversion-resources // Resources interface{} `field:"required" json:"resources" yaml:"resources"` }
Properties for defining a `CfnResourceDefinitionVersion`.
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" cfnResourceDefinitionVersionProps := &CfnResourceDefinitionVersionProps{ ResourceDefinitionId: jsii.String("resourceDefinitionId"), Resources: []interface{}{ &ResourceInstanceProperty{ Id: jsii.String("id"), Name: jsii.String("name"), ResourceDataContainer: &ResourceDataContainerProperty{ LocalDeviceResourceData: &LocalDeviceResourceDataProperty{ SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }, LocalVolumeResourceData: &LocalVolumeResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }, S3MachineLearningModelResourceData: &S3MachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), S3Uri: jsii.String("s3Uri"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }, SageMakerMachineLearningModelResourceData: &SageMakerMachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SageMakerJobArn: jsii.String("sageMakerJobArn"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }, SecretsManagerSecretResourceData: &SecretsManagerSecretResourceDataProperty{ Arn: jsii.String("arn"), // the properties below are optional AdditionalStagingLabelsToDownload: []*string{ jsii.String("additionalStagingLabelsToDownload"), }, }, }, }, }, }
type CfnResourceDefinitionVersion_GroupOwnerSettingProperty ¶
type CfnResourceDefinitionVersion_GroupOwnerSettingProperty struct { // Indicates whether to give the privileges of the Linux group that owns the resource to the Lambda process. // // This gives the Lambda process the file access permissions of the Linux group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-groupownersetting.html#cfn-greengrass-resourcedefinitionversion-groupownersetting-autoaddgroupowner // AutoAddGroupOwner interface{} `field:"required" json:"autoAddGroupOwner" yaml:"autoAddGroupOwner"` // The name of the Linux group whose privileges you want to add to the Lambda process. // // This value is ignored if `AutoAddGroupOwner` is true. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-groupownersetting.html#cfn-greengrass-resourcedefinitionversion-groupownersetting-groupowner // GroupOwner *string `field:"optional" json:"groupOwner" yaml:"groupOwner"` }
Settings that define additional Linux OS group permissions to give to the Lambda function process.
You can give the permissions of the Linux group that owns the resource or choose another Linux group. These permissions are in addition to the function's `RunAs` permissions.
In an AWS CloudFormation template, `GroupOwnerSetting` is a property of the [`LocalDeviceResourceData`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localdeviceresourcedata.html) and [`LocalVolumeResourceData`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html) 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" groupOwnerSettingProperty := &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }
type CfnResourceDefinitionVersion_LocalDeviceResourceDataProperty ¶
type CfnResourceDefinitionVersion_LocalDeviceResourceDataProperty struct { // The local absolute path of the device resource. // // The source path for a device resource can refer only to a character device or block device under `/dev` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localdeviceresourcedata.html#cfn-greengrass-resourcedefinitionversion-localdeviceresourcedata-sourcepath // SourcePath *string `field:"required" json:"sourcePath" yaml:"sourcePath"` // Settings that define additional Linux OS group permissions to give to the Lambda function process. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localdeviceresourcedata.html#cfn-greengrass-resourcedefinitionversion-localdeviceresourcedata-groupownersetting // GroupOwnerSetting interface{} `field:"optional" json:"groupOwnerSetting" yaml:"groupOwnerSetting"` }
Settings for a local device resource, which represents a file under `/dev` .
For more information, see [Access Local Resources with Lambda Functions](https://docs.aws.amazon.com/greengrass/latest/developerguide/access-local-resources.html) in the *Developer Guide* .
In an AWS CloudFormation template, `LocalDeviceResourceData` can be used in the [`ResourceDataContainer`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.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" localDeviceResourceDataProperty := &LocalDeviceResourceDataProperty{ SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }
type CfnResourceDefinitionVersion_LocalVolumeResourceDataProperty ¶
type CfnResourceDefinitionVersion_LocalVolumeResourceDataProperty struct { // The absolute local path of the resource in the Lambda environment. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html#cfn-greengrass-resourcedefinitionversion-localvolumeresourcedata-destinationpath // DestinationPath *string `field:"required" json:"destinationPath" yaml:"destinationPath"` // The local absolute path of the volume resource on the host. // // The source path for a volume resource type cannot start with `/sys` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html#cfn-greengrass-resourcedefinitionversion-localvolumeresourcedata-sourcepath // SourcePath *string `field:"required" json:"sourcePath" yaml:"sourcePath"` // Settings that define additional Linux OS group permissions to give to the Lambda function process. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html#cfn-greengrass-resourcedefinitionversion-localvolumeresourcedata-groupownersetting // GroupOwnerSetting interface{} `field:"optional" json:"groupOwnerSetting" yaml:"groupOwnerSetting"` }
Settings for a local volume resource, which represents a file or directory on the root file system.
For more information, see [Access Local Resources with Lambda Functions](https://docs.aws.amazon.com/greengrass/latest/developerguide/access-local-resources.html) in the *Developer Guide* .
In an AWS CloudFormation template, `LocalVolumeResourceData` can be used in the [`ResourceDataContainer`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.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" localVolumeResourceDataProperty := &LocalVolumeResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }
type CfnResourceDefinitionVersion_ResourceDataContainerProperty ¶
type CfnResourceDefinitionVersion_ResourceDataContainerProperty struct { // Settings for a local device resource. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-localdeviceresourcedata // LocalDeviceResourceData interface{} `field:"optional" json:"localDeviceResourceData" yaml:"localDeviceResourceData"` // Settings for a local volume resource. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-localvolumeresourcedata // LocalVolumeResourceData interface{} `field:"optional" json:"localVolumeResourceData" yaml:"localVolumeResourceData"` // Settings for a machine learning resource stored in Amazon S3 . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-s3machinelearningmodelresourcedata // S3MachineLearningModelResourceData interface{} `field:"optional" json:"s3MachineLearningModelResourceData" yaml:"s3MachineLearningModelResourceData"` // Settings for a machine learning resource saved as an SageMaker training job. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-sagemakermachinelearningmodelresourcedata // SageMakerMachineLearningModelResourceData interface{} `field:"optional" json:"sageMakerMachineLearningModelResourceData" yaml:"sageMakerMachineLearningModelResourceData"` // Settings for a secret resource. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-secretsmanagersecretresourcedata // SecretsManagerSecretResourceData interface{} `field:"optional" json:"secretsManagerSecretResourceData" yaml:"secretsManagerSecretResourceData"` }
A container for resource data, which defines the resource type.
The container takes only one of the following supported resource data types: `LocalDeviceResourceData` , `LocalVolumeResourceData` , `SageMakerMachineLearningModelResourceData` , `S3MachineLearningModelResourceData` , or `SecretsManagerSecretResourceData` .
> Only one resource type can be defined for a `ResourceDataContainer` instance.
In an AWS CloudFormation template, `ResourceDataContainer` is a property of the [`ResourceInstance`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.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" resourceDataContainerProperty := &ResourceDataContainerProperty{ LocalDeviceResourceData: &LocalDeviceResourceDataProperty{ SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }, LocalVolumeResourceData: &LocalVolumeResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }, S3MachineLearningModelResourceData: &S3MachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), S3Uri: jsii.String("s3Uri"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }, SageMakerMachineLearningModelResourceData: &SageMakerMachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SageMakerJobArn: jsii.String("sageMakerJobArn"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }, SecretsManagerSecretResourceData: &SecretsManagerSecretResourceDataProperty{ Arn: jsii.String("arn"), // the properties below are optional AdditionalStagingLabelsToDownload: []*string{ jsii.String("additionalStagingLabelsToDownload"), }, }, }
type CfnResourceDefinitionVersion_ResourceDownloadOwnerSettingProperty ¶
type CfnResourceDefinitionVersion_ResourceDownloadOwnerSettingProperty struct { // The group owner of the machine learning resource. // // This is the group ID (GID) of an existing Linux OS group on the system. The group's permissions are added to the Lambda process. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedownloadownersetting.html#cfn-greengrass-resourcedefinitionversion-resourcedownloadownersetting-groupowner // GroupOwner *string `field:"required" json:"groupOwner" yaml:"groupOwner"` // The permissions that the group owner has to the machine learning resource. // // Valid values are `rw` (read-write) or `ro` (read-only). // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedownloadownersetting.html#cfn-greengrass-resourcedefinitionversion-resourcedownloadownersetting-grouppermission // GroupPermission *string `field:"required" json:"groupPermission" yaml:"groupPermission"` }
The owner setting for a downloaded machine learning resource.
For more information, see [Access Machine Learning Resources from Lambda Functions](https://docs.aws.amazon.com/greengrass/latest/developerguide/access-ml-resources.html) in the *Developer Guide* .
In an AWS CloudFormation template, `ResourceDownloadOwnerSetting` is the property type of the `OwnerSetting` property for the [`S3MachineLearningModelResourceData`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html) and [`SageMakerMachineLearningModelResourceData`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html) 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" resourceDownloadOwnerSettingProperty := &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }
type CfnResourceDefinitionVersion_ResourceInstanceProperty ¶
type CfnResourceDefinitionVersion_ResourceInstanceProperty struct { // A descriptive or arbitrary ID for the resource. // // This value must be unique within the resource definition version. Maximum length is 128 characters with pattern `[a-zA-Z0-9:_-]+` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html#cfn-greengrass-resourcedefinitionversion-resourceinstance-id // Id *string `field:"required" json:"id" yaml:"id"` // The descriptive resource name, which is displayed on the AWS IoT Greengrass console. // // Maximum length 128 characters with pattern [a-zA-Z0-9:_-]+. This must be unique within a Greengrass group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html#cfn-greengrass-resourcedefinitionversion-resourceinstance-name // Name *string `field:"required" json:"name" yaml:"name"` // A container for resource data. // // The container takes only one of the following supported resource data types: `LocalDeviceResourceData` , `LocalVolumeResourceData` , `SageMakerMachineLearningModelResourceData` , `S3MachineLearningModelResourceData` , or `SecretsManagerSecretResourceData` . // // > Only one resource type can be defined for a `ResourceDataContainer` instance. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html#cfn-greengrass-resourcedefinitionversion-resourceinstance-resourcedatacontainer // ResourceDataContainer interface{} `field:"required" json:"resourceDataContainer" yaml:"resourceDataContainer"` }
A local resource, machine learning resource, or secret resource.
For more information, see [Access Local Resources with Lambda Functions](https://docs.aws.amazon.com/greengrass/latest/developerguide/access-local-resources.html) , [Perform Machine Learning Inference](https://docs.aws.amazon.com/greengrass/latest/developerguide/ml-inference.html) , and [Deploy Secrets to the AWS IoT Greengrass Core](https://docs.aws.amazon.com/greengrass/latest/developerguide/secrets.html) in the *Developer Guide* .
In an AWS CloudFormation template, the `Resources` property of the [`AWS::Greengrass::ResourceDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html) resource contains a list of `ResourceInstance` 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" resourceInstanceProperty := &ResourceInstanceProperty{ Id: jsii.String("id"), Name: jsii.String("name"), ResourceDataContainer: &ResourceDataContainerProperty{ LocalDeviceResourceData: &LocalDeviceResourceDataProperty{ SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }, LocalVolumeResourceData: &LocalVolumeResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }, S3MachineLearningModelResourceData: &S3MachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), S3Uri: jsii.String("s3Uri"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }, SageMakerMachineLearningModelResourceData: &SageMakerMachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SageMakerJobArn: jsii.String("sageMakerJobArn"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }, SecretsManagerSecretResourceData: &SecretsManagerSecretResourceDataProperty{ Arn: jsii.String("arn"), // the properties below are optional AdditionalStagingLabelsToDownload: []*string{ jsii.String("additionalStagingLabelsToDownload"), }, }, }, }
type CfnResourceDefinitionVersion_S3MachineLearningModelResourceDataProperty ¶
type CfnResourceDefinitionVersion_S3MachineLearningModelResourceDataProperty struct { // The absolute local path of the resource inside the Lambda environment. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata-destinationpath // DestinationPath *string `field:"required" json:"destinationPath" yaml:"destinationPath"` // The URI of the source model in an Amazon S3 bucket. // // The model package must be in `tar.gz` or `.zip` format. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata-s3uri // S3Uri *string `field:"required" json:"s3Uri" yaml:"s3Uri"` // The owner setting for the downloaded machine learning resource. // // For more information, see [Access Machine Learning Resources from Lambda Functions](https://docs.aws.amazon.com/greengrass/latest/developerguide/access-ml-resources.html) in the *Developer Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata-ownersetting // OwnerSetting interface{} `field:"optional" json:"ownerSetting" yaml:"ownerSetting"` }
Settings for an Amazon S3 machine learning resource.
For more information, see [Perform Machine Learning Inference](https://docs.aws.amazon.com/greengrass/latest/developerguide/ml-inference.html) in the *Developer Guide* .
In an AWS CloudFormation template, `S3MachineLearningModelResourceData` can be used in the [`ResourceDataContainer`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.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" s3MachineLearningModelResourceDataProperty := &S3MachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), S3Uri: jsii.String("s3Uri"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }
type CfnResourceDefinitionVersion_SageMakerMachineLearningModelResourceDataProperty ¶
type CfnResourceDefinitionVersion_SageMakerMachineLearningModelResourceDataProperty struct { // The absolute local path of the resource inside the Lambda environment. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata-destinationpath // DestinationPath *string `field:"required" json:"destinationPath" yaml:"destinationPath"` // The Amazon Resource Name (ARN) of the Amazon SageMaker training job that represents the source model. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata-sagemakerjobarn // SageMakerJobArn *string `field:"required" json:"sageMakerJobArn" yaml:"sageMakerJobArn"` // The owner setting for the downloaded machine learning resource. // // For more information, see [Access Machine Learning Resources from Lambda Functions](https://docs.aws.amazon.com/greengrass/latest/developerguide/access-ml-resources.html) in the *Developer Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata-ownersetting // OwnerSetting interface{} `field:"optional" json:"ownerSetting" yaml:"ownerSetting"` }
Settings for an Secrets Manager machine learning resource.
For more information, see [Perform Machine Learning Inference](https://docs.aws.amazon.com/greengrass/latest/developerguide/ml-inference.html) in the *Developer Guide* .
In an AWS CloudFormation template, `SageMakerMachineLearningModelResourceData` can be used in the [`ResourceDataContainer`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.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" sageMakerMachineLearningModelResourceDataProperty := &SageMakerMachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SageMakerJobArn: jsii.String("sageMakerJobArn"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }
type CfnResourceDefinitionVersion_SecretsManagerSecretResourceDataProperty ¶
type CfnResourceDefinitionVersion_SecretsManagerSecretResourceDataProperty struct { // The Amazon Resource Name (ARN) of the Secrets Manager secret to make available on the core. // // The value of the secret's latest version (represented by the `AWSCURRENT` staging label) is included by default. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata.html#cfn-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata-arn // Arn *string `field:"required" json:"arn" yaml:"arn"` // The staging labels whose values you want to make available on the core, in addition to `AWSCURRENT` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata.html#cfn-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata-additionalstaginglabelstodownload // AdditionalStagingLabelsToDownload *[]*string `field:"optional" json:"additionalStagingLabelsToDownload" yaml:"additionalStagingLabelsToDownload"` }
Settings for a secret resource, which references a secret from AWS Secrets Manager .
AWS IoT Greengrass stores a local, encrypted copy of the secret on the Greengrass core, where it can be securely accessed by connectors and Lambda functions. For more information, see [Deploy Secrets to the AWS IoT Greengrass Core](https://docs.aws.amazon.com/greengrass/latest/developerguide/secrets.html) in the *Developer Guide* .
In an AWS CloudFormation template, `SecretsManagerSecretResourceData` can be used in the [`ResourceDataContainer`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.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" secretsManagerSecretResourceDataProperty := &SecretsManagerSecretResourceDataProperty{ Arn: jsii.String("arn"), // the properties below are optional AdditionalStagingLabelsToDownload: []*string{ jsii.String("additionalStagingLabelsToDownload"), }, }
type CfnResourceDefinition_GroupOwnerSettingProperty ¶
type CfnResourceDefinition_GroupOwnerSettingProperty struct { // Indicates whether to give the privileges of the Linux group that owns the resource to the Lambda process. // // This gives the Lambda process the file access permissions of the Linux group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-groupownersetting.html#cfn-greengrass-resourcedefinition-groupownersetting-autoaddgroupowner // AutoAddGroupOwner interface{} `field:"required" json:"autoAddGroupOwner" yaml:"autoAddGroupOwner"` // The name of the Linux group whose privileges you want to add to the Lambda process. // // This value is ignored if `AutoAddGroupOwner` is true. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-groupownersetting.html#cfn-greengrass-resourcedefinition-groupownersetting-groupowner // GroupOwner *string `field:"optional" json:"groupOwner" yaml:"groupOwner"` }
Settings that define additional Linux OS group permissions to give to the Lambda function process.
You can give the permissions of the Linux group that owns the resource or choose another Linux group. These permissions are in addition to the function's `RunAs` permissions.
In an AWS CloudFormation template, `GroupOwnerSetting` is a property of the [`LocalDeviceResourceData`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localdeviceresourcedata.html) and [`LocalVolumeResourceData`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localvolumeresourcedata.html) 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" groupOwnerSettingProperty := &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }
type CfnResourceDefinition_LocalDeviceResourceDataProperty ¶
type CfnResourceDefinition_LocalDeviceResourceDataProperty struct { // The local absolute path of the device resource. // // The source path for a device resource can refer only to a character device or block device under `/dev` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localdeviceresourcedata.html#cfn-greengrass-resourcedefinition-localdeviceresourcedata-sourcepath // SourcePath *string `field:"required" json:"sourcePath" yaml:"sourcePath"` // Settings that define additional Linux OS group permissions to give to the Lambda function process. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localdeviceresourcedata.html#cfn-greengrass-resourcedefinition-localdeviceresourcedata-groupownersetting // GroupOwnerSetting interface{} `field:"optional" json:"groupOwnerSetting" yaml:"groupOwnerSetting"` }
Settings for a local device resource, which represents a file under `/dev` .
For more information, see [Access Local Resources with Lambda Functions](https://docs.aws.amazon.com/greengrass/latest/developerguide/access-local-resources.html) in the *Developer Guide* .
In an AWS CloudFormation template, `LocalDeviceResourceData` can be used in the [`ResourceDataContainer`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.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" localDeviceResourceDataProperty := &LocalDeviceResourceDataProperty{ SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }
type CfnResourceDefinition_LocalVolumeResourceDataProperty ¶
type CfnResourceDefinition_LocalVolumeResourceDataProperty struct { // The absolute local path of the resource in the Lambda environment. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localvolumeresourcedata.html#cfn-greengrass-resourcedefinition-localvolumeresourcedata-destinationpath // DestinationPath *string `field:"required" json:"destinationPath" yaml:"destinationPath"` // The local absolute path of the volume resource on the host. // // The source path for a volume resource type cannot start with `/sys` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localvolumeresourcedata.html#cfn-greengrass-resourcedefinition-localvolumeresourcedata-sourcepath // SourcePath *string `field:"required" json:"sourcePath" yaml:"sourcePath"` // Settings that define additional Linux OS group permissions to give to the Lambda function process. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localvolumeresourcedata.html#cfn-greengrass-resourcedefinition-localvolumeresourcedata-groupownersetting // GroupOwnerSetting interface{} `field:"optional" json:"groupOwnerSetting" yaml:"groupOwnerSetting"` }
Settings for a local volume resource, which represents a file or directory on the root file system.
For more information, see [Access Local Resources with Lambda Functions](https://docs.aws.amazon.com/greengrass/latest/developerguide/access-local-resources.html) in the *Developer Guide* .
In an AWS CloudFormation template, `LocalVolumeResourceData` can be used in the [`ResourceDataContainer`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.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" localVolumeResourceDataProperty := &LocalVolumeResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }
type CfnResourceDefinition_ResourceDataContainerProperty ¶
type CfnResourceDefinition_ResourceDataContainerProperty struct { // Settings for a local device resource. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-localdeviceresourcedata // LocalDeviceResourceData interface{} `field:"optional" json:"localDeviceResourceData" yaml:"localDeviceResourceData"` // Settings for a local volume resource. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-localvolumeresourcedata // LocalVolumeResourceData interface{} `field:"optional" json:"localVolumeResourceData" yaml:"localVolumeResourceData"` // Settings for a machine learning resource stored in Amazon S3 . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-s3machinelearningmodelresourcedata // S3MachineLearningModelResourceData interface{} `field:"optional" json:"s3MachineLearningModelResourceData" yaml:"s3MachineLearningModelResourceData"` // Settings for a machine learning resource saved as an SageMaker training job. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-sagemakermachinelearningmodelresourcedata // SageMakerMachineLearningModelResourceData interface{} `field:"optional" json:"sageMakerMachineLearningModelResourceData" yaml:"sageMakerMachineLearningModelResourceData"` // Settings for a secret resource. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-secretsmanagersecretresourcedata // SecretsManagerSecretResourceData interface{} `field:"optional" json:"secretsManagerSecretResourceData" yaml:"secretsManagerSecretResourceData"` }
A container for resource data, which defines the resource type.
The container takes only one of the following supported resource data types: `LocalDeviceResourceData` , `LocalVolumeResourceData` , `SageMakerMachineLearningModelResourceData` , `S3MachineLearningModelResourceData` , or `SecretsManagerSecretResourceData` .
> Only one resource type can be defined for a `ResourceDataContainer` instance.
In an AWS CloudFormation template, `ResourceDataContainer` is a property of the [`ResourceInstance`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourceinstance.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" resourceDataContainerProperty := &ResourceDataContainerProperty{ LocalDeviceResourceData: &LocalDeviceResourceDataProperty{ SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }, LocalVolumeResourceData: &LocalVolumeResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }, S3MachineLearningModelResourceData: &S3MachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), S3Uri: jsii.String("s3Uri"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }, SageMakerMachineLearningModelResourceData: &SageMakerMachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SageMakerJobArn: jsii.String("sageMakerJobArn"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }, SecretsManagerSecretResourceData: &SecretsManagerSecretResourceDataProperty{ Arn: jsii.String("arn"), // the properties below are optional AdditionalStagingLabelsToDownload: []*string{ jsii.String("additionalStagingLabelsToDownload"), }, }, }
type CfnResourceDefinition_ResourceDefinitionVersionProperty ¶
type CfnResourceDefinition_ResourceDefinitionVersionProperty struct { // The resources in this version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedefinitionversion.html#cfn-greengrass-resourcedefinition-resourcedefinitionversion-resources // Resources interface{} `field:"required" json:"resources" yaml:"resources"` }
A resource definition version contains a list of resources. (In AWS CloudFormation , resources are named *resource instances* .).
> After you create a resource definition version that contains the resources you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html) .
In an AWS CloudFormation template, `ResourceDefinitionVersion` is the property type of the `InitialVersion` property in the [`AWS::Greengrass::ResourceDefinition`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.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" resourceDefinitionVersionProperty := &ResourceDefinitionVersionProperty{ Resources: []interface{}{ &ResourceInstanceProperty{ Id: jsii.String("id"), Name: jsii.String("name"), ResourceDataContainer: &ResourceDataContainerProperty{ LocalDeviceResourceData: &LocalDeviceResourceDataProperty{ SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }, LocalVolumeResourceData: &LocalVolumeResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }, S3MachineLearningModelResourceData: &S3MachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), S3Uri: jsii.String("s3Uri"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }, SageMakerMachineLearningModelResourceData: &SageMakerMachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SageMakerJobArn: jsii.String("sageMakerJobArn"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }, SecretsManagerSecretResourceData: &SecretsManagerSecretResourceDataProperty{ Arn: jsii.String("arn"), // the properties below are optional AdditionalStagingLabelsToDownload: []*string{ jsii.String("additionalStagingLabelsToDownload"), }, }, }, }, }, }
type CfnResourceDefinition_ResourceDownloadOwnerSettingProperty ¶
type CfnResourceDefinition_ResourceDownloadOwnerSettingProperty struct { // The group owner of the machine learning resource. // // This is the group ID (GID) of an existing Linux OS group on the system. The group's permissions are added to the Lambda process. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedownloadownersetting.html#cfn-greengrass-resourcedefinition-resourcedownloadownersetting-groupowner // GroupOwner *string `field:"required" json:"groupOwner" yaml:"groupOwner"` // The permissions that the group owner has to the machine learning resource. // // Valid values are `rw` (read-write) or `ro` (read-only). // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedownloadownersetting.html#cfn-greengrass-resourcedefinition-resourcedownloadownersetting-grouppermission // GroupPermission *string `field:"required" json:"groupPermission" yaml:"groupPermission"` }
The owner setting for a downloaded machine learning resource.
For more information, see [Access Machine Learning Resources from Lambda Functions](https://docs.aws.amazon.com/greengrass/latest/developerguide/access-ml-resources.html) in the *Developer Guide* .
In an AWS CloudFormation template, `ResourceDownloadOwnerSetting` is the property type of the `OwnerSetting` property for the [`S3MachineLearningModelResourceData`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-s3machinelearningmodelresourcedata.html) and [`SageMakerMachineLearningModelResourceData`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata.html) 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" resourceDownloadOwnerSettingProperty := &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }
type CfnResourceDefinition_ResourceInstanceProperty ¶
type CfnResourceDefinition_ResourceInstanceProperty struct { // A descriptive or arbitrary ID for the resource. // // This value must be unique within the resource definition version. Maximum length is 128 characters with pattern `[a-zA-Z0-9:_-]+` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourceinstance.html#cfn-greengrass-resourcedefinition-resourceinstance-id // Id *string `field:"required" json:"id" yaml:"id"` // The descriptive resource name, which is displayed on the AWS IoT Greengrass console. // // Maximum length 128 characters with pattern [a-zA-Z0-9:_-]+. This must be unique within a Greengrass group. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourceinstance.html#cfn-greengrass-resourcedefinition-resourceinstance-name // Name *string `field:"required" json:"name" yaml:"name"` // A container for resource data. // // The container takes only one of the following supported resource data types: `LocalDeviceResourceData` , `LocalVolumeResourceData` , `SageMakerMachineLearningModelResourceData` , `S3MachineLearningModelResourceData` , or `SecretsManagerSecretResourceData` . // // > Only one resource type can be defined for a `ResourceDataContainer` instance. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourceinstance.html#cfn-greengrass-resourcedefinition-resourceinstance-resourcedatacontainer // ResourceDataContainer interface{} `field:"required" json:"resourceDataContainer" yaml:"resourceDataContainer"` }
A local resource, machine learning resource, or secret resource.
For more information, see [Access Local Resources with Lambda Functions](https://docs.aws.amazon.com/greengrass/latest/developerguide/access-local-resources.html) , [Perform Machine Learning Inference](https://docs.aws.amazon.com/greengrass/latest/developerguide/ml-inference.html) , and [Deploy Secrets to the AWS IoT Greengrass Core](https://docs.aws.amazon.com/greengrass/latest/developerguide/secrets.html) in the *Developer Guide* .
In an AWS CloudFormation template, the `Resources` property of the [`AWS::Greengrass::ResourceDefinition`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html) resource contains a list of `ResourceInstance` 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" resourceInstanceProperty := &ResourceInstanceProperty{ Id: jsii.String("id"), Name: jsii.String("name"), ResourceDataContainer: &ResourceDataContainerProperty{ LocalDeviceResourceData: &LocalDeviceResourceDataProperty{ SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }, LocalVolumeResourceData: &LocalVolumeResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SourcePath: jsii.String("sourcePath"), // the properties below are optional GroupOwnerSetting: &GroupOwnerSettingProperty{ AutoAddGroupOwner: jsii.Boolean(false), // the properties below are optional GroupOwner: jsii.String("groupOwner"), }, }, S3MachineLearningModelResourceData: &S3MachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), S3Uri: jsii.String("s3Uri"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }, SageMakerMachineLearningModelResourceData: &SageMakerMachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SageMakerJobArn: jsii.String("sageMakerJobArn"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }, SecretsManagerSecretResourceData: &SecretsManagerSecretResourceDataProperty{ Arn: jsii.String("arn"), // the properties below are optional AdditionalStagingLabelsToDownload: []*string{ jsii.String("additionalStagingLabelsToDownload"), }, }, }, }
type CfnResourceDefinition_S3MachineLearningModelResourceDataProperty ¶
type CfnResourceDefinition_S3MachineLearningModelResourceDataProperty struct { // The absolute local path of the resource inside the Lambda environment. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-s3machinelearningmodelresourcedata-destinationpath // DestinationPath *string `field:"required" json:"destinationPath" yaml:"destinationPath"` // The URI of the source model in an Amazon S3 bucket. // // The model package must be in `tar.gz` or `.zip` format. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-s3machinelearningmodelresourcedata-s3uri // S3Uri *string `field:"required" json:"s3Uri" yaml:"s3Uri"` // The owner setting for the downloaded machine learning resource. // // For more information, see [Access Machine Learning Resources from Lambda Functions](https://docs.aws.amazon.com/greengrass/latest/developerguide/access-ml-resources.html) in the *Developer Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-s3machinelearningmodelresourcedata-ownersetting // OwnerSetting interface{} `field:"optional" json:"ownerSetting" yaml:"ownerSetting"` }
Settings for an Amazon S3 machine learning resource.
For more information, see [Perform Machine Learning Inference](https://docs.aws.amazon.com/greengrass/latest/developerguide/ml-inference.html) in the *Developer Guide* .
In an AWS CloudFormation template, `S3MachineLearningModelResourceData` can be used in the [`ResourceDataContainer`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.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" s3MachineLearningModelResourceDataProperty := &S3MachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), S3Uri: jsii.String("s3Uri"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }
type CfnResourceDefinition_SageMakerMachineLearningModelResourceDataProperty ¶
type CfnResourceDefinition_SageMakerMachineLearningModelResourceDataProperty struct { // The absolute local path of the resource inside the Lambda environment. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata-destinationpath // DestinationPath *string `field:"required" json:"destinationPath" yaml:"destinationPath"` // The Amazon Resource Name (ARN) of the Amazon SageMaker training job that represents the source model. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata-sagemakerjobarn // SageMakerJobArn *string `field:"required" json:"sageMakerJobArn" yaml:"sageMakerJobArn"` // The owner setting for the downloaded machine learning resource. // // For more information, see [Access Machine Learning Resources from Lambda Functions](https://docs.aws.amazon.com/greengrass/latest/developerguide/access-ml-resources.html) in the *Developer Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata-ownersetting // OwnerSetting interface{} `field:"optional" json:"ownerSetting" yaml:"ownerSetting"` }
Settings for an Secrets Manager machine learning resource.
For more information, see [Perform Machine Learning Inference](https://docs.aws.amazon.com/greengrass/latest/developerguide/ml-inference.html) in the *Developer Guide* .
In an AWS CloudFormation template, `SageMakerMachineLearningModelResourceData` can be used in the [`ResourceDataContainer`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.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" sageMakerMachineLearningModelResourceDataProperty := &SageMakerMachineLearningModelResourceDataProperty{ DestinationPath: jsii.String("destinationPath"), SageMakerJobArn: jsii.String("sageMakerJobArn"), // the properties below are optional OwnerSetting: &ResourceDownloadOwnerSettingProperty{ GroupOwner: jsii.String("groupOwner"), GroupPermission: jsii.String("groupPermission"), }, }
type CfnResourceDefinition_SecretsManagerSecretResourceDataProperty ¶
type CfnResourceDefinition_SecretsManagerSecretResourceDataProperty struct { // The Amazon Resource Name (ARN) of the Secrets Manager secret to make available on the core. // // The value of the secret's latest version (represented by the `AWSCURRENT` staging label) is included by default. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-secretsmanagersecretresourcedata.html#cfn-greengrass-resourcedefinition-secretsmanagersecretresourcedata-arn // Arn *string `field:"required" json:"arn" yaml:"arn"` // The staging labels whose values you want to make available on the core, in addition to `AWSCURRENT` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-secretsmanagersecretresourcedata.html#cfn-greengrass-resourcedefinition-secretsmanagersecretresourcedata-additionalstaginglabelstodownload // AdditionalStagingLabelsToDownload *[]*string `field:"optional" json:"additionalStagingLabelsToDownload" yaml:"additionalStagingLabelsToDownload"` }
Settings for a secret resource, which references a secret from AWS Secrets Manager .
AWS IoT Greengrass stores a local, encrypted copy of the secret on the Greengrass core, where it can be securely accessed by connectors and Lambda functions. For more information, see [Deploy Secrets to the AWS IoT Greengrass Core](https://docs.aws.amazon.com/greengrass/latest/developerguide/secrets.html) in the *Developer Guide* .
In an AWS CloudFormation template, `SecretsManagerSecretResourceData` can be used in the [`ResourceDataContainer`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.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" secretsManagerSecretResourceDataProperty := &SecretsManagerSecretResourceDataProperty{ Arn: jsii.String("arn"), // the properties below are optional AdditionalStagingLabelsToDownload: []*string{ jsii.String("additionalStagingLabelsToDownload"), }, }
type CfnSubscriptionDefinition ¶
type CfnSubscriptionDefinition interface { awscdk.CfnResource awscdk.IInspectable awscdk.ITaggable // The Amazon Resource Name (ARN) of the `SubscriptionDefinition` , such as `arn:aws:greengrass:us-east-1: :/greengrass/definition/subscriptions/1234a5b6-78cd-901e-2fgh-3i45j6k178l9` . AttrArn() *string // The ID of the `SubscriptionDefinition` , such as `1234a5b6-78cd-901e-2fgh-3i45j6k178l9` . AttrId() *string // The ARN of the last `SubscriptionDefinitionVersion` that was added to the `SubscriptionDefinition` , such as `arn:aws:greengrass:us-east-1: :/greengrass/definition/subscriptions/1234a5b6-78cd-901e-2fgh-3i45j6k178l9/versions/9876ac30-4bdb-4f9d-95af-b5fdb66be1a2` . AttrLatestVersionArn() *string // The name of the `SubscriptionDefinition` , such as `MySubscriptionDefinition` . AttrName() *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 subscription definition version to include when the subscription definition is created. InitialVersion() interface{} SetInitialVersion(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 subscription definition. Name() *string SetName(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Tag Manager which manages the tags for this resource. Tags() awscdk.TagManager // Application-specific metadata to attach to the subscription definition. TagsRaw() interface{} SetTagsRaw(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{} // 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::Greengrass::SubscriptionDefinition` resource represents a subscription definition for AWS IoT Greengrass .
Subscription definitions are used to organize your subscription definition versions.
Subscription definitions can reference multiple subscription definition versions. All subscription definition versions must be associated with a subscription definition. Each subscription definition version can contain one or more subscriptions.
> When you create a subscription definition, you can optionally include an initial subscription definition version. To associate a subscription definition version later, create an [`AWS::Greengrass::SubscriptionDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html) resource and specify the ID of this subscription definition. > > After you create the subscription definition version that contains the subscriptions you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.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" var tags interface{} cfnSubscriptionDefinition := awscdk.Aws_greengrass.NewCfnSubscriptionDefinition(this, jsii.String("MyCfnSubscriptionDefinition"), &CfnSubscriptionDefinitionProps{ Name: jsii.String("name"), // the properties below are optional InitialVersion: &SubscriptionDefinitionVersionProperty{ Subscriptions: []interface{}{ &SubscriptionProperty{ Id: jsii.String("id"), Source: jsii.String("source"), Subject: jsii.String("subject"), Target: jsii.String("target"), }, }, }, Tags: tags, })
func NewCfnSubscriptionDefinition ¶
func NewCfnSubscriptionDefinition(scope constructs.Construct, id *string, props *CfnSubscriptionDefinitionProps) CfnSubscriptionDefinition
type CfnSubscriptionDefinitionProps ¶
type CfnSubscriptionDefinitionProps struct { // The name of the subscription definition. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html#cfn-greengrass-subscriptiondefinition-name // Name *string `field:"required" json:"name" yaml:"name"` // The subscription definition version to include when the subscription definition is created. // // A subscription definition version contains a list of [`subscription`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html) property types. // // > To associate a subscription definition version after the subscription definition is created, create an [`AWS::Greengrass::SubscriptionDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html) resource and specify the ID of this subscription definition. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html#cfn-greengrass-subscriptiondefinition-initialversion // InitialVersion interface{} `field:"optional" json:"initialVersion" yaml:"initialVersion"` // Application-specific metadata to attach to the subscription definition. // // You can use tags in IAM policies to control access to AWS IoT Greengrass resources. You can also use tags to categorize your resources. For more information, see [Tagging Your AWS IoT Greengrass Resources](https://docs.aws.amazon.com/greengrass/latest/developerguide/tagging.html) in the *Developer Guide* . // // This `Json` property type is processed as a map of key-value pairs. It uses the following format, which is different from most `Tags` implementations in AWS CloudFormation templates. // // “`json // "Tags": { "KeyName0": "value", "KeyName1": "value", "KeyName2": "value" // } // “`. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html#cfn-greengrass-subscriptiondefinition-tags // Tags interface{} `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnSubscriptionDefinition`.
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 tags interface{} cfnSubscriptionDefinitionProps := &CfnSubscriptionDefinitionProps{ Name: jsii.String("name"), // the properties below are optional InitialVersion: &SubscriptionDefinitionVersionProperty{ Subscriptions: []interface{}{ &SubscriptionProperty{ Id: jsii.String("id"), Source: jsii.String("source"), Subject: jsii.String("subject"), Target: jsii.String("target"), }, }, }, Tags: tags, }
type CfnSubscriptionDefinitionVersion ¶
type CfnSubscriptionDefinitionVersion 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 logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The ID of the subscription definition associated with this version. SubscriptionDefinitionId() *string SetSubscriptionDefinitionId(val *string) // The subscriptions in this version. Subscriptions() interface{} SetSubscriptions(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{} // 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::Greengrass::SubscriptionDefinitionVersion` resource represents a subscription definition version for AWS IoT Greengrass .
A subscription definition version contains a list of subscriptions.
> To create a subscription definition version, you must specify the ID of the subscription definition that you want to associate with the version. For information about creating a subscription definition, see [`AWS::Greengrass::SubscriptionDefinition`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html) . > > After you create a subscription definition version that contains the subscriptions you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.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" cfnSubscriptionDefinitionVersion := awscdk.Aws_greengrass.NewCfnSubscriptionDefinitionVersion(this, jsii.String("MyCfnSubscriptionDefinitionVersion"), &CfnSubscriptionDefinitionVersionProps{ SubscriptionDefinitionId: jsii.String("subscriptionDefinitionId"), Subscriptions: []interface{}{ &SubscriptionProperty{ Id: jsii.String("id"), Source: jsii.String("source"), Subject: jsii.String("subject"), Target: jsii.String("target"), }, }, })
func NewCfnSubscriptionDefinitionVersion ¶
func NewCfnSubscriptionDefinitionVersion(scope constructs.Construct, id *string, props *CfnSubscriptionDefinitionVersionProps) CfnSubscriptionDefinitionVersion
type CfnSubscriptionDefinitionVersionProps ¶
type CfnSubscriptionDefinitionVersionProps struct { // The ID of the subscription definition associated with this version. // // This value is a GUID. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html#cfn-greengrass-subscriptiondefinitionversion-subscriptiondefinitionid // SubscriptionDefinitionId *string `field:"required" json:"subscriptionDefinitionId" yaml:"subscriptionDefinitionId"` // The subscriptions in this version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html#cfn-greengrass-subscriptiondefinitionversion-subscriptions // Subscriptions interface{} `field:"required" json:"subscriptions" yaml:"subscriptions"` }
Properties for defining a `CfnSubscriptionDefinitionVersion`.
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" cfnSubscriptionDefinitionVersionProps := &CfnSubscriptionDefinitionVersionProps{ SubscriptionDefinitionId: jsii.String("subscriptionDefinitionId"), Subscriptions: []interface{}{ &SubscriptionProperty{ Id: jsii.String("id"), Source: jsii.String("source"), Subject: jsii.String("subject"), Target: jsii.String("target"), }, }, }
type CfnSubscriptionDefinitionVersion_SubscriptionProperty ¶
type CfnSubscriptionDefinitionVersion_SubscriptionProperty struct { // A descriptive or arbitrary ID for the subscription. // // This value must be unique within the subscription definition version. Maximum length is 128 characters with pattern `[a-zA-Z0-9:_-]+` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-id // Id *string `field:"required" json:"id" yaml:"id"` // The originator of the message. // // The value can be a thing ARN, the ARN of a Lambda function alias (recommended) or version, a connector ARN, `cloud` (which represents the AWS IoT cloud), or `GGShadowService` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-source // Source *string `field:"required" json:"source" yaml:"source"` // The MQTT topic used to route the message. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-subject // Subject *string `field:"required" json:"subject" yaml:"subject"` // The destination of the message. // // The value can be a thing ARN, the ARN of a Lambda function alias (recommended) or version, a connector ARN, `cloud` (which represents the AWS IoT cloud), or `GGShadowService` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-target // Target *string `field:"required" json:"target" yaml:"target"` }
Subscriptions define how MQTT messages can be exchanged between devices, functions, and connectors in the group, and with AWS IoT or the local shadow service.
A subscription defines a message source, message target, and a topic (or subject) that's used to route messages from the source to the target. A subscription defines the message flow in one direction, from the source to the target. For two-way communication, you must set up two subscriptions, one for each direction.
In an AWS CloudFormation template, the `Subscriptions` property of the [`AWS::Greengrass::SubscriptionDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html) resource contains a list of `Subscription` 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" subscriptionProperty := &SubscriptionProperty{ Id: jsii.String("id"), Source: jsii.String("source"), Subject: jsii.String("subject"), Target: jsii.String("target"), }
type CfnSubscriptionDefinition_SubscriptionDefinitionVersionProperty ¶
type CfnSubscriptionDefinition_SubscriptionDefinitionVersionProperty struct { // The subscriptions in this version. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscriptiondefinitionversion.html#cfn-greengrass-subscriptiondefinition-subscriptiondefinitionversion-subscriptions // Subscriptions interface{} `field:"required" json:"subscriptions" yaml:"subscriptions"` }
A subscription definition version contains a list of [subscriptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html) .
> After you create a subscription definition version that contains the subscriptions you want to deploy, you must add it to your group version. For more information, see [`AWS::Greengrass::Group`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html) .
In an AWS CloudFormation template, `SubscriptionDefinitionVersion` is the property type of the `InitialVersion` property in the [`AWS::Greengrass::SubscriptionDefinition`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.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" subscriptionDefinitionVersionProperty := &SubscriptionDefinitionVersionProperty{ Subscriptions: []interface{}{ &SubscriptionProperty{ Id: jsii.String("id"), Source: jsii.String("source"), Subject: jsii.String("subject"), Target: jsii.String("target"), }, }, }
type CfnSubscriptionDefinition_SubscriptionProperty ¶
type CfnSubscriptionDefinition_SubscriptionProperty struct { // A descriptive or arbitrary ID for the subscription. // // This value must be unique within the subscription definition version. Maximum length is 128 characters with pattern `[a-zA-Z0-9:_-]+` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html#cfn-greengrass-subscriptiondefinition-subscription-id // Id *string `field:"required" json:"id" yaml:"id"` // The originator of the message. // // The value can be a thing ARN, the ARN of a Lambda function alias (recommended) or version, a connector ARN, `cloud` (which represents the AWS IoT cloud), or `GGShadowService` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html#cfn-greengrass-subscriptiondefinition-subscription-source // Source *string `field:"required" json:"source" yaml:"source"` // The MQTT topic used to route the message. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html#cfn-greengrass-subscriptiondefinition-subscription-subject // Subject *string `field:"required" json:"subject" yaml:"subject"` // The destination of the message. // // The value can be a thing ARN, the ARN of a Lambda function alias (recommended) or version, a connector ARN, `cloud` (which represents the AWS IoT cloud), or `GGShadowService` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html#cfn-greengrass-subscriptiondefinition-subscription-target // Target *string `field:"required" json:"target" yaml:"target"` }
Subscriptions define how MQTT messages can be exchanged between devices, functions, and connectors in the group, and with AWS IoT or the local shadow service.
A subscription defines a message source, message target, and a topic (or subject) that's used to route messages from the source to the target. A subscription defines the message flow in one direction, from the source to the target. For two-way communication, you must set up two subscriptions, one for each direction.
In an AWS CloudFormation template, the `Subscriptions` property of the [`SubscriptionDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscriptiondefinitionversion.html) property type contains a list of `Subscription` 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" subscriptionProperty := &SubscriptionProperty{ Id: jsii.String("id"), Source: jsii.String("source"), Subject: jsii.String("subject"), Target: jsii.String("target"), }
Source Files ¶
- CfnConnectorDefinition.go
- CfnConnectorDefinitionProps.go
- CfnConnectorDefinitionVersion.go
- CfnConnectorDefinitionVersionProps.go
- CfnConnectorDefinitionVersion_ConnectorProperty.go
- CfnConnectorDefinitionVersion__checks.go
- CfnConnectorDefinition_ConnectorDefinitionVersionProperty.go
- CfnConnectorDefinition_ConnectorProperty.go
- CfnConnectorDefinition__checks.go
- CfnCoreDefinition.go
- CfnCoreDefinitionProps.go
- CfnCoreDefinitionVersion.go
- CfnCoreDefinitionVersionProps.go
- CfnCoreDefinitionVersion_CoreProperty.go
- CfnCoreDefinitionVersion__checks.go
- CfnCoreDefinition_CoreDefinitionVersionProperty.go
- CfnCoreDefinition_CoreProperty.go
- CfnCoreDefinition__checks.go
- CfnDeviceDefinition.go
- CfnDeviceDefinitionProps.go
- CfnDeviceDefinitionVersion.go
- CfnDeviceDefinitionVersionProps.go
- CfnDeviceDefinitionVersion_DeviceProperty.go
- CfnDeviceDefinitionVersion__checks.go
- CfnDeviceDefinition_DeviceDefinitionVersionProperty.go
- CfnDeviceDefinition_DeviceProperty.go
- CfnDeviceDefinition__checks.go
- CfnFunctionDefinition.go
- CfnFunctionDefinitionProps.go
- CfnFunctionDefinitionVersion.go
- CfnFunctionDefinitionVersionProps.go
- CfnFunctionDefinitionVersion_DefaultConfigProperty.go
- CfnFunctionDefinitionVersion_EnvironmentProperty.go
- CfnFunctionDefinitionVersion_ExecutionProperty.go
- CfnFunctionDefinitionVersion_FunctionConfigurationProperty.go
- CfnFunctionDefinitionVersion_FunctionProperty.go
- CfnFunctionDefinitionVersion_ResourceAccessPolicyProperty.go
- CfnFunctionDefinitionVersion_RunAsProperty.go
- CfnFunctionDefinitionVersion__checks.go
- CfnFunctionDefinition_DefaultConfigProperty.go
- CfnFunctionDefinition_EnvironmentProperty.go
- CfnFunctionDefinition_ExecutionProperty.go
- CfnFunctionDefinition_FunctionConfigurationProperty.go
- CfnFunctionDefinition_FunctionDefinitionVersionProperty.go
- CfnFunctionDefinition_FunctionProperty.go
- CfnFunctionDefinition_ResourceAccessPolicyProperty.go
- CfnFunctionDefinition_RunAsProperty.go
- CfnFunctionDefinition__checks.go
- CfnGroup.go
- CfnGroupProps.go
- CfnGroupVersion.go
- CfnGroupVersionProps.go
- CfnGroupVersion__checks.go
- CfnGroup_GroupVersionProperty.go
- CfnGroup__checks.go
- CfnLoggerDefinition.go
- CfnLoggerDefinitionProps.go
- CfnLoggerDefinitionVersion.go
- CfnLoggerDefinitionVersionProps.go
- CfnLoggerDefinitionVersion_LoggerProperty.go
- CfnLoggerDefinitionVersion__checks.go
- CfnLoggerDefinition_LoggerDefinitionVersionProperty.go
- CfnLoggerDefinition_LoggerProperty.go
- CfnLoggerDefinition__checks.go
- CfnResourceDefinition.go
- CfnResourceDefinitionProps.go
- CfnResourceDefinitionVersion.go
- CfnResourceDefinitionVersionProps.go
- CfnResourceDefinitionVersion_GroupOwnerSettingProperty.go
- CfnResourceDefinitionVersion_LocalDeviceResourceDataProperty.go
- CfnResourceDefinitionVersion_LocalVolumeResourceDataProperty.go
- CfnResourceDefinitionVersion_ResourceDataContainerProperty.go
- CfnResourceDefinitionVersion_ResourceDownloadOwnerSettingProperty.go
- CfnResourceDefinitionVersion_ResourceInstanceProperty.go
- CfnResourceDefinitionVersion_S3MachineLearningModelResourceDataProperty.go
- CfnResourceDefinitionVersion_SageMakerMachineLearningModelResourceDataProperty.go
- CfnResourceDefinitionVersion_SecretsManagerSecretResourceDataProperty.go
- CfnResourceDefinitionVersion__checks.go
- CfnResourceDefinition_GroupOwnerSettingProperty.go
- CfnResourceDefinition_LocalDeviceResourceDataProperty.go
- CfnResourceDefinition_LocalVolumeResourceDataProperty.go
- CfnResourceDefinition_ResourceDataContainerProperty.go
- CfnResourceDefinition_ResourceDefinitionVersionProperty.go
- CfnResourceDefinition_ResourceDownloadOwnerSettingProperty.go
- CfnResourceDefinition_ResourceInstanceProperty.go
- CfnResourceDefinition_S3MachineLearningModelResourceDataProperty.go
- CfnResourceDefinition_SageMakerMachineLearningModelResourceDataProperty.go
- CfnResourceDefinition_SecretsManagerSecretResourceDataProperty.go
- CfnResourceDefinition__checks.go
- CfnSubscriptionDefinition.go
- CfnSubscriptionDefinitionProps.go
- CfnSubscriptionDefinitionVersion.go
- CfnSubscriptionDefinitionVersionProps.go
- CfnSubscriptionDefinitionVersion_SubscriptionProperty.go
- CfnSubscriptionDefinitionVersion__checks.go
- CfnSubscriptionDefinition_SubscriptionDefinitionVersionProperty.go
- CfnSubscriptionDefinition_SubscriptionProperty.go
- CfnSubscriptionDefinition__checks.go
- main.go