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.com

  • iot:Data: IDENTIFIER.iot.REGION.amazonaws.com

  • iot:Data-ATS: IDENTIFIER-ats.iot.REGION.amazonaws.com

  • iot: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.

tags: pulumi.Output[dict] = None

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.