Documentation ¶
Index ¶
- func CfnAccountAuditConfiguration_CFN_RESOURCE_TYPE_NAME() *string
- func CfnAccountAuditConfiguration_IsCfnElement(x interface{}) *bool
- func CfnAccountAuditConfiguration_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnAccountAuditConfiguration_IsConstruct(x interface{}) *bool
- func CfnAuthorizer_CFN_RESOURCE_TYPE_NAME() *string
- func CfnAuthorizer_IsCfnElement(x interface{}) *bool
- func CfnAuthorizer_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnAuthorizer_IsConstruct(x interface{}) *bool
- func CfnCACertificate_CFN_RESOURCE_TYPE_NAME() *string
- func CfnCACertificate_IsCfnElement(x interface{}) *bool
- func CfnCACertificate_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnCACertificate_IsConstruct(x interface{}) *bool
- func CfnCertificate_CFN_RESOURCE_TYPE_NAME() *string
- func CfnCertificate_IsCfnElement(x interface{}) *bool
- func CfnCertificate_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnCertificate_IsConstruct(x interface{}) *bool
- func CfnCustomMetric_CFN_RESOURCE_TYPE_NAME() *string
- func CfnCustomMetric_IsCfnElement(x interface{}) *bool
- func CfnCustomMetric_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnCustomMetric_IsConstruct(x interface{}) *bool
- func CfnDimension_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDimension_IsCfnElement(x interface{}) *bool
- func CfnDimension_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnDimension_IsConstruct(x interface{}) *bool
- func CfnDomainConfiguration_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDomainConfiguration_IsCfnElement(x interface{}) *bool
- func CfnDomainConfiguration_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnDomainConfiguration_IsConstruct(x interface{}) *bool
- func CfnFleetMetric_CFN_RESOURCE_TYPE_NAME() *string
- func CfnFleetMetric_IsCfnElement(x interface{}) *bool
- func CfnFleetMetric_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnFleetMetric_IsConstruct(x interface{}) *bool
- func CfnJobTemplate_CFN_RESOURCE_TYPE_NAME() *string
- func CfnJobTemplate_IsCfnElement(x interface{}) *bool
- func CfnJobTemplate_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnJobTemplate_IsConstruct(x interface{}) *bool
- func CfnLogging_CFN_RESOURCE_TYPE_NAME() *string
- func CfnLogging_IsCfnElement(x interface{}) *bool
- func CfnLogging_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnLogging_IsConstruct(x interface{}) *bool
- func CfnMitigationAction_CFN_RESOURCE_TYPE_NAME() *string
- func CfnMitigationAction_IsCfnElement(x interface{}) *bool
- func CfnMitigationAction_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnMitigationAction_IsConstruct(x interface{}) *bool
- func CfnPolicyPrincipalAttachment_CFN_RESOURCE_TYPE_NAME() *string
- func CfnPolicyPrincipalAttachment_IsCfnElement(x interface{}) *bool
- func CfnPolicyPrincipalAttachment_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnPolicyPrincipalAttachment_IsConstruct(x interface{}) *bool
- func CfnPolicy_CFN_RESOURCE_TYPE_NAME() *string
- func CfnPolicy_IsCfnElement(x interface{}) *bool
- func CfnPolicy_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnPolicy_IsConstruct(x interface{}) *bool
- func CfnProvisioningTemplate_CFN_RESOURCE_TYPE_NAME() *string
- func CfnProvisioningTemplate_IsCfnElement(x interface{}) *bool
- func CfnProvisioningTemplate_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnProvisioningTemplate_IsConstruct(x interface{}) *bool
- func CfnResourceSpecificLogging_CFN_RESOURCE_TYPE_NAME() *string
- func CfnResourceSpecificLogging_IsCfnElement(x interface{}) *bool
- func CfnResourceSpecificLogging_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnResourceSpecificLogging_IsConstruct(x interface{}) *bool
- func CfnRoleAlias_CFN_RESOURCE_TYPE_NAME() *string
- func CfnRoleAlias_IsCfnElement(x interface{}) *bool
- func CfnRoleAlias_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnRoleAlias_IsConstruct(x interface{}) *bool
- func CfnScheduledAudit_CFN_RESOURCE_TYPE_NAME() *string
- func CfnScheduledAudit_IsCfnElement(x interface{}) *bool
- func CfnScheduledAudit_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnScheduledAudit_IsConstruct(x interface{}) *bool
- func CfnSecurityProfile_CFN_RESOURCE_TYPE_NAME() *string
- func CfnSecurityProfile_IsCfnElement(x interface{}) *bool
- func CfnSecurityProfile_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnSecurityProfile_IsConstruct(x interface{}) *bool
- func CfnThingPrincipalAttachment_CFN_RESOURCE_TYPE_NAME() *string
- func CfnThingPrincipalAttachment_IsCfnElement(x interface{}) *bool
- func CfnThingPrincipalAttachment_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnThingPrincipalAttachment_IsConstruct(x interface{}) *bool
- func CfnThing_CFN_RESOURCE_TYPE_NAME() *string
- func CfnThing_IsCfnElement(x interface{}) *bool
- func CfnThing_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnThing_IsConstruct(x interface{}) *bool
- func CfnTopicRuleDestination_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTopicRuleDestination_IsCfnElement(x interface{}) *bool
- func CfnTopicRuleDestination_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTopicRuleDestination_IsConstruct(x interface{}) *bool
- func CfnTopicRule_CFN_RESOURCE_TYPE_NAME() *string
- func CfnTopicRule_IsCfnElement(x interface{}) *bool
- func CfnTopicRule_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnTopicRule_IsConstruct(x interface{}) *bool
- func NewCfnAccountAuditConfiguration_Override(c CfnAccountAuditConfiguration, scope constructs.Construct, id *string, ...)
- func NewCfnAuthorizer_Override(c CfnAuthorizer, scope constructs.Construct, id *string, ...)
- func NewCfnCACertificate_Override(c CfnCACertificate, scope constructs.Construct, id *string, ...)
- func NewCfnCertificate_Override(c CfnCertificate, scope constructs.Construct, id *string, ...)
- func NewCfnCustomMetric_Override(c CfnCustomMetric, scope constructs.Construct, id *string, ...)
- func NewCfnDimension_Override(c CfnDimension, scope constructs.Construct, id *string, ...)
- func NewCfnDomainConfiguration_Override(c CfnDomainConfiguration, scope constructs.Construct, id *string, ...)
- func NewCfnFleetMetric_Override(c CfnFleetMetric, scope constructs.Construct, id *string, ...)
- func NewCfnJobTemplate_Override(c CfnJobTemplate, scope constructs.Construct, id *string, ...)
- func NewCfnLogging_Override(c CfnLogging, scope constructs.Construct, id *string, props *CfnLoggingProps)
- func NewCfnMitigationAction_Override(c CfnMitigationAction, scope constructs.Construct, id *string, ...)
- func NewCfnPolicyPrincipalAttachment_Override(c CfnPolicyPrincipalAttachment, scope constructs.Construct, id *string, ...)
- func NewCfnPolicy_Override(c CfnPolicy, scope constructs.Construct, id *string, props *CfnPolicyProps)
- func NewCfnProvisioningTemplate_Override(c CfnProvisioningTemplate, scope constructs.Construct, id *string, ...)
- func NewCfnResourceSpecificLogging_Override(c CfnResourceSpecificLogging, scope constructs.Construct, id *string, ...)
- func NewCfnRoleAlias_Override(c CfnRoleAlias, scope constructs.Construct, id *string, ...)
- func NewCfnScheduledAudit_Override(c CfnScheduledAudit, scope constructs.Construct, id *string, ...)
- func NewCfnSecurityProfile_Override(c CfnSecurityProfile, scope constructs.Construct, id *string, ...)
- func NewCfnThingPrincipalAttachment_Override(c CfnThingPrincipalAttachment, scope constructs.Construct, id *string, ...)
- func NewCfnThing_Override(c CfnThing, scope constructs.Construct, id *string, props *CfnThingProps)
- func NewCfnTopicRuleDestination_Override(c CfnTopicRuleDestination, scope constructs.Construct, id *string, ...)
- func NewCfnTopicRule_Override(c CfnTopicRule, scope constructs.Construct, id *string, ...)
- type CfnAccountAuditConfiguration
- type CfnAccountAuditConfigurationProps
- type CfnAccountAuditConfiguration_AuditCheckConfigurationProperty
- type CfnAccountAuditConfiguration_AuditCheckConfigurationsProperty
- type CfnAccountAuditConfiguration_AuditNotificationTargetConfigurationsProperty
- type CfnAccountAuditConfiguration_AuditNotificationTargetProperty
- type CfnAuthorizer
- type CfnAuthorizerProps
- type CfnCACertificate
- type CfnCACertificateProps
- type CfnCACertificate_RegistrationConfigProperty
- type CfnCertificate
- type CfnCertificateProps
- type CfnCustomMetric
- type CfnCustomMetricProps
- type CfnDimension
- type CfnDimensionProps
- type CfnDomainConfiguration
- type CfnDomainConfigurationProps
- type CfnDomainConfiguration_AuthorizerConfigProperty
- type CfnDomainConfiguration_ServerCertificateSummaryProperty
- type CfnFleetMetric
- type CfnFleetMetricProps
- type CfnFleetMetric_AggregationTypeProperty
- type CfnJobTemplate
- type CfnJobTemplateProps
- type CfnLogging
- type CfnLoggingProps
- type CfnMitigationAction
- type CfnMitigationActionProps
- type CfnMitigationAction_ActionParamsProperty
- type CfnMitigationAction_AddThingsToThingGroupParamsProperty
- type CfnMitigationAction_EnableIoTLoggingParamsProperty
- type CfnMitigationAction_PublishFindingToSnsParamsProperty
- type CfnMitigationAction_ReplaceDefaultPolicyVersionParamsProperty
- type CfnMitigationAction_UpdateCACertificateParamsProperty
- type CfnMitigationAction_UpdateDeviceCertificateParamsProperty
- type CfnPolicy
- type CfnPolicyPrincipalAttachment
- type CfnPolicyPrincipalAttachmentProps
- type CfnPolicyProps
- type CfnProvisioningTemplate
- type CfnProvisioningTemplateProps
- type CfnProvisioningTemplate_ProvisioningHookProperty
- type CfnResourceSpecificLogging
- type CfnResourceSpecificLoggingProps
- type CfnRoleAlias
- type CfnRoleAliasProps
- type CfnScheduledAudit
- type CfnScheduledAuditProps
- type CfnSecurityProfile
- type CfnSecurityProfileProps
- type CfnSecurityProfile_AlertTargetProperty
- type CfnSecurityProfile_BehaviorCriteriaProperty
- type CfnSecurityProfile_BehaviorProperty
- type CfnSecurityProfile_MachineLearningDetectionConfigProperty
- type CfnSecurityProfile_MetricDimensionProperty
- type CfnSecurityProfile_MetricToRetainProperty
- type CfnSecurityProfile_MetricValueProperty
- type CfnSecurityProfile_StatisticalThresholdProperty
- type CfnThing
- type CfnThingPrincipalAttachment
- type CfnThingPrincipalAttachmentProps
- type CfnThingProps
- type CfnThing_AttributePayloadProperty
- type CfnTopicRule
- type CfnTopicRuleDestination
- type CfnTopicRuleDestinationProps
- type CfnTopicRuleDestination_HttpUrlDestinationSummaryProperty
- type CfnTopicRuleDestination_VpcDestinationPropertiesProperty
- type CfnTopicRuleProps
- type CfnTopicRule_ActionProperty
- type CfnTopicRule_AssetPropertyTimestampProperty
- type CfnTopicRule_AssetPropertyValueProperty
- type CfnTopicRule_AssetPropertyVariantProperty
- type CfnTopicRule_CloudwatchAlarmActionProperty
- type CfnTopicRule_CloudwatchLogsActionProperty
- type CfnTopicRule_CloudwatchMetricActionProperty
- type CfnTopicRule_DynamoDBActionProperty
- type CfnTopicRule_DynamoDBv2ActionProperty
- type CfnTopicRule_ElasticsearchActionProperty
- type CfnTopicRule_FirehoseActionProperty
- type CfnTopicRule_HttpActionHeaderProperty
- type CfnTopicRule_HttpActionProperty
- type CfnTopicRule_HttpAuthorizationProperty
- type CfnTopicRule_IotAnalyticsActionProperty
- type CfnTopicRule_IotEventsActionProperty
- type CfnTopicRule_IotSiteWiseActionProperty
- type CfnTopicRule_KafkaActionProperty
- type CfnTopicRule_KinesisActionProperty
- type CfnTopicRule_LambdaActionProperty
- type CfnTopicRule_LocationActionProperty
- type CfnTopicRule_OpenSearchActionProperty
- type CfnTopicRule_PutAssetPropertyValueEntryProperty
- type CfnTopicRule_PutItemInputProperty
- type CfnTopicRule_RepublishActionHeadersProperty
- type CfnTopicRule_RepublishActionProperty
- type CfnTopicRule_S3ActionProperty
- type CfnTopicRule_SigV4AuthorizationProperty
- type CfnTopicRule_SnsActionProperty
- type CfnTopicRule_SqsActionProperty
- type CfnTopicRule_StepFunctionsActionProperty
- type CfnTopicRule_TimestampProperty
- type CfnTopicRule_TimestreamActionProperty
- type CfnTopicRule_TimestreamDimensionProperty
- type CfnTopicRule_TimestreamTimestampProperty
- type CfnTopicRule_TopicRulePayloadProperty
- type CfnTopicRule_UserPropertyProperty
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CfnAccountAuditConfiguration_CFN_RESOURCE_TYPE_NAME ¶
func CfnAccountAuditConfiguration_CFN_RESOURCE_TYPE_NAME() *string
func CfnAccountAuditConfiguration_IsCfnElement ¶
func CfnAccountAuditConfiguration_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 CfnAccountAuditConfiguration_IsCfnResource ¶
func CfnAccountAuditConfiguration_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnAccountAuditConfiguration_IsConstruct ¶
func CfnAccountAuditConfiguration_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 CfnAuthorizer_CFN_RESOURCE_TYPE_NAME ¶
func CfnAuthorizer_CFN_RESOURCE_TYPE_NAME() *string
func CfnAuthorizer_IsCfnElement ¶
func CfnAuthorizer_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 CfnAuthorizer_IsCfnResource ¶
func CfnAuthorizer_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnAuthorizer_IsConstruct ¶
func CfnAuthorizer_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 CfnCACertificate_CFN_RESOURCE_TYPE_NAME ¶ added in v2.31.0
func CfnCACertificate_CFN_RESOURCE_TYPE_NAME() *string
func CfnCACertificate_IsCfnElement ¶ added in v2.31.0
func CfnCACertificate_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 CfnCACertificate_IsCfnResource ¶ added in v2.31.0
func CfnCACertificate_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnCACertificate_IsConstruct ¶ added in v2.31.0
func CfnCACertificate_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 CfnCertificate_CFN_RESOURCE_TYPE_NAME ¶
func CfnCertificate_CFN_RESOURCE_TYPE_NAME() *string
func CfnCertificate_IsCfnElement ¶
func CfnCertificate_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 CfnCertificate_IsCfnResource ¶
func CfnCertificate_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnCertificate_IsConstruct ¶
func CfnCertificate_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 CfnCustomMetric_CFN_RESOURCE_TYPE_NAME ¶
func CfnCustomMetric_CFN_RESOURCE_TYPE_NAME() *string
func CfnCustomMetric_IsCfnElement ¶
func CfnCustomMetric_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 CfnCustomMetric_IsCfnResource ¶
func CfnCustomMetric_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnCustomMetric_IsConstruct ¶
func CfnCustomMetric_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 CfnDimension_CFN_RESOURCE_TYPE_NAME ¶
func CfnDimension_CFN_RESOURCE_TYPE_NAME() *string
func CfnDimension_IsCfnElement ¶
func CfnDimension_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 CfnDimension_IsCfnResource ¶
func CfnDimension_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnDimension_IsConstruct ¶
func CfnDimension_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 CfnDomainConfiguration_CFN_RESOURCE_TYPE_NAME ¶
func CfnDomainConfiguration_CFN_RESOURCE_TYPE_NAME() *string
func CfnDomainConfiguration_IsCfnElement ¶
func CfnDomainConfiguration_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 CfnDomainConfiguration_IsCfnResource ¶
func CfnDomainConfiguration_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnDomainConfiguration_IsConstruct ¶
func CfnDomainConfiguration_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 CfnFleetMetric_CFN_RESOURCE_TYPE_NAME ¶
func CfnFleetMetric_CFN_RESOURCE_TYPE_NAME() *string
func CfnFleetMetric_IsCfnElement ¶
func CfnFleetMetric_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 CfnFleetMetric_IsCfnResource ¶
func CfnFleetMetric_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnFleetMetric_IsConstruct ¶
func CfnFleetMetric_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 CfnJobTemplate_CFN_RESOURCE_TYPE_NAME ¶
func CfnJobTemplate_CFN_RESOURCE_TYPE_NAME() *string
func CfnJobTemplate_IsCfnElement ¶
func CfnJobTemplate_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 CfnJobTemplate_IsCfnResource ¶
func CfnJobTemplate_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnJobTemplate_IsConstruct ¶
func CfnJobTemplate_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 CfnLogging_CFN_RESOURCE_TYPE_NAME ¶
func CfnLogging_CFN_RESOURCE_TYPE_NAME() *string
func CfnLogging_IsCfnElement ¶
func CfnLogging_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 CfnLogging_IsCfnResource ¶
func CfnLogging_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnLogging_IsConstruct ¶
func CfnLogging_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 CfnMitigationAction_CFN_RESOURCE_TYPE_NAME ¶
func CfnMitigationAction_CFN_RESOURCE_TYPE_NAME() *string
func CfnMitigationAction_IsCfnElement ¶
func CfnMitigationAction_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 CfnMitigationAction_IsCfnResource ¶
func CfnMitigationAction_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnMitigationAction_IsConstruct ¶
func CfnMitigationAction_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 CfnPolicyPrincipalAttachment_CFN_RESOURCE_TYPE_NAME ¶
func CfnPolicyPrincipalAttachment_CFN_RESOURCE_TYPE_NAME() *string
func CfnPolicyPrincipalAttachment_IsCfnElement ¶
func CfnPolicyPrincipalAttachment_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 CfnPolicyPrincipalAttachment_IsCfnResource ¶
func CfnPolicyPrincipalAttachment_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnPolicyPrincipalAttachment_IsConstruct ¶
func CfnPolicyPrincipalAttachment_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 CfnPolicy_CFN_RESOURCE_TYPE_NAME ¶
func CfnPolicy_CFN_RESOURCE_TYPE_NAME() *string
func CfnPolicy_IsCfnElement ¶
func CfnPolicy_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 CfnPolicy_IsCfnResource ¶
func CfnPolicy_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnPolicy_IsConstruct ¶
func CfnPolicy_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 CfnProvisioningTemplate_CFN_RESOURCE_TYPE_NAME ¶
func CfnProvisioningTemplate_CFN_RESOURCE_TYPE_NAME() *string
func CfnProvisioningTemplate_IsCfnElement ¶
func CfnProvisioningTemplate_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 CfnProvisioningTemplate_IsCfnResource ¶
func CfnProvisioningTemplate_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnProvisioningTemplate_IsConstruct ¶
func CfnProvisioningTemplate_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 CfnResourceSpecificLogging_CFN_RESOURCE_TYPE_NAME ¶
func CfnResourceSpecificLogging_CFN_RESOURCE_TYPE_NAME() *string
func CfnResourceSpecificLogging_IsCfnElement ¶
func CfnResourceSpecificLogging_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 CfnResourceSpecificLogging_IsCfnResource ¶
func CfnResourceSpecificLogging_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnResourceSpecificLogging_IsConstruct ¶
func CfnResourceSpecificLogging_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 CfnRoleAlias_CFN_RESOURCE_TYPE_NAME ¶ added in v2.25.0
func CfnRoleAlias_CFN_RESOURCE_TYPE_NAME() *string
func CfnRoleAlias_IsCfnElement ¶ added in v2.25.0
func CfnRoleAlias_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 CfnRoleAlias_IsCfnResource ¶ added in v2.25.0
func CfnRoleAlias_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnRoleAlias_IsConstruct ¶ added in v2.25.0
func CfnRoleAlias_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 CfnScheduledAudit_CFN_RESOURCE_TYPE_NAME ¶
func CfnScheduledAudit_CFN_RESOURCE_TYPE_NAME() *string
func CfnScheduledAudit_IsCfnElement ¶
func CfnScheduledAudit_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 CfnScheduledAudit_IsCfnResource ¶
func CfnScheduledAudit_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnScheduledAudit_IsConstruct ¶
func CfnScheduledAudit_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 CfnSecurityProfile_CFN_RESOURCE_TYPE_NAME ¶
func CfnSecurityProfile_CFN_RESOURCE_TYPE_NAME() *string
func CfnSecurityProfile_IsCfnElement ¶
func CfnSecurityProfile_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 CfnSecurityProfile_IsCfnResource ¶
func CfnSecurityProfile_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnSecurityProfile_IsConstruct ¶
func CfnSecurityProfile_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 CfnThingPrincipalAttachment_CFN_RESOURCE_TYPE_NAME ¶
func CfnThingPrincipalAttachment_CFN_RESOURCE_TYPE_NAME() *string
func CfnThingPrincipalAttachment_IsCfnElement ¶
func CfnThingPrincipalAttachment_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 CfnThingPrincipalAttachment_IsCfnResource ¶
func CfnThingPrincipalAttachment_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnThingPrincipalAttachment_IsConstruct ¶
func CfnThingPrincipalAttachment_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 CfnThing_CFN_RESOURCE_TYPE_NAME ¶
func CfnThing_CFN_RESOURCE_TYPE_NAME() *string
func CfnThing_IsCfnElement ¶
func CfnThing_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 CfnThing_IsCfnResource ¶
func CfnThing_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnThing_IsConstruct ¶
func CfnThing_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 CfnTopicRuleDestination_CFN_RESOURCE_TYPE_NAME ¶
func CfnTopicRuleDestination_CFN_RESOURCE_TYPE_NAME() *string
func CfnTopicRuleDestination_IsCfnElement ¶
func CfnTopicRuleDestination_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 CfnTopicRuleDestination_IsCfnResource ¶
func CfnTopicRuleDestination_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTopicRuleDestination_IsConstruct ¶
func CfnTopicRuleDestination_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 CfnTopicRule_CFN_RESOURCE_TYPE_NAME ¶
func CfnTopicRule_CFN_RESOURCE_TYPE_NAME() *string
func CfnTopicRule_IsCfnElement ¶
func CfnTopicRule_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 CfnTopicRule_IsCfnResource ¶
func CfnTopicRule_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnTopicRule_IsConstruct ¶
func CfnTopicRule_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 NewCfnAccountAuditConfiguration_Override ¶
func NewCfnAccountAuditConfiguration_Override(c CfnAccountAuditConfiguration, scope constructs.Construct, id *string, props *CfnAccountAuditConfigurationProps)
Create a new `AWS::IoT::AccountAuditConfiguration`.
func NewCfnAuthorizer_Override ¶
func NewCfnAuthorizer_Override(c CfnAuthorizer, scope constructs.Construct, id *string, props *CfnAuthorizerProps)
Create a new `AWS::IoT::Authorizer`.
func NewCfnCACertificate_Override ¶ added in v2.31.0
func NewCfnCACertificate_Override(c CfnCACertificate, scope constructs.Construct, id *string, props *CfnCACertificateProps)
Create a new `AWS::IoT::CACertificate`.
func NewCfnCertificate_Override ¶
func NewCfnCertificate_Override(c CfnCertificate, scope constructs.Construct, id *string, props *CfnCertificateProps)
Create a new `AWS::IoT::Certificate`.
func NewCfnCustomMetric_Override ¶
func NewCfnCustomMetric_Override(c CfnCustomMetric, scope constructs.Construct, id *string, props *CfnCustomMetricProps)
Create a new `AWS::IoT::CustomMetric`.
func NewCfnDimension_Override ¶
func NewCfnDimension_Override(c CfnDimension, scope constructs.Construct, id *string, props *CfnDimensionProps)
Create a new `AWS::IoT::Dimension`.
func NewCfnDomainConfiguration_Override ¶
func NewCfnDomainConfiguration_Override(c CfnDomainConfiguration, scope constructs.Construct, id *string, props *CfnDomainConfigurationProps)
Create a new `AWS::IoT::DomainConfiguration`.
func NewCfnFleetMetric_Override ¶
func NewCfnFleetMetric_Override(c CfnFleetMetric, scope constructs.Construct, id *string, props *CfnFleetMetricProps)
Create a new `AWS::IoT::FleetMetric`.
func NewCfnJobTemplate_Override ¶
func NewCfnJobTemplate_Override(c CfnJobTemplate, scope constructs.Construct, id *string, props *CfnJobTemplateProps)
Create a new `AWS::IoT::JobTemplate`.
func NewCfnLogging_Override ¶
func NewCfnLogging_Override(c CfnLogging, scope constructs.Construct, id *string, props *CfnLoggingProps)
Create a new `AWS::IoT::Logging`.
func NewCfnMitigationAction_Override ¶
func NewCfnMitigationAction_Override(c CfnMitigationAction, scope constructs.Construct, id *string, props *CfnMitigationActionProps)
Create a new `AWS::IoT::MitigationAction`.
func NewCfnPolicyPrincipalAttachment_Override ¶
func NewCfnPolicyPrincipalAttachment_Override(c CfnPolicyPrincipalAttachment, scope constructs.Construct, id *string, props *CfnPolicyPrincipalAttachmentProps)
Create a new `AWS::IoT::PolicyPrincipalAttachment`.
func NewCfnPolicy_Override ¶
func NewCfnPolicy_Override(c CfnPolicy, scope constructs.Construct, id *string, props *CfnPolicyProps)
Create a new `AWS::IoT::Policy`.
func NewCfnProvisioningTemplate_Override ¶
func NewCfnProvisioningTemplate_Override(c CfnProvisioningTemplate, scope constructs.Construct, id *string, props *CfnProvisioningTemplateProps)
Create a new `AWS::IoT::ProvisioningTemplate`.
func NewCfnResourceSpecificLogging_Override ¶
func NewCfnResourceSpecificLogging_Override(c CfnResourceSpecificLogging, scope constructs.Construct, id *string, props *CfnResourceSpecificLoggingProps)
Create a new `AWS::IoT::ResourceSpecificLogging`.
func NewCfnRoleAlias_Override ¶ added in v2.25.0
func NewCfnRoleAlias_Override(c CfnRoleAlias, scope constructs.Construct, id *string, props *CfnRoleAliasProps)
Create a new `AWS::IoT::RoleAlias`.
func NewCfnScheduledAudit_Override ¶
func NewCfnScheduledAudit_Override(c CfnScheduledAudit, scope constructs.Construct, id *string, props *CfnScheduledAuditProps)
Create a new `AWS::IoT::ScheduledAudit`.
func NewCfnSecurityProfile_Override ¶
func NewCfnSecurityProfile_Override(c CfnSecurityProfile, scope constructs.Construct, id *string, props *CfnSecurityProfileProps)
Create a new `AWS::IoT::SecurityProfile`.
func NewCfnThingPrincipalAttachment_Override ¶
func NewCfnThingPrincipalAttachment_Override(c CfnThingPrincipalAttachment, scope constructs.Construct, id *string, props *CfnThingPrincipalAttachmentProps)
Create a new `AWS::IoT::ThingPrincipalAttachment`.
func NewCfnThing_Override ¶
func NewCfnThing_Override(c CfnThing, scope constructs.Construct, id *string, props *CfnThingProps)
Create a new `AWS::IoT::Thing`.
func NewCfnTopicRuleDestination_Override ¶
func NewCfnTopicRuleDestination_Override(c CfnTopicRuleDestination, scope constructs.Construct, id *string, props *CfnTopicRuleDestinationProps)
Create a new `AWS::IoT::TopicRuleDestination`.
func NewCfnTopicRule_Override ¶
func NewCfnTopicRule_Override(c CfnTopicRule, scope constructs.Construct, id *string, props *CfnTopicRuleProps)
Create a new `AWS::IoT::TopicRule`.
Types ¶
type CfnAccountAuditConfiguration ¶
type CfnAccountAuditConfiguration interface { awscdk.CfnResource awscdk.IInspectable // The ID of the account. // // You can use the expression `!Sub "${AWS::AccountId}"` to use your account ID. AccountId() *string SetAccountId(val *string) // Specifies which audit checks are enabled and disabled for this account. // // Some data collection might start immediately when certain checks are enabled. When a check is disabled, any data collected so far in relation to the check is deleted. To disable a check, set the value of the `Enabled:` key to `false` . // // If an enabled check is removed from the template, it will also be disabled. // // You can't disable a check if it's used by any scheduled audit. You must delete the check from the scheduled audit or delete the scheduled audit itself to disable the check. // // For more information on avialbe auidt checks see [AWS::IoT::AccountAuditConfiguration AuditCheckConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html) AuditCheckConfigurations() interface{} SetAuditCheckConfigurations(val interface{}) // Information about the targets to which audit notifications are sent. AuditNotificationTargetConfigurations() interface{} SetAuditNotificationTargetConfigurations(val interface{}) // 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 Amazon Resource Name (ARN) of the role that grants permission to AWS IoT to access information about your devices, policies, certificates, and other items as required when performing an audit. 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 // 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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::AccountAuditConfiguration`.
Use the `AWS::IoT::AccountAuditConfiguration` resource to configure or reconfigure the Device Defender audit settings for your account. Settings include how audit notifications are sent and which audit checks are enabled or disabled. For API reference, see [UpdateAccountAuditConfiguration](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateAccountAuditConfiguration.html) and for detailed information on all available audit checks, see [Audit checks](https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-audit-checks.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" cfnAccountAuditConfiguration := awscdk.Aws_iot.NewCfnAccountAuditConfiguration(this, jsii.String("MyCfnAccountAuditConfiguration"), &cfnAccountAuditConfigurationProps{ accountId: jsii.String("accountId"), auditCheckConfigurations: &auditCheckConfigurationsProperty{ authenticatedCognitoRoleOverlyPermissiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, caCertificateExpiringCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, caCertificateKeyQualityCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, conflictingClientIdsCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, deviceCertificateExpiringCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, deviceCertificateKeyQualityCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, deviceCertificateSharedCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, iotPolicyOverlyPermissiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, iotRoleAliasAllowsAccessToUnusedServicesCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, iotRoleAliasOverlyPermissiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, loggingDisabledCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, revokedCaCertificateStillActiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, revokedDeviceCertificateStillActiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, unauthenticatedCognitoRoleOverlyPermissiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, }, roleArn: jsii.String("roleArn"), // the properties below are optional auditNotificationTargetConfigurations: &auditNotificationTargetConfigurationsProperty{ sns: &auditNotificationTargetProperty{ enabled: jsii.Boolean(false), roleArn: jsii.String("roleArn"), targetArn: jsii.String("targetArn"), }, }, })
func NewCfnAccountAuditConfiguration ¶
func NewCfnAccountAuditConfiguration(scope constructs.Construct, id *string, props *CfnAccountAuditConfigurationProps) CfnAccountAuditConfiguration
Create a new `AWS::IoT::AccountAuditConfiguration`.
type CfnAccountAuditConfigurationProps ¶
type CfnAccountAuditConfigurationProps struct { // The ID of the account. // // You can use the expression `!Sub "${AWS::AccountId}"` to use your account ID. AccountId *string `field:"required" json:"accountId" yaml:"accountId"` // Specifies which audit checks are enabled and disabled for this account. // // Some data collection might start immediately when certain checks are enabled. When a check is disabled, any data collected so far in relation to the check is deleted. To disable a check, set the value of the `Enabled:` key to `false` . // // If an enabled check is removed from the template, it will also be disabled. // // You can't disable a check if it's used by any scheduled audit. You must delete the check from the scheduled audit or delete the scheduled audit itself to disable the check. // // For more information on avialbe auidt checks see [AWS::IoT::AccountAuditConfiguration AuditCheckConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html) AuditCheckConfigurations interface{} `field:"required" json:"auditCheckConfigurations" yaml:"auditCheckConfigurations"` // The Amazon Resource Name (ARN) of the role that grants permission to AWS IoT to access information about your devices, policies, certificates, and other items as required when performing an audit. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // Information about the targets to which audit notifications are sent. AuditNotificationTargetConfigurations interface{} `field:"optional" json:"auditNotificationTargetConfigurations" yaml:"auditNotificationTargetConfigurations"` }
Properties for defining a `CfnAccountAuditConfiguration`.
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" cfnAccountAuditConfigurationProps := &cfnAccountAuditConfigurationProps{ accountId: jsii.String("accountId"), auditCheckConfigurations: &auditCheckConfigurationsProperty{ authenticatedCognitoRoleOverlyPermissiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, caCertificateExpiringCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, caCertificateKeyQualityCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, conflictingClientIdsCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, deviceCertificateExpiringCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, deviceCertificateKeyQualityCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, deviceCertificateSharedCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, iotPolicyOverlyPermissiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, iotRoleAliasAllowsAccessToUnusedServicesCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, iotRoleAliasOverlyPermissiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, loggingDisabledCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, revokedCaCertificateStillActiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, revokedDeviceCertificateStillActiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, unauthenticatedCognitoRoleOverlyPermissiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, }, roleArn: jsii.String("roleArn"), // the properties below are optional auditNotificationTargetConfigurations: &auditNotificationTargetConfigurationsProperty{ sns: &auditNotificationTargetProperty{ enabled: jsii.Boolean(false), roleArn: jsii.String("roleArn"), targetArn: jsii.String("targetArn"), }, }, }
type CfnAccountAuditConfiguration_AuditCheckConfigurationProperty ¶
type CfnAccountAuditConfiguration_AuditCheckConfigurationProperty struct {
// True if this audit check is enabled for this account.
Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"`
}
Which audit checks are enabled and disabled for this account.
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" auditCheckConfigurationProperty := &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }
type CfnAccountAuditConfiguration_AuditCheckConfigurationsProperty ¶
type CfnAccountAuditConfiguration_AuditCheckConfigurationsProperty struct { // Checks the permissiveness of an authenticated Amazon Cognito identity pool role. // // For this check, AWS IoT Device Defender audits all Amazon Cognito identity pools that have been used to connect to the AWS IoT message broker during the 31 days before the audit is performed. AuthenticatedCognitoRoleOverlyPermissiveCheck interface{} `field:"optional" json:"authenticatedCognitoRoleOverlyPermissiveCheck" yaml:"authenticatedCognitoRoleOverlyPermissiveCheck"` // Checks if a CA certificate is expiring. // // This check applies to CA certificates expiring within 30 days or that have expired. CaCertificateExpiringCheck interface{} `field:"optional" json:"caCertificateExpiringCheck" yaml:"caCertificateExpiringCheck"` // Checks the quality of the CA certificate key. // // The quality checks if the key is in a valid format, not expired, and if the key meets a minimum required size. This check applies to CA certificates that are `ACTIVE` or `PENDING_TRANSFER` . CaCertificateKeyQualityCheck interface{} `field:"optional" json:"caCertificateKeyQualityCheck" yaml:"caCertificateKeyQualityCheck"` // Checks if multiple devices connect using the same client ID. ConflictingClientIdsCheck interface{} `field:"optional" json:"conflictingClientIdsCheck" yaml:"conflictingClientIdsCheck"` // Checks if a device certificate is expiring. // // This check applies to device certificates expiring within 30 days or that have expired. DeviceCertificateExpiringCheck interface{} `field:"optional" json:"deviceCertificateExpiringCheck" yaml:"deviceCertificateExpiringCheck"` // Checks the quality of the device certificate key. // // The quality checks if the key is in a valid format, not expired, signed by a registered certificate authority, and if the key meets a minimum required size. DeviceCertificateKeyQualityCheck interface{} `field:"optional" json:"deviceCertificateKeyQualityCheck" yaml:"deviceCertificateKeyQualityCheck"` DeviceCertificateSharedCheck interface{} `field:"optional" json:"deviceCertificateSharedCheck" yaml:"deviceCertificateSharedCheck"` // Checks the permissiveness of a policy attached to an authenticated Amazon Cognito identity pool role. IotPolicyOverlyPermissiveCheck interface{} `field:"optional" json:"iotPolicyOverlyPermissiveCheck" yaml:"iotPolicyOverlyPermissiveCheck"` // Checks if a role alias has access to services that haven't been used for the AWS IoT device in the last year. IotRoleAliasAllowsAccessToUnusedServicesCheck interface{} `field:"optional" json:"iotRoleAliasAllowsAccessToUnusedServicesCheck" yaml:"iotRoleAliasAllowsAccessToUnusedServicesCheck"` // Checks if the temporary credentials provided by AWS IoT role aliases are overly permissive. IotRoleAliasOverlyPermissiveCheck interface{} `field:"optional" json:"iotRoleAliasOverlyPermissiveCheck" yaml:"iotRoleAliasOverlyPermissiveCheck"` // Checks if AWS IoT logs are disabled. LoggingDisabledCheck interface{} `field:"optional" json:"loggingDisabledCheck" yaml:"loggingDisabledCheck"` // Checks if a revoked CA certificate is still active. RevokedCaCertificateStillActiveCheck interface{} `field:"optional" json:"revokedCaCertificateStillActiveCheck" yaml:"revokedCaCertificateStillActiveCheck"` // Checks if a revoked device certificate is still active. RevokedDeviceCertificateStillActiveCheck interface{} `field:"optional" json:"revokedDeviceCertificateStillActiveCheck" yaml:"revokedDeviceCertificateStillActiveCheck"` // Checks if policy attached to an unauthenticated Amazon Cognito identity pool role is too permissive. UnauthenticatedCognitoRoleOverlyPermissiveCheck interface{} `` /* 126-byte string literal not displayed */ }
The types of audit checks that can be performed.
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" auditCheckConfigurationsProperty := &auditCheckConfigurationsProperty{ authenticatedCognitoRoleOverlyPermissiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, caCertificateExpiringCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, caCertificateKeyQualityCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, conflictingClientIdsCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, deviceCertificateExpiringCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, deviceCertificateKeyQualityCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, deviceCertificateSharedCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, iotPolicyOverlyPermissiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, iotRoleAliasAllowsAccessToUnusedServicesCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, iotRoleAliasOverlyPermissiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, loggingDisabledCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, revokedCaCertificateStillActiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, revokedDeviceCertificateStillActiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, unauthenticatedCognitoRoleOverlyPermissiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, }
type CfnAccountAuditConfiguration_AuditNotificationTargetConfigurationsProperty ¶
type CfnAccountAuditConfiguration_AuditNotificationTargetConfigurationsProperty struct {
// The `Sns` notification target.
Sns interface{} `field:"optional" json:"sns" yaml:"sns"`
}
The configuration of the audit notification target.
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" auditNotificationTargetConfigurationsProperty := &auditNotificationTargetConfigurationsProperty{ sns: &auditNotificationTargetProperty{ enabled: jsii.Boolean(false), roleArn: jsii.String("roleArn"), targetArn: jsii.String("targetArn"), }, }
type CfnAccountAuditConfiguration_AuditNotificationTargetProperty ¶
type CfnAccountAuditConfiguration_AuditNotificationTargetProperty struct { // True if notifications to the target are enabled. Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"` // The ARN of the role that grants permission to send notifications to the target. RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"` // The ARN of the target (SNS topic) to which audit notifications are sent. TargetArn *string `field:"optional" json:"targetArn" yaml:"targetArn"` }
Information about the targets to which audit notifications are sent.
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" auditNotificationTargetProperty := &auditNotificationTargetProperty{ enabled: jsii.Boolean(false), roleArn: jsii.String("roleArn"), targetArn: jsii.String("targetArn"), }
type CfnAuthorizer ¶
type CfnAuthorizer interface { awscdk.CfnResource awscdk.IInspectable // The Amazon Resource Name (ARN) of the authorizer. AttrArn() *string // The authorizer's Lambda function ARN. AuthorizerFunctionArn() *string SetAuthorizerFunctionArn(val *string) // The authorizer name. AuthorizerName() *string SetAuthorizerName(val *string) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // `AWS::IoT::Authorizer.EnableCachingForHttp`. EnableCachingForHttp() interface{} SetEnableCachingForHttp(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 // Specifies whether AWS IoT validates the token signature in an authorization request. SigningDisabled() interface{} SetSigningDisabled(val interface{}) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The status of the authorizer. // // Valid values: `ACTIVE` | `INACTIVE`. Status() *string SetStatus(val *string) // Metadata which can be used to manage the custom authorizer. // // > For URI Request parameters use format: ...key1=value1&key2=value2... // > // > For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..." // > // > For the cli-input-json file use format: "tags": "key1=value1&key2=value2..." Tags() awscdk.TagManager // The key used to extract the token from the HTTP headers. TokenKeyName() *string SetTokenKeyName(val *string) // The public keys used to validate the token signature returned by your custom authentication service. TokenSigningPublicKeys() interface{} SetTokenSigningPublicKeys(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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::Authorizer`.
Specifies an authorizer.
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" cfnAuthorizer := awscdk.Aws_iot.NewCfnAuthorizer(this, jsii.String("MyCfnAuthorizer"), &cfnAuthorizerProps{ authorizerFunctionArn: jsii.String("authorizerFunctionArn"), // the properties below are optional authorizerName: jsii.String("authorizerName"), enableCachingForHttp: jsii.Boolean(false), signingDisabled: jsii.Boolean(false), status: jsii.String("status"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, tokenKeyName: jsii.String("tokenKeyName"), tokenSigningPublicKeys: map[string]*string{ "tokenSigningPublicKeysKey": jsii.String("tokenSigningPublicKeys"), }, })
func NewCfnAuthorizer ¶
func NewCfnAuthorizer(scope constructs.Construct, id *string, props *CfnAuthorizerProps) CfnAuthorizer
Create a new `AWS::IoT::Authorizer`.
type CfnAuthorizerProps ¶
type CfnAuthorizerProps struct { // The authorizer's Lambda function ARN. AuthorizerFunctionArn *string `field:"required" json:"authorizerFunctionArn" yaml:"authorizerFunctionArn"` // The authorizer name. AuthorizerName *string `field:"optional" json:"authorizerName" yaml:"authorizerName"` // `AWS::IoT::Authorizer.EnableCachingForHttp`. EnableCachingForHttp interface{} `field:"optional" json:"enableCachingForHttp" yaml:"enableCachingForHttp"` // Specifies whether AWS IoT validates the token signature in an authorization request. SigningDisabled interface{} `field:"optional" json:"signingDisabled" yaml:"signingDisabled"` // The status of the authorizer. // // Valid values: `ACTIVE` | `INACTIVE`. Status *string `field:"optional" json:"status" yaml:"status"` // Metadata which can be used to manage the custom authorizer. // // > For URI Request parameters use format: ...key1=value1&key2=value2... // > // > For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..." // > // > For the cli-input-json file use format: "tags": "key1=value1&key2=value2..." Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // The key used to extract the token from the HTTP headers. TokenKeyName *string `field:"optional" json:"tokenKeyName" yaml:"tokenKeyName"` // The public keys used to validate the token signature returned by your custom authentication service. TokenSigningPublicKeys interface{} `field:"optional" json:"tokenSigningPublicKeys" yaml:"tokenSigningPublicKeys"` }
Properties for defining a `CfnAuthorizer`.
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" cfnAuthorizerProps := &cfnAuthorizerProps{ authorizerFunctionArn: jsii.String("authorizerFunctionArn"), // the properties below are optional authorizerName: jsii.String("authorizerName"), enableCachingForHttp: jsii.Boolean(false), signingDisabled: jsii.Boolean(false), status: jsii.String("status"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, tokenKeyName: jsii.String("tokenKeyName"), tokenSigningPublicKeys: map[string]*string{ "tokenSigningPublicKeysKey": jsii.String("tokenSigningPublicKeys"), }, }
type CfnCACertificate ¶ added in v2.31.0
type CfnCACertificate interface { awscdk.CfnResource awscdk.IInspectable AttrArn() *string AttrId() *string // `AWS::IoT::CACertificate.AutoRegistrationStatus`. AutoRegistrationStatus() *string SetAutoRegistrationStatus(val *string) // `AWS::IoT::CACertificate.CACertificatePem`. CaCertificatePem() *string SetCaCertificatePem(val *string) // `AWS::IoT::CACertificate.CertificateMode`. CertificateMode() *string SetCertificateMode(val *string) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The 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 // `AWS::IoT::CACertificate.RegistrationConfig`. RegistrationConfig() interface{} SetRegistrationConfig(val interface{}) // `AWS::IoT::CACertificate.RemoveAutoRegistration`. RemoveAutoRegistration() interface{} SetRemoveAutoRegistration(val interface{}) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // `AWS::IoT::CACertificate.Status`. Status() *string SetStatus(val *string) // `AWS::IoT::CACertificate.Tags`. Tags() awscdk.TagManager // 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{} // `AWS::IoT::CACertificate.VerificationCertificatePem`. VerificationCertificatePem() *string SetVerificationCertificatePem(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::CACertificate`.
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" cfnCACertificate := awscdk.Aws_iot.NewCfnCACertificate(this, jsii.String("MyCfnCACertificate"), &cfnCACertificateProps{ caCertificatePem: jsii.String("caCertificatePem"), status: jsii.String("status"), // the properties below are optional autoRegistrationStatus: jsii.String("autoRegistrationStatus"), certificateMode: jsii.String("certificateMode"), registrationConfig: ®istrationConfigProperty{ roleArn: jsii.String("roleArn"), templateBody: jsii.String("templateBody"), templateName: jsii.String("templateName"), }, removeAutoRegistration: jsii.Boolean(false), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, verificationCertificatePem: jsii.String("verificationCertificatePem"), })
func NewCfnCACertificate ¶ added in v2.31.0
func NewCfnCACertificate(scope constructs.Construct, id *string, props *CfnCACertificateProps) CfnCACertificate
Create a new `AWS::IoT::CACertificate`.
type CfnCACertificateProps ¶ added in v2.31.0
type CfnCACertificateProps struct { // `AWS::IoT::CACertificate.CACertificatePem`. CaCertificatePem *string `field:"required" json:"caCertificatePem" yaml:"caCertificatePem"` // `AWS::IoT::CACertificate.Status`. Status *string `field:"required" json:"status" yaml:"status"` // `AWS::IoT::CACertificate.AutoRegistrationStatus`. AutoRegistrationStatus *string `field:"optional" json:"autoRegistrationStatus" yaml:"autoRegistrationStatus"` // `AWS::IoT::CACertificate.CertificateMode`. CertificateMode *string `field:"optional" json:"certificateMode" yaml:"certificateMode"` // `AWS::IoT::CACertificate.RegistrationConfig`. RegistrationConfig interface{} `field:"optional" json:"registrationConfig" yaml:"registrationConfig"` // `AWS::IoT::CACertificate.RemoveAutoRegistration`. RemoveAutoRegistration interface{} `field:"optional" json:"removeAutoRegistration" yaml:"removeAutoRegistration"` // `AWS::IoT::CACertificate.Tags`. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // `AWS::IoT::CACertificate.VerificationCertificatePem`. VerificationCertificatePem *string `field:"optional" json:"verificationCertificatePem" yaml:"verificationCertificatePem"` }
Properties for defining a `CfnCACertificate`.
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" cfnCACertificateProps := &cfnCACertificateProps{ caCertificatePem: jsii.String("caCertificatePem"), status: jsii.String("status"), // the properties below are optional autoRegistrationStatus: jsii.String("autoRegistrationStatus"), certificateMode: jsii.String("certificateMode"), registrationConfig: ®istrationConfigProperty{ roleArn: jsii.String("roleArn"), templateBody: jsii.String("templateBody"), templateName: jsii.String("templateName"), }, removeAutoRegistration: jsii.Boolean(false), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, verificationCertificatePem: jsii.String("verificationCertificatePem"), }
type CfnCACertificate_RegistrationConfigProperty ¶ added in v2.37.0
type CfnCACertificate_RegistrationConfigProperty struct { // `CfnCACertificate.RegistrationConfigProperty.RoleArn`. RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"` // `CfnCACertificate.RegistrationConfigProperty.TemplateBody`. TemplateBody *string `field:"optional" json:"templateBody" yaml:"templateBody"` // `CfnCACertificate.RegistrationConfigProperty.TemplateName`. TemplateName *string `field:"optional" json:"templateName" yaml:"templateName"` }
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" registrationConfigProperty := ®istrationConfigProperty{ roleArn: jsii.String("roleArn"), templateBody: jsii.String("templateBody"), templateName: jsii.String("templateName"), }
type CfnCertificate ¶
type CfnCertificate interface { awscdk.CfnResource awscdk.IInspectable // Returns the Amazon Resource Name (ARN) for the instance profile. For example:. // // `{ "Fn::GetAtt": ["MyCertificate", "Arn"] }` // // A value similar to the following is returned: // // `arn:aws:iot:ap-southeast-2:123456789012:cert/a1234567b89c012d3e4fg567hij8k9l01mno1p23q45678901rs234567890t1u2`. AttrArn() *string // The certificate ID. AttrId() *string // The CA certificate used to sign the device certificate being registered, not available when CertificateMode is SNI_ONLY. CaCertificatePem() *string SetCaCertificatePem(val *string) // Specifies which mode of certificate registration to use with this resource. // // Valid options are DEFAULT with CaCertificatePem and CertificatePem, SNI_ONLY with CertificatePem, and Default with CertificateSigningRequest. CertificateMode() *string SetCertificateMode(val *string) // The certificate data in PEM format. // // Requires SNI_ONLY for the certificate mode or the accompanying CACertificatePem for registration. CertificatePem() *string SetCertificatePem(val *string) // The certificate signing request (CSR). CertificateSigningRequest() *string SetCertificateSigningRequest(val *string) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The 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 status of the certificate. // // Valid values are ACTIVE, INACTIVE, REVOKED, PENDING_TRANSFER, and PENDING_ACTIVATION. // // The status value REGISTER_INACTIVE is deprecated and should not be used. Status() *string SetStatus(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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::Certificate`.
Use the `AWS::IoT::Certificate` resource to declare an AWS IoT X.509 certificate. For information about working with X.509 certificates, see [X.509 Client Certificates](https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html) in the *AWS IoT 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" cfnCertificate := awscdk.Aws_iot.NewCfnCertificate(this, jsii.String("MyCfnCertificate"), &cfnCertificateProps{ status: jsii.String("status"), // the properties below are optional caCertificatePem: jsii.String("caCertificatePem"), certificateMode: jsii.String("certificateMode"), certificatePem: jsii.String("certificatePem"), certificateSigningRequest: jsii.String("certificateSigningRequest"), })
func NewCfnCertificate ¶
func NewCfnCertificate(scope constructs.Construct, id *string, props *CfnCertificateProps) CfnCertificate
Create a new `AWS::IoT::Certificate`.
type CfnCertificateProps ¶
type CfnCertificateProps struct { // The status of the certificate. // // Valid values are ACTIVE, INACTIVE, REVOKED, PENDING_TRANSFER, and PENDING_ACTIVATION. // // The status value REGISTER_INACTIVE is deprecated and should not be used. Status *string `field:"required" json:"status" yaml:"status"` // The CA certificate used to sign the device certificate being registered, not available when CertificateMode is SNI_ONLY. CaCertificatePem *string `field:"optional" json:"caCertificatePem" yaml:"caCertificatePem"` // Specifies which mode of certificate registration to use with this resource. // // Valid options are DEFAULT with CaCertificatePem and CertificatePem, SNI_ONLY with CertificatePem, and Default with CertificateSigningRequest. CertificateMode *string `field:"optional" json:"certificateMode" yaml:"certificateMode"` // The certificate data in PEM format. // // Requires SNI_ONLY for the certificate mode or the accompanying CACertificatePem for registration. CertificatePem *string `field:"optional" json:"certificatePem" yaml:"certificatePem"` // The certificate signing request (CSR). CertificateSigningRequest *string `field:"optional" json:"certificateSigningRequest" yaml:"certificateSigningRequest"` }
Properties for defining a `CfnCertificate`.
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" cfnCertificateProps := &cfnCertificateProps{ status: jsii.String("status"), // the properties below are optional caCertificatePem: jsii.String("caCertificatePem"), certificateMode: jsii.String("certificateMode"), certificatePem: jsii.String("certificatePem"), certificateSigningRequest: jsii.String("certificateSigningRequest"), }
type CfnCustomMetric ¶
type CfnCustomMetric interface { awscdk.CfnResource awscdk.IInspectable // The Amazon Resource Number (ARN) of the custom metric; // // for example, `arn: *aws-partition* :iot: *region* : *accountId* :custommetric/ *metricName*` . AttrMetricArn() *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 friendly name in the console for the custom metric. // // This name doesn't have to be unique. Don't use this name as the metric identifier in the device metric report. You can update the friendly name after you define it. DisplayName() *string SetDisplayName(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The name of the custom metric. // // This will be used in the metric report submitted from the device/thing. The name can't begin with `aws:` . You can’t change the name after you define it. MetricName() *string SetMetricName(val *string) // The type of the custom metric. Types include `string-list` , `ip-address-list` , `number-list` , and `number` . // // > The type `number` only takes a single metric value as an input, but when you submit the metrics value in the DeviceMetrics report, you must pass it as an array with a single value. MetricType() *string SetMetricType(val *string) // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Metadata that can be used to manage the custom metric. Tags() awscdk.TagManager // 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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::CustomMetric`.
Use the `AWS::IoT::CustomMetric` resource to define a custom metric published by your devices to Device Defender. For API reference, see [CreateCustomMetric](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateCustomMetric.html) and for general information, see [Custom metrics](https://docs.aws.amazon.com/iot/latest/developerguide/dd-detect-custom-metrics.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" cfnCustomMetric := awscdk.Aws_iot.NewCfnCustomMetric(this, jsii.String("MyCfnCustomMetric"), &cfnCustomMetricProps{ metricType: jsii.String("metricType"), // the properties below are optional displayName: jsii.String("displayName"), metricName: jsii.String("metricName"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, })
func NewCfnCustomMetric ¶
func NewCfnCustomMetric(scope constructs.Construct, id *string, props *CfnCustomMetricProps) CfnCustomMetric
Create a new `AWS::IoT::CustomMetric`.
type CfnCustomMetricProps ¶
type CfnCustomMetricProps struct { // The type of the custom metric. Types include `string-list` , `ip-address-list` , `number-list` , and `number` . // // > The type `number` only takes a single metric value as an input, but when you submit the metrics value in the DeviceMetrics report, you must pass it as an array with a single value. MetricType *string `field:"required" json:"metricType" yaml:"metricType"` // The friendly name in the console for the custom metric. // // This name doesn't have to be unique. Don't use this name as the metric identifier in the device metric report. You can update the friendly name after you define it. DisplayName *string `field:"optional" json:"displayName" yaml:"displayName"` // The name of the custom metric. // // This will be used in the metric report submitted from the device/thing. The name can't begin with `aws:` . You can’t change the name after you define it. MetricName *string `field:"optional" json:"metricName" yaml:"metricName"` // Metadata that can be used to manage the custom metric. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnCustomMetric`.
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" cfnCustomMetricProps := &cfnCustomMetricProps{ metricType: jsii.String("metricType"), // the properties below are optional displayName: jsii.String("displayName"), metricName: jsii.String("metricName"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, }
type CfnDimension ¶
type CfnDimension interface { awscdk.CfnResource awscdk.IInspectable // The Amazon Resource Name (ARN) of the dimension. AttrArn() *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 // A unique identifier for the dimension. 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 // Specifies the value or list of values for the dimension. // // For `TOPIC_FILTER` dimensions, this is a pattern used to match the MQTT topic (for example, "admin/#"). StringValues() *[]*string SetStringValues(val *[]*string) // Metadata that can be used to manage the dimension. Tags() awscdk.TagManager // Specifies the type of dimension. // // Supported types: `TOPIC_FILTER.` Type() *string SetType(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // 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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::Dimension`.
Use the `AWS::IoT::Dimension` to limit the scope of a metric used in a security profile for AWS IoT Device Defender . For example, using a `TOPIC_FILTER` dimension, you can narrow down the scope of the metric to only MQTT topics where the name matches the pattern specified in the dimension. For API reference, see [CreateDimension](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateDimension.html) and for general information, see [Scoping metrics in security profiles using dimensions](https://docs.aws.amazon.com/iot/latest/developerguide/scoping-security-behavior.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" cfnDimension := awscdk.Aws_iot.NewCfnDimension(this, jsii.String("MyCfnDimension"), &cfnDimensionProps{ stringValues: []*string{ jsii.String("stringValues"), }, type: jsii.String("type"), // the properties below are optional name: jsii.String("name"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, })
func NewCfnDimension ¶
func NewCfnDimension(scope constructs.Construct, id *string, props *CfnDimensionProps) CfnDimension
Create a new `AWS::IoT::Dimension`.
type CfnDimensionProps ¶
type CfnDimensionProps struct { // Specifies the value or list of values for the dimension. // // For `TOPIC_FILTER` dimensions, this is a pattern used to match the MQTT topic (for example, "admin/#"). StringValues *[]*string `field:"required" json:"stringValues" yaml:"stringValues"` // Specifies the type of dimension. // // Supported types: `TOPIC_FILTER.` Type *string `field:"required" json:"type" yaml:"type"` // A unique identifier for the dimension. Name *string `field:"optional" json:"name" yaml:"name"` // Metadata that can be used to manage the dimension. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnDimension`.
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" cfnDimensionProps := &cfnDimensionProps{ stringValues: []*string{ jsii.String("stringValues"), }, type: jsii.String("type"), // the properties below are optional name: jsii.String("name"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, }
type CfnDomainConfiguration ¶
type CfnDomainConfiguration interface { awscdk.CfnResource awscdk.IInspectable // The Amazon Resource Name (ARN) of the domain configuration. AttrArn() *string // The type of service delivered by the domain. AttrDomainType() *string // The ARNs of the certificates that AWS IoT passes to the device during the TLS handshake. // // Currently you can specify only one certificate ARN. This value is not required for AWS -managed domains. AttrServerCertificates() awscdk.IResolvable // An object that specifies the authorization service for a domain. AuthorizerConfig() interface{} SetAuthorizerConfig(val interface{}) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The name of the domain configuration. // // This value must be unique to a region. DomainConfigurationName() *string SetDomainConfigurationName(val *string) // The status to which the domain configuration should be updated. // // Valid values: `ENABLED` | `DISABLED`. DomainConfigurationStatus() *string SetDomainConfigurationStatus(val *string) // The name of the domain. DomainName() *string SetDomainName(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 ARNs of the certificates that AWS IoT passes to the device during the TLS handshake. // // Currently you can specify only one certificate ARN. This value is not required for AWS -managed domains. ServerCertificateArns() *[]*string SetServerCertificateArns(val *[]*string) // The type of service delivered by the endpoint. // // > AWS IoT Core currently supports only the `DATA` service type. ServiceType() *string SetServiceType(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Metadata which can be used to manage the domain configuration. // // > For URI Request parameters use format: ...key1=value1&key2=value2... // > // > For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..." // > // > For the cli-input-json file use format: "tags": "key1=value1&key2=value2..." Tags() awscdk.TagManager // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // The certificate used to validate the server certificate and prove domain name ownership. // // This certificate must be signed by a public certificate authority. This value is not required for AWS -managed domains. ValidationCertificateArn() *string SetValidationCertificateArn(val *string) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::DomainConfiguration`.
Specifies a domain configuration.
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" cfnDomainConfiguration := awscdk.Aws_iot.NewCfnDomainConfiguration(this, jsii.String("MyCfnDomainConfiguration"), &cfnDomainConfigurationProps{ authorizerConfig: &authorizerConfigProperty{ allowAuthorizerOverride: jsii.Boolean(false), defaultAuthorizerName: jsii.String("defaultAuthorizerName"), }, domainConfigurationName: jsii.String("domainConfigurationName"), domainConfigurationStatus: jsii.String("domainConfigurationStatus"), domainName: jsii.String("domainName"), serverCertificateArns: []*string{ jsii.String("serverCertificateArns"), }, serviceType: jsii.String("serviceType"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, validationCertificateArn: jsii.String("validationCertificateArn"), })
func NewCfnDomainConfiguration ¶
func NewCfnDomainConfiguration(scope constructs.Construct, id *string, props *CfnDomainConfigurationProps) CfnDomainConfiguration
Create a new `AWS::IoT::DomainConfiguration`.
type CfnDomainConfigurationProps ¶
type CfnDomainConfigurationProps struct { // An object that specifies the authorization service for a domain. AuthorizerConfig interface{} `field:"optional" json:"authorizerConfig" yaml:"authorizerConfig"` // The name of the domain configuration. // // This value must be unique to a region. DomainConfigurationName *string `field:"optional" json:"domainConfigurationName" yaml:"domainConfigurationName"` // The status to which the domain configuration should be updated. // // Valid values: `ENABLED` | `DISABLED`. DomainConfigurationStatus *string `field:"optional" json:"domainConfigurationStatus" yaml:"domainConfigurationStatus"` // The name of the domain. DomainName *string `field:"optional" json:"domainName" yaml:"domainName"` // The ARNs of the certificates that AWS IoT passes to the device during the TLS handshake. // // Currently you can specify only one certificate ARN. This value is not required for AWS -managed domains. ServerCertificateArns *[]*string `field:"optional" json:"serverCertificateArns" yaml:"serverCertificateArns"` // The type of service delivered by the endpoint. // // > AWS IoT Core currently supports only the `DATA` service type. ServiceType *string `field:"optional" json:"serviceType" yaml:"serviceType"` // Metadata which can be used to manage the domain configuration. // // > For URI Request parameters use format: ...key1=value1&key2=value2... // > // > For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..." // > // > For the cli-input-json file use format: "tags": "key1=value1&key2=value2..." Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // The certificate used to validate the server certificate and prove domain name ownership. // // This certificate must be signed by a public certificate authority. This value is not required for AWS -managed domains. ValidationCertificateArn *string `field:"optional" json:"validationCertificateArn" yaml:"validationCertificateArn"` }
Properties for defining a `CfnDomainConfiguration`.
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" cfnDomainConfigurationProps := &cfnDomainConfigurationProps{ authorizerConfig: &authorizerConfigProperty{ allowAuthorizerOverride: jsii.Boolean(false), defaultAuthorizerName: jsii.String("defaultAuthorizerName"), }, domainConfigurationName: jsii.String("domainConfigurationName"), domainConfigurationStatus: jsii.String("domainConfigurationStatus"), domainName: jsii.String("domainName"), serverCertificateArns: []*string{ jsii.String("serverCertificateArns"), }, serviceType: jsii.String("serviceType"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, validationCertificateArn: jsii.String("validationCertificateArn"), }
type CfnDomainConfiguration_AuthorizerConfigProperty ¶
type CfnDomainConfiguration_AuthorizerConfigProperty struct { // A Boolean that specifies whether the domain configuration's authorization service can be overridden. AllowAuthorizerOverride interface{} `field:"optional" json:"allowAuthorizerOverride" yaml:"allowAuthorizerOverride"` // The name of the authorization service for a domain configuration. DefaultAuthorizerName *string `field:"optional" json:"defaultAuthorizerName" yaml:"defaultAuthorizerName"` }
An object that specifies the authorization service for a domain.
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" authorizerConfigProperty := &authorizerConfigProperty{ allowAuthorizerOverride: jsii.Boolean(false), defaultAuthorizerName: jsii.String("defaultAuthorizerName"), }
type CfnDomainConfiguration_ServerCertificateSummaryProperty ¶
type CfnDomainConfiguration_ServerCertificateSummaryProperty struct { // The ARN of the server certificate. ServerCertificateArn *string `field:"optional" json:"serverCertificateArn" yaml:"serverCertificateArn"` // The status of the server certificate. ServerCertificateStatus *string `field:"optional" json:"serverCertificateStatus" yaml:"serverCertificateStatus"` // Details that explain the status of the server certificate. ServerCertificateStatusDetail *string `field:"optional" json:"serverCertificateStatusDetail" yaml:"serverCertificateStatusDetail"` }
An object that contains information about a server certificate.
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" serverCertificateSummaryProperty := &serverCertificateSummaryProperty{ serverCertificateArn: jsii.String("serverCertificateArn"), serverCertificateStatus: jsii.String("serverCertificateStatus"), serverCertificateStatusDetail: jsii.String("serverCertificateStatusDetail"), }
type CfnFleetMetric ¶
type CfnFleetMetric interface { awscdk.CfnResource awscdk.IInspectable // The field to aggregate. AggregationField() *string SetAggregationField(val *string) // The type of the aggregation query. AggregationType() interface{} SetAggregationType(val interface{}) // The time the fleet metric was created. AttrCreationDate() awscdk.IResolvable // The time the fleet metric was last modified. AttrLastModifiedDate() awscdk.IResolvable // The Amazon Resource Name (ARN) of the fleet metric. AttrMetricArn() *string // The fleet metric version. AttrVersion() awscdk.IResolvable // 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 fleet metric description. Description() *string SetDescription(val *string) // The name of the index to search. IndexName() *string SetIndexName(val *string) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The name of the fleet metric to create. MetricName() *string SetMetricName(val *string) // The tree node. Node() constructs.Node // The time in seconds between fleet metric emissions. // // Range [60(1 min), 86400(1 day)] and must be multiple of 60. Period() *float64 SetPeriod(val *float64) // The search query string. QueryString() *string SetQueryString(val *string) // The query version. QueryVersion() *string SetQueryVersion(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Metadata which can be used to manage the fleet metric. Tags() awscdk.TagManager // Used to support unit transformation such as milliseconds to seconds. // // Must be a unit supported by CW metric. Default to null. Unit() *string SetUnit(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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::FleetMetric`.
Use the `AWS::IoT::FleetMetric` resource to declare a fleet metric.
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" cfnFleetMetric := awscdk.Aws_iot.NewCfnFleetMetric(this, jsii.String("MyCfnFleetMetric"), &cfnFleetMetricProps{ metricName: jsii.String("metricName"), // the properties below are optional aggregationField: jsii.String("aggregationField"), aggregationType: &aggregationTypeProperty{ name: jsii.String("name"), values: []*string{ jsii.String("values"), }, }, description: jsii.String("description"), indexName: jsii.String("indexName"), period: jsii.Number(123), queryString: jsii.String("queryString"), queryVersion: jsii.String("queryVersion"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, unit: jsii.String("unit"), })
func NewCfnFleetMetric ¶
func NewCfnFleetMetric(scope constructs.Construct, id *string, props *CfnFleetMetricProps) CfnFleetMetric
Create a new `AWS::IoT::FleetMetric`.
type CfnFleetMetricProps ¶
type CfnFleetMetricProps struct { // The name of the fleet metric to create. MetricName *string `field:"required" json:"metricName" yaml:"metricName"` // The field to aggregate. AggregationField *string `field:"optional" json:"aggregationField" yaml:"aggregationField"` // The type of the aggregation query. AggregationType interface{} `field:"optional" json:"aggregationType" yaml:"aggregationType"` // The fleet metric description. Description *string `field:"optional" json:"description" yaml:"description"` // The name of the index to search. IndexName *string `field:"optional" json:"indexName" yaml:"indexName"` // The time in seconds between fleet metric emissions. // // Range [60(1 min), 86400(1 day)] and must be multiple of 60. Period *float64 `field:"optional" json:"period" yaml:"period"` // The search query string. QueryString *string `field:"optional" json:"queryString" yaml:"queryString"` // The query version. QueryVersion *string `field:"optional" json:"queryVersion" yaml:"queryVersion"` // Metadata which can be used to manage the fleet metric. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // Used to support unit transformation such as milliseconds to seconds. // // Must be a unit supported by CW metric. Default to null. Unit *string `field:"optional" json:"unit" yaml:"unit"` }
Properties for defining a `CfnFleetMetric`.
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" cfnFleetMetricProps := &cfnFleetMetricProps{ metricName: jsii.String("metricName"), // the properties below are optional aggregationField: jsii.String("aggregationField"), aggregationType: &aggregationTypeProperty{ name: jsii.String("name"), values: []*string{ jsii.String("values"), }, }, description: jsii.String("description"), indexName: jsii.String("indexName"), period: jsii.Number(123), queryString: jsii.String("queryString"), queryVersion: jsii.String("queryVersion"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, unit: jsii.String("unit"), }
type CfnFleetMetric_AggregationTypeProperty ¶
type CfnFleetMetric_AggregationTypeProperty struct { // The name of the aggregation type. Name *string `field:"required" json:"name" yaml:"name"` // A list of the values of aggregation types. Values *[]*string `field:"required" json:"values" yaml:"values"` }
The type of aggregation queries.
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" aggregationTypeProperty := &aggregationTypeProperty{ name: jsii.String("name"), values: []*string{ jsii.String("values"), }, }
type CfnJobTemplate ¶
type CfnJobTemplate interface { awscdk.CfnResource awscdk.IInspectable // The criteria that determine when and how a job abort takes place. AbortConfig() interface{} SetAbortConfig(val interface{}) // The ARN of the job to use as the basis for the job template. AttrArn() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // A description of the job template. Description() *string SetDescription(val *string) // The job document. // // Required if you don't specify a value for `documentSource` . Document() *string SetDocument(val *string) // An S3 link to the job document to use in the template. // // Required if you don't specify a value for `document` . // // > If the job document resides in an S3 bucket, you must use a placeholder link when specifying the document. // > // > The placeholder link is of the following form: // > // > `${aws:iot:s3-presigned-url:https://s3.amazonaws.com/ *bucket* / *key* }` // > // > where *bucket* is your bucket name and *key* is the object in the bucket to which you are linking. DocumentSource() *string SetDocumentSource(val *string) // The ARN of the job to use as the basis for the job template. JobArn() *string SetJobArn(val *string) // Allows you to create the criteria to retry a job. JobExecutionsRetryConfig() interface{} SetJobExecutionsRetryConfig(val interface{}) // Allows you to create a staged rollout of a job. JobExecutionsRolloutConfig() interface{} SetJobExecutionsRolloutConfig(val interface{}) // A unique identifier for the job template. // // We recommend using a UUID. Alpha-numeric characters, "-", and "_" are valid for use here. JobTemplateId() *string SetJobTemplateId(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 // Configuration for pre-signed S3 URLs. PresignedUrlConfig() interface{} SetPresignedUrlConfig(val interface{}) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Metadata that can be used to manage the job template. Tags() awscdk.TagManager // Specifies the amount of time each device has to finish its execution of the job. // // A timer is started when the job execution status is set to `IN_PROGRESS` . If the job execution status is not set to another terminal state before the timer expires, it will be automatically set to `TIMED_OUT` . TimeoutConfig() interface{} SetTimeoutConfig(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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::JobTemplate`.
Represents a job template.
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 abortConfig interface{} var jobExecutionsRetryConfig interface{} var jobExecutionsRolloutConfig interface{} var presignedUrlConfig interface{} var timeoutConfig interface{} cfnJobTemplate := awscdk.Aws_iot.NewCfnJobTemplate(this, jsii.String("MyCfnJobTemplate"), &cfnJobTemplateProps{ description: jsii.String("description"), jobTemplateId: jsii.String("jobTemplateId"), // the properties below are optional abortConfig: abortConfig, document: jsii.String("document"), documentSource: jsii.String("documentSource"), jobArn: jsii.String("jobArn"), jobExecutionsRetryConfig: jobExecutionsRetryConfig, jobExecutionsRolloutConfig: jobExecutionsRolloutConfig, presignedUrlConfig: presignedUrlConfig, tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, timeoutConfig: timeoutConfig, })
func NewCfnJobTemplate ¶
func NewCfnJobTemplate(scope constructs.Construct, id *string, props *CfnJobTemplateProps) CfnJobTemplate
Create a new `AWS::IoT::JobTemplate`.
type CfnJobTemplateProps ¶
type CfnJobTemplateProps struct { // A description of the job template. Description *string `field:"required" json:"description" yaml:"description"` // A unique identifier for the job template. // // We recommend using a UUID. Alpha-numeric characters, "-", and "_" are valid for use here. JobTemplateId *string `field:"required" json:"jobTemplateId" yaml:"jobTemplateId"` // The criteria that determine when and how a job abort takes place. AbortConfig interface{} `field:"optional" json:"abortConfig" yaml:"abortConfig"` // The job document. // // Required if you don't specify a value for `documentSource` . Document *string `field:"optional" json:"document" yaml:"document"` // An S3 link to the job document to use in the template. // // Required if you don't specify a value for `document` . // // > If the job document resides in an S3 bucket, you must use a placeholder link when specifying the document. // > // > The placeholder link is of the following form: // > // > `${aws:iot:s3-presigned-url:https://s3.amazonaws.com/ *bucket* / *key* }` // > // > where *bucket* is your bucket name and *key* is the object in the bucket to which you are linking. DocumentSource *string `field:"optional" json:"documentSource" yaml:"documentSource"` // The ARN of the job to use as the basis for the job template. JobArn *string `field:"optional" json:"jobArn" yaml:"jobArn"` // Allows you to create the criteria to retry a job. JobExecutionsRetryConfig interface{} `field:"optional" json:"jobExecutionsRetryConfig" yaml:"jobExecutionsRetryConfig"` // Allows you to create a staged rollout of a job. JobExecutionsRolloutConfig interface{} `field:"optional" json:"jobExecutionsRolloutConfig" yaml:"jobExecutionsRolloutConfig"` // Configuration for pre-signed S3 URLs. PresignedUrlConfig interface{} `field:"optional" json:"presignedUrlConfig" yaml:"presignedUrlConfig"` // Metadata that can be used to manage the job template. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // Specifies the amount of time each device has to finish its execution of the job. // // A timer is started when the job execution status is set to `IN_PROGRESS` . If the job execution status is not set to another terminal state before the timer expires, it will be automatically set to `TIMED_OUT` . TimeoutConfig interface{} `field:"optional" json:"timeoutConfig" yaml:"timeoutConfig"` }
Properties for defining a `CfnJobTemplate`.
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 abortConfig interface{} var jobExecutionsRetryConfig interface{} var jobExecutionsRolloutConfig interface{} var presignedUrlConfig interface{} var timeoutConfig interface{} cfnJobTemplateProps := &cfnJobTemplateProps{ description: jsii.String("description"), jobTemplateId: jsii.String("jobTemplateId"), // the properties below are optional abortConfig: abortConfig, document: jsii.String("document"), documentSource: jsii.String("documentSource"), jobArn: jsii.String("jobArn"), jobExecutionsRetryConfig: jobExecutionsRetryConfig, jobExecutionsRolloutConfig: jobExecutionsRolloutConfig, presignedUrlConfig: presignedUrlConfig, tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, timeoutConfig: timeoutConfig, }
type CfnLogging ¶
type CfnLogging interface { awscdk.CfnResource awscdk.IInspectable // The account ID. AccountId() *string SetAccountId(val *string) // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The default log level. // // Valid Values: `DEBUG | INFO | ERROR | WARN | DISABLED`. DefaultLogLevel() *string SetDefaultLogLevel(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 role ARN used for the log. 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 // 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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::Logging`.
Configure logging.
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" cfnLogging := awscdk.Aws_iot.NewCfnLogging(this, jsii.String("MyCfnLogging"), &cfnLoggingProps{ accountId: jsii.String("accountId"), defaultLogLevel: jsii.String("defaultLogLevel"), roleArn: jsii.String("roleArn"), })
func NewCfnLogging ¶
func NewCfnLogging(scope constructs.Construct, id *string, props *CfnLoggingProps) CfnLogging
Create a new `AWS::IoT::Logging`.
type CfnLoggingProps ¶
type CfnLoggingProps struct { // The account ID. AccountId *string `field:"required" json:"accountId" yaml:"accountId"` // The default log level. // // Valid Values: `DEBUG | INFO | ERROR | WARN | DISABLED`. DefaultLogLevel *string `field:"required" json:"defaultLogLevel" yaml:"defaultLogLevel"` // The role ARN used for the log. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` }
Properties for defining a `CfnLogging`.
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" cfnLoggingProps := &cfnLoggingProps{ accountId: jsii.String("accountId"), defaultLogLevel: jsii.String("defaultLogLevel"), roleArn: jsii.String("roleArn"), }
type CfnMitigationAction ¶
type CfnMitigationAction interface { awscdk.CfnResource awscdk.IInspectable // The friendly name of the mitigation action. ActionName() *string SetActionName(val *string) // The set of parameters for this mitigation action. // // The parameters vary, depending on the kind of action you apply. ActionParams() interface{} SetActionParams(val interface{}) // The Amazon Resource Name (ARN) of the mitigation action. AttrMitigationActionArn() *string // The ID of the mitigation action. AttrMitigationActionId() *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 IAM role ARN used to apply this mitigation action. 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 // Metadata that can be used to manage the mitigation action. Tags() awscdk.TagManager // 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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::MitigationAction`.
Defines an action that can be applied to audit findings by using StartAuditMitigationActionsTask. For API reference, see [CreateMitigationAction](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateMitigationAction.html) and for general information, see [Mitigation actions](https://docs.aws.amazon.com/iot/latest/developerguide/dd-mitigation-actions.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" cfnMitigationAction := awscdk.Aws_iot.NewCfnMitigationAction(this, jsii.String("MyCfnMitigationAction"), &cfnMitigationActionProps{ actionParams: &actionParamsProperty{ addThingsToThingGroupParams: &addThingsToThingGroupParamsProperty{ thingGroupNames: []*string{ jsii.String("thingGroupNames"), }, // the properties below are optional overrideDynamicGroups: jsii.Boolean(false), }, enableIoTLoggingParams: &enableIoTLoggingParamsProperty{ logLevel: jsii.String("logLevel"), roleArnForLogging: jsii.String("roleArnForLogging"), }, publishFindingToSnsParams: &publishFindingToSnsParamsProperty{ topicArn: jsii.String("topicArn"), }, replaceDefaultPolicyVersionParams: &replaceDefaultPolicyVersionParamsProperty{ templateName: jsii.String("templateName"), }, updateCaCertificateParams: &updateCACertificateParamsProperty{ action: jsii.String("action"), }, updateDeviceCertificateParams: &updateDeviceCertificateParamsProperty{ action: jsii.String("action"), }, }, roleArn: jsii.String("roleArn"), // the properties below are optional actionName: jsii.String("actionName"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, })
func NewCfnMitigationAction ¶
func NewCfnMitigationAction(scope constructs.Construct, id *string, props *CfnMitigationActionProps) CfnMitigationAction
Create a new `AWS::IoT::MitigationAction`.
type CfnMitigationActionProps ¶
type CfnMitigationActionProps struct { // The set of parameters for this mitigation action. // // The parameters vary, depending on the kind of action you apply. ActionParams interface{} `field:"required" json:"actionParams" yaml:"actionParams"` // The IAM role ARN used to apply this mitigation action. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // The friendly name of the mitigation action. ActionName *string `field:"optional" json:"actionName" yaml:"actionName"` // Metadata that can be used to manage the mitigation action. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnMitigationAction`.
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" cfnMitigationActionProps := &cfnMitigationActionProps{ actionParams: &actionParamsProperty{ addThingsToThingGroupParams: &addThingsToThingGroupParamsProperty{ thingGroupNames: []*string{ jsii.String("thingGroupNames"), }, // the properties below are optional overrideDynamicGroups: jsii.Boolean(false), }, enableIoTLoggingParams: &enableIoTLoggingParamsProperty{ logLevel: jsii.String("logLevel"), roleArnForLogging: jsii.String("roleArnForLogging"), }, publishFindingToSnsParams: &publishFindingToSnsParamsProperty{ topicArn: jsii.String("topicArn"), }, replaceDefaultPolicyVersionParams: &replaceDefaultPolicyVersionParamsProperty{ templateName: jsii.String("templateName"), }, updateCaCertificateParams: &updateCACertificateParamsProperty{ action: jsii.String("action"), }, updateDeviceCertificateParams: &updateDeviceCertificateParamsProperty{ action: jsii.String("action"), }, }, roleArn: jsii.String("roleArn"), // the properties below are optional actionName: jsii.String("actionName"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, }
type CfnMitigationAction_ActionParamsProperty ¶
type CfnMitigationAction_ActionParamsProperty struct { // Specifies the group to which you want to add the devices. AddThingsToThingGroupParams interface{} `field:"optional" json:"addThingsToThingGroupParams" yaml:"addThingsToThingGroupParams"` // Specifies the logging level and the role with permissions for logging. // // You cannot specify a logging level of `DISABLED` . EnableIoTLoggingParams interface{} `field:"optional" json:"enableIoTLoggingParams" yaml:"enableIoTLoggingParams"` // Specifies the topic to which the finding should be published. PublishFindingToSnsParams interface{} `field:"optional" json:"publishFindingToSnsParams" yaml:"publishFindingToSnsParams"` // Replaces the policy version with a default or blank policy. // // You specify the template name. Only a value of `BLANK_POLICY` is currently supported. ReplaceDefaultPolicyVersionParams interface{} `field:"optional" json:"replaceDefaultPolicyVersionParams" yaml:"replaceDefaultPolicyVersionParams"` // Specifies the new state for the CA certificate. // // Only a value of `DEACTIVATE` is currently supported. UpdateCaCertificateParams interface{} `field:"optional" json:"updateCaCertificateParams" yaml:"updateCaCertificateParams"` // Specifies the new state for a device certificate. // // Only a value of `DEACTIVATE` is currently supported. UpdateDeviceCertificateParams interface{} `field:"optional" json:"updateDeviceCertificateParams" yaml:"updateDeviceCertificateParams"` }
Defines the type of action and the parameters for that action.
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" actionParamsProperty := &actionParamsProperty{ addThingsToThingGroupParams: &addThingsToThingGroupParamsProperty{ thingGroupNames: []*string{ jsii.String("thingGroupNames"), }, // the properties below are optional overrideDynamicGroups: jsii.Boolean(false), }, enableIoTLoggingParams: &enableIoTLoggingParamsProperty{ logLevel: jsii.String("logLevel"), roleArnForLogging: jsii.String("roleArnForLogging"), }, publishFindingToSnsParams: &publishFindingToSnsParamsProperty{ topicArn: jsii.String("topicArn"), }, replaceDefaultPolicyVersionParams: &replaceDefaultPolicyVersionParamsProperty{ templateName: jsii.String("templateName"), }, updateCaCertificateParams: &updateCACertificateParamsProperty{ action: jsii.String("action"), }, updateDeviceCertificateParams: &updateDeviceCertificateParamsProperty{ action: jsii.String("action"), }, }
type CfnMitigationAction_AddThingsToThingGroupParamsProperty ¶
type CfnMitigationAction_AddThingsToThingGroupParamsProperty struct { // The list of groups to which you want to add the things that triggered the mitigation action. // // You can add a thing to a maximum of 10 groups, but you can't add a thing to more than one group in the same hierarchy. ThingGroupNames *[]*string `field:"required" json:"thingGroupNames" yaml:"thingGroupNames"` // Specifies if this mitigation action can move the things that triggered the mitigation action even if they are part of one or more dynamic thing groups. OverrideDynamicGroups interface{} `field:"optional" json:"overrideDynamicGroups" yaml:"overrideDynamicGroups"` }
Parameters used when defining a mitigation action that move a set of things to a thing group.
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" addThingsToThingGroupParamsProperty := &addThingsToThingGroupParamsProperty{ thingGroupNames: []*string{ jsii.String("thingGroupNames"), }, // the properties below are optional overrideDynamicGroups: jsii.Boolean(false), }
type CfnMitigationAction_EnableIoTLoggingParamsProperty ¶
type CfnMitigationAction_EnableIoTLoggingParamsProperty struct { // Specifies the type of information to be logged. LogLevel *string `field:"required" json:"logLevel" yaml:"logLevel"` // The Amazon Resource Name (ARN) of the IAM role used for logging. RoleArnForLogging *string `field:"required" json:"roleArnForLogging" yaml:"roleArnForLogging"` }
Parameters used when defining a mitigation action that enable AWS IoT Core logging.
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" enableIoTLoggingParamsProperty := &enableIoTLoggingParamsProperty{ logLevel: jsii.String("logLevel"), roleArnForLogging: jsii.String("roleArnForLogging"), }
type CfnMitigationAction_PublishFindingToSnsParamsProperty ¶
type CfnMitigationAction_PublishFindingToSnsParamsProperty struct { // The ARN of the topic to which you want to publish the findings. TopicArn *string `field:"required" json:"topicArn" yaml:"topicArn"` }
Parameters to define a mitigation action that publishes findings to Amazon SNS.
You can implement your own custom actions in response to the Amazon SNS messages.
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" publishFindingToSnsParamsProperty := &publishFindingToSnsParamsProperty{ topicArn: jsii.String("topicArn"), }
type CfnMitigationAction_ReplaceDefaultPolicyVersionParamsProperty ¶
type CfnMitigationAction_ReplaceDefaultPolicyVersionParamsProperty struct { // The name of the template to be applied. // // The only supported value is `BLANK_POLICY` . TemplateName *string `field:"required" json:"templateName" yaml:"templateName"` }
Parameters to define a mitigation action that adds a blank policy to restrict permissions.
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" replaceDefaultPolicyVersionParamsProperty := &replaceDefaultPolicyVersionParamsProperty{ templateName: jsii.String("templateName"), }
type CfnMitigationAction_UpdateCACertificateParamsProperty ¶
type CfnMitigationAction_UpdateCACertificateParamsProperty struct { // The action that you want to apply to the CA certificate. // // The only supported value is `DEACTIVATE` . Action *string `field:"required" json:"action" yaml:"action"` }
Parameters to define a mitigation action that changes the state of the CA certificate to inactive.
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" updateCACertificateParamsProperty := &updateCACertificateParamsProperty{ action: jsii.String("action"), }
type CfnMitigationAction_UpdateDeviceCertificateParamsProperty ¶
type CfnMitigationAction_UpdateDeviceCertificateParamsProperty struct { // The action that you want to apply to the device certificate. // // The only supported value is `DEACTIVATE` . Action *string `field:"required" json:"action" yaml:"action"` }
Parameters to define a mitigation action that changes the state of the device certificate to inactive.
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" updateDeviceCertificateParamsProperty := &updateDeviceCertificateParamsProperty{ action: jsii.String("action"), }
type CfnPolicy ¶
type CfnPolicy interface { awscdk.CfnResource awscdk.IInspectable // The Amazon Resource Name (ARN) of the AWS IoT policy, such as `arn:aws:iot:us-east-2:123456789012:policy/MyPolicy` . AttrArn() *string 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 // The JSON document that describes the policy. PolicyDocument() interface{} SetPolicyDocument(val interface{}) // The policy name. PolicyName() *string SetPolicyName(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // 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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::Policy`.
Use the `AWS::IoT::Policy` resource to declare an AWS IoT policy. For more information about working with AWS IoT policies, see [Authorization](https://docs.aws.amazon.com/iot/latest/developerguide/authorization.html) in the *AWS IoT 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 policyDocument interface{} cfnPolicy := awscdk.Aws_iot.NewCfnPolicy(this, jsii.String("MyCfnPolicy"), &cfnPolicyProps{ policyDocument: policyDocument, // the properties below are optional policyName: jsii.String("policyName"), })
func NewCfnPolicy ¶
func NewCfnPolicy(scope constructs.Construct, id *string, props *CfnPolicyProps) CfnPolicy
Create a new `AWS::IoT::Policy`.
type CfnPolicyPrincipalAttachment ¶
type CfnPolicyPrincipalAttachment interface { awscdk.CfnResource awscdk.IInspectable // 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 // The name of the AWS IoT policy. PolicyName() *string SetPolicyName(val *string) // The principal, which can be a certificate ARN (as returned from the `CreateCertificate` operation) or an Amazon Cognito ID. Principal() *string SetPrincipal(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // 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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::PolicyPrincipalAttachment`.
Use the `AWS::IoT::PolicyPrincipalAttachment` resource to attach an AWS IoT policy to a principal (an X.509 certificate or other credential).
For information about working with AWS IoT policies and principals, see [Authorization](https://docs.aws.amazon.com/iot/latest/developerguide/authorization.html) in the *AWS IoT 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" cfnPolicyPrincipalAttachment := awscdk.Aws_iot.NewCfnPolicyPrincipalAttachment(this, jsii.String("MyCfnPolicyPrincipalAttachment"), &cfnPolicyPrincipalAttachmentProps{ policyName: jsii.String("policyName"), principal: jsii.String("principal"), })
func NewCfnPolicyPrincipalAttachment ¶
func NewCfnPolicyPrincipalAttachment(scope constructs.Construct, id *string, props *CfnPolicyPrincipalAttachmentProps) CfnPolicyPrincipalAttachment
Create a new `AWS::IoT::PolicyPrincipalAttachment`.
type CfnPolicyPrincipalAttachmentProps ¶
type CfnPolicyPrincipalAttachmentProps struct { // The name of the AWS IoT policy. PolicyName *string `field:"required" json:"policyName" yaml:"policyName"` // The principal, which can be a certificate ARN (as returned from the `CreateCertificate` operation) or an Amazon Cognito ID. Principal *string `field:"required" json:"principal" yaml:"principal"` }
Properties for defining a `CfnPolicyPrincipalAttachment`.
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" cfnPolicyPrincipalAttachmentProps := &cfnPolicyPrincipalAttachmentProps{ policyName: jsii.String("policyName"), principal: jsii.String("principal"), }
type CfnPolicyProps ¶
type CfnPolicyProps struct { // The JSON document that describes the policy. PolicyDocument interface{} `field:"required" json:"policyDocument" yaml:"policyDocument"` // The policy name. PolicyName *string `field:"optional" json:"policyName" yaml:"policyName"` }
Properties for defining a `CfnPolicy`.
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 policyDocument interface{} cfnPolicyProps := &cfnPolicyProps{ policyDocument: policyDocument, // the properties below are optional policyName: jsii.String("policyName"), }
type CfnProvisioningTemplate ¶
type CfnProvisioningTemplate interface { awscdk.CfnResource awscdk.IInspectable // The ARN that identifies the provisioning template. AttrTemplateArn() *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 description of the fleet provisioning template. Description() *string SetDescription(val *string) // True to enable the fleet provisioning template, otherwise false. Enabled() interface{} SetEnabled(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 // Creates a pre-provisioning hook template. PreProvisioningHook() interface{} SetPreProvisioningHook(val interface{}) // The role ARN for the role associated with the fleet provisioning template. // // This IoT role grants permission to provision a device. ProvisioningRoleArn() *string SetProvisioningRoleArn(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Metadata that can be used to manage the fleet provisioning template. Tags() awscdk.TagManager // The JSON formatted contents of the fleet provisioning template version. TemplateBody() *string SetTemplateBody(val *string) // The name of the fleet provisioning template. TemplateName() *string SetTemplateName(val *string) // `AWS::IoT::ProvisioningTemplate.TemplateType`. TemplateType() *string SetTemplateType(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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::ProvisioningTemplate`.
Creates a fleet provisioning template.
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" cfnProvisioningTemplate := awscdk.Aws_iot.NewCfnProvisioningTemplate(this, jsii.String("MyCfnProvisioningTemplate"), &cfnProvisioningTemplateProps{ provisioningRoleArn: jsii.String("provisioningRoleArn"), templateBody: jsii.String("templateBody"), // the properties below are optional description: jsii.String("description"), enabled: jsii.Boolean(false), preProvisioningHook: &provisioningHookProperty{ payloadVersion: jsii.String("payloadVersion"), targetArn: jsii.String("targetArn"), }, tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, templateName: jsii.String("templateName"), templateType: jsii.String("templateType"), })
func NewCfnProvisioningTemplate ¶
func NewCfnProvisioningTemplate(scope constructs.Construct, id *string, props *CfnProvisioningTemplateProps) CfnProvisioningTemplate
Create a new `AWS::IoT::ProvisioningTemplate`.
type CfnProvisioningTemplateProps ¶
type CfnProvisioningTemplateProps struct { // The role ARN for the role associated with the fleet provisioning template. // // This IoT role grants permission to provision a device. ProvisioningRoleArn *string `field:"required" json:"provisioningRoleArn" yaml:"provisioningRoleArn"` // The JSON formatted contents of the fleet provisioning template version. TemplateBody *string `field:"required" json:"templateBody" yaml:"templateBody"` // The description of the fleet provisioning template. Description *string `field:"optional" json:"description" yaml:"description"` // True to enable the fleet provisioning template, otherwise false. Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"` // Creates a pre-provisioning hook template. PreProvisioningHook interface{} `field:"optional" json:"preProvisioningHook" yaml:"preProvisioningHook"` // Metadata that can be used to manage the fleet provisioning template. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // The name of the fleet provisioning template. TemplateName *string `field:"optional" json:"templateName" yaml:"templateName"` // `AWS::IoT::ProvisioningTemplate.TemplateType`. TemplateType *string `field:"optional" json:"templateType" yaml:"templateType"` }
Properties for defining a `CfnProvisioningTemplate`.
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" cfnProvisioningTemplateProps := &cfnProvisioningTemplateProps{ provisioningRoleArn: jsii.String("provisioningRoleArn"), templateBody: jsii.String("templateBody"), // the properties below are optional description: jsii.String("description"), enabled: jsii.Boolean(false), preProvisioningHook: &provisioningHookProperty{ payloadVersion: jsii.String("payloadVersion"), targetArn: jsii.String("targetArn"), }, tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, templateName: jsii.String("templateName"), templateType: jsii.String("templateType"), }
type CfnProvisioningTemplate_ProvisioningHookProperty ¶
type CfnProvisioningTemplate_ProvisioningHookProperty struct { // The payload that was sent to the target function. // // The valid payload is `"2020-04-01"` . PayloadVersion *string `field:"optional" json:"payloadVersion" yaml:"payloadVersion"` // The ARN of the target function. TargetArn *string `field:"optional" json:"targetArn" yaml:"targetArn"` }
Structure that contains payloadVersion and targetArn.
Provisioning hooks can be used when fleet provisioning to validate device parameters before allowing the device to be provisioned.
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" provisioningHookProperty := &provisioningHookProperty{ payloadVersion: jsii.String("payloadVersion"), targetArn: jsii.String("targetArn"), }
type CfnResourceSpecificLogging ¶
type CfnResourceSpecificLogging interface { awscdk.CfnResource awscdk.IInspectable // The target Id. AttrTargetId() *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 default log level.Valid Values: `DEBUG | INFO | ERROR | WARN | DISABLED`. LogLevel() *string SetLogLevel(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 // The target name. TargetName() *string SetTargetName(val *string) // The target type. // // Valid Values: `DEFAULT | THING_GROUP`. TargetType() *string SetTargetType(val *string) // Deprecated. // Deprecated: use `updatedProperties` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // 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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::ResourceSpecificLogging`.
Configure resource-specific logging.
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" cfnResourceSpecificLogging := awscdk.Aws_iot.NewCfnResourceSpecificLogging(this, jsii.String("MyCfnResourceSpecificLogging"), &cfnResourceSpecificLoggingProps{ logLevel: jsii.String("logLevel"), targetName: jsii.String("targetName"), targetType: jsii.String("targetType"), })
func NewCfnResourceSpecificLogging ¶
func NewCfnResourceSpecificLogging(scope constructs.Construct, id *string, props *CfnResourceSpecificLoggingProps) CfnResourceSpecificLogging
Create a new `AWS::IoT::ResourceSpecificLogging`.
type CfnResourceSpecificLoggingProps ¶
type CfnResourceSpecificLoggingProps struct { // The default log level.Valid Values: `DEBUG | INFO | ERROR | WARN | DISABLED`. LogLevel *string `field:"required" json:"logLevel" yaml:"logLevel"` // The target name. TargetName *string `field:"required" json:"targetName" yaml:"targetName"` // The target type. // // Valid Values: `DEFAULT | THING_GROUP`. TargetType *string `field:"required" json:"targetType" yaml:"targetType"` }
Properties for defining a `CfnResourceSpecificLogging`.
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" cfnResourceSpecificLoggingProps := &cfnResourceSpecificLoggingProps{ logLevel: jsii.String("logLevel"), targetName: jsii.String("targetName"), targetType: jsii.String("targetType"), }
type CfnRoleAlias ¶ added in v2.25.0
type CfnRoleAlias interface { awscdk.CfnResource awscdk.IInspectable // The role alias ARN. AttrRoleAliasArn() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // The number of seconds for which the credential is valid. CredentialDurationSeconds() *float64 SetCredentialDurationSeconds(val *float64) // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use `overrideLogicalId(newLogicalId)`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The role alias. RoleAlias() *string SetRoleAlias(val *string) // The role ARN. 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 // An array of key-value pairs to apply to this resource. // // For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . Tags() awscdk.TagManager // 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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::RoleAlias`.
Specifies a role alias.
Requires permission to access the [CreateRoleAlias](https://docs.aws.amazon.com//service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions) action.
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" cfnRoleAlias := awscdk.Aws_iot.NewCfnRoleAlias(this, jsii.String("MyCfnRoleAlias"), &cfnRoleAliasProps{ roleArn: jsii.String("roleArn"), // the properties below are optional credentialDurationSeconds: jsii.Number(123), roleAlias: jsii.String("roleAlias"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, })
func NewCfnRoleAlias ¶ added in v2.25.0
func NewCfnRoleAlias(scope constructs.Construct, id *string, props *CfnRoleAliasProps) CfnRoleAlias
Create a new `AWS::IoT::RoleAlias`.
type CfnRoleAliasProps ¶ added in v2.25.0
type CfnRoleAliasProps struct { // The role ARN. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // The number of seconds for which the credential is valid. CredentialDurationSeconds *float64 `field:"optional" json:"credentialDurationSeconds" yaml:"credentialDurationSeconds"` // The role alias. RoleAlias *string `field:"optional" json:"roleAlias" yaml:"roleAlias"` // An array of key-value pairs to apply to this resource. // // For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnRoleAlias`.
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" cfnRoleAliasProps := &cfnRoleAliasProps{ roleArn: jsii.String("roleArn"), // the properties below are optional credentialDurationSeconds: jsii.Number(123), roleAlias: jsii.String("roleAlias"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, }
type CfnScheduledAudit ¶
type CfnScheduledAudit interface { awscdk.CfnResource awscdk.IInspectable // The ARN of the scheduled audit. AttrScheduledAuditArn() *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 day of the month on which the scheduled audit is run (if the `frequency` is "MONTHLY"). // // If days 29-31 are specified, and the month does not have that many days, the audit takes place on the "LAST" day of the month. DayOfMonth() *string SetDayOfMonth(val *string) // The day of the week on which the scheduled audit is run (if the `frequency` is "WEEKLY" or "BIWEEKLY"). DayOfWeek() *string SetDayOfWeek(val *string) // How often the scheduled audit occurs. Frequency() *string SetFrequency(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 name of the scheduled audit. ScheduledAuditName() *string SetScheduledAuditName(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Metadata that can be used to manage the scheduled audit. Tags() awscdk.TagManager // Which checks are performed during the scheduled audit. // // Checks must be enabled for your account. (Use `DescribeAccountAuditConfiguration` to see the list of all checks, including those that are enabled or use `UpdateAccountAuditConfiguration` to select which checks are enabled.) // // The following checks are currently aviable: // // - `AUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK` // - `CA_CERTIFICATE_EXPIRING_CHECK` // - `CA_CERTIFICATE_KEY_QUALITY_CHECK` // - `CONFLICTING_CLIENT_IDS_CHECK` // - `DEVICE_CERTIFICATE_EXPIRING_CHECK` // - `DEVICE_CERTIFICATE_KEY_QUALITY_CHECK` // - `DEVICE_CERTIFICATE_SHARED_CHECK` // - `IOT_POLICY_OVERLY_PERMISSIVE_CHECK` // - `IOT_ROLE_ALIAS_ALLOWS_ACCESS_TO_UNUSED_SERVICES_CHECK` // - `IOT_ROLE_ALIAS_OVERLY_PERMISSIVE_CHECK` // - `LOGGING_DISABLED_CHECK` // - `REVOKED_CA_CERTIFICATE_STILL_ACTIVE_CHECK` // - `REVOKED_DEVICE_CERTIFICATE_STILL_ACTIVE_CHECK` // - `UNAUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK`. TargetCheckNames() *[]*string SetTargetCheckNames(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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::ScheduledAudit`.
Use the `AWS::IoT::ScheduledAudit` resource to create a scheduled audit that is run at a specified time interval. For API reference, see [CreateScheduleAudit](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateScheduledAudit.html) and for general information, see [Audit](https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-audit.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" cfnScheduledAudit := awscdk.Aws_iot.NewCfnScheduledAudit(this, jsii.String("MyCfnScheduledAudit"), &cfnScheduledAuditProps{ frequency: jsii.String("frequency"), targetCheckNames: []*string{ jsii.String("targetCheckNames"), }, // the properties below are optional dayOfMonth: jsii.String("dayOfMonth"), dayOfWeek: jsii.String("dayOfWeek"), scheduledAuditName: jsii.String("scheduledAuditName"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, })
func NewCfnScheduledAudit ¶
func NewCfnScheduledAudit(scope constructs.Construct, id *string, props *CfnScheduledAuditProps) CfnScheduledAudit
Create a new `AWS::IoT::ScheduledAudit`.
type CfnScheduledAuditProps ¶
type CfnScheduledAuditProps struct { // How often the scheduled audit occurs. Frequency *string `field:"required" json:"frequency" yaml:"frequency"` // Which checks are performed during the scheduled audit. // // Checks must be enabled for your account. (Use `DescribeAccountAuditConfiguration` to see the list of all checks, including those that are enabled or use `UpdateAccountAuditConfiguration` to select which checks are enabled.) // // The following checks are currently aviable: // // - `AUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK` // - `CA_CERTIFICATE_EXPIRING_CHECK` // - `CA_CERTIFICATE_KEY_QUALITY_CHECK` // - `CONFLICTING_CLIENT_IDS_CHECK` // - `DEVICE_CERTIFICATE_EXPIRING_CHECK` // - `DEVICE_CERTIFICATE_KEY_QUALITY_CHECK` // - `DEVICE_CERTIFICATE_SHARED_CHECK` // - `IOT_POLICY_OVERLY_PERMISSIVE_CHECK` // - `IOT_ROLE_ALIAS_ALLOWS_ACCESS_TO_UNUSED_SERVICES_CHECK` // - `IOT_ROLE_ALIAS_OVERLY_PERMISSIVE_CHECK` // - `LOGGING_DISABLED_CHECK` // - `REVOKED_CA_CERTIFICATE_STILL_ACTIVE_CHECK` // - `REVOKED_DEVICE_CERTIFICATE_STILL_ACTIVE_CHECK` // - `UNAUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK`. TargetCheckNames *[]*string `field:"required" json:"targetCheckNames" yaml:"targetCheckNames"` // The day of the month on which the scheduled audit is run (if the `frequency` is "MONTHLY"). // // If days 29-31 are specified, and the month does not have that many days, the audit takes place on the "LAST" day of the month. DayOfMonth *string `field:"optional" json:"dayOfMonth" yaml:"dayOfMonth"` // The day of the week on which the scheduled audit is run (if the `frequency` is "WEEKLY" or "BIWEEKLY"). DayOfWeek *string `field:"optional" json:"dayOfWeek" yaml:"dayOfWeek"` // The name of the scheduled audit. ScheduledAuditName *string `field:"optional" json:"scheduledAuditName" yaml:"scheduledAuditName"` // Metadata that can be used to manage the scheduled audit. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnScheduledAudit`.
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" cfnScheduledAuditProps := &cfnScheduledAuditProps{ frequency: jsii.String("frequency"), targetCheckNames: []*string{ jsii.String("targetCheckNames"), }, // the properties below are optional dayOfMonth: jsii.String("dayOfMonth"), dayOfWeek: jsii.String("dayOfWeek"), scheduledAuditName: jsii.String("scheduledAuditName"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, }
type CfnSecurityProfile ¶
type CfnSecurityProfile interface { awscdk.CfnResource awscdk.IInspectable // A list of metrics whose data is retained (stored). // // By default, data is retained for any metric used in the profile's `behaviors` , but it's also retained for any metric specified here. Can be used with custom metrics; can't be used with dimensions. AdditionalMetricsToRetainV2() interface{} SetAdditionalMetricsToRetainV2(val interface{}) // Specifies the destinations to which alerts are sent. // // (Alerts are always sent to the console.) Alerts are generated when a device (thing) violates a behavior. AlertTargets() interface{} SetAlertTargets(val interface{}) // The Amazon Resource Name (ARN) of the security profile. AttrSecurityProfileArn() *string // Specifies the behaviors that, when violated by a device (thing), cause an alert. Behaviors() interface{} SetBehaviors(val interface{}) // 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 // A description of the security profile. SecurityProfileDescription() *string SetSecurityProfileDescription(val *string) // The name you gave to the security profile. SecurityProfileName() *string SetSecurityProfileName(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Metadata that can be used to manage the security profile. Tags() awscdk.TagManager // The ARN of the target (thing group) to which the security profile is attached. TargetArns() *[]*string SetTargetArns(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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::SecurityProfile`.
Use the `AWS::IoT::SecurityProfile` resource to create a Device Defender security profile. For API reference, see [CreateSecurityProfile](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateSecurityProfile.html) and for general information, see [Detect](https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-detect.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" cfnSecurityProfile := awscdk.Aws_iot.NewCfnSecurityProfile(this, jsii.String("MyCfnSecurityProfile"), &cfnSecurityProfileProps{ additionalMetricsToRetainV2: []interface{}{ &metricToRetainProperty{ metric: jsii.String("metric"), // the properties below are optional metricDimension: &metricDimensionProperty{ dimensionName: jsii.String("dimensionName"), // the properties below are optional operator: jsii.String("operator"), }, }, }, alertTargets: map[string]interface{}{ "alertTargetsKey": &AlertTargetProperty{ "alertTargetArn": jsii.String("alertTargetArn"), "roleArn": jsii.String("roleArn"), }, }, behaviors: []interface{}{ &behaviorProperty{ name: jsii.String("name"), // the properties below are optional criteria: &behaviorCriteriaProperty{ comparisonOperator: jsii.String("comparisonOperator"), consecutiveDatapointsToAlarm: jsii.Number(123), consecutiveDatapointsToClear: jsii.Number(123), durationSeconds: jsii.Number(123), mlDetectionConfig: &machineLearningDetectionConfigProperty{ confidenceLevel: jsii.String("confidenceLevel"), }, statisticalThreshold: &statisticalThresholdProperty{ statistic: jsii.String("statistic"), }, value: &metricValueProperty{ cidrs: []*string{ jsii.String("cidrs"), }, count: jsii.String("count"), number: jsii.Number(123), numbers: []interface{}{ jsii.Number(123), }, ports: []interface{}{ jsii.Number(123), }, strings: []*string{ jsii.String("strings"), }, }, }, metric: jsii.String("metric"), metricDimension: &metricDimensionProperty{ dimensionName: jsii.String("dimensionName"), // the properties below are optional operator: jsii.String("operator"), }, suppressAlerts: jsii.Boolean(false), }, }, securityProfileDescription: jsii.String("securityProfileDescription"), securityProfileName: jsii.String("securityProfileName"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, targetArns: []*string{ jsii.String("targetArns"), }, })
func NewCfnSecurityProfile ¶
func NewCfnSecurityProfile(scope constructs.Construct, id *string, props *CfnSecurityProfileProps) CfnSecurityProfile
Create a new `AWS::IoT::SecurityProfile`.
type CfnSecurityProfileProps ¶
type CfnSecurityProfileProps struct { // A list of metrics whose data is retained (stored). // // By default, data is retained for any metric used in the profile's `behaviors` , but it's also retained for any metric specified here. Can be used with custom metrics; can't be used with dimensions. AdditionalMetricsToRetainV2 interface{} `field:"optional" json:"additionalMetricsToRetainV2" yaml:"additionalMetricsToRetainV2"` // Specifies the destinations to which alerts are sent. // // (Alerts are always sent to the console.) Alerts are generated when a device (thing) violates a behavior. AlertTargets interface{} `field:"optional" json:"alertTargets" yaml:"alertTargets"` // Specifies the behaviors that, when violated by a device (thing), cause an alert. Behaviors interface{} `field:"optional" json:"behaviors" yaml:"behaviors"` // A description of the security profile. SecurityProfileDescription *string `field:"optional" json:"securityProfileDescription" yaml:"securityProfileDescription"` // The name you gave to the security profile. SecurityProfileName *string `field:"optional" json:"securityProfileName" yaml:"securityProfileName"` // Metadata that can be used to manage the security profile. Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` // The ARN of the target (thing group) to which the security profile is attached. TargetArns *[]*string `field:"optional" json:"targetArns" yaml:"targetArns"` }
Properties for defining a `CfnSecurityProfile`.
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" cfnSecurityProfileProps := &cfnSecurityProfileProps{ additionalMetricsToRetainV2: []interface{}{ &metricToRetainProperty{ metric: jsii.String("metric"), // the properties below are optional metricDimension: &metricDimensionProperty{ dimensionName: jsii.String("dimensionName"), // the properties below are optional operator: jsii.String("operator"), }, }, }, alertTargets: map[string]interface{}{ "alertTargetsKey": &AlertTargetProperty{ "alertTargetArn": jsii.String("alertTargetArn"), "roleArn": jsii.String("roleArn"), }, }, behaviors: []interface{}{ &behaviorProperty{ name: jsii.String("name"), // the properties below are optional criteria: &behaviorCriteriaProperty{ comparisonOperator: jsii.String("comparisonOperator"), consecutiveDatapointsToAlarm: jsii.Number(123), consecutiveDatapointsToClear: jsii.Number(123), durationSeconds: jsii.Number(123), mlDetectionConfig: &machineLearningDetectionConfigProperty{ confidenceLevel: jsii.String("confidenceLevel"), }, statisticalThreshold: &statisticalThresholdProperty{ statistic: jsii.String("statistic"), }, value: &metricValueProperty{ cidrs: []*string{ jsii.String("cidrs"), }, count: jsii.String("count"), number: jsii.Number(123), numbers: []interface{}{ jsii.Number(123), }, ports: []interface{}{ jsii.Number(123), }, strings: []*string{ jsii.String("strings"), }, }, }, metric: jsii.String("metric"), metricDimension: &metricDimensionProperty{ dimensionName: jsii.String("dimensionName"), // the properties below are optional operator: jsii.String("operator"), }, suppressAlerts: jsii.Boolean(false), }, }, securityProfileDescription: jsii.String("securityProfileDescription"), securityProfileName: jsii.String("securityProfileName"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, targetArns: []*string{ jsii.String("targetArns"), }, }
type CfnSecurityProfile_AlertTargetProperty ¶
type CfnSecurityProfile_AlertTargetProperty struct { // The Amazon Resource Name (ARN) of the notification target to which alerts are sent. AlertTargetArn *string `field:"required" json:"alertTargetArn" yaml:"alertTargetArn"` // The ARN of the role that grants permission to send alerts to the notification target. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` }
A structure containing the alert target ARN and the role ARN.
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" alertTargetProperty := &alertTargetProperty{ alertTargetArn: jsii.String("alertTargetArn"), roleArn: jsii.String("roleArn"), }
type CfnSecurityProfile_BehaviorCriteriaProperty ¶
type CfnSecurityProfile_BehaviorCriteriaProperty struct { // The operator that relates the thing measured ( `metric` ) to the criteria (containing a `value` or `statisticalThreshold` ). // // Valid operators include: // // - `string-list` : `in-set` and `not-in-set` // - `number-list` : `in-set` and `not-in-set` // - `ip-address-list` : `in-cidr-set` and `not-in-cidr-set` // - `number` : `less-than` , `less-than-equals` , `greater-than` , and `greater-than-equals`. ComparisonOperator *string `field:"optional" json:"comparisonOperator" yaml:"comparisonOperator"` // If a device is in violation of the behavior for the specified number of consecutive datapoints, an alarm occurs. // // If not specified, the default is 1. ConsecutiveDatapointsToAlarm *float64 `field:"optional" json:"consecutiveDatapointsToAlarm" yaml:"consecutiveDatapointsToAlarm"` // If an alarm has occurred and the offending device is no longer in violation of the behavior for the specified number of consecutive datapoints, the alarm is cleared. // // If not specified, the default is 1. ConsecutiveDatapointsToClear *float64 `field:"optional" json:"consecutiveDatapointsToClear" yaml:"consecutiveDatapointsToClear"` // Use this to specify the time duration over which the behavior is evaluated, for those criteria that have a time dimension (for example, `NUM_MESSAGES_SENT` ). // // For a `statisticalThreshhold` metric comparison, measurements from all devices are accumulated over this time duration before being used to calculate percentiles, and later, measurements from an individual device are also accumulated over this time duration before being given a percentile rank. Cannot be used with list-based metric datatypes. DurationSeconds *float64 `field:"optional" json:"durationSeconds" yaml:"durationSeconds"` // The confidence level of the detection model. MlDetectionConfig interface{} `field:"optional" json:"mlDetectionConfig" yaml:"mlDetectionConfig"` // A statistical ranking (percentile)that indicates a threshold value by which a behavior is determined to be in compliance or in violation of the behavior. StatisticalThreshold interface{} `field:"optional" json:"statisticalThreshold" yaml:"statisticalThreshold"` // The value to be compared with the `metric` . Value interface{} `field:"optional" json:"value" yaml:"value"` }
The criteria by which the behavior is determined to be normal.
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" behaviorCriteriaProperty := &behaviorCriteriaProperty{ comparisonOperator: jsii.String("comparisonOperator"), consecutiveDatapointsToAlarm: jsii.Number(123), consecutiveDatapointsToClear: jsii.Number(123), durationSeconds: jsii.Number(123), mlDetectionConfig: &machineLearningDetectionConfigProperty{ confidenceLevel: jsii.String("confidenceLevel"), }, statisticalThreshold: &statisticalThresholdProperty{ statistic: jsii.String("statistic"), }, value: &metricValueProperty{ cidrs: []*string{ jsii.String("cidrs"), }, count: jsii.String("count"), number: jsii.Number(123), numbers: []interface{}{ jsii.Number(123), }, ports: []interface{}{ jsii.Number(123), }, strings: []*string{ jsii.String("strings"), }, }, }
type CfnSecurityProfile_BehaviorProperty ¶
type CfnSecurityProfile_BehaviorProperty struct { // The name you've given to the behavior. Name *string `field:"required" json:"name" yaml:"name"` // The criteria that determine if a device is behaving normally in regard to the `metric` . Criteria interface{} `field:"optional" json:"criteria" yaml:"criteria"` // What is measured by the behavior. Metric *string `field:"optional" json:"metric" yaml:"metric"` // The dimension of the metric. MetricDimension interface{} `field:"optional" json:"metricDimension" yaml:"metricDimension"` // The alert status. // // If you set the value to `true` , alerts will be suppressed. SuppressAlerts interface{} `field:"optional" json:"suppressAlerts" yaml:"suppressAlerts"` }
A Device Defender security profile behavior.
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" behaviorProperty := &behaviorProperty{ name: jsii.String("name"), // the properties below are optional criteria: &behaviorCriteriaProperty{ comparisonOperator: jsii.String("comparisonOperator"), consecutiveDatapointsToAlarm: jsii.Number(123), consecutiveDatapointsToClear: jsii.Number(123), durationSeconds: jsii.Number(123), mlDetectionConfig: &machineLearningDetectionConfigProperty{ confidenceLevel: jsii.String("confidenceLevel"), }, statisticalThreshold: &statisticalThresholdProperty{ statistic: jsii.String("statistic"), }, value: &metricValueProperty{ cidrs: []*string{ jsii.String("cidrs"), }, count: jsii.String("count"), number: jsii.Number(123), numbers: []interface{}{ jsii.Number(123), }, ports: []interface{}{ jsii.Number(123), }, strings: []*string{ jsii.String("strings"), }, }, }, metric: jsii.String("metric"), metricDimension: &metricDimensionProperty{ dimensionName: jsii.String("dimensionName"), // the properties below are optional operator: jsii.String("operator"), }, suppressAlerts: jsii.Boolean(false), }
type CfnSecurityProfile_MachineLearningDetectionConfigProperty ¶
type CfnSecurityProfile_MachineLearningDetectionConfigProperty struct { // The model confidence level. // // There are three levels of confidence, `"high"` , `"medium"` , and `"low"` . // // The higher the confidence level, the lower the sensitivity, and the lower the alarm frequency will be. ConfidenceLevel *string `field:"optional" json:"confidenceLevel" yaml:"confidenceLevel"` }
The `MachineLearningDetectionConfig` property type controls confidence of the machine learning model.
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" machineLearningDetectionConfigProperty := &machineLearningDetectionConfigProperty{ confidenceLevel: jsii.String("confidenceLevel"), }
type CfnSecurityProfile_MetricDimensionProperty ¶
type CfnSecurityProfile_MetricDimensionProperty struct { // The name of the dimension. DimensionName *string `field:"required" json:"dimensionName" yaml:"dimensionName"` // Operators are constructs that perform logical operations. // // Valid values are `IN` and `NOT_IN` . Operator *string `field:"optional" json:"operator" yaml:"operator"` }
The dimension of the metric.
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" metricDimensionProperty := &metricDimensionProperty{ dimensionName: jsii.String("dimensionName"), // the properties below are optional operator: jsii.String("operator"), }
type CfnSecurityProfile_MetricToRetainProperty ¶
type CfnSecurityProfile_MetricToRetainProperty struct { // A standard of measurement. Metric *string `field:"required" json:"metric" yaml:"metric"` // The dimension of the metric. MetricDimension interface{} `field:"optional" json:"metricDimension" yaml:"metricDimension"` }
The metric you want to retain.
Dimensions are optional.
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" metricToRetainProperty := &metricToRetainProperty{ metric: jsii.String("metric"), // the properties below are optional metricDimension: &metricDimensionProperty{ dimensionName: jsii.String("dimensionName"), // the properties below are optional operator: jsii.String("operator"), }, }
type CfnSecurityProfile_MetricValueProperty ¶
type CfnSecurityProfile_MetricValueProperty struct { // If the `comparisonOperator` calls for a set of CIDRs, use this to specify that set to be compared with the `metric` . Cidrs *[]*string `field:"optional" json:"cidrs" yaml:"cidrs"` // If the `comparisonOperator` calls for a numeric value, use this to specify that numeric value to be compared with the `metric` . Count *string `field:"optional" json:"count" yaml:"count"` // The numeric values of a metric. Number *float64 `field:"optional" json:"number" yaml:"number"` // The numeric value of a metric. Numbers interface{} `field:"optional" json:"numbers" yaml:"numbers"` // If the `comparisonOperator` calls for a set of ports, use this to specify that set to be compared with the `metric` . Ports interface{} `field:"optional" json:"ports" yaml:"ports"` // The string values of a metric. Strings *[]*string `field:"optional" json:"strings" yaml:"strings"` }
The value to be compared with the `metric` .
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" metricValueProperty := &metricValueProperty{ cidrs: []*string{ jsii.String("cidrs"), }, count: jsii.String("count"), number: jsii.Number(123), numbers: []interface{}{ jsii.Number(123), }, ports: []interface{}{ jsii.Number(123), }, strings: []*string{ jsii.String("strings"), }, }
type CfnSecurityProfile_StatisticalThresholdProperty ¶
type CfnSecurityProfile_StatisticalThresholdProperty struct { // The percentile that resolves to a threshold value by which compliance with a behavior is determined. // // Metrics are collected over the specified period ( `durationSeconds` ) from all reporting devices in your account and statistical ranks are calculated. Then, the measurements from a device are collected over the same period. If the accumulated measurements from the device fall above or below ( `comparisonOperator` ) the value associated with the percentile specified, then the device is considered to be in compliance with the behavior, otherwise a violation occurs. Statistic *string `field:"optional" json:"statistic" yaml:"statistic"` }
A statistical ranking (percentile) that indicates a threshold value by which a behavior is determined to be in compliance or in violation of the behavior.
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" statisticalThresholdProperty := &statisticalThresholdProperty{ statistic: jsii.String("statistic"), }
type CfnThing ¶
type CfnThing interface { awscdk.CfnResource awscdk.IInspectable // A string that contains up to three key value pairs. // // Maximum length of 800. Duplicates not allowed. AttributePayload() interface{} SetAttributePayload(val interface{}) // 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 name of the thing to update. // // You can't change a thing's name. To change a thing's name, you must create a new thing, give it the new name, and then delete the old thing. ThingName() *string SetThingName(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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::Thing`.
Use the `AWS::IoT::Thing` resource to declare an AWS IoT thing.
For information about working with things, see [How AWS IoT Works](https://docs.aws.amazon.com/iot/latest/developerguide/aws-iot-how-it-works.html) and [Device Registry for AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html) in the *AWS IoT 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" cfnThing := awscdk.Aws_iot.NewCfnThing(this, jsii.String("MyCfnThing"), &cfnThingProps{ attributePayload: &attributePayloadProperty{ attributes: map[string]*string{ "attributesKey": jsii.String("attributes"), }, }, thingName: jsii.String("thingName"), })
func NewCfnThing ¶
func NewCfnThing(scope constructs.Construct, id *string, props *CfnThingProps) CfnThing
Create a new `AWS::IoT::Thing`.
type CfnThingPrincipalAttachment ¶
type CfnThingPrincipalAttachment interface { awscdk.CfnResource awscdk.IInspectable // 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 // The principal, which can be a certificate ARN (as returned from the `CreateCertificate` operation) or an Amazon Cognito ID. Principal() *string SetPrincipal(val *string) // Return a string that will be resolved to a CloudFormation `{ Ref }` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // The name of the AWS IoT thing. ThingName() *string SetThingName(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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::ThingPrincipalAttachment`.
Use the `AWS::IoT::ThingPrincipalAttachment` resource to attach a principal (an X.509 certificate or another credential) to a thing.
For more information about working with AWS IoT things and principals, see [Authorization](https://docs.aws.amazon.com/iot/latest/developerguide/authorization.html) in the *AWS IoT 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" cfnThingPrincipalAttachment := awscdk.Aws_iot.NewCfnThingPrincipalAttachment(this, jsii.String("MyCfnThingPrincipalAttachment"), &cfnThingPrincipalAttachmentProps{ principal: jsii.String("principal"), thingName: jsii.String("thingName"), })
func NewCfnThingPrincipalAttachment ¶
func NewCfnThingPrincipalAttachment(scope constructs.Construct, id *string, props *CfnThingPrincipalAttachmentProps) CfnThingPrincipalAttachment
Create a new `AWS::IoT::ThingPrincipalAttachment`.
type CfnThingPrincipalAttachmentProps ¶
type CfnThingPrincipalAttachmentProps struct { // The principal, which can be a certificate ARN (as returned from the `CreateCertificate` operation) or an Amazon Cognito ID. Principal *string `field:"required" json:"principal" yaml:"principal"` // The name of the AWS IoT thing. ThingName *string `field:"required" json:"thingName" yaml:"thingName"` }
Properties for defining a `CfnThingPrincipalAttachment`.
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" cfnThingPrincipalAttachmentProps := &cfnThingPrincipalAttachmentProps{ principal: jsii.String("principal"), thingName: jsii.String("thingName"), }
type CfnThingProps ¶
type CfnThingProps struct { // A string that contains up to three key value pairs. // // Maximum length of 800. Duplicates not allowed. AttributePayload interface{} `field:"optional" json:"attributePayload" yaml:"attributePayload"` // The name of the thing to update. // // You can't change a thing's name. To change a thing's name, you must create a new thing, give it the new name, and then delete the old thing. ThingName *string `field:"optional" json:"thingName" yaml:"thingName"` }
Properties for defining a `CfnThing`.
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" cfnThingProps := &cfnThingProps{ attributePayload: &attributePayloadProperty{ attributes: map[string]*string{ "attributesKey": jsii.String("attributes"), }, }, thingName: jsii.String("thingName"), }
type CfnThing_AttributePayloadProperty ¶
type CfnThing_AttributePayloadProperty struct { // A JSON string containing up to three key-value pair in JSON format. For example:. // // `{\"attributes\":{\"string1\":\"string2\"}}`. Attributes interface{} `field:"optional" json:"attributes" yaml:"attributes"` }
The AttributePayload property specifies up to three attributes for an AWS IoT as key-value pairs.
AttributePayload is a property of the [AWS::IoT::Thing](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.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" attributePayloadProperty := &attributePayloadProperty{ attributes: map[string]*string{ "attributesKey": jsii.String("attributes"), }, }
type CfnTopicRule ¶
type CfnTopicRule interface { awscdk.CfnResource awscdk.IInspectable // The Amazon Resource Name (ARN) of the AWS IoT rule, such as `arn:aws:iot:us-east-2:123456789012:rule/MyIoTRule` . AttrArn() *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 name of the rule. RuleName() *string SetRuleName(val *string) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // Metadata which can be used to manage the topic rule. // // > For URI Request parameters use format: ...key1=value1&key2=value2... // > // > For the CLI command-line parameter use format: --tags "key1=value1&key2=value2..." // > // > For the cli-input-json file use format: "tags": "key1=value1&key2=value2..." Tags() awscdk.TagManager // The rule payload. TopicRulePayload() interface{} SetTopicRulePayload(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. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::TopicRule`.
Use the `AWS::IoT::TopicRule` resource to declare an AWS IoT rule. For information about working with AWS IoT rules, see [Rules for AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) in the *AWS IoT 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" cfnTopicRule := awscdk.Aws_iot.NewCfnTopicRule(this, jsii.String("MyCfnTopicRule"), &cfnTopicRuleProps{ topicRulePayload: &topicRulePayloadProperty{ actions: []interface{}{ &actionProperty{ cloudwatchAlarm: &cloudwatchAlarmActionProperty{ alarmName: jsii.String("alarmName"), roleArn: jsii.String("roleArn"), stateReason: jsii.String("stateReason"), stateValue: jsii.String("stateValue"), }, cloudwatchLogs: &cloudwatchLogsActionProperty{ logGroupName: jsii.String("logGroupName"), roleArn: jsii.String("roleArn"), }, cloudwatchMetric: &cloudwatchMetricActionProperty{ metricName: jsii.String("metricName"), metricNamespace: jsii.String("metricNamespace"), metricUnit: jsii.String("metricUnit"), metricValue: jsii.String("metricValue"), roleArn: jsii.String("roleArn"), // the properties below are optional metricTimestamp: jsii.String("metricTimestamp"), }, dynamoDb: &dynamoDBActionProperty{ hashKeyField: jsii.String("hashKeyField"), hashKeyValue: jsii.String("hashKeyValue"), roleArn: jsii.String("roleArn"), tableName: jsii.String("tableName"), // the properties below are optional hashKeyType: jsii.String("hashKeyType"), payloadField: jsii.String("payloadField"), rangeKeyField: jsii.String("rangeKeyField"), rangeKeyType: jsii.String("rangeKeyType"), rangeKeyValue: jsii.String("rangeKeyValue"), }, dynamoDBv2: &dynamoDBv2ActionProperty{ putItem: &putItemInputProperty{ tableName: jsii.String("tableName"), }, roleArn: jsii.String("roleArn"), }, elasticsearch: &elasticsearchActionProperty{ endpoint: jsii.String("endpoint"), id: jsii.String("id"), index: jsii.String("index"), roleArn: jsii.String("roleArn"), type: jsii.String("type"), }, firehose: &firehoseActionProperty{ deliveryStreamName: jsii.String("deliveryStreamName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), separator: jsii.String("separator"), }, http: &httpActionProperty{ url: jsii.String("url"), // the properties below are optional auth: &httpAuthorizationProperty{ sigv4: &sigV4AuthorizationProperty{ roleArn: jsii.String("roleArn"), serviceName: jsii.String("serviceName"), signingRegion: jsii.String("signingRegion"), }, }, confirmationUrl: jsii.String("confirmationUrl"), headers: []interface{}{ &httpActionHeaderProperty{ key: jsii.String("key"), value: jsii.String("value"), }, }, }, iotAnalytics: &iotAnalyticsActionProperty{ channelName: jsii.String("channelName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), }, iotEvents: &iotEventsActionProperty{ inputName: jsii.String("inputName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), messageId: jsii.String("messageId"), }, iotSiteWise: &iotSiteWiseActionProperty{ putAssetPropertyValueEntries: []interface{}{ &putAssetPropertyValueEntryProperty{ propertyValues: []interface{}{ &assetPropertyValueProperty{ timestamp: &assetPropertyTimestampProperty{ timeInSeconds: jsii.String("timeInSeconds"), // the properties below are optional offsetInNanos: jsii.String("offsetInNanos"), }, value: &assetPropertyVariantProperty{ booleanValue: jsii.String("booleanValue"), doubleValue: jsii.String("doubleValue"), integerValue: jsii.String("integerValue"), stringValue: jsii.String("stringValue"), }, // the properties below are optional quality: jsii.String("quality"), }, }, // the properties below are optional assetId: jsii.String("assetId"), entryId: jsii.String("entryId"), propertyAlias: jsii.String("propertyAlias"), propertyId: jsii.String("propertyId"), }, }, roleArn: jsii.String("roleArn"), }, kafka: &kafkaActionProperty{ clientProperties: map[string]*string{ "clientPropertiesKey": jsii.String("clientProperties"), }, destinationArn: jsii.String("destinationArn"), topic: jsii.String("topic"), // the properties below are optional key: jsii.String("key"), partition: jsii.String("partition"), }, kinesis: &kinesisActionProperty{ roleArn: jsii.String("roleArn"), streamName: jsii.String("streamName"), // the properties below are optional partitionKey: jsii.String("partitionKey"), }, lambda: &lambdaActionProperty{ functionArn: jsii.String("functionArn"), }, location: &locationActionProperty{ deviceId: jsii.String("deviceId"), latitude: jsii.String("latitude"), longitude: jsii.String("longitude"), roleArn: jsii.String("roleArn"), trackerName: jsii.String("trackerName"), // the properties below are optional timestamp: NewDate(), }, openSearch: &openSearchActionProperty{ endpoint: jsii.String("endpoint"), id: jsii.String("id"), index: jsii.String("index"), roleArn: jsii.String("roleArn"), type: jsii.String("type"), }, republish: &republishActionProperty{ roleArn: jsii.String("roleArn"), topic: jsii.String("topic"), // the properties below are optional headers: &republishActionHeadersProperty{ contentType: jsii.String("contentType"), correlationData: jsii.String("correlationData"), messageExpiry: jsii.String("messageExpiry"), payloadFormatIndicator: jsii.String("payloadFormatIndicator"), responseTopic: jsii.String("responseTopic"), userProperties: []interface{}{ &userPropertyProperty{ key: jsii.String("key"), value: jsii.String("value"), }, }, }, qos: jsii.Number(123), }, s3: &s3ActionProperty{ bucketName: jsii.String("bucketName"), key: jsii.String("key"), roleArn: jsii.String("roleArn"), // the properties below are optional cannedAcl: jsii.String("cannedAcl"), }, sns: &snsActionProperty{ roleArn: jsii.String("roleArn"), targetArn: jsii.String("targetArn"), // the properties below are optional messageFormat: jsii.String("messageFormat"), }, sqs: &sqsActionProperty{ queueUrl: jsii.String("queueUrl"), roleArn: jsii.String("roleArn"), // the properties below are optional useBase64: jsii.Boolean(false), }, stepFunctions: &stepFunctionsActionProperty{ roleArn: jsii.String("roleArn"), stateMachineName: jsii.String("stateMachineName"), // the properties below are optional executionNamePrefix: jsii.String("executionNamePrefix"), }, timestream: ×treamActionProperty{ databaseName: jsii.String("databaseName"), dimensions: []interface{}{ ×treamDimensionProperty{ name: jsii.String("name"), value: jsii.String("value"), }, }, roleArn: jsii.String("roleArn"), tableName: jsii.String("tableName"), // the properties below are optional timestamp: ×treamTimestampProperty{ unit: jsii.String("unit"), value: jsii.String("value"), }, }, }, }, sql: jsii.String("sql"), // the properties below are optional awsIotSqlVersion: jsii.String("awsIotSqlVersion"), description: jsii.String("description"), errorAction: &actionProperty{ cloudwatchAlarm: &cloudwatchAlarmActionProperty{ alarmName: jsii.String("alarmName"), roleArn: jsii.String("roleArn"), stateReason: jsii.String("stateReason"), stateValue: jsii.String("stateValue"), }, cloudwatchLogs: &cloudwatchLogsActionProperty{ logGroupName: jsii.String("logGroupName"), roleArn: jsii.String("roleArn"), }, cloudwatchMetric: &cloudwatchMetricActionProperty{ metricName: jsii.String("metricName"), metricNamespace: jsii.String("metricNamespace"), metricUnit: jsii.String("metricUnit"), metricValue: jsii.String("metricValue"), roleArn: jsii.String("roleArn"), // the properties below are optional metricTimestamp: jsii.String("metricTimestamp"), }, dynamoDb: &dynamoDBActionProperty{ hashKeyField: jsii.String("hashKeyField"), hashKeyValue: jsii.String("hashKeyValue"), roleArn: jsii.String("roleArn"), tableName: jsii.String("tableName"), // the properties below are optional hashKeyType: jsii.String("hashKeyType"), payloadField: jsii.String("payloadField"), rangeKeyField: jsii.String("rangeKeyField"), rangeKeyType: jsii.String("rangeKeyType"), rangeKeyValue: jsii.String("rangeKeyValue"), }, dynamoDBv2: &dynamoDBv2ActionProperty{ putItem: &putItemInputProperty{ tableName: jsii.String("tableName"), }, roleArn: jsii.String("roleArn"), }, elasticsearch: &elasticsearchActionProperty{ endpoint: jsii.String("endpoint"), id: jsii.String("id"), index: jsii.String("index"), roleArn: jsii.String("roleArn"), type: jsii.String("type"), }, firehose: &firehoseActionProperty{ deliveryStreamName: jsii.String("deliveryStreamName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), separator: jsii.String("separator"), }, http: &httpActionProperty{ url: jsii.String("url"), // the properties below are optional auth: &httpAuthorizationProperty{ sigv4: &sigV4AuthorizationProperty{ roleArn: jsii.String("roleArn"), serviceName: jsii.String("serviceName"), signingRegion: jsii.String("signingRegion"), }, }, confirmationUrl: jsii.String("confirmationUrl"), headers: []interface{}{ &httpActionHeaderProperty{ key: jsii.String("key"), value: jsii.String("value"), }, }, }, iotAnalytics: &iotAnalyticsActionProperty{ channelName: jsii.String("channelName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), }, iotEvents: &iotEventsActionProperty{ inputName: jsii.String("inputName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), messageId: jsii.String("messageId"), }, iotSiteWise: &iotSiteWiseActionProperty{ putAssetPropertyValueEntries: []interface{}{ &putAssetPropertyValueEntryProperty{ propertyValues: []interface{}{ &assetPropertyValueProperty{ timestamp: &assetPropertyTimestampProperty{ timeInSeconds: jsii.String("timeInSeconds"), // the properties below are optional offsetInNanos: jsii.String("offsetInNanos"), }, value: &assetPropertyVariantProperty{ booleanValue: jsii.String("booleanValue"), doubleValue: jsii.String("doubleValue"), integerValue: jsii.String("integerValue"), stringValue: jsii.String("stringValue"), }, // the properties below are optional quality: jsii.String("quality"), }, }, // the properties below are optional assetId: jsii.String("assetId"), entryId: jsii.String("entryId"), propertyAlias: jsii.String("propertyAlias"), propertyId: jsii.String("propertyId"), }, }, roleArn: jsii.String("roleArn"), }, kafka: &kafkaActionProperty{ clientProperties: map[string]*string{ "clientPropertiesKey": jsii.String("clientProperties"), }, destinationArn: jsii.String("destinationArn"), topic: jsii.String("topic"), // the properties below are optional key: jsii.String("key"), partition: jsii.String("partition"), }, kinesis: &kinesisActionProperty{ roleArn: jsii.String("roleArn"), streamName: jsii.String("streamName"), // the properties below are optional partitionKey: jsii.String("partitionKey"), }, lambda: &lambdaActionProperty{ functionArn: jsii.String("functionArn"), }, location: &locationActionProperty{ deviceId: jsii.String("deviceId"), latitude: jsii.String("latitude"), longitude: jsii.String("longitude"), roleArn: jsii.String("roleArn"), trackerName: jsii.String("trackerName"), // the properties below are optional timestamp: NewDate(), }, openSearch: &openSearchActionProperty{ endpoint: jsii.String("endpoint"), id: jsii.String("id"), index: jsii.String("index"), roleArn: jsii.String("roleArn"), type: jsii.String("type"), }, republish: &republishActionProperty{ roleArn: jsii.String("roleArn"), topic: jsii.String("topic"), // the properties below are optional headers: &republishActionHeadersProperty{ contentType: jsii.String("contentType"), correlationData: jsii.String("correlationData"), messageExpiry: jsii.String("messageExpiry"), payloadFormatIndicator: jsii.String("payloadFormatIndicator"), responseTopic: jsii.String("responseTopic"), userProperties: []interface{}{ &userPropertyProperty{ key: jsii.String("key"), value: jsii.String("value"), }, }, }, qos: jsii.Number(123), }, s3: &s3ActionProperty{ bucketName: jsii.String("bucketName"), key: jsii.String("key"), roleArn: jsii.String("roleArn"), // the properties below are optional cannedAcl: jsii.String("cannedAcl"), }, sns: &snsActionProperty{ roleArn: jsii.String("roleArn"), targetArn: jsii.String("targetArn"), // the properties below are optional messageFormat: jsii.String("messageFormat"), }, sqs: &sqsActionProperty{ queueUrl: jsii.String("queueUrl"), roleArn: jsii.String("roleArn"), // the properties below are optional useBase64: jsii.Boolean(false), }, stepFunctions: &stepFunctionsActionProperty{ roleArn: jsii.String("roleArn"), stateMachineName: jsii.String("stateMachineName"), // the properties below are optional executionNamePrefix: jsii.String("executionNamePrefix"), }, timestream: ×treamActionProperty{ databaseName: jsii.String("databaseName"), dimensions: []interface{}{ ×treamDimensionProperty{ name: jsii.String("name"), value: jsii.String("value"), }, }, roleArn: jsii.String("roleArn"), tableName: jsii.String("tableName"), // the properties below are optional timestamp: ×treamTimestampProperty{ unit: jsii.String("unit"), value: jsii.String("value"), }, }, }, ruleDisabled: jsii.Boolean(false), }, // the properties below are optional ruleName: jsii.String("ruleName"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, })
func NewCfnTopicRule ¶
func NewCfnTopicRule(scope constructs.Construct, id *string, props *CfnTopicRuleProps) CfnTopicRule
Create a new `AWS::IoT::TopicRule`.
type CfnTopicRuleDestination ¶
type CfnTopicRuleDestination interface { awscdk.CfnResource awscdk.IInspectable // The topic rule destination URL. AttrArn() *string // Additional details or reason why the topic rule destination is in the current status. AttrStatusReason() *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 // Properties of the HTTP URL. HttpUrlProperties() interface{} SetHttpUrlProperties(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 // - **IN_PROGRESS** - A topic rule destination was created but has not been confirmed. // // You can set status to `IN_PROGRESS` by calling `UpdateTopicRuleDestination` . Calling `UpdateTopicRuleDestination` causes a new confirmation challenge to be sent to your confirmation endpoint. // - **ENABLED** - Confirmation was completed, and traffic to this destination is allowed. You can set status to `DISABLED` by calling `UpdateTopicRuleDestination` . // - **DISABLED** - Confirmation was completed, and traffic to this destination is not allowed. You can set status to `ENABLED` by calling `UpdateTopicRuleDestination` . // - **ERROR** - Confirmation could not be completed; for example, if the confirmation timed out. You can call `GetTopicRuleDestination` for details about the error. You can set status to `IN_PROGRESS` by calling `UpdateTopicRuleDestination` . Calling `UpdateTopicRuleDestination` causes a new confirmation challenge to be sent to your confirmation endpoint. Status() *string SetStatus(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{} // Properties of the virtual private cloud (VPC) connection. VpcProperties() interface{} SetVpcProperties(val interface{}) // Syntactic sugar for `addOverride(path, undefined)`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. 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) 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) // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} // 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{}) }
A CloudFormation `AWS::IoT::TopicRuleDestination`.
A topic rule destination.
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" cfnTopicRuleDestination := awscdk.Aws_iot.NewCfnTopicRuleDestination(this, jsii.String("MyCfnTopicRuleDestination"), &cfnTopicRuleDestinationProps{ httpUrlProperties: &httpUrlDestinationSummaryProperty{ confirmationUrl: jsii.String("confirmationUrl"), }, status: jsii.String("status"), vpcProperties: &vpcDestinationPropertiesProperty{ roleArn: jsii.String("roleArn"), securityGroups: []*string{ jsii.String("securityGroups"), }, subnetIds: []*string{ jsii.String("subnetIds"), }, vpcId: jsii.String("vpcId"), }, })
func NewCfnTopicRuleDestination ¶
func NewCfnTopicRuleDestination(scope constructs.Construct, id *string, props *CfnTopicRuleDestinationProps) CfnTopicRuleDestination
Create a new `AWS::IoT::TopicRuleDestination`.
type CfnTopicRuleDestinationProps ¶
type CfnTopicRuleDestinationProps struct { // Properties of the HTTP URL. HttpUrlProperties interface{} `field:"optional" json:"httpUrlProperties" yaml:"httpUrlProperties"` // - **IN_PROGRESS** - A topic rule destination was created but has not been confirmed. // // You can set status to `IN_PROGRESS` by calling `UpdateTopicRuleDestination` . Calling `UpdateTopicRuleDestination` causes a new confirmation challenge to be sent to your confirmation endpoint. // - **ENABLED** - Confirmation was completed, and traffic to this destination is allowed. You can set status to `DISABLED` by calling `UpdateTopicRuleDestination` . // - **DISABLED** - Confirmation was completed, and traffic to this destination is not allowed. You can set status to `ENABLED` by calling `UpdateTopicRuleDestination` . // - **ERROR** - Confirmation could not be completed; for example, if the confirmation timed out. You can call `GetTopicRuleDestination` for details about the error. You can set status to `IN_PROGRESS` by calling `UpdateTopicRuleDestination` . Calling `UpdateTopicRuleDestination` causes a new confirmation challenge to be sent to your confirmation endpoint. Status *string `field:"optional" json:"status" yaml:"status"` // Properties of the virtual private cloud (VPC) connection. VpcProperties interface{} `field:"optional" json:"vpcProperties" yaml:"vpcProperties"` }
Properties for defining a `CfnTopicRuleDestination`.
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" cfnTopicRuleDestinationProps := &cfnTopicRuleDestinationProps{ httpUrlProperties: &httpUrlDestinationSummaryProperty{ confirmationUrl: jsii.String("confirmationUrl"), }, status: jsii.String("status"), vpcProperties: &vpcDestinationPropertiesProperty{ roleArn: jsii.String("roleArn"), securityGroups: []*string{ jsii.String("securityGroups"), }, subnetIds: []*string{ jsii.String("subnetIds"), }, vpcId: jsii.String("vpcId"), }, }
type CfnTopicRuleDestination_HttpUrlDestinationSummaryProperty ¶
type CfnTopicRuleDestination_HttpUrlDestinationSummaryProperty struct { // The URL used to confirm the HTTP topic rule destination URL. ConfirmationUrl *string `field:"optional" json:"confirmationUrl" yaml:"confirmationUrl"` }
HTTP URL destination properties.
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" httpUrlDestinationSummaryProperty := &httpUrlDestinationSummaryProperty{ confirmationUrl: jsii.String("confirmationUrl"), }
type CfnTopicRuleDestination_VpcDestinationPropertiesProperty ¶
type CfnTopicRuleDestination_VpcDestinationPropertiesProperty struct { // The ARN of a role that has permission to create and attach to elastic network interfaces (ENIs). RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"` // The security groups of the VPC destination. SecurityGroups *[]*string `field:"optional" json:"securityGroups" yaml:"securityGroups"` // The subnet IDs of the VPC destination. SubnetIds *[]*string `field:"optional" json:"subnetIds" yaml:"subnetIds"` // The ID of the VPC. VpcId *string `field:"optional" json:"vpcId" yaml:"vpcId"` }
The properties of a virtual private cloud (VPC) destination.
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" vpcDestinationPropertiesProperty := &vpcDestinationPropertiesProperty{ roleArn: jsii.String("roleArn"), securityGroups: []*string{ jsii.String("securityGroups"), }, subnetIds: []*string{ jsii.String("subnetIds"), }, vpcId: jsii.String("vpcId"), }
type CfnTopicRuleProps ¶
type CfnTopicRuleProps struct { // The rule payload. TopicRulePayload interface{} `field:"required" json:"topicRulePayload" yaml:"topicRulePayload"` // The name of the rule. RuleName *string `field:"optional" json:"ruleName" yaml:"ruleName"` // Metadata which can be used to manage the topic rule. // // > For URI Request parameters use format: ...key1=value1&key2=value2... // > // > For the CLI command-line parameter use format: --tags "key1=value1&key2=value2..." // > // > For the cli-input-json file use format: "tags": "key1=value1&key2=value2..." Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"` }
Properties for defining a `CfnTopicRule`.
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" cfnTopicRuleProps := &cfnTopicRuleProps{ topicRulePayload: &topicRulePayloadProperty{ actions: []interface{}{ &actionProperty{ cloudwatchAlarm: &cloudwatchAlarmActionProperty{ alarmName: jsii.String("alarmName"), roleArn: jsii.String("roleArn"), stateReason: jsii.String("stateReason"), stateValue: jsii.String("stateValue"), }, cloudwatchLogs: &cloudwatchLogsActionProperty{ logGroupName: jsii.String("logGroupName"), roleArn: jsii.String("roleArn"), }, cloudwatchMetric: &cloudwatchMetricActionProperty{ metricName: jsii.String("metricName"), metricNamespace: jsii.String("metricNamespace"), metricUnit: jsii.String("metricUnit"), metricValue: jsii.String("metricValue"), roleArn: jsii.String("roleArn"), // the properties below are optional metricTimestamp: jsii.String("metricTimestamp"), }, dynamoDb: &dynamoDBActionProperty{ hashKeyField: jsii.String("hashKeyField"), hashKeyValue: jsii.String("hashKeyValue"), roleArn: jsii.String("roleArn"), tableName: jsii.String("tableName"), // the properties below are optional hashKeyType: jsii.String("hashKeyType"), payloadField: jsii.String("payloadField"), rangeKeyField: jsii.String("rangeKeyField"), rangeKeyType: jsii.String("rangeKeyType"), rangeKeyValue: jsii.String("rangeKeyValue"), }, dynamoDBv2: &dynamoDBv2ActionProperty{ putItem: &putItemInputProperty{ tableName: jsii.String("tableName"), }, roleArn: jsii.String("roleArn"), }, elasticsearch: &elasticsearchActionProperty{ endpoint: jsii.String("endpoint"), id: jsii.String("id"), index: jsii.String("index"), roleArn: jsii.String("roleArn"), type: jsii.String("type"), }, firehose: &firehoseActionProperty{ deliveryStreamName: jsii.String("deliveryStreamName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), separator: jsii.String("separator"), }, http: &httpActionProperty{ url: jsii.String("url"), // the properties below are optional auth: &httpAuthorizationProperty{ sigv4: &sigV4AuthorizationProperty{ roleArn: jsii.String("roleArn"), serviceName: jsii.String("serviceName"), signingRegion: jsii.String("signingRegion"), }, }, confirmationUrl: jsii.String("confirmationUrl"), headers: []interface{}{ &httpActionHeaderProperty{ key: jsii.String("key"), value: jsii.String("value"), }, }, }, iotAnalytics: &iotAnalyticsActionProperty{ channelName: jsii.String("channelName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), }, iotEvents: &iotEventsActionProperty{ inputName: jsii.String("inputName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), messageId: jsii.String("messageId"), }, iotSiteWise: &iotSiteWiseActionProperty{ putAssetPropertyValueEntries: []interface{}{ &putAssetPropertyValueEntryProperty{ propertyValues: []interface{}{ &assetPropertyValueProperty{ timestamp: &assetPropertyTimestampProperty{ timeInSeconds: jsii.String("timeInSeconds"), // the properties below are optional offsetInNanos: jsii.String("offsetInNanos"), }, value: &assetPropertyVariantProperty{ booleanValue: jsii.String("booleanValue"), doubleValue: jsii.String("doubleValue"), integerValue: jsii.String("integerValue"), stringValue: jsii.String("stringValue"), }, // the properties below are optional quality: jsii.String("quality"), }, }, // the properties below are optional assetId: jsii.String("assetId"), entryId: jsii.String("entryId"), propertyAlias: jsii.String("propertyAlias"), propertyId: jsii.String("propertyId"), }, }, roleArn: jsii.String("roleArn"), }, kafka: &kafkaActionProperty{ clientProperties: map[string]*string{ "clientPropertiesKey": jsii.String("clientProperties"), }, destinationArn: jsii.String("destinationArn"), topic: jsii.String("topic"), // the properties below are optional key: jsii.String("key"), partition: jsii.String("partition"), }, kinesis: &kinesisActionProperty{ roleArn: jsii.String("roleArn"), streamName: jsii.String("streamName"), // the properties below are optional partitionKey: jsii.String("partitionKey"), }, lambda: &lambdaActionProperty{ functionArn: jsii.String("functionArn"), }, location: &locationActionProperty{ deviceId: jsii.String("deviceId"), latitude: jsii.String("latitude"), longitude: jsii.String("longitude"), roleArn: jsii.String("roleArn"), trackerName: jsii.String("trackerName"), // the properties below are optional timestamp: NewDate(), }, openSearch: &openSearchActionProperty{ endpoint: jsii.String("endpoint"), id: jsii.String("id"), index: jsii.String("index"), roleArn: jsii.String("roleArn"), type: jsii.String("type"), }, republish: &republishActionProperty{ roleArn: jsii.String("roleArn"), topic: jsii.String("topic"), // the properties below are optional headers: &republishActionHeadersProperty{ contentType: jsii.String("contentType"), correlationData: jsii.String("correlationData"), messageExpiry: jsii.String("messageExpiry"), payloadFormatIndicator: jsii.String("payloadFormatIndicator"), responseTopic: jsii.String("responseTopic"), userProperties: []interface{}{ &userPropertyProperty{ key: jsii.String("key"), value: jsii.String("value"), }, }, }, qos: jsii.Number(123), }, s3: &s3ActionProperty{ bucketName: jsii.String("bucketName"), key: jsii.String("key"), roleArn: jsii.String("roleArn"), // the properties below are optional cannedAcl: jsii.String("cannedAcl"), }, sns: &snsActionProperty{ roleArn: jsii.String("roleArn"), targetArn: jsii.String("targetArn"), // the properties below are optional messageFormat: jsii.String("messageFormat"), }, sqs: &sqsActionProperty{ queueUrl: jsii.String("queueUrl"), roleArn: jsii.String("roleArn"), // the properties below are optional useBase64: jsii.Boolean(false), }, stepFunctions: &stepFunctionsActionProperty{ roleArn: jsii.String("roleArn"), stateMachineName: jsii.String("stateMachineName"), // the properties below are optional executionNamePrefix: jsii.String("executionNamePrefix"), }, timestream: ×treamActionProperty{ databaseName: jsii.String("databaseName"), dimensions: []interface{}{ ×treamDimensionProperty{ name: jsii.String("name"), value: jsii.String("value"), }, }, roleArn: jsii.String("roleArn"), tableName: jsii.String("tableName"), // the properties below are optional timestamp: ×treamTimestampProperty{ unit: jsii.String("unit"), value: jsii.String("value"), }, }, }, }, sql: jsii.String("sql"), // the properties below are optional awsIotSqlVersion: jsii.String("awsIotSqlVersion"), description: jsii.String("description"), errorAction: &actionProperty{ cloudwatchAlarm: &cloudwatchAlarmActionProperty{ alarmName: jsii.String("alarmName"), roleArn: jsii.String("roleArn"), stateReason: jsii.String("stateReason"), stateValue: jsii.String("stateValue"), }, cloudwatchLogs: &cloudwatchLogsActionProperty{ logGroupName: jsii.String("logGroupName"), roleArn: jsii.String("roleArn"), }, cloudwatchMetric: &cloudwatchMetricActionProperty{ metricName: jsii.String("metricName"), metricNamespace: jsii.String("metricNamespace"), metricUnit: jsii.String("metricUnit"), metricValue: jsii.String("metricValue"), roleArn: jsii.String("roleArn"), // the properties below are optional metricTimestamp: jsii.String("metricTimestamp"), }, dynamoDb: &dynamoDBActionProperty{ hashKeyField: jsii.String("hashKeyField"), hashKeyValue: jsii.String("hashKeyValue"), roleArn: jsii.String("roleArn"), tableName: jsii.String("tableName"), // the properties below are optional hashKeyType: jsii.String("hashKeyType"), payloadField: jsii.String("payloadField"), rangeKeyField: jsii.String("rangeKeyField"), rangeKeyType: jsii.String("rangeKeyType"), rangeKeyValue: jsii.String("rangeKeyValue"), }, dynamoDBv2: &dynamoDBv2ActionProperty{ putItem: &putItemInputProperty{ tableName: jsii.String("tableName"), }, roleArn: jsii.String("roleArn"), }, elasticsearch: &elasticsearchActionProperty{ endpoint: jsii.String("endpoint"), id: jsii.String("id"), index: jsii.String("index"), roleArn: jsii.String("roleArn"), type: jsii.String("type"), }, firehose: &firehoseActionProperty{ deliveryStreamName: jsii.String("deliveryStreamName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), separator: jsii.String("separator"), }, http: &httpActionProperty{ url: jsii.String("url"), // the properties below are optional auth: &httpAuthorizationProperty{ sigv4: &sigV4AuthorizationProperty{ roleArn: jsii.String("roleArn"), serviceName: jsii.String("serviceName"), signingRegion: jsii.String("signingRegion"), }, }, confirmationUrl: jsii.String("confirmationUrl"), headers: []interface{}{ &httpActionHeaderProperty{ key: jsii.String("key"), value: jsii.String("value"), }, }, }, iotAnalytics: &iotAnalyticsActionProperty{ channelName: jsii.String("channelName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), }, iotEvents: &iotEventsActionProperty{ inputName: jsii.String("inputName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), messageId: jsii.String("messageId"), }, iotSiteWise: &iotSiteWiseActionProperty{ putAssetPropertyValueEntries: []interface{}{ &putAssetPropertyValueEntryProperty{ propertyValues: []interface{}{ &assetPropertyValueProperty{ timestamp: &assetPropertyTimestampProperty{ timeInSeconds: jsii.String("timeInSeconds"), // the properties below are optional offsetInNanos: jsii.String("offsetInNanos"), }, value: &assetPropertyVariantProperty{ booleanValue: jsii.String("booleanValue"), doubleValue: jsii.String("doubleValue"), integerValue: jsii.String("integerValue"), stringValue: jsii.String("stringValue"), }, // the properties below are optional quality: jsii.String("quality"), }, }, // the properties below are optional assetId: jsii.String("assetId"), entryId: jsii.String("entryId"), propertyAlias: jsii.String("propertyAlias"), propertyId: jsii.String("propertyId"), }, }, roleArn: jsii.String("roleArn"), }, kafka: &kafkaActionProperty{ clientProperties: map[string]*string{ "clientPropertiesKey": jsii.String("clientProperties"), }, destinationArn: jsii.String("destinationArn"), topic: jsii.String("topic"), // the properties below are optional key: jsii.String("key"), partition: jsii.String("partition"), }, kinesis: &kinesisActionProperty{ roleArn: jsii.String("roleArn"), streamName: jsii.String("streamName"), // the properties below are optional partitionKey: jsii.String("partitionKey"), }, lambda: &lambdaActionProperty{ functionArn: jsii.String("functionArn"), }, location: &locationActionProperty{ deviceId: jsii.String("deviceId"), latitude: jsii.String("latitude"), longitude: jsii.String("longitude"), roleArn: jsii.String("roleArn"), trackerName: jsii.String("trackerName"), // the properties below are optional timestamp: NewDate(), }, openSearch: &openSearchActionProperty{ endpoint: jsii.String("endpoint"), id: jsii.String("id"), index: jsii.String("index"), roleArn: jsii.String("roleArn"), type: jsii.String("type"), }, republish: &republishActionProperty{ roleArn: jsii.String("roleArn"), topic: jsii.String("topic"), // the properties below are optional headers: &republishActionHeadersProperty{ contentType: jsii.String("contentType"), correlationData: jsii.String("correlationData"), messageExpiry: jsii.String("messageExpiry"), payloadFormatIndicator: jsii.String("payloadFormatIndicator"), responseTopic: jsii.String("responseTopic"), userProperties: []interface{}{ &userPropertyProperty{ key: jsii.String("key"), value: jsii.String("value"), }, }, }, qos: jsii.Number(123), }, s3: &s3ActionProperty{ bucketName: jsii.String("bucketName"), key: jsii.String("key"), roleArn: jsii.String("roleArn"), // the properties below are optional cannedAcl: jsii.String("cannedAcl"), }, sns: &snsActionProperty{ roleArn: jsii.String("roleArn"), targetArn: jsii.String("targetArn"), // the properties below are optional messageFormat: jsii.String("messageFormat"), }, sqs: &sqsActionProperty{ queueUrl: jsii.String("queueUrl"), roleArn: jsii.String("roleArn"), // the properties below are optional useBase64: jsii.Boolean(false), }, stepFunctions: &stepFunctionsActionProperty{ roleArn: jsii.String("roleArn"), stateMachineName: jsii.String("stateMachineName"), // the properties below are optional executionNamePrefix: jsii.String("executionNamePrefix"), }, timestream: ×treamActionProperty{ databaseName: jsii.String("databaseName"), dimensions: []interface{}{ ×treamDimensionProperty{ name: jsii.String("name"), value: jsii.String("value"), }, }, roleArn: jsii.String("roleArn"), tableName: jsii.String("tableName"), // the properties below are optional timestamp: ×treamTimestampProperty{ unit: jsii.String("unit"), value: jsii.String("value"), }, }, }, ruleDisabled: jsii.Boolean(false), }, // the properties below are optional ruleName: jsii.String("ruleName"), tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, }
type CfnTopicRule_ActionProperty ¶
type CfnTopicRule_ActionProperty struct { // Change the state of a CloudWatch alarm. CloudwatchAlarm interface{} `field:"optional" json:"cloudwatchAlarm" yaml:"cloudwatchAlarm"` // Sends data to CloudWatch. CloudwatchLogs interface{} `field:"optional" json:"cloudwatchLogs" yaml:"cloudwatchLogs"` // Capture a CloudWatch metric. CloudwatchMetric interface{} `field:"optional" json:"cloudwatchMetric" yaml:"cloudwatchMetric"` // Write to a DynamoDB table. DynamoDb interface{} `field:"optional" json:"dynamoDb" yaml:"dynamoDb"` // Write to a DynamoDB table. // // This is a new version of the DynamoDB action. It allows you to write each attribute in an MQTT message payload into a separate DynamoDB column. DynamoDBv2 interface{} `field:"optional" json:"dynamoDBv2" yaml:"dynamoDBv2"` // Write data to an Amazon OpenSearch Service domain. // // > The `Elasticsearch` action can only be used by existing rule actions. To create a new rule action or to update an existing rule action, use the `OpenSearch` rule action instead. For more information, see [OpenSearchAction](https://docs.aws.amazon.com//iot/latest/apireference/API_OpenSearchAction.html) . Elasticsearch interface{} `field:"optional" json:"elasticsearch" yaml:"elasticsearch"` // Write to an Amazon Kinesis Firehose stream. Firehose interface{} `field:"optional" json:"firehose" yaml:"firehose"` // Send data to an HTTPS endpoint. Http interface{} `field:"optional" json:"http" yaml:"http"` // Sends message data to an AWS IoT Analytics channel. IotAnalytics interface{} `field:"optional" json:"iotAnalytics" yaml:"iotAnalytics"` // Sends an input to an AWS IoT Events detector. IotEvents interface{} `field:"optional" json:"iotEvents" yaml:"iotEvents"` // Sends data from the MQTT message that triggered the rule to AWS IoT SiteWise asset properties. IotSiteWise interface{} `field:"optional" json:"iotSiteWise" yaml:"iotSiteWise"` // Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or self-managed Apache Kafka cluster. Kafka interface{} `field:"optional" json:"kafka" yaml:"kafka"` // Write data to an Amazon Kinesis stream. Kinesis interface{} `field:"optional" json:"kinesis" yaml:"kinesis"` // Invoke a Lambda function. Lambda interface{} `field:"optional" json:"lambda" yaml:"lambda"` // `CfnTopicRule.ActionProperty.Location`. Location interface{} `field:"optional" json:"location" yaml:"location"` // Write data to an Amazon OpenSearch Service domain. OpenSearch interface{} `field:"optional" json:"openSearch" yaml:"openSearch"` // Publish to another MQTT topic. Republish interface{} `field:"optional" json:"republish" yaml:"republish"` // Write to an Amazon S3 bucket. S3 interface{} `field:"optional" json:"s3" yaml:"s3"` // Publish to an Amazon SNS topic. Sns interface{} `field:"optional" json:"sns" yaml:"sns"` // Publish to an Amazon SQS queue. Sqs interface{} `field:"optional" json:"sqs" yaml:"sqs"` // Starts execution of a Step Functions state machine. StepFunctions interface{} `field:"optional" json:"stepFunctions" yaml:"stepFunctions"` // Writes attributes from an MQTT message. Timestream interface{} `field:"optional" json:"timestream" yaml:"timestream"` }
Describes the actions associated with a rule.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" actionProperty := &actionProperty{ cloudwatchAlarm: &cloudwatchAlarmActionProperty{ alarmName: jsii.String("alarmName"), roleArn: jsii.String("roleArn"), stateReason: jsii.String("stateReason"), stateValue: jsii.String("stateValue"), }, cloudwatchLogs: &cloudwatchLogsActionProperty{ logGroupName: jsii.String("logGroupName"), roleArn: jsii.String("roleArn"), }, cloudwatchMetric: &cloudwatchMetricActionProperty{ metricName: jsii.String("metricName"), metricNamespace: jsii.String("metricNamespace"), metricUnit: jsii.String("metricUnit"), metricValue: jsii.String("metricValue"), roleArn: jsii.String("roleArn"), // the properties below are optional metricTimestamp: jsii.String("metricTimestamp"), }, dynamoDb: &dynamoDBActionProperty{ hashKeyField: jsii.String("hashKeyField"), hashKeyValue: jsii.String("hashKeyValue"), roleArn: jsii.String("roleArn"), tableName: jsii.String("tableName"), // the properties below are optional hashKeyType: jsii.String("hashKeyType"), payloadField: jsii.String("payloadField"), rangeKeyField: jsii.String("rangeKeyField"), rangeKeyType: jsii.String("rangeKeyType"), rangeKeyValue: jsii.String("rangeKeyValue"), }, dynamoDBv2: &dynamoDBv2ActionProperty{ putItem: &putItemInputProperty{ tableName: jsii.String("tableName"), }, roleArn: jsii.String("roleArn"), }, elasticsearch: &elasticsearchActionProperty{ endpoint: jsii.String("endpoint"), id: jsii.String("id"), index: jsii.String("index"), roleArn: jsii.String("roleArn"), type: jsii.String("type"), }, firehose: &firehoseActionProperty{ deliveryStreamName: jsii.String("deliveryStreamName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), separator: jsii.String("separator"), }, http: &httpActionProperty{ url: jsii.String("url"), // the properties below are optional auth: &httpAuthorizationProperty{ sigv4: &sigV4AuthorizationProperty{ roleArn: jsii.String("roleArn"), serviceName: jsii.String("serviceName"), signingRegion: jsii.String("signingRegion"), }, }, confirmationUrl: jsii.String("confirmationUrl"), headers: []interface{}{ &httpActionHeaderProperty{ key: jsii.String("key"), value: jsii.String("value"), }, }, }, iotAnalytics: &iotAnalyticsActionProperty{ channelName: jsii.String("channelName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), }, iotEvents: &iotEventsActionProperty{ inputName: jsii.String("inputName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), messageId: jsii.String("messageId"), }, iotSiteWise: &iotSiteWiseActionProperty{ putAssetPropertyValueEntries: []interface{}{ &putAssetPropertyValueEntryProperty{ propertyValues: []interface{}{ &assetPropertyValueProperty{ timestamp: &assetPropertyTimestampProperty{ timeInSeconds: jsii.String("timeInSeconds"), // the properties below are optional offsetInNanos: jsii.String("offsetInNanos"), }, value: &assetPropertyVariantProperty{ booleanValue: jsii.String("booleanValue"), doubleValue: jsii.String("doubleValue"), integerValue: jsii.String("integerValue"), stringValue: jsii.String("stringValue"), }, // the properties below are optional quality: jsii.String("quality"), }, }, // the properties below are optional assetId: jsii.String("assetId"), entryId: jsii.String("entryId"), propertyAlias: jsii.String("propertyAlias"), propertyId: jsii.String("propertyId"), }, }, roleArn: jsii.String("roleArn"), }, kafka: &kafkaActionProperty{ clientProperties: map[string]*string{ "clientPropertiesKey": jsii.String("clientProperties"), }, destinationArn: jsii.String("destinationArn"), topic: jsii.String("topic"), // the properties below are optional key: jsii.String("key"), partition: jsii.String("partition"), }, kinesis: &kinesisActionProperty{ roleArn: jsii.String("roleArn"), streamName: jsii.String("streamName"), // the properties below are optional partitionKey: jsii.String("partitionKey"), }, lambda: &lambdaActionProperty{ functionArn: jsii.String("functionArn"), }, location: &locationActionProperty{ deviceId: jsii.String("deviceId"), latitude: jsii.String("latitude"), longitude: jsii.String("longitude"), roleArn: jsii.String("roleArn"), trackerName: jsii.String("trackerName"), // the properties below are optional timestamp: NewDate(), }, openSearch: &openSearchActionProperty{ endpoint: jsii.String("endpoint"), id: jsii.String("id"), index: jsii.String("index"), roleArn: jsii.String("roleArn"), type: jsii.String("type"), }, republish: &republishActionProperty{ roleArn: jsii.String("roleArn"), topic: jsii.String("topic"), // the properties below are optional headers: &republishActionHeadersProperty{ contentType: jsii.String("contentType"), correlationData: jsii.String("correlationData"), messageExpiry: jsii.String("messageExpiry"), payloadFormatIndicator: jsii.String("payloadFormatIndicator"), responseTopic: jsii.String("responseTopic"), userProperties: []interface{}{ &userPropertyProperty{ key: jsii.String("key"), value: jsii.String("value"), }, }, }, qos: jsii.Number(123), }, s3: &s3ActionProperty{ bucketName: jsii.String("bucketName"), key: jsii.String("key"), roleArn: jsii.String("roleArn"), // the properties below are optional cannedAcl: jsii.String("cannedAcl"), }, sns: &snsActionProperty{ roleArn: jsii.String("roleArn"), targetArn: jsii.String("targetArn"), // the properties below are optional messageFormat: jsii.String("messageFormat"), }, sqs: &sqsActionProperty{ queueUrl: jsii.String("queueUrl"), roleArn: jsii.String("roleArn"), // the properties below are optional useBase64: jsii.Boolean(false), }, stepFunctions: &stepFunctionsActionProperty{ roleArn: jsii.String("roleArn"), stateMachineName: jsii.String("stateMachineName"), // the properties below are optional executionNamePrefix: jsii.String("executionNamePrefix"), }, timestream: ×treamActionProperty{ databaseName: jsii.String("databaseName"), dimensions: []interface{}{ ×treamDimensionProperty{ name: jsii.String("name"), value: jsii.String("value"), }, }, roleArn: jsii.String("roleArn"), tableName: jsii.String("tableName"), // the properties below are optional timestamp: ×treamTimestampProperty{ unit: jsii.String("unit"), value: jsii.String("value"), }, }, }
type CfnTopicRule_AssetPropertyTimestampProperty ¶
type CfnTopicRule_AssetPropertyTimestampProperty struct { // A string that contains the time in seconds since epoch. // // Accepts substitution templates. TimeInSeconds *string `field:"required" json:"timeInSeconds" yaml:"timeInSeconds"` // Optional. // // A string that contains the nanosecond time offset. Accepts substitution templates. OffsetInNanos *string `field:"optional" json:"offsetInNanos" yaml:"offsetInNanos"` }
An asset property timestamp entry containing the following information.
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" assetPropertyTimestampProperty := &assetPropertyTimestampProperty{ timeInSeconds: jsii.String("timeInSeconds"), // the properties below are optional offsetInNanos: jsii.String("offsetInNanos"), }
type CfnTopicRule_AssetPropertyValueProperty ¶
type CfnTopicRule_AssetPropertyValueProperty struct { // The asset property value timestamp. Timestamp interface{} `field:"required" json:"timestamp" yaml:"timestamp"` // The value of the asset property. Value interface{} `field:"required" json:"value" yaml:"value"` // Optional. // // A string that describes the quality of the value. Accepts substitution templates. Must be `GOOD` , `BAD` , or `UNCERTAIN` . Quality *string `field:"optional" json:"quality" yaml:"quality"` }
An asset property value entry containing the following information.
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" assetPropertyValueProperty := &assetPropertyValueProperty{ timestamp: &assetPropertyTimestampProperty{ timeInSeconds: jsii.String("timeInSeconds"), // the properties below are optional offsetInNanos: jsii.String("offsetInNanos"), }, value: &assetPropertyVariantProperty{ booleanValue: jsii.String("booleanValue"), doubleValue: jsii.String("doubleValue"), integerValue: jsii.String("integerValue"), stringValue: jsii.String("stringValue"), }, // the properties below are optional quality: jsii.String("quality"), }
type CfnTopicRule_AssetPropertyVariantProperty ¶
type CfnTopicRule_AssetPropertyVariantProperty struct { // Optional. // // A string that contains the boolean value ( `true` or `false` ) of the value entry. Accepts substitution templates. BooleanValue *string `field:"optional" json:"booleanValue" yaml:"booleanValue"` // Optional. // // A string that contains the double value of the value entry. Accepts substitution templates. DoubleValue *string `field:"optional" json:"doubleValue" yaml:"doubleValue"` // Optional. // // A string that contains the integer value of the value entry. Accepts substitution templates. IntegerValue *string `field:"optional" json:"integerValue" yaml:"integerValue"` // Optional. // // The string value of the value entry. Accepts substitution templates. StringValue *string `field:"optional" json:"stringValue" yaml:"stringValue"` }
Contains an asset property value (of a single 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" assetPropertyVariantProperty := &assetPropertyVariantProperty{ booleanValue: jsii.String("booleanValue"), doubleValue: jsii.String("doubleValue"), integerValue: jsii.String("integerValue"), stringValue: jsii.String("stringValue"), }
type CfnTopicRule_CloudwatchAlarmActionProperty ¶
type CfnTopicRule_CloudwatchAlarmActionProperty struct { // The CloudWatch alarm name. AlarmName *string `field:"required" json:"alarmName" yaml:"alarmName"` // The IAM role that allows access to the CloudWatch alarm. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // The reason for the alarm change. StateReason *string `field:"required" json:"stateReason" yaml:"stateReason"` // The value of the alarm state. // // Acceptable values are: OK, ALARM, INSUFFICIENT_DATA. StateValue *string `field:"required" json:"stateValue" yaml:"stateValue"` }
Describes an action that updates a CloudWatch alarm.
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" cloudwatchAlarmActionProperty := &cloudwatchAlarmActionProperty{ alarmName: jsii.String("alarmName"), roleArn: jsii.String("roleArn"), stateReason: jsii.String("stateReason"), stateValue: jsii.String("stateValue"), }
type CfnTopicRule_CloudwatchLogsActionProperty ¶
type CfnTopicRule_CloudwatchLogsActionProperty struct { // The CloudWatch log name. LogGroupName *string `field:"required" json:"logGroupName" yaml:"logGroupName"` // The IAM role that allows access to the CloudWatch log. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` }
Describes an action that updates a CloudWatch log.
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" cloudwatchLogsActionProperty := &cloudwatchLogsActionProperty{ logGroupName: jsii.String("logGroupName"), roleArn: jsii.String("roleArn"), }
type CfnTopicRule_CloudwatchMetricActionProperty ¶
type CfnTopicRule_CloudwatchMetricActionProperty struct { // The CloudWatch metric name. MetricName *string `field:"required" json:"metricName" yaml:"metricName"` // The CloudWatch metric namespace name. MetricNamespace *string `field:"required" json:"metricNamespace" yaml:"metricNamespace"` // The [metric unit](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Unit) supported by CloudWatch. MetricUnit *string `field:"required" json:"metricUnit" yaml:"metricUnit"` // The CloudWatch metric value. MetricValue *string `field:"required" json:"metricValue" yaml:"metricValue"` // The IAM role that allows access to the CloudWatch metric. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // An optional [Unix timestamp](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp) . MetricTimestamp *string `field:"optional" json:"metricTimestamp" yaml:"metricTimestamp"` }
Describes an action that captures a CloudWatch metric.
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" cloudwatchMetricActionProperty := &cloudwatchMetricActionProperty{ metricName: jsii.String("metricName"), metricNamespace: jsii.String("metricNamespace"), metricUnit: jsii.String("metricUnit"), metricValue: jsii.String("metricValue"), roleArn: jsii.String("roleArn"), // the properties below are optional metricTimestamp: jsii.String("metricTimestamp"), }
type CfnTopicRule_DynamoDBActionProperty ¶
type CfnTopicRule_DynamoDBActionProperty struct { // The hash key name. HashKeyField *string `field:"required" json:"hashKeyField" yaml:"hashKeyField"` // The hash key value. HashKeyValue *string `field:"required" json:"hashKeyValue" yaml:"hashKeyValue"` // The ARN of the IAM role that grants access to the DynamoDB table. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // The name of the DynamoDB table. TableName *string `field:"required" json:"tableName" yaml:"tableName"` // The hash key type. // // Valid values are "STRING" or "NUMBER". HashKeyType *string `field:"optional" json:"hashKeyType" yaml:"hashKeyType"` // The action payload. // // This name can be customized. PayloadField *string `field:"optional" json:"payloadField" yaml:"payloadField"` // The range key name. RangeKeyField *string `field:"optional" json:"rangeKeyField" yaml:"rangeKeyField"` // The range key type. // // Valid values are "STRING" or "NUMBER". RangeKeyType *string `field:"optional" json:"rangeKeyType" yaml:"rangeKeyType"` // The range key value. RangeKeyValue *string `field:"optional" json:"rangeKeyValue" yaml:"rangeKeyValue"` }
Describes an action to write to a DynamoDB table.
The `tableName` , `hashKeyField` , and `rangeKeyField` values must match the values used when you created the table.
The `hashKeyValue` and `rangeKeyvalue` fields use a substitution template syntax. These templates provide data at runtime. The syntax is as follows: ${ *sql-expression* }.
You can specify any valid expression in a WHERE or SELECT clause, including JSON properties, comparisons, calculations, and functions. For example, the following field uses the third level of the topic:
`"hashKeyValue": "${topic(3)}"`
The following field uses the timestamp:
`"rangeKeyValue": "${timestamp()}"`
For more information, see [DynamoDBv2 Action](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rule-actions.html) in the *AWS IoT 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" dynamoDBActionProperty := &dynamoDBActionProperty{ hashKeyField: jsii.String("hashKeyField"), hashKeyValue: jsii.String("hashKeyValue"), roleArn: jsii.String("roleArn"), tableName: jsii.String("tableName"), // the properties below are optional hashKeyType: jsii.String("hashKeyType"), payloadField: jsii.String("payloadField"), rangeKeyField: jsii.String("rangeKeyField"), rangeKeyType: jsii.String("rangeKeyType"), rangeKeyValue: jsii.String("rangeKeyValue"), }
type CfnTopicRule_DynamoDBv2ActionProperty ¶
type CfnTopicRule_DynamoDBv2ActionProperty struct { // Specifies the DynamoDB table to which the message data will be written. For example:. // // `{ "dynamoDBv2": { "roleArn": "aws:iam:12341251:my-role" "putItem": { "tableName": "my-table" } } }` // // Each attribute in the message payload will be written to a separate column in the DynamoDB database. PutItem interface{} `field:"optional" json:"putItem" yaml:"putItem"` // The ARN of the IAM role that grants access to the DynamoDB table. RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"` }
Describes an action to write to a DynamoDB table.
This DynamoDB action writes each attribute in the message payload into it's own column in the DynamoDB table.
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" dynamoDBv2ActionProperty := &dynamoDBv2ActionProperty{ putItem: &putItemInputProperty{ tableName: jsii.String("tableName"), }, roleArn: jsii.String("roleArn"), }
type CfnTopicRule_ElasticsearchActionProperty ¶
type CfnTopicRule_ElasticsearchActionProperty struct { // The endpoint of your OpenSearch domain. Endpoint *string `field:"required" json:"endpoint" yaml:"endpoint"` // The unique identifier for the document you are storing. Id *string `field:"required" json:"id" yaml:"id"` // The index where you want to store your data. Index *string `field:"required" json:"index" yaml:"index"` // The IAM role ARN that has access to OpenSearch. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // The type of document you are storing. Type *string `field:"required" json:"type" yaml:"type"` }
Describes an action that writes data to an Amazon OpenSearch Service domain.
> The `Elasticsearch` action can only be used by existing rule actions. To create a new rule action or to update an existing rule action, use the `OpenSearch` rule action instead. For more information, see [OpenSearchAction](https://docs.aws.amazon.com//iot/latest/apireference/API_OpenSearchAction.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" elasticsearchActionProperty := &elasticsearchActionProperty{ endpoint: jsii.String("endpoint"), id: jsii.String("id"), index: jsii.String("index"), roleArn: jsii.String("roleArn"), type: jsii.String("type"), }
type CfnTopicRule_FirehoseActionProperty ¶
type CfnTopicRule_FirehoseActionProperty struct { // The delivery stream name. DeliveryStreamName *string `field:"required" json:"deliveryStreamName" yaml:"deliveryStreamName"` // The IAM role that grants access to the Amazon Kinesis Firehose stream. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // Whether to deliver the Kinesis Data Firehose stream as a batch by using [`PutRecordBatch`](https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html) . The default value is `false` . // // When `batchMode` is `true` and the rule's SQL statement evaluates to an Array, each Array element forms one record in the [`PutRecordBatch`](https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html) request. The resulting array can't have more than 500 records. BatchMode interface{} `field:"optional" json:"batchMode" yaml:"batchMode"` // A character separator that will be used to separate records written to the Firehose stream. // // Valid values are: '\n' (newline), '\t' (tab), '\r\n' (Windows newline), ',' (comma). Separator *string `field:"optional" json:"separator" yaml:"separator"` }
Describes an action that writes data to an Amazon Kinesis Firehose stream.
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" firehoseActionProperty := &firehoseActionProperty{ deliveryStreamName: jsii.String("deliveryStreamName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), separator: jsii.String("separator"), }
type CfnTopicRule_HttpActionHeaderProperty ¶
type CfnTopicRule_HttpActionHeaderProperty struct { // The HTTP header key. Key *string `field:"required" json:"key" yaml:"key"` // The HTTP header value. // // Substitution templates are supported. Value *string `field:"required" json:"value" yaml:"value"` }
The HTTP action header.
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" httpActionHeaderProperty := &httpActionHeaderProperty{ key: jsii.String("key"), value: jsii.String("value"), }
type CfnTopicRule_HttpActionProperty ¶
type CfnTopicRule_HttpActionProperty struct { // The endpoint URL. // // If substitution templates are used in the URL, you must also specify a `confirmationUrl` . If this is a new destination, a new `TopicRuleDestination` is created if possible. Url *string `field:"required" json:"url" yaml:"url"` // The authentication method to use when sending data to an HTTPS endpoint. Auth interface{} `field:"optional" json:"auth" yaml:"auth"` // The URL to which AWS IoT sends a confirmation message. // // The value of the confirmation URL must be a prefix of the endpoint URL. If you do not specify a confirmation URL AWS IoT uses the endpoint URL as the confirmation URL. If you use substitution templates in the confirmationUrl, you must create and enable topic rule destinations that match each possible value of the substitution template before traffic is allowed to your endpoint URL. ConfirmationUrl *string `field:"optional" json:"confirmationUrl" yaml:"confirmationUrl"` // The HTTP headers to send with the message data. Headers interface{} `field:"optional" json:"headers" yaml:"headers"` }
Send data to an HTTPS endpoint.
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" httpActionProperty := &httpActionProperty{ url: jsii.String("url"), // the properties below are optional auth: &httpAuthorizationProperty{ sigv4: &sigV4AuthorizationProperty{ roleArn: jsii.String("roleArn"), serviceName: jsii.String("serviceName"), signingRegion: jsii.String("signingRegion"), }, }, confirmationUrl: jsii.String("confirmationUrl"), headers: []interface{}{ &httpActionHeaderProperty{ key: jsii.String("key"), value: jsii.String("value"), }, }, }
type CfnTopicRule_HttpAuthorizationProperty ¶
type CfnTopicRule_HttpAuthorizationProperty struct { // Use Sig V4 authorization. // // For more information, see [Signature Version 4 Signing Process](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) . Sigv4 interface{} `field:"optional" json:"sigv4" yaml:"sigv4"` }
The authorization method used to send messages.
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" httpAuthorizationProperty := &httpAuthorizationProperty{ sigv4: &sigV4AuthorizationProperty{ roleArn: jsii.String("roleArn"), serviceName: jsii.String("serviceName"), signingRegion: jsii.String("signingRegion"), }, }
type CfnTopicRule_IotAnalyticsActionProperty ¶
type CfnTopicRule_IotAnalyticsActionProperty struct { // The name of the IoT Analytics channel to which message data will be sent. ChannelName *string `field:"required" json:"channelName" yaml:"channelName"` // The ARN of the role which has a policy that grants IoT Analytics permission to send message data via IoT Analytics (iotanalytics:BatchPutMessage). RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // Whether to process the action as a batch. The default value is `false` . // // When `batchMode` is `true` and the rule SQL statement evaluates to an Array, each Array element is delivered as a separate message when passed by [`BatchPutMessage`](https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_BatchPutMessage.html) The resulting array can't have more than 100 messages. BatchMode interface{} `field:"optional" json:"batchMode" yaml:"batchMode"` }
Sends message data to an AWS IoT Analytics channel.
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" iotAnalyticsActionProperty := &iotAnalyticsActionProperty{ channelName: jsii.String("channelName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), }
type CfnTopicRule_IotEventsActionProperty ¶
type CfnTopicRule_IotEventsActionProperty struct { // The name of the AWS IoT Events input. InputName *string `field:"required" json:"inputName" yaml:"inputName"` // The ARN of the role that grants AWS IoT permission to send an input to an AWS IoT Events detector. // // ("Action":"iotevents:BatchPutMessage"). RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // Whether to process the event actions as a batch. The default value is `false` . // // When `batchMode` is `true` , you can't specify a `messageId` . // // When `batchMode` is `true` and the rule SQL statement evaluates to an Array, each Array element is treated as a separate message when Events by calling [`BatchPutMessage`](https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchPutMessage.html) . The resulting array can't have more than 10 messages. BatchMode interface{} `field:"optional" json:"batchMode" yaml:"batchMode"` // The ID of the message. The default `messageId` is a new UUID value. // // When `batchMode` is `true` , you can't specify a `messageId` --a new UUID value will be assigned. // // Assign a value to this property to ensure that only one input (message) with a given `messageId` will be processed by an AWS IoT Events detector. MessageId *string `field:"optional" json:"messageId" yaml:"messageId"` }
Sends an input to an AWS IoT Events detector.
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" iotEventsActionProperty := &iotEventsActionProperty{ inputName: jsii.String("inputName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), messageId: jsii.String("messageId"), }
type CfnTopicRule_IotSiteWiseActionProperty ¶
type CfnTopicRule_IotSiteWiseActionProperty struct { // A list of asset property value entries. PutAssetPropertyValueEntries interface{} `field:"required" json:"putAssetPropertyValueEntries" yaml:"putAssetPropertyValueEntries"` // The ARN of the role that grants AWS IoT permission to send an asset property value to AWS IoT SiteWise. // // ( `"Action": "iotsitewise:BatchPutAssetPropertyValue"` ). The trust policy can restrict access to specific asset hierarchy paths. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` }
Describes an action to send data from an MQTT message that triggered the rule to AWS IoT SiteWise asset properties.
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" iotSiteWiseActionProperty := &iotSiteWiseActionProperty{ putAssetPropertyValueEntries: []interface{}{ &putAssetPropertyValueEntryProperty{ propertyValues: []interface{}{ &assetPropertyValueProperty{ timestamp: &assetPropertyTimestampProperty{ timeInSeconds: jsii.String("timeInSeconds"), // the properties below are optional offsetInNanos: jsii.String("offsetInNanos"), }, value: &assetPropertyVariantProperty{ booleanValue: jsii.String("booleanValue"), doubleValue: jsii.String("doubleValue"), integerValue: jsii.String("integerValue"), stringValue: jsii.String("stringValue"), }, // the properties below are optional quality: jsii.String("quality"), }, }, // the properties below are optional assetId: jsii.String("assetId"), entryId: jsii.String("entryId"), propertyAlias: jsii.String("propertyAlias"), propertyId: jsii.String("propertyId"), }, }, roleArn: jsii.String("roleArn"), }
type CfnTopicRule_KafkaActionProperty ¶
type CfnTopicRule_KafkaActionProperty struct { // Properties of the Apache Kafka producer client. ClientProperties interface{} `field:"required" json:"clientProperties" yaml:"clientProperties"` // The ARN of Kafka action's VPC `TopicRuleDestination` . DestinationArn *string `field:"required" json:"destinationArn" yaml:"destinationArn"` // The Kafka topic for messages to be sent to the Kafka broker. Topic *string `field:"required" json:"topic" yaml:"topic"` // The Kafka message key. Key *string `field:"optional" json:"key" yaml:"key"` // The Kafka message partition. Partition *string `field:"optional" json:"partition" yaml:"partition"` }
Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or self-managed Apache Kafka cluster.
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" kafkaActionProperty := &kafkaActionProperty{ clientProperties: map[string]*string{ "clientPropertiesKey": jsii.String("clientProperties"), }, destinationArn: jsii.String("destinationArn"), topic: jsii.String("topic"), // the properties below are optional key: jsii.String("key"), partition: jsii.String("partition"), }
type CfnTopicRule_KinesisActionProperty ¶
type CfnTopicRule_KinesisActionProperty struct { // The ARN of the IAM role that grants access to the Amazon Kinesis stream. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // The name of the Amazon Kinesis stream. StreamName *string `field:"required" json:"streamName" yaml:"streamName"` // The partition key. PartitionKey *string `field:"optional" json:"partitionKey" yaml:"partitionKey"` }
Describes an action to write data to an Amazon Kinesis stream.
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" kinesisActionProperty := &kinesisActionProperty{ roleArn: jsii.String("roleArn"), streamName: jsii.String("streamName"), // the properties below are optional partitionKey: jsii.String("partitionKey"), }
type CfnTopicRule_LambdaActionProperty ¶
type CfnTopicRule_LambdaActionProperty struct { // The ARN of the Lambda function. FunctionArn *string `field:"optional" json:"functionArn" yaml:"functionArn"` }
Describes an action to invoke a Lambda 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" lambdaActionProperty := &lambdaActionProperty{ functionArn: jsii.String("functionArn"), }
type CfnTopicRule_LocationActionProperty ¶ added in v2.48.0
type CfnTopicRule_LocationActionProperty struct { // `CfnTopicRule.LocationActionProperty.DeviceId`. DeviceId *string `field:"required" json:"deviceId" yaml:"deviceId"` // `CfnTopicRule.LocationActionProperty.Latitude`. Latitude *string `field:"required" json:"latitude" yaml:"latitude"` // `CfnTopicRule.LocationActionProperty.Longitude`. Longitude *string `field:"required" json:"longitude" yaml:"longitude"` // `CfnTopicRule.LocationActionProperty.RoleArn`. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // `CfnTopicRule.LocationActionProperty.TrackerName`. TrackerName *string `field:"required" json:"trackerName" yaml:"trackerName"` // `CfnTopicRule.LocationActionProperty.Timestamp`. Timestamp interface{} `field:"optional" json:"timestamp" yaml:"timestamp"` }
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" locationActionProperty := &locationActionProperty{ deviceId: jsii.String("deviceId"), latitude: jsii.String("latitude"), longitude: jsii.String("longitude"), roleArn: jsii.String("roleArn"), trackerName: jsii.String("trackerName"), // the properties below are optional timestamp: NewDate(), }
type CfnTopicRule_OpenSearchActionProperty ¶
type CfnTopicRule_OpenSearchActionProperty struct { // The endpoint of your OpenSearch domain. Endpoint *string `field:"required" json:"endpoint" yaml:"endpoint"` // The unique identifier for the document you are storing. Id *string `field:"required" json:"id" yaml:"id"` // The OpenSearch index where you want to store your data. Index *string `field:"required" json:"index" yaml:"index"` // The IAM role ARN that has access to OpenSearch. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // The type of document you are storing. Type *string `field:"required" json:"type" yaml:"type"` }
Describes an action that writes data to an Amazon OpenSearch Service domain.
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" openSearchActionProperty := &openSearchActionProperty{ endpoint: jsii.String("endpoint"), id: jsii.String("id"), index: jsii.String("index"), roleArn: jsii.String("roleArn"), type: jsii.String("type"), }
type CfnTopicRule_PutAssetPropertyValueEntryProperty ¶
type CfnTopicRule_PutAssetPropertyValueEntryProperty struct { // A list of property values to insert that each contain timestamp, quality, and value (TQV) information. PropertyValues interface{} `field:"required" json:"propertyValues" yaml:"propertyValues"` // The ID of the AWS IoT SiteWise asset. // // You must specify either a `propertyAlias` or both an `aliasId` and a `propertyId` . Accepts substitution templates. AssetId *string `field:"optional" json:"assetId" yaml:"assetId"` // Optional. // // A unique identifier for this entry that you can define to better track which message caused an error in case of failure. Accepts substitution templates. Defaults to a new UUID. EntryId *string `field:"optional" json:"entryId" yaml:"entryId"` // The name of the property alias associated with your asset property. // // You must specify either a `propertyAlias` or both an `aliasId` and a `propertyId` . Accepts substitution templates. PropertyAlias *string `field:"optional" json:"propertyAlias" yaml:"propertyAlias"` // The ID of the asset's property. // // You must specify either a `propertyAlias` or both an `aliasId` and a `propertyId` . Accepts substitution templates. PropertyId *string `field:"optional" json:"propertyId" yaml:"propertyId"` }
An asset property value entry containing the following information.
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" putAssetPropertyValueEntryProperty := &putAssetPropertyValueEntryProperty{ propertyValues: []interface{}{ &assetPropertyValueProperty{ timestamp: &assetPropertyTimestampProperty{ timeInSeconds: jsii.String("timeInSeconds"), // the properties below are optional offsetInNanos: jsii.String("offsetInNanos"), }, value: &assetPropertyVariantProperty{ booleanValue: jsii.String("booleanValue"), doubleValue: jsii.String("doubleValue"), integerValue: jsii.String("integerValue"), stringValue: jsii.String("stringValue"), }, // the properties below are optional quality: jsii.String("quality"), }, }, // the properties below are optional assetId: jsii.String("assetId"), entryId: jsii.String("entryId"), propertyAlias: jsii.String("propertyAlias"), propertyId: jsii.String("propertyId"), }
type CfnTopicRule_PutItemInputProperty ¶
type CfnTopicRule_PutItemInputProperty struct { // The table where the message data will be written. TableName *string `field:"required" json:"tableName" yaml:"tableName"` }
The input for the DynamoActionVS action that specifies the DynamoDB table to which the message data will be written.
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" putItemInputProperty := &putItemInputProperty{ tableName: jsii.String("tableName"), }
type CfnTopicRule_RepublishActionHeadersProperty ¶ added in v2.51.0
type CfnTopicRule_RepublishActionHeadersProperty struct { // `CfnTopicRule.RepublishActionHeadersProperty.ContentType`. ContentType *string `field:"optional" json:"contentType" yaml:"contentType"` // `CfnTopicRule.RepublishActionHeadersProperty.CorrelationData`. CorrelationData *string `field:"optional" json:"correlationData" yaml:"correlationData"` // `CfnTopicRule.RepublishActionHeadersProperty.MessageExpiry`. MessageExpiry *string `field:"optional" json:"messageExpiry" yaml:"messageExpiry"` // `CfnTopicRule.RepublishActionHeadersProperty.PayloadFormatIndicator`. PayloadFormatIndicator *string `field:"optional" json:"payloadFormatIndicator" yaml:"payloadFormatIndicator"` // `CfnTopicRule.RepublishActionHeadersProperty.ResponseTopic`. ResponseTopic *string `field:"optional" json:"responseTopic" yaml:"responseTopic"` // `CfnTopicRule.RepublishActionHeadersProperty.UserProperties`. UserProperties interface{} `field:"optional" json:"userProperties" yaml:"userProperties"` }
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" republishActionHeadersProperty := &republishActionHeadersProperty{ contentType: jsii.String("contentType"), correlationData: jsii.String("correlationData"), messageExpiry: jsii.String("messageExpiry"), payloadFormatIndicator: jsii.String("payloadFormatIndicator"), responseTopic: jsii.String("responseTopic"), userProperties: []interface{}{ &userPropertyProperty{ key: jsii.String("key"), value: jsii.String("value"), }, }, }
type CfnTopicRule_RepublishActionProperty ¶
type CfnTopicRule_RepublishActionProperty struct { // The ARN of the IAM role that grants access. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // The name of the MQTT topic. Topic *string `field:"required" json:"topic" yaml:"topic"` // `CfnTopicRule.RepublishActionProperty.Headers`. Headers interface{} `field:"optional" json:"headers" yaml:"headers"` // The Quality of Service (QoS) level to use when republishing messages. // // The default value is 0. Qos *float64 `field:"optional" json:"qos" yaml:"qos"` }
Describes an action to republish to another topic.
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" republishActionProperty := &republishActionProperty{ roleArn: jsii.String("roleArn"), topic: jsii.String("topic"), // the properties below are optional headers: &republishActionHeadersProperty{ contentType: jsii.String("contentType"), correlationData: jsii.String("correlationData"), messageExpiry: jsii.String("messageExpiry"), payloadFormatIndicator: jsii.String("payloadFormatIndicator"), responseTopic: jsii.String("responseTopic"), userProperties: []interface{}{ &userPropertyProperty{ key: jsii.String("key"), value: jsii.String("value"), }, }, }, qos: jsii.Number(123), }
type CfnTopicRule_S3ActionProperty ¶
type CfnTopicRule_S3ActionProperty struct { // The Amazon S3 bucket. BucketName *string `field:"required" json:"bucketName" yaml:"bucketName"` // The object key. // // For more information, see [Actions, resources, and condition keys for Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html) . Key *string `field:"required" json:"key" yaml:"key"` // The ARN of the IAM role that grants access. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // The Amazon S3 canned ACL that controls access to the object identified by the object key. // // For more information, see [S3 canned ACLs](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) . CannedAcl *string `field:"optional" json:"cannedAcl" yaml:"cannedAcl"` }
Describes an action to write data to an Amazon S3 bucket.
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" s3ActionProperty := &s3ActionProperty{ bucketName: jsii.String("bucketName"), key: jsii.String("key"), roleArn: jsii.String("roleArn"), // the properties below are optional cannedAcl: jsii.String("cannedAcl"), }
type CfnTopicRule_SigV4AuthorizationProperty ¶
type CfnTopicRule_SigV4AuthorizationProperty struct { // The ARN of the signing role. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // The service name to use while signing with Sig V4. ServiceName *string `field:"required" json:"serviceName" yaml:"serviceName"` // The signing region. SigningRegion *string `field:"required" json:"signingRegion" yaml:"signingRegion"` }
For more information, see [Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.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" sigV4AuthorizationProperty := &sigV4AuthorizationProperty{ roleArn: jsii.String("roleArn"), serviceName: jsii.String("serviceName"), signingRegion: jsii.String("signingRegion"), }
type CfnTopicRule_SnsActionProperty ¶
type CfnTopicRule_SnsActionProperty struct { // The ARN of the IAM role that grants access. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // The ARN of the SNS topic. TargetArn *string `field:"required" json:"targetArn" yaml:"targetArn"` // (Optional) The message format of the message to publish. // // Accepted values are "JSON" and "RAW". The default value of the attribute is "RAW". SNS uses this setting to determine if the payload should be parsed and relevant platform-specific bits of the payload should be extracted. For more information, see [Amazon SNS Message and JSON Formats](https://docs.aws.amazon.com/sns/latest/dg/json-formats.html) in the *Amazon Simple Notification Service Developer Guide* . MessageFormat *string `field:"optional" json:"messageFormat" yaml:"messageFormat"` }
Describes an action to publish to an Amazon SNS topic.
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" snsActionProperty := &snsActionProperty{ roleArn: jsii.String("roleArn"), targetArn: jsii.String("targetArn"), // the properties below are optional messageFormat: jsii.String("messageFormat"), }
type CfnTopicRule_SqsActionProperty ¶
type CfnTopicRule_SqsActionProperty struct { // The URL of the Amazon SQS queue. QueueUrl *string `field:"required" json:"queueUrl" yaml:"queueUrl"` // The ARN of the IAM role that grants access. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // Specifies whether to use Base64 encoding. UseBase64 interface{} `field:"optional" json:"useBase64" yaml:"useBase64"` }
Describes an action to publish data to an Amazon SQS queue.
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" sqsActionProperty := &sqsActionProperty{ queueUrl: jsii.String("queueUrl"), roleArn: jsii.String("roleArn"), // the properties below are optional useBase64: jsii.Boolean(false), }
type CfnTopicRule_StepFunctionsActionProperty ¶
type CfnTopicRule_StepFunctionsActionProperty struct { // The ARN of the role that grants IoT permission to start execution of a state machine ("Action":"states:StartExecution"). RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // The name of the Step Functions state machine whose execution will be started. StateMachineName *string `field:"required" json:"stateMachineName" yaml:"stateMachineName"` // (Optional) A name will be given to the state machine execution consisting of this prefix followed by a UUID. // // Step Functions automatically creates a unique name for each state machine execution if one is not provided. ExecutionNamePrefix *string `field:"optional" json:"executionNamePrefix" yaml:"executionNamePrefix"` }
Starts execution of a Step Functions state machine.
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" stepFunctionsActionProperty := &stepFunctionsActionProperty{ roleArn: jsii.String("roleArn"), stateMachineName: jsii.String("stateMachineName"), // the properties below are optional executionNamePrefix: jsii.String("executionNamePrefix"), }
type CfnTopicRule_TimestampProperty ¶ added in v2.48.0
type CfnTopicRule_TimestampProperty struct { // `CfnTopicRule.TimestampProperty.Value`. Value *string `field:"required" json:"value" yaml:"value"` // `CfnTopicRule.TimestampProperty.Unit`. Unit *string `field:"optional" json:"unit" yaml:"unit"` }
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" timestampProperty := ×tampProperty{ value: jsii.String("value"), // the properties below are optional unit: jsii.String("unit"), }
type CfnTopicRule_TimestreamActionProperty ¶
type CfnTopicRule_TimestreamActionProperty struct { // The name of an Amazon Timestream database that has the table to write records into. DatabaseName *string `field:"required" json:"databaseName" yaml:"databaseName"` // Metadata attributes of the time series that are written in each measure record. Dimensions interface{} `field:"required" json:"dimensions" yaml:"dimensions"` // The Amazon Resource Name (ARN) of the role that grants AWS IoT permission to write to the Timestream database table. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // The table where the message data will be written. TableName *string `field:"required" json:"tableName" yaml:"tableName"` // The value to use for the entry's timestamp. // // If blank, the time that the entry was processed is used. Timestamp interface{} `field:"optional" json:"timestamp" yaml:"timestamp"` }
Describes an action that writes records into an Amazon Timestream table.
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" timestreamActionProperty := ×treamActionProperty{ databaseName: jsii.String("databaseName"), dimensions: []interface{}{ ×treamDimensionProperty{ name: jsii.String("name"), value: jsii.String("value"), }, }, roleArn: jsii.String("roleArn"), tableName: jsii.String("tableName"), // the properties below are optional timestamp: ×treamTimestampProperty{ unit: jsii.String("unit"), value: jsii.String("value"), }, }
type CfnTopicRule_TimestreamDimensionProperty ¶
type CfnTopicRule_TimestreamDimensionProperty struct { // The metadata dimension name. // // This is the name of the column in the Amazon Timestream database table record. Name *string `field:"required" json:"name" yaml:"name"` // The value to write in this column of the database record. Value *string `field:"required" json:"value" yaml:"value"` }
Metadata attributes of the time series that are written in each measure record.
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" timestreamDimensionProperty := ×treamDimensionProperty{ name: jsii.String("name"), value: jsii.String("value"), }
type CfnTopicRule_TimestreamTimestampProperty ¶
type CfnTopicRule_TimestreamTimestampProperty struct { // The precision of the timestamp value that results from the expression described in `value` . Unit *string `field:"required" json:"unit" yaml:"unit"` // An expression that returns a long epoch time value. Value *string `field:"required" json:"value" yaml:"value"` }
The value to use for the entry's timestamp.
If blank, the time that the entry was processed is used.
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" timestreamTimestampProperty := ×treamTimestampProperty{ unit: jsii.String("unit"), value: jsii.String("value"), }
type CfnTopicRule_TopicRulePayloadProperty ¶
type CfnTopicRule_TopicRulePayloadProperty struct { // The actions associated with the rule. Actions interface{} `field:"required" json:"actions" yaml:"actions"` // The SQL statement used to query the topic. // // For more information, see [AWS IoT SQL Reference](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-reference.html) in the *AWS IoT Developer Guide* . Sql *string `field:"required" json:"sql" yaml:"sql"` // The version of the SQL rules engine to use when evaluating the rule. // // The default value is 2015-10-08. AwsIotSqlVersion *string `field:"optional" json:"awsIotSqlVersion" yaml:"awsIotSqlVersion"` // The description of the rule. Description *string `field:"optional" json:"description" yaml:"description"` // The action to take when an error occurs. ErrorAction interface{} `field:"optional" json:"errorAction" yaml:"errorAction"` // Specifies whether the rule is disabled. RuleDisabled interface{} `field:"optional" json:"ruleDisabled" yaml:"ruleDisabled"` }
Describes a rule.
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" topicRulePayloadProperty := &topicRulePayloadProperty{ actions: []interface{}{ &actionProperty{ cloudwatchAlarm: &cloudwatchAlarmActionProperty{ alarmName: jsii.String("alarmName"), roleArn: jsii.String("roleArn"), stateReason: jsii.String("stateReason"), stateValue: jsii.String("stateValue"), }, cloudwatchLogs: &cloudwatchLogsActionProperty{ logGroupName: jsii.String("logGroupName"), roleArn: jsii.String("roleArn"), }, cloudwatchMetric: &cloudwatchMetricActionProperty{ metricName: jsii.String("metricName"), metricNamespace: jsii.String("metricNamespace"), metricUnit: jsii.String("metricUnit"), metricValue: jsii.String("metricValue"), roleArn: jsii.String("roleArn"), // the properties below are optional metricTimestamp: jsii.String("metricTimestamp"), }, dynamoDb: &dynamoDBActionProperty{ hashKeyField: jsii.String("hashKeyField"), hashKeyValue: jsii.String("hashKeyValue"), roleArn: jsii.String("roleArn"), tableName: jsii.String("tableName"), // the properties below are optional hashKeyType: jsii.String("hashKeyType"), payloadField: jsii.String("payloadField"), rangeKeyField: jsii.String("rangeKeyField"), rangeKeyType: jsii.String("rangeKeyType"), rangeKeyValue: jsii.String("rangeKeyValue"), }, dynamoDBv2: &dynamoDBv2ActionProperty{ putItem: &putItemInputProperty{ tableName: jsii.String("tableName"), }, roleArn: jsii.String("roleArn"), }, elasticsearch: &elasticsearchActionProperty{ endpoint: jsii.String("endpoint"), id: jsii.String("id"), index: jsii.String("index"), roleArn: jsii.String("roleArn"), type: jsii.String("type"), }, firehose: &firehoseActionProperty{ deliveryStreamName: jsii.String("deliveryStreamName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), separator: jsii.String("separator"), }, http: &httpActionProperty{ url: jsii.String("url"), // the properties below are optional auth: &httpAuthorizationProperty{ sigv4: &sigV4AuthorizationProperty{ roleArn: jsii.String("roleArn"), serviceName: jsii.String("serviceName"), signingRegion: jsii.String("signingRegion"), }, }, confirmationUrl: jsii.String("confirmationUrl"), headers: []interface{}{ &httpActionHeaderProperty{ key: jsii.String("key"), value: jsii.String("value"), }, }, }, iotAnalytics: &iotAnalyticsActionProperty{ channelName: jsii.String("channelName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), }, iotEvents: &iotEventsActionProperty{ inputName: jsii.String("inputName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), messageId: jsii.String("messageId"), }, iotSiteWise: &iotSiteWiseActionProperty{ putAssetPropertyValueEntries: []interface{}{ &putAssetPropertyValueEntryProperty{ propertyValues: []interface{}{ &assetPropertyValueProperty{ timestamp: &assetPropertyTimestampProperty{ timeInSeconds: jsii.String("timeInSeconds"), // the properties below are optional offsetInNanos: jsii.String("offsetInNanos"), }, value: &assetPropertyVariantProperty{ booleanValue: jsii.String("booleanValue"), doubleValue: jsii.String("doubleValue"), integerValue: jsii.String("integerValue"), stringValue: jsii.String("stringValue"), }, // the properties below are optional quality: jsii.String("quality"), }, }, // the properties below are optional assetId: jsii.String("assetId"), entryId: jsii.String("entryId"), propertyAlias: jsii.String("propertyAlias"), propertyId: jsii.String("propertyId"), }, }, roleArn: jsii.String("roleArn"), }, kafka: &kafkaActionProperty{ clientProperties: map[string]*string{ "clientPropertiesKey": jsii.String("clientProperties"), }, destinationArn: jsii.String("destinationArn"), topic: jsii.String("topic"), // the properties below are optional key: jsii.String("key"), partition: jsii.String("partition"), }, kinesis: &kinesisActionProperty{ roleArn: jsii.String("roleArn"), streamName: jsii.String("streamName"), // the properties below are optional partitionKey: jsii.String("partitionKey"), }, lambda: &lambdaActionProperty{ functionArn: jsii.String("functionArn"), }, location: &locationActionProperty{ deviceId: jsii.String("deviceId"), latitude: jsii.String("latitude"), longitude: jsii.String("longitude"), roleArn: jsii.String("roleArn"), trackerName: jsii.String("trackerName"), // the properties below are optional timestamp: NewDate(), }, openSearch: &openSearchActionProperty{ endpoint: jsii.String("endpoint"), id: jsii.String("id"), index: jsii.String("index"), roleArn: jsii.String("roleArn"), type: jsii.String("type"), }, republish: &republishActionProperty{ roleArn: jsii.String("roleArn"), topic: jsii.String("topic"), // the properties below are optional headers: &republishActionHeadersProperty{ contentType: jsii.String("contentType"), correlationData: jsii.String("correlationData"), messageExpiry: jsii.String("messageExpiry"), payloadFormatIndicator: jsii.String("payloadFormatIndicator"), responseTopic: jsii.String("responseTopic"), userProperties: []interface{}{ &userPropertyProperty{ key: jsii.String("key"), value: jsii.String("value"), }, }, }, qos: jsii.Number(123), }, s3: &s3ActionProperty{ bucketName: jsii.String("bucketName"), key: jsii.String("key"), roleArn: jsii.String("roleArn"), // the properties below are optional cannedAcl: jsii.String("cannedAcl"), }, sns: &snsActionProperty{ roleArn: jsii.String("roleArn"), targetArn: jsii.String("targetArn"), // the properties below are optional messageFormat: jsii.String("messageFormat"), }, sqs: &sqsActionProperty{ queueUrl: jsii.String("queueUrl"), roleArn: jsii.String("roleArn"), // the properties below are optional useBase64: jsii.Boolean(false), }, stepFunctions: &stepFunctionsActionProperty{ roleArn: jsii.String("roleArn"), stateMachineName: jsii.String("stateMachineName"), // the properties below are optional executionNamePrefix: jsii.String("executionNamePrefix"), }, timestream: ×treamActionProperty{ databaseName: jsii.String("databaseName"), dimensions: []interface{}{ ×treamDimensionProperty{ name: jsii.String("name"), value: jsii.String("value"), }, }, roleArn: jsii.String("roleArn"), tableName: jsii.String("tableName"), // the properties below are optional timestamp: ×treamTimestampProperty{ unit: jsii.String("unit"), value: jsii.String("value"), }, }, }, }, sql: jsii.String("sql"), // the properties below are optional awsIotSqlVersion: jsii.String("awsIotSqlVersion"), description: jsii.String("description"), errorAction: &actionProperty{ cloudwatchAlarm: &cloudwatchAlarmActionProperty{ alarmName: jsii.String("alarmName"), roleArn: jsii.String("roleArn"), stateReason: jsii.String("stateReason"), stateValue: jsii.String("stateValue"), }, cloudwatchLogs: &cloudwatchLogsActionProperty{ logGroupName: jsii.String("logGroupName"), roleArn: jsii.String("roleArn"), }, cloudwatchMetric: &cloudwatchMetricActionProperty{ metricName: jsii.String("metricName"), metricNamespace: jsii.String("metricNamespace"), metricUnit: jsii.String("metricUnit"), metricValue: jsii.String("metricValue"), roleArn: jsii.String("roleArn"), // the properties below are optional metricTimestamp: jsii.String("metricTimestamp"), }, dynamoDb: &dynamoDBActionProperty{ hashKeyField: jsii.String("hashKeyField"), hashKeyValue: jsii.String("hashKeyValue"), roleArn: jsii.String("roleArn"), tableName: jsii.String("tableName"), // the properties below are optional hashKeyType: jsii.String("hashKeyType"), payloadField: jsii.String("payloadField"), rangeKeyField: jsii.String("rangeKeyField"), rangeKeyType: jsii.String("rangeKeyType"), rangeKeyValue: jsii.String("rangeKeyValue"), }, dynamoDBv2: &dynamoDBv2ActionProperty{ putItem: &putItemInputProperty{ tableName: jsii.String("tableName"), }, roleArn: jsii.String("roleArn"), }, elasticsearch: &elasticsearchActionProperty{ endpoint: jsii.String("endpoint"), id: jsii.String("id"), index: jsii.String("index"), roleArn: jsii.String("roleArn"), type: jsii.String("type"), }, firehose: &firehoseActionProperty{ deliveryStreamName: jsii.String("deliveryStreamName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), separator: jsii.String("separator"), }, http: &httpActionProperty{ url: jsii.String("url"), // the properties below are optional auth: &httpAuthorizationProperty{ sigv4: &sigV4AuthorizationProperty{ roleArn: jsii.String("roleArn"), serviceName: jsii.String("serviceName"), signingRegion: jsii.String("signingRegion"), }, }, confirmationUrl: jsii.String("confirmationUrl"), headers: []interface{}{ &httpActionHeaderProperty{ key: jsii.String("key"), value: jsii.String("value"), }, }, }, iotAnalytics: &iotAnalyticsActionProperty{ channelName: jsii.String("channelName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), }, iotEvents: &iotEventsActionProperty{ inputName: jsii.String("inputName"), roleArn: jsii.String("roleArn"), // the properties below are optional batchMode: jsii.Boolean(false), messageId: jsii.String("messageId"), }, iotSiteWise: &iotSiteWiseActionProperty{ putAssetPropertyValueEntries: []interface{}{ &putAssetPropertyValueEntryProperty{ propertyValues: []interface{}{ &assetPropertyValueProperty{ timestamp: &assetPropertyTimestampProperty{ timeInSeconds: jsii.String("timeInSeconds"), // the properties below are optional offsetInNanos: jsii.String("offsetInNanos"), }, value: &assetPropertyVariantProperty{ booleanValue: jsii.String("booleanValue"), doubleValue: jsii.String("doubleValue"), integerValue: jsii.String("integerValue"), stringValue: jsii.String("stringValue"), }, // the properties below are optional quality: jsii.String("quality"), }, }, // the properties below are optional assetId: jsii.String("assetId"), entryId: jsii.String("entryId"), propertyAlias: jsii.String("propertyAlias"), propertyId: jsii.String("propertyId"), }, }, roleArn: jsii.String("roleArn"), }, kafka: &kafkaActionProperty{ clientProperties: map[string]*string{ "clientPropertiesKey": jsii.String("clientProperties"), }, destinationArn: jsii.String("destinationArn"), topic: jsii.String("topic"), // the properties below are optional key: jsii.String("key"), partition: jsii.String("partition"), }, kinesis: &kinesisActionProperty{ roleArn: jsii.String("roleArn"), streamName: jsii.String("streamName"), // the properties below are optional partitionKey: jsii.String("partitionKey"), }, lambda: &lambdaActionProperty{ functionArn: jsii.String("functionArn"), }, location: &locationActionProperty{ deviceId: jsii.String("deviceId"), latitude: jsii.String("latitude"), longitude: jsii.String("longitude"), roleArn: jsii.String("roleArn"), trackerName: jsii.String("trackerName"), // the properties below are optional timestamp: NewDate(), }, openSearch: &openSearchActionProperty{ endpoint: jsii.String("endpoint"), id: jsii.String("id"), index: jsii.String("index"), roleArn: jsii.String("roleArn"), type: jsii.String("type"), }, republish: &republishActionProperty{ roleArn: jsii.String("roleArn"), topic: jsii.String("topic"), // the properties below are optional headers: &republishActionHeadersProperty{ contentType: jsii.String("contentType"), correlationData: jsii.String("correlationData"), messageExpiry: jsii.String("messageExpiry"), payloadFormatIndicator: jsii.String("payloadFormatIndicator"), responseTopic: jsii.String("responseTopic"), userProperties: []interface{}{ &userPropertyProperty{ key: jsii.String("key"), value: jsii.String("value"), }, }, }, qos: jsii.Number(123), }, s3: &s3ActionProperty{ bucketName: jsii.String("bucketName"), key: jsii.String("key"), roleArn: jsii.String("roleArn"), // the properties below are optional cannedAcl: jsii.String("cannedAcl"), }, sns: &snsActionProperty{ roleArn: jsii.String("roleArn"), targetArn: jsii.String("targetArn"), // the properties below are optional messageFormat: jsii.String("messageFormat"), }, sqs: &sqsActionProperty{ queueUrl: jsii.String("queueUrl"), roleArn: jsii.String("roleArn"), // the properties below are optional useBase64: jsii.Boolean(false), }, stepFunctions: &stepFunctionsActionProperty{ roleArn: jsii.String("roleArn"), stateMachineName: jsii.String("stateMachineName"), // the properties below are optional executionNamePrefix: jsii.String("executionNamePrefix"), }, timestream: ×treamActionProperty{ databaseName: jsii.String("databaseName"), dimensions: []interface{}{ ×treamDimensionProperty{ name: jsii.String("name"), value: jsii.String("value"), }, }, roleArn: jsii.String("roleArn"), tableName: jsii.String("tableName"), // the properties below are optional timestamp: ×treamTimestampProperty{ unit: jsii.String("unit"), value: jsii.String("value"), }, }, }, ruleDisabled: jsii.Boolean(false), }
type CfnTopicRule_UserPropertyProperty ¶ added in v2.51.0
type CfnTopicRule_UserPropertyProperty struct { // `CfnTopicRule.UserPropertyProperty.Key`. Key *string `field:"required" json:"key" yaml:"key"` // `CfnTopicRule.UserPropertyProperty.Value`. Value *string `field:"required" json:"value" yaml:"value"` }
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" userPropertyProperty := &userPropertyProperty{ key: jsii.String("key"), value: jsii.String("value"), }
Source Files ¶
- awsiot.go
- awsiot_CfnAccountAuditConfiguration.go
- awsiot_CfnAccountAuditConfigurationProps.go
- awsiot_CfnAccountAuditConfiguration_AuditCheckConfigurationProperty.go
- awsiot_CfnAccountAuditConfiguration_AuditCheckConfigurationsProperty.go
- awsiot_CfnAccountAuditConfiguration_AuditNotificationTargetConfigurationsProperty.go
- awsiot_CfnAccountAuditConfiguration_AuditNotificationTargetProperty.go
- awsiot_CfnAccountAuditConfiguration__runtime_type_checks.go
- awsiot_CfnAuthorizer.go
- awsiot_CfnAuthorizerProps.go
- awsiot_CfnAuthorizer__runtime_type_checks.go
- awsiot_CfnCACertificate.go
- awsiot_CfnCACertificateProps.go
- awsiot_CfnCACertificate_RegistrationConfigProperty.go
- awsiot_CfnCACertificate__runtime_type_checks.go
- awsiot_CfnCertificate.go
- awsiot_CfnCertificateProps.go
- awsiot_CfnCertificate__runtime_type_checks.go
- awsiot_CfnCustomMetric.go
- awsiot_CfnCustomMetricProps.go
- awsiot_CfnCustomMetric__runtime_type_checks.go
- awsiot_CfnDimension.go
- awsiot_CfnDimensionProps.go
- awsiot_CfnDimension__runtime_type_checks.go
- awsiot_CfnDomainConfiguration.go
- awsiot_CfnDomainConfigurationProps.go
- awsiot_CfnDomainConfiguration_AuthorizerConfigProperty.go
- awsiot_CfnDomainConfiguration_ServerCertificateSummaryProperty.go
- awsiot_CfnDomainConfiguration__runtime_type_checks.go
- awsiot_CfnFleetMetric.go
- awsiot_CfnFleetMetricProps.go
- awsiot_CfnFleetMetric_AggregationTypeProperty.go
- awsiot_CfnFleetMetric__runtime_type_checks.go
- awsiot_CfnJobTemplate.go
- awsiot_CfnJobTemplateProps.go
- awsiot_CfnJobTemplate__runtime_type_checks.go
- awsiot_CfnLogging.go
- awsiot_CfnLoggingProps.go
- awsiot_CfnLogging__runtime_type_checks.go
- awsiot_CfnMitigationAction.go
- awsiot_CfnMitigationActionProps.go
- awsiot_CfnMitigationAction_ActionParamsProperty.go
- awsiot_CfnMitigationAction_AddThingsToThingGroupParamsProperty.go
- awsiot_CfnMitigationAction_EnableIoTLoggingParamsProperty.go
- awsiot_CfnMitigationAction_PublishFindingToSnsParamsProperty.go
- awsiot_CfnMitigationAction_ReplaceDefaultPolicyVersionParamsProperty.go
- awsiot_CfnMitigationAction_UpdateCACertificateParamsProperty.go
- awsiot_CfnMitigationAction_UpdateDeviceCertificateParamsProperty.go
- awsiot_CfnMitigationAction__runtime_type_checks.go
- awsiot_CfnPolicy.go
- awsiot_CfnPolicyPrincipalAttachment.go
- awsiot_CfnPolicyPrincipalAttachmentProps.go
- awsiot_CfnPolicyPrincipalAttachment__runtime_type_checks.go
- awsiot_CfnPolicyProps.go
- awsiot_CfnPolicy__runtime_type_checks.go
- awsiot_CfnProvisioningTemplate.go
- awsiot_CfnProvisioningTemplateProps.go
- awsiot_CfnProvisioningTemplate_ProvisioningHookProperty.go
- awsiot_CfnProvisioningTemplate__runtime_type_checks.go
- awsiot_CfnResourceSpecificLogging.go
- awsiot_CfnResourceSpecificLoggingProps.go
- awsiot_CfnResourceSpecificLogging__runtime_type_checks.go
- awsiot_CfnRoleAlias.go
- awsiot_CfnRoleAliasProps.go
- awsiot_CfnRoleAlias__runtime_type_checks.go
- awsiot_CfnScheduledAudit.go
- awsiot_CfnScheduledAuditProps.go
- awsiot_CfnScheduledAudit__runtime_type_checks.go
- awsiot_CfnSecurityProfile.go
- awsiot_CfnSecurityProfileProps.go
- awsiot_CfnSecurityProfile_AlertTargetProperty.go
- awsiot_CfnSecurityProfile_BehaviorCriteriaProperty.go
- awsiot_CfnSecurityProfile_BehaviorProperty.go
- awsiot_CfnSecurityProfile_MachineLearningDetectionConfigProperty.go
- awsiot_CfnSecurityProfile_MetricDimensionProperty.go
- awsiot_CfnSecurityProfile_MetricToRetainProperty.go
- awsiot_CfnSecurityProfile_MetricValueProperty.go
- awsiot_CfnSecurityProfile_StatisticalThresholdProperty.go
- awsiot_CfnSecurityProfile__runtime_type_checks.go
- awsiot_CfnThing.go
- awsiot_CfnThingPrincipalAttachment.go
- awsiot_CfnThingPrincipalAttachmentProps.go
- awsiot_CfnThingPrincipalAttachment__runtime_type_checks.go
- awsiot_CfnThingProps.go
- awsiot_CfnThing_AttributePayloadProperty.go
- awsiot_CfnThing__runtime_type_checks.go
- awsiot_CfnTopicRule.go
- awsiot_CfnTopicRuleDestination.go
- awsiot_CfnTopicRuleDestinationProps.go
- awsiot_CfnTopicRuleDestination_HttpUrlDestinationSummaryProperty.go
- awsiot_CfnTopicRuleDestination_VpcDestinationPropertiesProperty.go
- awsiot_CfnTopicRuleDestination__runtime_type_checks.go
- awsiot_CfnTopicRuleProps.go
- awsiot_CfnTopicRule_ActionProperty.go
- awsiot_CfnTopicRule_AssetPropertyTimestampProperty.go
- awsiot_CfnTopicRule_AssetPropertyValueProperty.go
- awsiot_CfnTopicRule_AssetPropertyVariantProperty.go
- awsiot_CfnTopicRule_CloudwatchAlarmActionProperty.go
- awsiot_CfnTopicRule_CloudwatchLogsActionProperty.go
- awsiot_CfnTopicRule_CloudwatchMetricActionProperty.go
- awsiot_CfnTopicRule_DynamoDBActionProperty.go
- awsiot_CfnTopicRule_DynamoDBv2ActionProperty.go
- awsiot_CfnTopicRule_ElasticsearchActionProperty.go
- awsiot_CfnTopicRule_FirehoseActionProperty.go
- awsiot_CfnTopicRule_HttpActionHeaderProperty.go
- awsiot_CfnTopicRule_HttpActionProperty.go
- awsiot_CfnTopicRule_HttpAuthorizationProperty.go
- awsiot_CfnTopicRule_IotAnalyticsActionProperty.go
- awsiot_CfnTopicRule_IotEventsActionProperty.go
- awsiot_CfnTopicRule_IotSiteWiseActionProperty.go
- awsiot_CfnTopicRule_KafkaActionProperty.go
- awsiot_CfnTopicRule_KinesisActionProperty.go
- awsiot_CfnTopicRule_LambdaActionProperty.go
- awsiot_CfnTopicRule_LocationActionProperty.go
- awsiot_CfnTopicRule_OpenSearchActionProperty.go
- awsiot_CfnTopicRule_PutAssetPropertyValueEntryProperty.go
- awsiot_CfnTopicRule_PutItemInputProperty.go
- awsiot_CfnTopicRule_RepublishActionHeadersProperty.go
- awsiot_CfnTopicRule_RepublishActionProperty.go
- awsiot_CfnTopicRule_S3ActionProperty.go
- awsiot_CfnTopicRule_SigV4AuthorizationProperty.go
- awsiot_CfnTopicRule_SnsActionProperty.go
- awsiot_CfnTopicRule_SqsActionProperty.go
- awsiot_CfnTopicRule_StepFunctionsActionProperty.go
- awsiot_CfnTopicRule_TimestampProperty.go
- awsiot_CfnTopicRule_TimestreamActionProperty.go
- awsiot_CfnTopicRule_TimestreamDimensionProperty.go
- awsiot_CfnTopicRule_TimestreamTimestampProperty.go
- awsiot_CfnTopicRule_TopicRulePayloadProperty.go
- awsiot_CfnTopicRule_UserPropertyProperty.go
- awsiot_CfnTopicRule__runtime_type_checks.go