Input
- class aws_cdk.aws_iotevents.Input(scope, id, *, attribute_json_paths, input_name=None)
Bases:
Resource
(experimental) Defines an AWS IoT Events input in this stack.
- Stability:
experimental
- ExampleMetadata:
infused
Example:
import aws_cdk.aws_iotevents as iotevents import aws_cdk.aws_iotevents_actions as actions import aws_cdk.aws_lambda as lambda_ # func: lambda.IFunction input = iotevents.Input(self, "MyInput", input_name="my_input", # optional attribute_json_paths=["payload.deviceId", "payload.temperature"] ) warm_state = iotevents.State( state_name="warm", on_enter=[iotevents.Event( event_name="test-enter-event", condition=iotevents.Expression.current_input(input), actions=[actions.LambdaInvokeAction(func)] )], on_input=[iotevents.Event( # optional event_name="test-input-event", actions=[actions.LambdaInvokeAction(func)])], on_exit=[iotevents.Event( # optional event_name="test-exit-event", actions=[actions.LambdaInvokeAction(func)])] ) cold_state = iotevents.State( state_name="cold" ) # transit to coldState when temperature is less than 15 warm_state.transition_to(cold_state, event_name="to_coldState", # optional property, default by combining the names of the States when=iotevents.Expression.lt( iotevents.Expression.input_attribute(input, "payload.temperature"), iotevents.Expression.from_string("15")), executing=[actions.LambdaInvokeAction(func)] ) # transit to warmState when temperature is greater than or equal to 15 cold_state.transition_to(warm_state, when=iotevents.Expression.gte( iotevents.Expression.input_attribute(input, "payload.temperature"), iotevents.Expression.from_string("15")) ) iotevents.DetectorModel(self, "MyDetectorModel", detector_model_name="test-detector-model", # optional description="test-detector-model-description", # optional property, default is none evaluation_method=iotevents.EventEvaluation.SERIAL, # optional property, default is iotevents.EventEvaluation.BATCH detector_key="payload.deviceId", # optional property, default is none and single detector instance will be created and all inputs will be routed to it initial_state=warm_state )
- Parameters:
scope (
Construct
) –id (
str
) –attribute_json_paths (
Sequence
[str
]) – (experimental) An expression that specifies an attribute-value pair in a JSON structure. Use this to specify an attribute from the JSON payload that is made available by the input. Inputs are derived from messages sent to AWS IoT Events (BatchPutMessage). Each such message contains a JSON payload. The attribute (and its paired value) specified here are available for use in the condition expressions used by detectors.input_name (
Optional
[str
]) – (experimental) The name of the input. Default: - CloudFormation will generate a unique name of the input
- Stability:
experimental
Methods
- apply_removal_policy(policy)
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
).- Parameters:
policy (
RemovalPolicy
) –- Return type:
None
- grant(grantee, *actions)
(experimental) Grant the indicated permissions on this input to the given IAM principal (Role/Group/User).
- Parameters:
grantee (
IGrantable
) –actions (
str
) –
- Stability:
experimental
- Return type:
- grant_write(grantee)
(experimental) Grant write permissions on this input and its contents to an IAM principal (Role/Group/User).
- Parameters:
grantee (
IGrantable
) –- Stability:
experimental
- Return type:
- to_string()
Returns a string representation of this construct.
- Return type:
str
Attributes
- env
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.
- input_arn
(experimental) The ARN of the input.
- Stability:
experimental
- input_name
(experimental) The name of the input.
- Stability:
experimental
- node
The construct tree node associated with this construct.
- stack
The stack in which this resource is defined.
Static Methods
- classmethod from_input_name(scope, id, input_name)
(experimental) Import an existing input.
- classmethod is_construct(x)
Return whether the given object is a Construct.
- Parameters:
x (
Any
) –- Return type:
bool
- classmethod is_resource(construct)
Check whether the given construct is a Resource.
- Parameters:
construct (
IConstruct
) –- Return type:
bool