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 awscdk.Construct, id *string, ...)
- func NewCfnAuthorizer_Override(c CfnAuthorizer, scope awscdk.Construct, id *string, props *CfnAuthorizerProps)
- func NewCfnCACertificate_Override(c CfnCACertificate, scope awscdk.Construct, id *string, ...)
- func NewCfnCertificate_Override(c CfnCertificate, scope awscdk.Construct, id *string, ...)
- func NewCfnCustomMetric_Override(c CfnCustomMetric, scope awscdk.Construct, id *string, ...)
- func NewCfnDimension_Override(c CfnDimension, scope awscdk.Construct, id *string, props *CfnDimensionProps)
- func NewCfnDomainConfiguration_Override(c CfnDomainConfiguration, scope awscdk.Construct, id *string, ...)
- func NewCfnFleetMetric_Override(c CfnFleetMetric, scope awscdk.Construct, id *string, ...)
- func NewCfnJobTemplate_Override(c CfnJobTemplate, scope awscdk.Construct, id *string, ...)
- func NewCfnLogging_Override(c CfnLogging, scope awscdk.Construct, id *string, props *CfnLoggingProps)
- func NewCfnMitigationAction_Override(c CfnMitigationAction, scope awscdk.Construct, id *string, ...)
- func NewCfnPolicyPrincipalAttachment_Override(c CfnPolicyPrincipalAttachment, scope awscdk.Construct, id *string, ...)
- func NewCfnPolicy_Override(c CfnPolicy, scope awscdk.Construct, id *string, props *CfnPolicyProps)
- func NewCfnProvisioningTemplate_Override(c CfnProvisioningTemplate, scope awscdk.Construct, id *string, ...)
- func NewCfnResourceSpecificLogging_Override(c CfnResourceSpecificLogging, scope awscdk.Construct, id *string, ...)
- func NewCfnRoleAlias_Override(c CfnRoleAlias, scope awscdk.Construct, id *string, props *CfnRoleAliasProps)
- func NewCfnScheduledAudit_Override(c CfnScheduledAudit, scope awscdk.Construct, id *string, ...)
- func NewCfnSecurityProfile_Override(c CfnSecurityProfile, scope awscdk.Construct, id *string, ...)
- func NewCfnThingPrincipalAttachment_Override(c CfnThingPrincipalAttachment, scope awscdk.Construct, id *string, ...)
- func NewCfnThing_Override(c CfnThing, scope awscdk.Construct, id *string, props *CfnThingProps)
- func NewCfnTopicRuleDestination_Override(c CfnTopicRuleDestination, scope awscdk.Construct, id *string, ...)
- func NewCfnTopicRule_Override(c CfnTopicRule, scope awscdk.Construct, id *string, props *CfnTopicRuleProps)
- func NewIotSql_Override(i IotSql)
- func NewTopicRule_Override(t TopicRule, scope constructs.Construct, id *string, props *TopicRuleProps)
- func TopicRule_IsConstruct(x interface{}) *bool
- func TopicRule_IsResource(construct awscdk.IConstruct) *bool
- type ActionConfig
- 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 CfnJobTemplate_AbortConfigProperty
- type CfnJobTemplate_AbortCriteriaProperty
- type CfnJobTemplate_ExponentialRolloutRateProperty
- type CfnJobTemplate_JobExecutionsRolloutConfigProperty
- type CfnJobTemplate_PresignedUrlConfigProperty
- type CfnJobTemplate_RateIncreaseCriteriaProperty
- type CfnJobTemplate_TimeoutConfigProperty
- 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
- type IAction
- type ITopicRule
- type IotSql
- type IotSqlConfig
- type TopicRule
- type TopicRuleProps
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. Experimental.
func CfnAccountAuditConfiguration_IsCfnResource ¶
func CfnAccountAuditConfiguration_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnAccountAuditConfiguration_IsConstruct ¶
func CfnAccountAuditConfiguration_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnAuthorizer_IsCfnResource ¶
func CfnAuthorizer_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnAuthorizer_IsConstruct ¶
func CfnAuthorizer_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func CfnCACertificate_CFN_RESOURCE_TYPE_NAME ¶
func CfnCACertificate_CFN_RESOURCE_TYPE_NAME() *string
func CfnCACertificate_IsCfnElement ¶
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. Experimental.
func CfnCACertificate_IsCfnResource ¶
func CfnCACertificate_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnCACertificate_IsConstruct ¶
func CfnCACertificate_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnCertificate_IsCfnResource ¶
func CfnCertificate_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnCertificate_IsConstruct ¶
func CfnCertificate_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnCustomMetric_IsCfnResource ¶
func CfnCustomMetric_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnCustomMetric_IsConstruct ¶
func CfnCustomMetric_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnDimension_IsCfnResource ¶
func CfnDimension_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnDimension_IsConstruct ¶
func CfnDimension_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnDomainConfiguration_IsCfnResource ¶
func CfnDomainConfiguration_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnDomainConfiguration_IsConstruct ¶
func CfnDomainConfiguration_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnFleetMetric_IsCfnResource ¶
func CfnFleetMetric_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnFleetMetric_IsConstruct ¶
func CfnFleetMetric_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnJobTemplate_IsCfnResource ¶
func CfnJobTemplate_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnJobTemplate_IsConstruct ¶
func CfnJobTemplate_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnLogging_IsCfnResource ¶
func CfnLogging_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnLogging_IsConstruct ¶
func CfnLogging_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnMitigationAction_IsCfnResource ¶
func CfnMitigationAction_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnMitigationAction_IsConstruct ¶
func CfnMitigationAction_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnPolicyPrincipalAttachment_IsCfnResource ¶
func CfnPolicyPrincipalAttachment_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnPolicyPrincipalAttachment_IsConstruct ¶
func CfnPolicyPrincipalAttachment_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnPolicy_IsCfnResource ¶
func CfnPolicy_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnPolicy_IsConstruct ¶
func CfnPolicy_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnProvisioningTemplate_IsCfnResource ¶
func CfnProvisioningTemplate_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnProvisioningTemplate_IsConstruct ¶
func CfnProvisioningTemplate_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnResourceSpecificLogging_IsCfnResource ¶
func CfnResourceSpecificLogging_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnResourceSpecificLogging_IsConstruct ¶
func CfnResourceSpecificLogging_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func CfnRoleAlias_CFN_RESOURCE_TYPE_NAME ¶
func CfnRoleAlias_CFN_RESOURCE_TYPE_NAME() *string
func CfnRoleAlias_IsCfnElement ¶
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. Experimental.
func CfnRoleAlias_IsCfnResource ¶
func CfnRoleAlias_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnRoleAlias_IsConstruct ¶
func CfnRoleAlias_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnScheduledAudit_IsCfnResource ¶
func CfnScheduledAudit_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnScheduledAudit_IsConstruct ¶
func CfnScheduledAudit_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnSecurityProfile_IsCfnResource ¶
func CfnSecurityProfile_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnSecurityProfile_IsConstruct ¶
func CfnSecurityProfile_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnThingPrincipalAttachment_IsCfnResource ¶
func CfnThingPrincipalAttachment_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnThingPrincipalAttachment_IsConstruct ¶
func CfnThingPrincipalAttachment_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnThing_IsCfnResource ¶
func CfnThing_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnThing_IsConstruct ¶
func CfnThing_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnTopicRuleDestination_IsCfnResource ¶
func CfnTopicRuleDestination_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnTopicRuleDestination_IsConstruct ¶
func CfnTopicRuleDestination_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
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. Experimental.
func CfnTopicRule_IsCfnResource ¶
func CfnTopicRule_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnTopicRule_IsConstruct ¶
func CfnTopicRule_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func NewCfnAccountAuditConfiguration_Override ¶
func NewCfnAccountAuditConfiguration_Override(c CfnAccountAuditConfiguration, scope awscdk.Construct, id *string, props *CfnAccountAuditConfigurationProps)
Create a new `AWS::IoT::AccountAuditConfiguration`.
func NewCfnAuthorizer_Override ¶
func NewCfnAuthorizer_Override(c CfnAuthorizer, scope awscdk.Construct, id *string, props *CfnAuthorizerProps)
Create a new `AWS::IoT::Authorizer`.
func NewCfnCACertificate_Override ¶
func NewCfnCACertificate_Override(c CfnCACertificate, scope awscdk.Construct, id *string, props *CfnCACertificateProps)
Create a new `AWS::IoT::CACertificate`.
func NewCfnCertificate_Override ¶
func NewCfnCertificate_Override(c CfnCertificate, scope awscdk.Construct, id *string, props *CfnCertificateProps)
Create a new `AWS::IoT::Certificate`.
func NewCfnCustomMetric_Override ¶
func NewCfnCustomMetric_Override(c CfnCustomMetric, scope awscdk.Construct, id *string, props *CfnCustomMetricProps)
Create a new `AWS::IoT::CustomMetric`.
func NewCfnDimension_Override ¶
func NewCfnDimension_Override(c CfnDimension, scope awscdk.Construct, id *string, props *CfnDimensionProps)
Create a new `AWS::IoT::Dimension`.
func NewCfnDomainConfiguration_Override ¶
func NewCfnDomainConfiguration_Override(c CfnDomainConfiguration, scope awscdk.Construct, id *string, props *CfnDomainConfigurationProps)
Create a new `AWS::IoT::DomainConfiguration`.
func NewCfnFleetMetric_Override ¶
func NewCfnFleetMetric_Override(c CfnFleetMetric, scope awscdk.Construct, id *string, props *CfnFleetMetricProps)
Create a new `AWS::IoT::FleetMetric`.
func NewCfnJobTemplate_Override ¶
func NewCfnJobTemplate_Override(c CfnJobTemplate, scope awscdk.Construct, id *string, props *CfnJobTemplateProps)
Create a new `AWS::IoT::JobTemplate`.
func NewCfnLogging_Override ¶
func NewCfnLogging_Override(c CfnLogging, scope awscdk.Construct, id *string, props *CfnLoggingProps)
Create a new `AWS::IoT::Logging`.
func NewCfnMitigationAction_Override ¶
func NewCfnMitigationAction_Override(c CfnMitigationAction, scope awscdk.Construct, id *string, props *CfnMitigationActionProps)
Create a new `AWS::IoT::MitigationAction`.
func NewCfnPolicyPrincipalAttachment_Override ¶
func NewCfnPolicyPrincipalAttachment_Override(c CfnPolicyPrincipalAttachment, scope awscdk.Construct, id *string, props *CfnPolicyPrincipalAttachmentProps)
Create a new `AWS::IoT::PolicyPrincipalAttachment`.
func NewCfnPolicy_Override ¶
func NewCfnPolicy_Override(c CfnPolicy, scope awscdk.Construct, id *string, props *CfnPolicyProps)
Create a new `AWS::IoT::Policy`.
func NewCfnProvisioningTemplate_Override ¶
func NewCfnProvisioningTemplate_Override(c CfnProvisioningTemplate, scope awscdk.Construct, id *string, props *CfnProvisioningTemplateProps)
Create a new `AWS::IoT::ProvisioningTemplate`.
func NewCfnResourceSpecificLogging_Override ¶
func NewCfnResourceSpecificLogging_Override(c CfnResourceSpecificLogging, scope awscdk.Construct, id *string, props *CfnResourceSpecificLoggingProps)
Create a new `AWS::IoT::ResourceSpecificLogging`.
func NewCfnRoleAlias_Override ¶
func NewCfnRoleAlias_Override(c CfnRoleAlias, scope awscdk.Construct, id *string, props *CfnRoleAliasProps)
Create a new `AWS::IoT::RoleAlias`.
func NewCfnScheduledAudit_Override ¶
func NewCfnScheduledAudit_Override(c CfnScheduledAudit, scope awscdk.Construct, id *string, props *CfnScheduledAuditProps)
Create a new `AWS::IoT::ScheduledAudit`.
func NewCfnSecurityProfile_Override ¶
func NewCfnSecurityProfile_Override(c CfnSecurityProfile, scope awscdk.Construct, id *string, props *CfnSecurityProfileProps)
Create a new `AWS::IoT::SecurityProfile`.
func NewCfnThingPrincipalAttachment_Override ¶
func NewCfnThingPrincipalAttachment_Override(c CfnThingPrincipalAttachment, scope awscdk.Construct, id *string, props *CfnThingPrincipalAttachmentProps)
Create a new `AWS::IoT::ThingPrincipalAttachment`.
func NewCfnThing_Override ¶
func NewCfnThing_Override(c CfnThing, scope awscdk.Construct, id *string, props *CfnThingProps)
Create a new `AWS::IoT::Thing`.
func NewCfnTopicRuleDestination_Override ¶
func NewCfnTopicRuleDestination_Override(c CfnTopicRuleDestination, scope awscdk.Construct, id *string, props *CfnTopicRuleDestinationProps)
Create a new `AWS::IoT::TopicRuleDestination`.
func NewCfnTopicRule_Override ¶
func NewCfnTopicRule_Override(c CfnTopicRule, scope awscdk.Construct, id *string, props *CfnTopicRuleProps)
Create a new `AWS::IoT::TopicRule`.
func NewTopicRule_Override ¶
func NewTopicRule_Override(t TopicRule, scope constructs.Construct, id *string, props *TopicRuleProps)
Experimental.
func TopicRule_IsConstruct ¶
func TopicRule_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func TopicRule_IsResource ¶
func TopicRule_IsResource(construct awscdk.IConstruct) *bool
Check whether the given construct is a Resource. Experimental.
Types ¶
type ActionConfig ¶
type ActionConfig struct { // The configuration for this action. // Experimental. Configuration *CfnTopicRule_ActionProperty `field:"required" json:"configuration" yaml:"configuration"` }
Properties for an topic rule 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" actionConfig := &actionConfig{ configuration: &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"), }, }, }, }
Experimental.
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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. 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). // Experimental. Stack() awscdk.Stack // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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), }, intermediateCaRevokedForActiveDeviceCertificatesCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, iotPolicyOverlyPermissiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, ioTPolicyPotentialMisConfigurationCheck: &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 awscdk.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), }, intermediateCaRevokedForActiveDeviceCertificatesCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, iotPolicyOverlyPermissiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, ioTPolicyPotentialMisConfigurationCheck: &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"` // `CfnAccountAuditConfiguration.AuditCheckConfigurationsProperty.IntermediateCaRevokedForActiveDeviceCertificatesCheck`. IntermediateCaRevokedForActiveDeviceCertificatesCheck interface{} `` /* 138-byte string literal not displayed */ // Checks the permissiveness of a policy attached to an authenticated Amazon Cognito identity pool role. IotPolicyOverlyPermissiveCheck interface{} `field:"optional" json:"iotPolicyOverlyPermissiveCheck" yaml:"iotPolicyOverlyPermissiveCheck"` // `CfnAccountAuditConfiguration.AuditCheckConfigurationsProperty.IoTPolicyPotentialMisConfigurationCheck`. IoTPolicyPotentialMisConfigurationCheck interface{} `field:"optional" json:"ioTPolicyPotentialMisConfigurationCheck" yaml:"ioTPolicyPotentialMisConfigurationCheck"` // 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), }, intermediateCaRevokedForActiveDeviceCertificatesCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, iotPolicyOverlyPermissiveCheck: &auditCheckConfigurationProperty{ enabled: jsii.Boolean(false), }, ioTPolicyPotentialMisConfigurationCheck: &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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. 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). // Experimental. 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{}) // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 awscdk.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 ¶
type CfnCACertificate interface { awscdk.CfnResource awscdk.IInspectable // Returns the Amazon Resource Name (ARN) for the instance profile. For example:. // // `{ "Fn::GetAtt": ["MyCACertificate", "Arn"] }` // // A value similar to the following is returned: // // `arn:aws:iot:us-east-1:123456789012:cacert/a6be6b84559801927e35a8f901fae08b5971d78d1562e29504ff9663b276a5f5`. AttrArn() *string // The CA certificate ID. AttrId() *string // Whether the CA certificate is configured for auto registration of device certificates. // // Valid values are "ENABLE" and "DISABLE". AutoRegistrationStatus() *string SetAutoRegistrationStatus(val *string) // The certificate data in PEM format. CaCertificatePem() *string SetCaCertificatePem(val *string) // The mode of the CA. // // All the device certificates that are registered using this CA will be registered in the same mode as the CA. For more information about certificate mode for device certificates, see [certificate mode](https://docs.aws.amazon.com//iot/latest/apireference/API_CertificateDescription.html#iot-Type-CertificateDescription-certificateMode) . // // Valid values are "DEFAULT" and "SNI_ONLY". CertificateMode() *string SetCertificateMode(val *string) // Options for this resource, such as condition, update policy etc. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. Ref() *string // Information about the registration configuration. RegistrationConfig() interface{} SetRegistrationConfig(val interface{}) // If true, removes auto registration. RemoveAutoRegistration() interface{} SetRemoveAutoRegistration(val interface{}) // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // The status of the CA certificate. // // Valid values are "ACTIVE" and "INACTIVE". Status() *string SetStatus(val *string) // 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 // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // The private key verification certificate. VerificationCertificatePem() *string SetVerificationCertificatePem(val *string) // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::IoT::CACertificate`.
Specifies a CA 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" 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 ¶
func NewCfnCACertificate(scope awscdk.Construct, id *string, props *CfnCACertificateProps) CfnCACertificate
Create a new `AWS::IoT::CACertificate`.
type CfnCACertificateProps ¶
type CfnCACertificateProps struct { // The certificate data in PEM format. CaCertificatePem *string `field:"required" json:"caCertificatePem" yaml:"caCertificatePem"` // The status of the CA certificate. // // Valid values are "ACTIVE" and "INACTIVE". Status *string `field:"required" json:"status" yaml:"status"` // Whether the CA certificate is configured for auto registration of device certificates. // // Valid values are "ENABLE" and "DISABLE". AutoRegistrationStatus *string `field:"optional" json:"autoRegistrationStatus" yaml:"autoRegistrationStatus"` // The mode of the CA. // // All the device certificates that are registered using this CA will be registered in the same mode as the CA. For more information about certificate mode for device certificates, see [certificate mode](https://docs.aws.amazon.com//iot/latest/apireference/API_CertificateDescription.html#iot-Type-CertificateDescription-certificateMode) . // // Valid values are "DEFAULT" and "SNI_ONLY". CertificateMode *string `field:"optional" json:"certificateMode" yaml:"certificateMode"` // Information about the registration configuration. RegistrationConfig interface{} `field:"optional" json:"registrationConfig" yaml:"registrationConfig"` // If true, removes auto registration. RemoveAutoRegistration interface{} `field:"optional" json:"removeAutoRegistration" yaml:"removeAutoRegistration"` // 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"` // The private key verification certificate. 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 ¶
type CfnCACertificate_RegistrationConfigProperty struct { // The ARN of the role. RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"` // The template body. TemplateBody *string `field:"optional" json:"templateBody" yaml:"templateBody"` // The name of the provisioning template. TemplateName *string `field:"optional" json:"templateName" yaml:"templateName"` }
The registration 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" 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. // // `DEFAULT` : A certificate in `DEFAULT` mode is either generated by AWS IoT Core or registered with an issuer certificate authority (CA). Devices with certificates in `DEFAULT` mode aren't required to send the Server Name Indication (SNI) extension when connecting to AWS IoT Core . However, to use features such as custom domains and VPC endpoints, we recommend that you use the SNI extension when connecting to AWS IoT Core . // // `SNI_ONLY` : A certificate in `SNI_ONLY` mode is registered without an issuer CA. Devices with certificates in `SNI_ONLY` mode must send the SNI extension when connecting to AWS IoT Core . 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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. 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) // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 awscdk.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. // // `DEFAULT` : A certificate in `DEFAULT` mode is either generated by AWS IoT Core or registered with an issuer certificate authority (CA). Devices with certificates in `DEFAULT` mode aren't required to send the Server Name Indication (SNI) extension when connecting to AWS IoT Core . However, to use features such as custom domains and VPC endpoints, we recommend that you use the SNI extension when connecting to AWS IoT Core . // // `SNI_ONLY` : A certificate in `SNI_ONLY` mode is registered without an issuer CA. Devices with certificates in `SNI_ONLY` mode must send the SNI extension when connecting to AWS IoT Core . 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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. 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 construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // Metadata that can be used to manage the custom metric. Tags() awscdk.TagManager // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 awscdk.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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // A unique identifier for the dimension. Name() *string SetName(val *string) // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. 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) // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 awscdk.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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. 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). // Experimental. 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 // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *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)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 awscdk.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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The name of the fleet metric to create. MetricName() *string SetMetricName(val *string) // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. 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) // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 awscdk.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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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 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. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. 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{}) // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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" cfnJobTemplate := awscdk.Aws_iot.NewCfnJobTemplate(this, jsii.String("MyCfnJobTemplate"), &cfnJobTemplateProps{ description: jsii.String("description"), jobTemplateId: jsii.String("jobTemplateId"), // the properties below are optional abortConfig: &abortConfigProperty{ criteriaList: []interface{}{ &abortCriteriaProperty{ action: jsii.String("action"), failureType: jsii.String("failureType"), minNumberOfExecutedThings: jsii.Number(123), thresholdPercentage: jsii.Number(123), }, }, }, document: jsii.String("document"), documentSource: jsii.String("documentSource"), jobArn: jsii.String("jobArn"), jobExecutionsRolloutConfig: &jobExecutionsRolloutConfigProperty{ exponentialRolloutRate: &exponentialRolloutRateProperty{ baseRatePerMinute: jsii.Number(123), incrementFactor: jsii.Number(123), rateIncreaseCriteria: &rateIncreaseCriteriaProperty{ numberOfNotifiedThings: jsii.Number(123), numberOfSucceededThings: jsii.Number(123), }, }, maximumPerMinute: jsii.Number(123), }, presignedUrlConfig: &presignedUrlConfigProperty{ roleArn: jsii.String("roleArn"), // the properties below are optional expiresInSec: jsii.Number(123), }, tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, timeoutConfig: &timeoutConfigProperty{ inProgressTimeoutInMinutes: jsii.Number(123), }, })
func NewCfnJobTemplate ¶
func NewCfnJobTemplate(scope awscdk.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 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" cfnJobTemplateProps := &cfnJobTemplateProps{ description: jsii.String("description"), jobTemplateId: jsii.String("jobTemplateId"), // the properties below are optional abortConfig: &abortConfigProperty{ criteriaList: []interface{}{ &abortCriteriaProperty{ action: jsii.String("action"), failureType: jsii.String("failureType"), minNumberOfExecutedThings: jsii.Number(123), thresholdPercentage: jsii.Number(123), }, }, }, document: jsii.String("document"), documentSource: jsii.String("documentSource"), jobArn: jsii.String("jobArn"), jobExecutionsRolloutConfig: &jobExecutionsRolloutConfigProperty{ exponentialRolloutRate: &exponentialRolloutRateProperty{ baseRatePerMinute: jsii.Number(123), incrementFactor: jsii.Number(123), rateIncreaseCriteria: &rateIncreaseCriteriaProperty{ numberOfNotifiedThings: jsii.Number(123), numberOfSucceededThings: jsii.Number(123), }, }, maximumPerMinute: jsii.Number(123), }, presignedUrlConfig: &presignedUrlConfigProperty{ roleArn: jsii.String("roleArn"), // the properties below are optional expiresInSec: jsii.Number(123), }, tags: []cfnTag{ &cfnTag{ key: jsii.String("key"), value: jsii.String("value"), }, }, timeoutConfig: &timeoutConfigProperty{ inProgressTimeoutInMinutes: jsii.Number(123), }, }
type CfnJobTemplate_AbortConfigProperty ¶
type CfnJobTemplate_AbortConfigProperty struct {
// The list of criteria that determine when and how to abort the job.
CriteriaList interface{} `field:"required" json:"criteriaList" yaml:"criteriaList"`
}
The criteria that determine when and how a job abort takes place.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" abortConfigProperty := &abortConfigProperty{ criteriaList: []interface{}{ &abortCriteriaProperty{ action: jsii.String("action"), failureType: jsii.String("failureType"), minNumberOfExecutedThings: jsii.Number(123), thresholdPercentage: jsii.Number(123), }, }, }
type CfnJobTemplate_AbortCriteriaProperty ¶
type CfnJobTemplate_AbortCriteriaProperty struct { // The type of job action to take to initiate the job abort. Action *string `field:"required" json:"action" yaml:"action"` // The type of job execution failures that can initiate a job abort. FailureType *string `field:"required" json:"failureType" yaml:"failureType"` // The minimum number of things which must receive job execution notifications before the job can be aborted. MinNumberOfExecutedThings *float64 `field:"required" json:"minNumberOfExecutedThings" yaml:"minNumberOfExecutedThings"` // The minimum percentage of job execution failures that must occur to initiate the job abort. // // AWS IoT Core supports up to two digits after the decimal (for example, 10.9 and 10.99, but not 10.999). ThresholdPercentage *float64 `field:"required" json:"thresholdPercentage" yaml:"thresholdPercentage"` }
The criteria that determine when and how a job abort takes place.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" abortCriteriaProperty := &abortCriteriaProperty{ action: jsii.String("action"), failureType: jsii.String("failureType"), minNumberOfExecutedThings: jsii.Number(123), thresholdPercentage: jsii.Number(123), }
type CfnJobTemplate_ExponentialRolloutRateProperty ¶
type CfnJobTemplate_ExponentialRolloutRateProperty struct { // The minimum number of things that will be notified of a pending job, per minute at the start of job rollout. // // This parameter allows you to define the initial rate of rollout. BaseRatePerMinute *float64 `field:"required" json:"baseRatePerMinute" yaml:"baseRatePerMinute"` // The exponential factor to increase the rate of rollout for a job. // // AWS IoT Core supports up to one digit after the decimal (for example, 1.5, but not 1.55). IncrementFactor *float64 `field:"required" json:"incrementFactor" yaml:"incrementFactor"` // The criteria to initiate the increase in rate of rollout for a job. RateIncreaseCriteria interface{} `field:"required" json:"rateIncreaseCriteria" yaml:"rateIncreaseCriteria"` }
Allows you to create an exponential rate of rollout for a job.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" exponentialRolloutRateProperty := &exponentialRolloutRateProperty{ baseRatePerMinute: jsii.Number(123), incrementFactor: jsii.Number(123), rateIncreaseCriteria: &rateIncreaseCriteriaProperty{ numberOfNotifiedThings: jsii.Number(123), numberOfSucceededThings: jsii.Number(123), }, }
type CfnJobTemplate_JobExecutionsRolloutConfigProperty ¶
type CfnJobTemplate_JobExecutionsRolloutConfigProperty struct { // `CfnJobTemplate.JobExecutionsRolloutConfigProperty.ExponentialRolloutRate`. ExponentialRolloutRate interface{} `field:"optional" json:"exponentialRolloutRate" yaml:"exponentialRolloutRate"` // The maximum number of things that will be notified of a pending job, per minute. // // This parameter allows you to create a staged rollout. MaximumPerMinute *float64 `field:"optional" json:"maximumPerMinute" yaml:"maximumPerMinute"` }
Allows you to create a staged rollout of a job.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" jobExecutionsRolloutConfigProperty := &jobExecutionsRolloutConfigProperty{ exponentialRolloutRate: &exponentialRolloutRateProperty{ baseRatePerMinute: jsii.Number(123), incrementFactor: jsii.Number(123), rateIncreaseCriteria: &rateIncreaseCriteriaProperty{ numberOfNotifiedThings: jsii.Number(123), numberOfSucceededThings: jsii.Number(123), }, }, maximumPerMinute: jsii.Number(123), }
type CfnJobTemplate_PresignedUrlConfigProperty ¶
type CfnJobTemplate_PresignedUrlConfigProperty struct { // The ARN of an IAM role that grants grants permission to download files from the S3 bucket where the job data/updates are stored. // // The role must also grant permission for IoT to download the files. // // > For information about addressing the confused deputy problem, see [cross-service confused deputy prevention](https://docs.aws.amazon.com/iot/latest/developerguide/cross-service-confused-deputy-prevention.html) in the *AWS IoT Core developer guide* . RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // How long (in seconds) pre-signed URLs are valid. // // Valid values are 60 - 3600, the default value is 3600 seconds. Pre-signed URLs are generated when Jobs receives an MQTT request for the job document. ExpiresInSec *float64 `field:"optional" json:"expiresInSec" yaml:"expiresInSec"` }
Configuration for pre-signed S3 URLs.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" presignedUrlConfigProperty := &presignedUrlConfigProperty{ roleArn: jsii.String("roleArn"), // the properties below are optional expiresInSec: jsii.Number(123), }
type CfnJobTemplate_RateIncreaseCriteriaProperty ¶
type CfnJobTemplate_RateIncreaseCriteriaProperty struct { // The threshold for number of notified things that will initiate the increase in rate of rollout. NumberOfNotifiedThings *float64 `field:"optional" json:"numberOfNotifiedThings" yaml:"numberOfNotifiedThings"` // The threshold for number of succeeded things that will initiate the increase in rate of rollout. NumberOfSucceededThings *float64 `field:"optional" json:"numberOfSucceededThings" yaml:"numberOfSucceededThings"` }
Allows you to define a criteria to initiate the increase in rate of rollout for a job.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" rateIncreaseCriteriaProperty := &rateIncreaseCriteriaProperty{ numberOfNotifiedThings: jsii.Number(123), numberOfSucceededThings: jsii.Number(123), }
type CfnJobTemplate_TimeoutConfigProperty ¶
type CfnJobTemplate_TimeoutConfigProperty struct { // Specifies the amount of time, in minutes, this device has to finish execution of this job. // // The timeout interval can be anywhere between 1 minute and 7 days (1 to 10080 minutes). The in progress timer can't be updated and will apply to all job executions for the job. Whenever a job execution remains in the IN_PROGRESS status for longer than this interval, the job execution will fail and switch to the terminal `TIMED_OUT` status. InProgressTimeoutInMinutes *float64 `field:"required" json:"inProgressTimeoutInMinutes" yaml:"inProgressTimeoutInMinutes"` }
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` .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" timeoutConfigProperty := &timeoutConfigProperty{ inProgressTimeoutInMinutes: jsii.Number(123), }
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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. 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). // Experimental. Stack() awscdk.Stack // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 awscdk.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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. 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). // Experimental. Stack() awscdk.Stack // Metadata that can be used to manage the mitigation action. Tags() awscdk.TagManager // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 awscdk.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 // The name of this policy. AttrId() *string // Options for this resource, such as condition, update policy etc. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 awscdk.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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 awscdk.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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. 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) // The type of the provisioning template. TemplateType() *string SetTemplateType(val *string) // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 awscdk.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"` // The type of the provisioning template. 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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The default log level.Valid Values: `DEBUG | INFO | ERROR | WARN | DISABLED`. LogLevel() *string SetLogLevel(val *string) // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // The target name. TargetName() *string SetTargetName(val *string) // The target type. // // Valid Values: `DEFAULT | THING_GROUP`. TargetType() *string SetTargetType(val *string) // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 awscdk.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 ¶
type CfnRoleAlias interface { awscdk.CfnResource awscdk.IInspectable // The role alias ARN. AttrRoleAliasArn() *string // Options for this resource, such as condition, update policy etc. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. 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). // Experimental. 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 // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 ¶
func NewCfnRoleAlias(scope awscdk.Construct, id *string, props *CfnRoleAliasProps) CfnRoleAlias
Create a new `AWS::IoT::RoleAlias`.
type CfnRoleAliasProps ¶
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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. 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). // Experimental. 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) // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 awscdk.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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. 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). // Experimental. 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) // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 awscdk.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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. 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) // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 awscdk.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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. Stack() awscdk.Stack // The name of the AWS IoT thing. ThingName() *string SetThingName(val *string) // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 awscdk.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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. 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). // Experimental. 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{}) // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 awscdk.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. // Experimental. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. // Experimental. 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. // Experimental. 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. // Experimental. LogicalId() *string // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // 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 })`. // Experimental. Ref() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). // Experimental. 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) // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. // Experimental. UpdatedProperites() *map[string]interface{} // Properties of the virtual private cloud (VPC) connection. VpcProperties() interface{} SetVpcProperties(val interface{}) // Syntactic sugar for `addOverride(path, undefined)`. // Experimental. 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. // Experimental. 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. // // Experimental. 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. // Experimental. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. // Experimental. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for `addOverride("Properties.<...>", value)`. // Experimental. 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`). // Experimental. 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. // Experimental. 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. // // Experimental. GetMetadata(key *string) interface{} // Examines the CloudFormation resource and discloses attributes. Inspect(inspector awscdk.TreeInspector) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Overrides the auto-generated logical ID with a specific ID. // Experimental. OverrideLogicalId(newLogicalId *string) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() 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. // Experimental. ShouldSynthesize() *bool // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // // Returns: a string representation of this resource. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string // Experimental. 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 awscdk.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"` // Sends device location data to [Amazon Location Service](https://docs.aws.amazon.com//location/latest/developerguide/welcome.html) . 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 ¶
type CfnTopicRule_LocationActionProperty struct { // The unique ID of the device providing the location data. DeviceId *string `field:"required" json:"deviceId" yaml:"deviceId"` // A string that evaluates to a double value that represents the latitude of the device's location. Latitude *string `field:"required" json:"latitude" yaml:"latitude"` // A string that evaluates to a double value that represents the longitude of the device's location. Longitude *string `field:"required" json:"longitude" yaml:"longitude"` // The IAM role that grants permission to write to the Amazon Location resource. RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // The name of the tracker resource in Amazon Location in which the location is updated. TrackerName *string `field:"required" json:"trackerName" yaml:"trackerName"` // The time that the location data was sampled. // // The default value is the time the MQTT message was processed. Timestamp interface{} `field:"optional" json:"timestamp" yaml:"timestamp"` }
Describes an action to send device location updates from an MQTT message to an Amazon Location tracker 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" 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 ¶
type CfnTopicRule_RepublishActionHeadersProperty struct { // A UTF-8 encoded string that describes the content of the publishing message. // // For more information, see [Content Type](https://docs.aws.amazon.com/https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901118) in the MQTT Version 5.0 specification. // // Supports [substitution templates](https://docs.aws.amazon.com//iot/latest/developerguide/iot-substitution-templates.html) . ContentType *string `field:"optional" json:"contentType" yaml:"contentType"` // The base64-encoded binary data used by the sender of the request message to identify which request the response message is for. // // For more information, see [Correlation Data](https://docs.aws.amazon.com/https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901115) in the MQTT Version 5.0 specification. // // Supports [substitution templates](https://docs.aws.amazon.com//iot/latest/developerguide/iot-substitution-templates.html) . // // > This binary data must be base64-encoded. CorrelationData *string `field:"optional" json:"correlationData" yaml:"correlationData"` // A user-defined integer value that represents the message expiry interval at the broker. // // If the messages haven't been sent to the subscribers within that interval, the message expires and is removed. The value of `messageExpiry` represents the number of seconds before it expires. For more information about the limits of `messageExpiry` , see [Message broker and protocol limits and quotas](https://docs.aws.amazon.com//general/latest/gr/iot-core.html#limits_iot) in the IoT Core Reference Guide. // // Supports [substitution templates](https://docs.aws.amazon.com//iot/latest/developerguide/iot-substitution-templates.html) . MessageExpiry *string `field:"optional" json:"messageExpiry" yaml:"messageExpiry"` // An `Enum` string value that indicates whether the payload is formatted as UTF-8. // // Valid values are `UNSPECIFIED_BYTES` and `UTF8_DATA` . // // For more information, see [Payload Format Indicator](https://docs.aws.amazon.com/https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901111) from the MQTT Version 5.0 specification. // // Supports [substitution templates](https://docs.aws.amazon.com//iot/latest/developerguide/iot-substitution-templates.html) . PayloadFormatIndicator *string `field:"optional" json:"payloadFormatIndicator" yaml:"payloadFormatIndicator"` // A UTF-8 encoded string that's used as the topic name for a response message. // // The response topic is used to describe the topic to which the receiver should publish as part of the request-response flow. The topic must not contain wildcard characters. // // For more information, see [Response Topic](https://docs.aws.amazon.com/https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901114) in the MQTT Version 5.0 specification. // // Supports [substitution templates](https://docs.aws.amazon.com//iot/latest/developerguide/iot-substitution-templates.html) . ResponseTopic *string `field:"optional" json:"responseTopic" yaml:"responseTopic"` // An array of key-value pairs that you define in the MQTT5 header. UserProperties interface{} `field:"optional" json:"userProperties" yaml:"userProperties"` }
Specifies MQTT Version 5.0 headers information. For more information, see [MQTT](https://docs.aws.amazon.com//iot/latest/developerguide/mqtt.html) in the IoT Core 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" 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"` // MQTT Version 5.0 headers information. For more information, see [MQTT](https://docs.aws.amazon.com//iot/latest/developerguide/mqtt.html) in the IoT Core Developer Guide. 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 ¶
type CfnTopicRule_TimestampProperty struct { // An expression that returns a long epoch time value. Value *string `field:"required" json:"value" yaml:"value"` // The precision of the timestamp value that results from the expression described in `value` . Unit *string `field:"optional" json:"unit" yaml:"unit"` }
Describes how to interpret an application-defined timestamp value from an MQTT message payload and the precision of that 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" 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 ¶
type CfnTopicRule_UserPropertyProperty struct { // A key to be specified in `UserProperty` . Key *string `field:"required" json:"key" yaml:"key"` // A value to be specified in `UserProperty` . Value *string `field:"required" json:"value" yaml:"value"` }
A key-value pair that you define in the 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" userPropertyProperty := &userPropertyProperty{ key: jsii.String("key"), value: jsii.String("value"), }
type IAction ¶
type IAction interface { // Returns the topic rule action specification. // Experimental. Bind(topicRule ITopicRule) *ActionConfig }
An abstract action for TopicRule. Experimental.
type ITopicRule ¶
type ITopicRule interface { awscdk.IResource // The value of the topic rule Amazon Resource Name (ARN), such as arn:aws:iot:us-east-2:123456789012:rule/rule_name. // Experimental. TopicRuleArn() *string // The name topic rule. // Experimental. TopicRuleName() *string }
Represents an AWS IoT Rule. Experimental.
func TopicRule_FromTopicRuleArn ¶
func TopicRule_FromTopicRuleArn(scope constructs.Construct, id *string, topicRuleArn *string) ITopicRule
Import an existing AWS IoT Rule provided an ARN. Experimental.
type IotSql ¶
type IotSql interface { // Returns the IoT SQL configuration. // Experimental. Bind(scope constructs.Construct) *IotSqlConfig }
Defines AWS IoT SQL.
Example:
bucket := s3.NewBucket(this, jsii.String("MyBucket")) iot.NewTopicRule(this, jsii.String("TopicRule"), &topicRuleProps{ sql: iot.iotSql.fromStringAsVer20160323(jsii.String("SELECT * FROM 'device/+/data'")), actions: []iAction{ actions.NewS3PutObjectAction(bucket, &s3PutObjectActionProps{ accessControl: s3.bucketAccessControl_PUBLIC_READ, }), }, })
Experimental.
func IotSql_FromStringAsVer20151008 ¶
Uses the original SQL version built on 2015-10-08.
Returns: Instance of IotSql. Experimental.
func IotSql_FromStringAsVer20160323 ¶
Uses the SQL version built on 2016-03-23.
Returns: Instance of IotSql. Experimental.
func IotSql_FromStringAsVerNewestUnstable ¶
Uses the most recent beta SQL version.
If you use this version, it might introduce breaking changes to your rules.
Returns: Instance of IotSql. Experimental.
type IotSqlConfig ¶
type IotSqlConfig struct { // The version of the SQL rules engine to use when evaluating the rule. // Experimental. AwsIotSqlVersion *string `field:"required" json:"awsIotSqlVersion" yaml:"awsIotSqlVersion"` // The SQL statement used to query the topic. // Experimental. Sql *string `field:"required" json:"sql" yaml:"sql"` }
The type returned from the `bind()` method in {@link IotSql}.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import "github.com/aws/aws-cdk-go/awscdk" iotSqlConfig := &iotSqlConfig{ awsIotSqlVersion: jsii.String("awsIotSqlVersion"), sql: jsii.String("sql"), }
Experimental.
type TopicRule ¶
type TopicRule interface { awscdk.Resource ITopicRule // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. // Experimental. Env() *awscdk.ResourceEnvironment // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. `"my-awesome-bucket"`) // - `undefined`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. // Experimental. PhysicalName() *string // The stack in which this resource is defined. // Experimental. Stack() awscdk.Stack // Arn of this topic rule. // Experimental. TopicRuleArn() *string // Name of this topic rule. // Experimental. TopicRuleName() *string // Add a action to the topic rule. // Experimental. AddAction(action IAction) // Apply the given removal policy to this resource. // // The Removal Policy controls what happens to this resource when it stops // being managed by CloudFormation, either because you've removed it from the // CDK application or because you've made a change that requires the resource // to be replaced. // // The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS // account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). // Experimental. ApplyRemovalPolicy(policy awscdk.RemovalPolicy) // Experimental. GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`). // // Normally, this token will resolve to `arnAttr`, but if the resource is // referenced across environments, `arnComponents` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // `this.physicalName` in `arnComponents`. // Experimental. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`). // // Normally, this token will resolve to `nameAttr`, but if the resource is // referenced across environments, it will be resolved to `this.physicalName`, // which will be a concrete name. // Experimental. GetResourceNameAttribute(nameAttr *string) *string // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string }
Defines an AWS IoT Rule in this stack.
Example:
bucket := s3.NewBucket(this, jsii.String("MyBucket")) iot.NewTopicRule(this, jsii.String("TopicRule"), &topicRuleProps{ sql: iot.iotSql.fromStringAsVer20160323(jsii.String("SELECT * FROM 'device/+/data'")), actions: []iAction{ actions.NewS3PutObjectAction(bucket, &s3PutObjectActionProps{ accessControl: s3.bucketAccessControl_PUBLIC_READ, }), }, })
Experimental.
func NewTopicRule ¶
func NewTopicRule(scope constructs.Construct, id *string, props *TopicRuleProps) TopicRule
Experimental.
type TopicRuleProps ¶
type TopicRuleProps struct { // A simplified SQL syntax to filter messages received on an MQTT topic and push the data elsewhere. // See: https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-reference.html // // Experimental. Sql IotSql `field:"required" json:"sql" yaml:"sql"` // The actions associated with the topic rule. // Experimental. Actions *[]IAction `field:"optional" json:"actions" yaml:"actions"` // A textual description of the topic rule. // Experimental. Description *string `field:"optional" json:"description" yaml:"description"` // Specifies whether the rule is enabled. // Experimental. Enabled *bool `field:"optional" json:"enabled" yaml:"enabled"` // The action AWS IoT performs when it is unable to perform a rule's action. // Experimental. ErrorAction IAction `field:"optional" json:"errorAction" yaml:"errorAction"` // The name of the topic rule. // Experimental. TopicRuleName *string `field:"optional" json:"topicRuleName" yaml:"topicRuleName"` }
Properties for defining an AWS IoT Rule.
Example:
bucket := s3.NewBucket(this, jsii.String("MyBucket")) iot.NewTopicRule(this, jsii.String("TopicRule"), &topicRuleProps{ sql: iot.iotSql.fromStringAsVer20160323(jsii.String("SELECT * FROM 'device/+/data'")), actions: []iAction{ actions.NewS3PutObjectAction(bucket, &s3PutObjectActionProps{ accessControl: s3.bucketAccessControl_PUBLIC_READ, }), }, })
Experimental.
Source Files ¶
- awsiot.go
- awsiot_ActionConfig.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_AbortConfigProperty.go
- awsiot_CfnJobTemplate_AbortCriteriaProperty.go
- awsiot_CfnJobTemplate_ExponentialRolloutRateProperty.go
- awsiot_CfnJobTemplate_JobExecutionsRolloutConfigProperty.go
- awsiot_CfnJobTemplate_PresignedUrlConfigProperty.go
- awsiot_CfnJobTemplate_RateIncreaseCriteriaProperty.go
- awsiot_CfnJobTemplate_TimeoutConfigProperty.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
- awsiot_IAction.go
- awsiot_IAction__runtime_type_checks.go
- awsiot_ITopicRule.go
- awsiot_IotSql.go
- awsiot_IotSqlConfig.go
- awsiot_IotSql__runtime_type_checks.go
- awsiot_TopicRule.go
- awsiot_TopicRuleProps.go
- awsiot_TopicRule__runtime_type_checks.go