This page documents the language specification for the aws package. If you're looking for help working with the inputs, outputs, or functions of aws resources in a Pulumi program, please see the resource documentation for examples and API reference.
iot¶
This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-aws repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-aws repo.
- class
pulumi_aws.iot.AwaitableGetEndpointResult(endpoint_address=None, endpoint_type=None, id=None)¶
- class
pulumi_aws.iot.Certificate(resource_name, opts=None, active=None, csr=None, __props__=None, __name__=None, __opts__=None)¶ Creates and manages an AWS IoT certificate.
import pulumi import pulumi_aws as aws cert = aws.iot.Certificate("cert", active=True, csr=(lambda path: open(path).read())("/my/csr.pem"))
import pulumi import pulumi_aws as aws cert = aws.iot.Certificate("cert", active=True)
- Parameters
resource_name (str) – The name of the resource.
opts (pulumi.ResourceOptions) – Options for the resource.
active (pulumi.Input[bool]) – Boolean flag to indicate if the certificate should be active
csr (pulumi.Input[str]) – The certificate signing request. Review CreateCertificateFromCsr for more information on generating a certificate from a certificate signing request (CSR). If none is specified both the certificate and keys will be generated, review CreateKeysAndCertificate for more information on generating keys and a certificate.
active: pulumi.Output[bool] = None¶Boolean flag to indicate if the certificate should be active
arn: pulumi.Output[str] = None¶The ARN of the created certificate.
certificate_pem: pulumi.Output[str] = None¶The certificate data, in PEM format.
csr: pulumi.Output[str] = None¶The certificate signing request. Review CreateCertificateFromCsr for more information on generating a certificate from a certificate signing request (CSR). If none is specified both the certificate and keys will be generated, review CreateKeysAndCertificate for more information on generating keys and a certificate.
private_key: pulumi.Output[str] = None¶When no CSR is provided, the private key.
public_key: pulumi.Output[str] = None¶When no CSR is provided, the public key.
- static
get(resource_name, id, opts=None, active=None, arn=None, certificate_pem=None, csr=None, private_key=None, public_key=None)¶ Get an existing Certificate resource’s state with the given name, id, and optional extra properties used to qualify the lookup.
- Parameters
resource_name (str) – The unique name of the resulting resource.
id (str) – The unique provider ID of the resource to lookup.
opts (pulumi.ResourceOptions) – Options for the resource.
active (pulumi.Input[bool]) – Boolean flag to indicate if the certificate should be active
arn (pulumi.Input[str]) – The ARN of the created certificate.
certificate_pem (pulumi.Input[str]) – The certificate data, in PEM format.
csr (pulumi.Input[str]) –
The certificate signing request. Review CreateCertificateFromCsr for more information on generating a certificate from a certificate signing request (CSR). If none is specified both the certificate and keys will be generated, review CreateKeysAndCertificate for more information on generating keys and a certificate.
private_key (pulumi.Input[str]) – When no CSR is provided, the private key.
public_key (pulumi.Input[str]) – When no CSR is provided, the public key.
translate_output_property(prop)¶Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.
- Parameters
prop (str) – A property name.
- Returns
A potentially transformed property name.
- Return type
str
translate_input_property(prop)¶Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.
- Parameters
prop (str) – A property name.
- Returns
A potentially transformed property name.
- Return type
str
- class
pulumi_aws.iot.GetEndpointResult(endpoint_address=None, endpoint_type=None, id=None)¶ A collection of values returned by getEndpoint.
endpoint_address= None¶The endpoint based on
endpoint_type:No endpoint_type: Either iot:Data``or`iot:Data-ATS` depending on region
iot:CredentialsProvider:IDENTIFIER.credentials.iot.REGION.amazonaws.comiot:Data:IDENTIFIER.iot.REGION.amazonaws.comiot:Data-ATS:IDENTIFIER-ats.iot.REGION.amazonaws.comiot:Job:IDENTIFIER.jobs.iot.REGION.amazonaws.com
id= None¶The provider-assigned unique ID for this managed resource.
- class
pulumi_aws.iot.Policy(resource_name, opts=None, name=None, policy=None, __props__=None, __name__=None, __opts__=None)¶ Provides an IoT policy.
import pulumi import pulumi_aws as aws pubsub = aws.iot.Policy("pubsub", policy="""{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iot:*" ], "Effect": "Allow", "Resource": "*" } ] } """)
- Parameters
resource_name (str) – The name of the resource.
opts (pulumi.ResourceOptions) – Options for the resource.
name (pulumi.Input[str]) – The name of the policy.
policy (pulumi.Input[str]) – The policy document. This is a JSON formatted string. Use the IoT Developer Guide for more information on IoT Policies.
arn: pulumi.Output[str] = None¶The ARN assigned by AWS to this policy.
default_version_id: pulumi.Output[str] = None¶The default version of this policy.
name: pulumi.Output[str] = None¶The name of the policy.
policy: pulumi.Output[str] = None¶The policy document. This is a JSON formatted string. Use the IoT Developer Guide for more information on IoT Policies.
- static
get(resource_name, id, opts=None, arn=None, default_version_id=None, name=None, policy=None)¶ Get an existing Policy resource’s state with the given name, id, and optional extra properties used to qualify the lookup.
- Parameters
resource_name (str) – The unique name of the resulting resource.
id (str) – The unique provider ID of the resource to lookup.
opts (pulumi.ResourceOptions) – Options for the resource.
arn (pulumi.Input[str]) – The ARN assigned by AWS to this policy.
default_version_id (pulumi.Input[str]) – The default version of this policy.
name (pulumi.Input[str]) – The name of the policy.
policy (pulumi.Input[str]) –
The policy document. This is a JSON formatted string. Use the IoT Developer Guide for more information on IoT Policies.
translate_output_property(prop)¶Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.
- Parameters
prop (str) – A property name.
- Returns
A potentially transformed property name.
- Return type
str
translate_input_property(prop)¶Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.
- Parameters
prop (str) – A property name.
- Returns
A potentially transformed property name.
- Return type
str
- class
pulumi_aws.iot.PolicyAttachment(resource_name, opts=None, policy=None, target=None, __props__=None, __name__=None, __opts__=None)¶ Provides an IoT policy attachment.
import pulumi import pulumi_aws as aws pubsub = aws.iot.Policy("pubsub", policy="""{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iot:*" ], "Effect": "Allow", "Resource": "*" } ] } """) cert = aws.iot.Certificate("cert", active=True, csr=(lambda path: open(path).read())("csr.pem")) att = aws.iot.PolicyAttachment("att", policy=pubsub.name, target=cert.arn)
- Parameters
resource_name (str) – The name of the resource.
opts (pulumi.ResourceOptions) – Options for the resource.
policy (pulumi.Input[dict]) – The name of the policy to attach.
target (pulumi.Input[str]) – The identity to which the policy is attached.
policy: pulumi.Output[str] = None¶The name of the policy to attach.
target: pulumi.Output[str] = None¶The identity to which the policy is attached.
- static
get(resource_name, id, opts=None, policy=None, target=None)¶ Get an existing PolicyAttachment resource’s state with the given name, id, and optional extra properties used to qualify the lookup.
- Parameters
resource_name (str) – The unique name of the resulting resource.
id (str) – The unique provider ID of the resource to lookup.
opts (pulumi.ResourceOptions) – Options for the resource.
policy (pulumi.Input[dict]) – The name of the policy to attach.
target (pulumi.Input[str]) – The identity to which the policy is attached.
translate_output_property(prop)¶Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.
- Parameters
prop (str) – A property name.
- Returns
A potentially transformed property name.
- Return type
str
translate_input_property(prop)¶Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.
- Parameters
prop (str) – A property name.
- Returns
A potentially transformed property name.
- Return type
str
- class
pulumi_aws.iot.RoleAlias(resource_name, opts=None, alias=None, credential_duration=None, role_arn=None, __props__=None, __name__=None, __opts__=None)¶ Provides an IoT role alias.
import pulumi import pulumi_aws as aws role = aws.iam.Role("role", policy="""{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"Service": "credentials.iot.amazonaws.com"}, "Action": "sts:AssumeRole" } ] } """) alias = aws.iot.RoleAlias("alias", alias="Thermostat-dynamodb-access-role-alias", role_arn=role.arn)
- Parameters
resource_name (str) – The name of the resource.
opts (pulumi.ResourceOptions) – Options for the resource.
alias (pulumi.Input[str]) – The name of the role alias.
credential_duration (pulumi.Input[float]) – The duration of the credential, in seconds. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 900 seconds (15 minutes) to 3600 seconds (60 minutes).
role_arn (pulumi.Input[str]) – The identity of the role to which the alias refers.
alias: pulumi.Output[str] = None¶The name of the role alias.
arn: pulumi.Output[str] = None¶The ARN assigned by AWS to this role alias.
credential_duration: pulumi.Output[float] = None¶The duration of the credential, in seconds. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 900 seconds (15 minutes) to 3600 seconds (60 minutes).
role_arn: pulumi.Output[str] = None¶The identity of the role to which the alias refers.
- static
get(resource_name, id, opts=None, alias=None, arn=None, credential_duration=None, role_arn=None)¶ Get an existing RoleAlias resource’s state with the given name, id, and optional extra properties used to qualify the lookup.
- Parameters
resource_name (str) – The unique name of the resulting resource.
id (str) – The unique provider ID of the resource to lookup.
opts (pulumi.ResourceOptions) – Options for the resource.
alias (pulumi.Input[str]) – The name of the role alias.
arn (pulumi.Input[str]) – The ARN assigned by AWS to this role alias.
credential_duration (pulumi.Input[float]) – The duration of the credential, in seconds. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 900 seconds (15 minutes) to 3600 seconds (60 minutes).
role_arn (pulumi.Input[str]) – The identity of the role to which the alias refers.
translate_output_property(prop)¶Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.
- Parameters
prop (str) – A property name.
- Returns
A potentially transformed property name.
- Return type
str
translate_input_property(prop)¶Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.
- Parameters
prop (str) – A property name.
- Returns
A potentially transformed property name.
- Return type
str
- class
pulumi_aws.iot.Thing(resource_name, opts=None, attributes=None, name=None, thing_type_name=None, __props__=None, __name__=None, __opts__=None)¶ Creates and manages an AWS IoT Thing.
import pulumi import pulumi_aws as aws example = aws.iot.Thing("example", attributes={ "First": "examplevalue", })
- Parameters
resource_name (str) – The name of the resource.
opts (pulumi.ResourceOptions) – Options for the resource.
attributes (pulumi.Input[dict]) – Map of attributes of the thing.
name (pulumi.Input[str]) – The name of the thing.
thing_type_name (pulumi.Input[str]) – The thing type name.
arn: pulumi.Output[str] = None¶The ARN of the thing.
attributes: pulumi.Output[dict] = None¶Map of attributes of the thing.
default_client_id: pulumi.Output[str] = None¶The default client ID.
name: pulumi.Output[str] = None¶The name of the thing.
thing_type_name: pulumi.Output[str] = None¶The thing type name.
version: pulumi.Output[float] = None¶The current version of the thing record in the registry.
- static
get(resource_name, id, opts=None, arn=None, attributes=None, default_client_id=None, name=None, thing_type_name=None, version=None)¶ Get an existing Thing resource’s state with the given name, id, and optional extra properties used to qualify the lookup.
- Parameters
resource_name (str) – The unique name of the resulting resource.
id (str) – The unique provider ID of the resource to lookup.
opts (pulumi.ResourceOptions) – Options for the resource.
arn (pulumi.Input[str]) – The ARN of the thing.
attributes (pulumi.Input[dict]) – Map of attributes of the thing.
default_client_id (pulumi.Input[str]) – The default client ID.
name (pulumi.Input[str]) – The name of the thing.
thing_type_name (pulumi.Input[str]) – The thing type name.
version (pulumi.Input[float]) – The current version of the thing record in the registry.
translate_output_property(prop)¶Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.
- Parameters
prop (str) – A property name.
- Returns
A potentially transformed property name.
- Return type
str
translate_input_property(prop)¶Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.
- Parameters
prop (str) – A property name.
- Returns
A potentially transformed property name.
- Return type
str
- class
pulumi_aws.iot.ThingPrincipalAttachment(resource_name, opts=None, principal=None, thing=None, __props__=None, __name__=None, __opts__=None)¶ Attaches Principal to AWS IoT Thing.
import pulumi import pulumi_aws as aws example = aws.iot.Thing("example") cert = aws.iot.Certificate("cert", active=True, csr=(lambda path: open(path).read())("csr.pem")) att = aws.iot.ThingPrincipalAttachment("att", principal=cert.arn, thing=example.name)
- Parameters
resource_name (str) – The name of the resource.
opts (pulumi.ResourceOptions) – Options for the resource.
principal (pulumi.Input[str]) – The AWS IoT Certificate ARN or Amazon Cognito Identity ID.
thing (pulumi.Input[str]) – The name of the thing.
principal: pulumi.Output[str] = None¶The AWS IoT Certificate ARN or Amazon Cognito Identity ID.
thing: pulumi.Output[str] = None¶The name of the thing.
- static
get(resource_name, id, opts=None, principal=None, thing=None)¶ Get an existing ThingPrincipalAttachment resource’s state with the given name, id, and optional extra properties used to qualify the lookup.
- Parameters
resource_name (str) – The unique name of the resulting resource.
id (str) – The unique provider ID of the resource to lookup.
opts (pulumi.ResourceOptions) – Options for the resource.
principal (pulumi.Input[str]) – The AWS IoT Certificate ARN or Amazon Cognito Identity ID.
thing (pulumi.Input[str]) – The name of the thing.
translate_output_property(prop)¶Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.
- Parameters
prop (str) – A property name.
- Returns
A potentially transformed property name.
- Return type
str
translate_input_property(prop)¶Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.
- Parameters
prop (str) – A property name.
- Returns
A potentially transformed property name.
- Return type
str
- class
pulumi_aws.iot.ThingType(resource_name, opts=None, deprecated=None, name=None, properties=None, __props__=None, __name__=None, __opts__=None)¶ Creates and manages an AWS IoT Thing Type.
import pulumi import pulumi_aws as aws foo = aws.iot.ThingType("foo")
- Parameters
resource_name (str) – The name of the resource.
opts (pulumi.ResourceOptions) – Options for the resource.
deprecated (pulumi.Input[bool]) – Whether the thing type is deprecated. If true, no new things could be associated with this type.
name (pulumi.Input[str]) – The name of the thing type.
properties (pulumi.Input[dict]) – , Configuration block that can contain the following properties of the thing type:
The properties object supports the following:
description(pulumi.Input[str]) - The description of the thing type.searchableAttributes(pulumi.Input[list]) - A list of searchable thing attribute names.
arn: pulumi.Output[str] = None¶The ARN of the created AWS IoT Thing Type.
deprecated: pulumi.Output[bool] = None¶Whether the thing type is deprecated. If true, no new things could be associated with this type.
name: pulumi.Output[str] = None¶The name of the thing type.
properties: pulumi.Output[dict] = None¶, Configuration block that can contain the following properties of the thing type:
description(str) - The description of the thing type.searchableAttributes(list) - A list of searchable thing attribute names.
- static
get(resource_name, id, opts=None, arn=None, deprecated=None, name=None, properties=None)¶ Get an existing ThingType resource’s state with the given name, id, and optional extra properties used to qualify the lookup.
- Parameters
resource_name (str) – The unique name of the resulting resource.
id (str) – The unique provider ID of the resource to lookup.
opts (pulumi.ResourceOptions) – Options for the resource.
arn (pulumi.Input[str]) – The ARN of the created AWS IoT Thing Type.
deprecated (pulumi.Input[bool]) – Whether the thing type is deprecated. If true, no new things could be associated with this type.
name (pulumi.Input[str]) – The name of the thing type.
properties (pulumi.Input[dict]) – , Configuration block that can contain the following properties of the thing type:
The properties object supports the following:
description(pulumi.Input[str]) - The description of the thing type.searchableAttributes(pulumi.Input[list]) - A list of searchable thing attribute names.
translate_output_property(prop)¶Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.
- Parameters
prop (str) – A property name.
- Returns
A potentially transformed property name.
- Return type
str
translate_input_property(prop)¶Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.
- Parameters
prop (str) – A property name.
- Returns
A potentially transformed property name.
- Return type
str
- class
pulumi_aws.iot.TopicRule(resource_name, opts=None, cloudwatch_alarm=None, cloudwatch_metric=None, description=None, dynamodb=None, dynamodbv2s=None, elasticsearch=None, enabled=None, firehose=None, iot_analytics=None, iot_events=None, kinesis=None, lambda_=None, name=None, republish=None, s3=None, sns=None, sql=None, sql_version=None, sqs=None, step_functions=None, tags=None, __props__=None, __name__=None, __opts__=None)¶ ## Example Usage ```python import pulumi import pulumi_aws as aws mytopic = aws.sns.Topic("mytopic") role = aws.iam.Role("role", assume_role_policy="""{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } """) rule = aws.iot.TopicRule("rule", description="Example rule", enabled=True, sns={ "sns": "RAW", "sns": role.arn, "sns": mytopic.arn, }, sql="SELECT * FROM 'topic/test'", sql_version="2016-03-23") iam_policy_for_lambda = aws.iam.RolePolicy("iamPolicyForLambda", policy=mytopic.arn.apply(lambda arn: f"""{{ "Version": "2012-10-17", "Statement": [ {{ "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": "{arn}" }} ] }} """), role=role.id) ``` :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] description: The description of the rule. :param pulumi.Input[bool] enabled: Specifies whether the rule is enabled. :param pulumi.Input[str] name: The name of the rule. :param pulumi.Input[str] sql: The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide. :param pulumi.Input[str] sql_version: The version of the SQL rules engine to use when evaluating the rule. :param pulumi.Input[dict] tags: Key-value map of resource tags The **cloudwatch_alarm** object supports the following: * `alarmName` (`pulumi.Input[str]`) - The CloudWatch alarm name. * `role_arn` (`pulumi.Input[str]`) - The IAM role ARN that allows access to the CloudWatch alarm. * `stateReason` (`pulumi.Input[str]`) - The reason for the alarm change. * `stateValue` (`pulumi.Input[str]`) - The value of the alarm state. Acceptable values are: OK, ALARM, INSUFFICIENT_DATA. The **cloudwatch_metric** object supports the following: * `metric_name` (`pulumi.Input[str]`) - The CloudWatch metric name. * `metricNamespace` (`pulumi.Input[str]`) - The CloudWatch metric namespace name. * `metricTimestamp` (`pulumi.Input[str]`) - An optional Unix timestamp (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp). * `metricUnit` (`pulumi.Input[str]`) - The metric unit (supported units can be found here: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Unit) * `metricValue` (`pulumi.Input[str]`) - The CloudWatch metric value. * `role_arn` (`pulumi.Input[str]`) - The IAM role ARN that allows access to the CloudWatch metric. The **dynamodb** object supports the following: * `hashKeyField` (`pulumi.Input[str]`) - The hash key name. * `hashKeyType` (`pulumi.Input[str]`) - The hash key type. Valid values are "STRING" or "NUMBER". * `hashKeyValue` (`pulumi.Input[str]`) - The hash key value. * `operation` (`pulumi.Input[str]`) - The operation. Valid values are "INSERT", "UPDATE", or "DELETE". * `payloadField` (`pulumi.Input[str]`) - The action payload. * `rangeKeyField` (`pulumi.Input[str]`) - The range key name. * `rangeKeyType` (`pulumi.Input[str]`) - The range key type. Valid values are "STRING" or "NUMBER". * `rangeKeyValue` (`pulumi.Input[str]`) - The range key value. * `role_arn` (`pulumi.Input[str]`) - The ARN of the IAM role that grants access to the DynamoDB table. * `table_name` (`pulumi.Input[str]`) - The name of the DynamoDB table. The **dynamodbv2s** object supports the following: * `putItem` (`pulumi.Input[dict]`) - Configuration block with DynamoDB Table to which the message will be written. Nested arguments below. * `table_name` (`pulumi.Input[str]`) - The name of the DynamoDB table. * `role_arn` (`pulumi.Input[str]`) - The IAM role ARN that allows access to the CloudWatch alarm. The **elasticsearch** object supports the following: * `endpoint` (`pulumi.Input[str]`) - The endpoint of your Elasticsearch domain. * `id` (`pulumi.Input[str]`) - The unique identifier for the document you are storing. * `index` (`pulumi.Input[str]`) - The Elasticsearch index where you want to store your data. * `role_arn` (`pulumi.Input[str]`) - The IAM role ARN that has access to Elasticsearch. * `type` (`pulumi.Input[str]`) - The type of document you are storing. The **firehose** object supports the following: * `deliveryStreamName` (`pulumi.Input[str]`) - The delivery stream name. * `role_arn` (`pulumi.Input[str]`) - The IAM role ARN that grants access to the Amazon Kinesis Firehose stream. * `separator` (`pulumi.Input[str]`) - A character separator that is used to separate records written to the Firehose stream. Valid values are: '‘ (newline), ‘ ‘ (tab), ‘ ‘ (Windows newline), ‘,’ (comma).
The **iot_analytics** object supports the following: * `channelName` (`pulumi.Input[str]`) - Name of AWS IOT Analytics channel. * `role_arn` (`pulumi.Input[str]`) - The ARN of the IAM role that grants access. The **iot_events** object supports the following: * `inputName` (`pulumi.Input[str]`) - The name of the AWS IoT Events input. * `messageId` (`pulumi.Input[str]`) - Use this to ensure that only one input (message) with a given messageId is processed by an AWS IoT Events detector. * `role_arn` (`pulumi.Input[str]`) - The ARN of the IAM role that grants access. The **kinesis** object supports the following: * `partitionKey` (`pulumi.Input[str]`) - The partition key. * `role_arn` (`pulumi.Input[str]`) - The ARN of the IAM role that grants access to the Amazon Kinesis stream. * `streamName` (`pulumi.Input[str]`) - The name of the Amazon Kinesis stream. The **lambda_** object supports the following: * `function_arn` (`pulumi.Input[str]`) - The ARN of the Lambda function. The **republish** object supports the following: * `qos` (`pulumi.Input[float]`) - The Quality of Service (QoS) level to use when republishing messages. Valid values are 0 or 1. The default value is 0. * `role_arn` (`pulumi.Input[str]`) - The ARN of the IAM role that grants access. * `topic` (`pulumi.Input[str]`) - The name of the MQTT topic the message should be republished to. The **s3** object supports the following: * `bucket_name` (`pulumi.Input[str]`) - The Amazon S3 bucket name. * `key` (`pulumi.Input[str]`) - The object key. * `role_arn` (`pulumi.Input[str]`) - The IAM role ARN that allows access to the CloudWatch alarm. The **sns** object supports the following: * `messageFormat` (`pulumi.Input[str]`) - The message format of the message to publish. Accepted values are "JSON" and "RAW". * `role_arn` (`pulumi.Input[str]`) - The ARN of the IAM role that grants access. * `target_arn` (`pulumi.Input[str]`) - The ARN of the SNS topic. The **sqs** object supports the following: * `queue_url` (`pulumi.Input[str]`) - The URL of the Amazon SQS queue. * `role_arn` (`pulumi.Input[str]`) - The ARN of the IAM role that grants access. * `useBase64` (`pulumi.Input[bool]`) - Specifies whether to use Base64 encoding. The **step_functions** object supports the following: * `executionNamePrefix` (`pulumi.Input[str]`) - The prefix used to generate, along with a UUID, the unique state machine execution name. * `role_arn` (`pulumi.Input[str]`) - The ARN of the IAM role that grants access to start execution of the state machine. * `stateMachineName` (`pulumi.Input[str]`) - The name of the Step Functions state machine whose execution will be started.
arn: pulumi.Output[str] = None¶The ARN of the topic rule
description: pulumi.Output[str] = None¶The description of the rule.
enabled: pulumi.Output[bool] = None¶Specifies whether the rule is enabled.
name: pulumi.Output[str] = None¶The name of the rule.
sql: pulumi.Output[str] = None¶The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide.
sql_version: pulumi.Output[str] = None¶The version of the SQL rules engine to use when evaluating the rule.
Key-value map of resource tags
- static
get(resource_name, id, opts=None, arn=None, cloudwatch_alarm=None, cloudwatch_metric=None, description=None, dynamodb=None, dynamodbv2s=None, elasticsearch=None, enabled=None, firehose=None, iot_analytics=None, iot_events=None, kinesis=None, lambda_=None, name=None, republish=None, s3=None, sns=None, sql=None, sql_version=None, sqs=None, step_functions=None, tags=None)¶ Get an existing TopicRule resource's state with the given name, id, and optional extra properties used to qualify the lookup. :param str resource_name: The unique name of the resulting resource. :param str id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] arn: The ARN of the topic rule :param pulumi.Input[str] description: The description of the rule. :param pulumi.Input[bool] enabled: Specifies whether the rule is enabled. :param pulumi.Input[str] name: The name of the rule. :param pulumi.Input[str] sql: The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide. :param pulumi.Input[str] sql_version: The version of the SQL rules engine to use when evaluating the rule. :param pulumi.Input[dict] tags: Key-value map of resource tags The **cloudwatch_alarm** object supports the following: * `alarmName` (`pulumi.Input[str]`) - The CloudWatch alarm name. * `role_arn` (`pulumi.Input[str]`) - The IAM role ARN that allows access to the CloudWatch alarm. * `stateReason` (`pulumi.Input[str]`) - The reason for the alarm change. * `stateValue` (`pulumi.Input[str]`) - The value of the alarm state. Acceptable values are: OK, ALARM, INSUFFICIENT_DATA. The **cloudwatch_metric** object supports the following: * `metric_name` (`pulumi.Input[str]`) - The CloudWatch metric name. * `metricNamespace` (`pulumi.Input[str]`) - The CloudWatch metric namespace name. * `metricTimestamp` (`pulumi.Input[str]`) - An optional Unix timestamp (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp). * `metricUnit` (`pulumi.Input[str]`) - The metric unit (supported units can be found here: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Unit) * `metricValue` (`pulumi.Input[str]`) - The CloudWatch metric value. * `role_arn` (`pulumi.Input[str]`) - The IAM role ARN that allows access to the CloudWatch metric. The **dynamodb** object supports the following: * `hashKeyField` (`pulumi.Input[str]`) - The hash key name. * `hashKeyType` (`pulumi.Input[str]`) - The hash key type. Valid values are "STRING" or "NUMBER". * `hashKeyValue` (`pulumi.Input[str]`) - The hash key value. * `operation` (`pulumi.Input[str]`) - The operation. Valid values are "INSERT", "UPDATE", or "DELETE". * `payloadField` (`pulumi.Input[str]`) - The action payload. * `rangeKeyField` (`pulumi.Input[str]`) - The range key name. * `rangeKeyType` (`pulumi.Input[str]`) - The range key type. Valid values are "STRING" or "NUMBER". * `rangeKeyValue` (`pulumi.Input[str]`) - The range key value. * `role_arn` (`pulumi.Input[str]`) - The ARN of the IAM role that grants access to the DynamoDB table. * `table_name` (`pulumi.Input[str]`) - The name of the DynamoDB table. The **dynamodbv2s** object supports the following: * `putItem` (`pulumi.Input[dict]`) - Configuration block with DynamoDB Table to which the message will be written. Nested arguments below. * `table_name` (`pulumi.Input[str]`) - The name of the DynamoDB table. * `role_arn` (`pulumi.Input[str]`) - The IAM role ARN that allows access to the CloudWatch alarm. The **elasticsearch** object supports the following: * `endpoint` (`pulumi.Input[str]`) - The endpoint of your Elasticsearch domain. * `id` (`pulumi.Input[str]`) - The unique identifier for the document you are storing. * `index` (`pulumi.Input[str]`) - The Elasticsearch index where you want to store your data. * `role_arn` (`pulumi.Input[str]`) - The IAM role ARN that has access to Elasticsearch. * `type` (`pulumi.Input[str]`) - The type of document you are storing. The **firehose** object supports the following: * `deliveryStreamName` (`pulumi.Input[str]`) - The delivery stream name. * `role_arn` (`pulumi.Input[str]`) - The IAM role ARN that grants access to the Amazon Kinesis Firehose stream. * `separator` (`pulumi.Input[str]`) - A character separator that is used to separate records written to the Firehose stream. Valid values are: '‘ (newline), ‘ ‘ (tab), ‘ ‘ (Windows newline), ‘,’ (comma).
The **iot_analytics** object supports the following: * `channelName` (`pulumi.Input[str]`) - Name of AWS IOT Analytics channel. * `role_arn` (`pulumi.Input[str]`) - The ARN of the IAM role that grants access. The **iot_events** object supports the following: * `inputName` (`pulumi.Input[str]`) - The name of the AWS IoT Events input. * `messageId` (`pulumi.Input[str]`) - Use this to ensure that only one input (message) with a given messageId is processed by an AWS IoT Events detector. * `role_arn` (`pulumi.Input[str]`) - The ARN of the IAM role that grants access. The **kinesis** object supports the following: * `partitionKey` (`pulumi.Input[str]`) - The partition key. * `role_arn` (`pulumi.Input[str]`) - The ARN of the IAM role that grants access to the Amazon Kinesis stream. * `streamName` (`pulumi.Input[str]`) - The name of the Amazon Kinesis stream. The **lambda_** object supports the following: * `function_arn` (`pulumi.Input[str]`) - The ARN of the Lambda function. The **republish** object supports the following: * `qos` (`pulumi.Input[float]`) - The Quality of Service (QoS) level to use when republishing messages. Valid values are 0 or 1. The default value is 0. * `role_arn` (`pulumi.Input[str]`) - The ARN of the IAM role that grants access. * `topic` (`pulumi.Input[str]`) - The name of the MQTT topic the message should be republished to. The **s3** object supports the following: * `bucket_name` (`pulumi.Input[str]`) - The Amazon S3 bucket name. * `key` (`pulumi.Input[str]`) - The object key. * `role_arn` (`pulumi.Input[str]`) - The IAM role ARN that allows access to the CloudWatch alarm. The **sns** object supports the following: * `messageFormat` (`pulumi.Input[str]`) - The message format of the message to publish. Accepted values are "JSON" and "RAW". * `role_arn` (`pulumi.Input[str]`) - The ARN of the IAM role that grants access. * `target_arn` (`pulumi.Input[str]`) - The ARN of the SNS topic. The **sqs** object supports the following: * `queue_url` (`pulumi.Input[str]`) - The URL of the Amazon SQS queue. * `role_arn` (`pulumi.Input[str]`) - The ARN of the IAM role that grants access. * `useBase64` (`pulumi.Input[bool]`) - Specifies whether to use Base64 encoding. The **step_functions** object supports the following: * `executionNamePrefix` (`pulumi.Input[str]`) - The prefix used to generate, along with a UUID, the unique state machine execution name. * `role_arn` (`pulumi.Input[str]`) - The ARN of the IAM role that grants access to start execution of the state machine. * `stateMachineName` (`pulumi.Input[str]`) - The name of the Step Functions state machine whose execution will be started.
translate_output_property(prop)¶Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.
- Parameters
prop (str) – A property name.
- Returns
A potentially transformed property name.
- Return type
str
translate_input_property(prop)¶Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.
- Parameters
prop (str) – A property name.
- Returns
A potentially transformed property name.
- Return type
str
pulumi_aws.iot.get_endpoint(endpoint_type=None, opts=None)¶Returns a unique endpoint specific to the AWS account making the call.
- Parameters
endpoint_type (str) – Endpoint type. Valid values:
iot:CredentialProvider,iot:Data,iot:Data-ATS,iot:Job.