Module iot

@pulumi/aws > 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 Certificate

extends CustomResource

Creates and manages an AWS IoT certificate.

Example Usage

With CSR

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
import * as fs from "fs";

const cert = new aws.iot.Certificate("cert", {
    active: true,
    csr: fs.readFileSync("/my/csr.pem", "utf-8"),
});

Without CSR

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const cert = new aws.iot.Certificate("cert", {
    active: true,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/iot_certificate.html.markdown.

constructor

new Certificate(name: string, args: CertificateArgs, opts?: pulumi.CustomResourceOptions)

Create a Certificate resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CertificateState, opts?: pulumi.CustomResourceOptions): Certificate

Get an existing Certificate resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of Certificate. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property active

public active: pulumi.Output<boolean>;

Boolean flag to indicate if the certificate should be active

property arn

public arn: pulumi.Output<string>;

The ARN of the created certificate.

property certificatePem

public certificatePem: pulumi.Output<string>;

The certificate data, in PEM format.

property csr

public csr: pulumi.Output<string | undefined>;

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.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property privateKey

public privateKey: pulumi.Output<string>;

When no CSR is provided, the private key.

property publicKey

public publicKey: pulumi.Output<string>;

When no CSR is provided, the public key.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class Policy

extends CustomResource

Provides an IoT policy.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const pubsub = new aws.iot.Policy("pubsub", {
    policy: `{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "iot:*"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
`,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/iot_policy.html.markdown.

constructor

new Policy(name: string, args: PolicyArgs, opts?: pulumi.CustomResourceOptions)

Create a Policy resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: PolicyState, opts?: pulumi.CustomResourceOptions): Policy

Get an existing Policy resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of Policy. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property arn

public arn: pulumi.Output<string>;

The ARN assigned by AWS to this policy.

property defaultVersionId

public defaultVersionId: pulumi.Output<string>;

The default version of this policy.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

The name of the policy.

property policy

public policy: pulumi.Output<string>;

The policy document. This is a JSON formatted string. Use the IoT Developer Guide for more information on IoT Policies.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class PolicyAttachment

extends CustomResource

Provides an IoT policy attachment.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
import * as fs from "fs";

const cert = new aws.iot.Certificate("cert", {
    active: true,
    csr: fs.readFileSync("csr.pem", "utf-8"),
});
const pubsub = new aws.iot.Policy("pubsub", {
    policy: `{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "iot:*"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
`,
});
const att = new aws.iot.PolicyAttachment("att", {
    policy: pubsub.name,
    target: cert.arn,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/iot_policy_attachment.html.markdown.

constructor

new PolicyAttachment(name: string, args: PolicyAttachmentArgs, opts?: pulumi.CustomResourceOptions)

Create a PolicyAttachment resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: PolicyAttachmentState, opts?: pulumi.CustomResourceOptions): PolicyAttachment

Get an existing PolicyAttachment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of PolicyAttachment. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property policy

public policy: pulumi.Output<string>;

The name of the policy to attach.

property target

public target: pulumi.Output<ARN>;

The identity to which the policy is attached.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class RoleAlias

extends CustomResource

Provides an IoT role alias.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const role = new aws.iam.Role("role", {
    policy: `{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {"Service": "credentials.iot.amazonaws.com"},
      "Action": "sts:AssumeRole"
    }
  ]
}
`,
});
const alias = new aws.iot.RoleAlias("alias", {
    alias: "Thermostat-dynamodb-access-role-alias",
    roleArn: role.arn,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/iot_role_alias.html.markdown.

constructor

new RoleAlias(name: string, args: RoleAliasArgs, opts?: pulumi.CustomResourceOptions)

Create a RoleAlias resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RoleAliasState, opts?: pulumi.CustomResourceOptions): RoleAlias

Get an existing RoleAlias resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of RoleAlias. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property alias

public alias: pulumi.Output<string>;

The name of the role alias.

property arn

public arn: pulumi.Output<string>;

The ARN assigned by AWS to this role alias.

property credentialDuration

public credentialDuration: pulumi.Output<number | undefined>;

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

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property roleArn

public roleArn: pulumi.Output<string>;

The identity of the role to which the alias refers.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class Thing

extends CustomResource

Creates and manages an AWS IoT Thing.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.iot.Thing("example", {
    attributes: {
        First: "examplevalue",
    },
});

This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/iot_thing.html.markdown.

constructor

new Thing(name: string, args?: ThingArgs, opts?: pulumi.CustomResourceOptions)

Create a Thing resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ThingState, opts?: pulumi.CustomResourceOptions): Thing

Get an existing Thing resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of Thing. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property arn

public arn: pulumi.Output<string>;

The ARN of the thing.

property attributes

public attributes: pulumi.Output<{[key: string]: any} | undefined>;

Map of attributes of the thing.

property defaultClientId

public defaultClientId: pulumi.Output<string>;

The default client ID.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

The name of the thing.

property thingTypeName

public thingTypeName: pulumi.Output<string | undefined>;

The thing type name.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property version

public version: pulumi.Output<number>;

The current version of the thing record in the registry.

class ThingPrincipalAttachment

extends CustomResource

Attaches Principal to AWS IoT Thing.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
import * as fs from "fs";

const cert = new aws.iot.Certificate("cert", {
    active: true,
    csr: fs.readFileSync("csr.pem", "utf-8"),
});
const example = new aws.iot.Thing("example", {});
const att = new aws.iot.ThingPrincipalAttachment("att", {
    principal: cert.arn,
    thing: example.name,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/iot_thing_principal_attachment.html.markdown.

constructor

new ThingPrincipalAttachment(name: string, args: ThingPrincipalAttachmentArgs, opts?: pulumi.CustomResourceOptions)

Create a ThingPrincipalAttachment resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ThingPrincipalAttachmentState, opts?: pulumi.CustomResourceOptions): ThingPrincipalAttachment

Get an existing ThingPrincipalAttachment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of ThingPrincipalAttachment. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property principal

public principal: pulumi.Output<ARN>;

The AWS IoT Certificate ARN or Amazon Cognito Identity ID.

property thing

public thing: pulumi.Output<string>;

The name of the thing.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class ThingType

extends CustomResource

Creates and manages an AWS IoT Thing Type.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const foo = new aws.iot.ThingType("foo", {});

This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/iot_thing_type.html.markdown.

constructor

new ThingType(name: string, args?: ThingTypeArgs, opts?: pulumi.CustomResourceOptions)

Create a ThingType resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ThingTypeState, opts?: pulumi.CustomResourceOptions): ThingType

Get an existing ThingType resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of ThingType. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property arn

public arn: pulumi.Output<string>;

The ARN of the created AWS IoT Thing Type.

property deprecated

public deprecated: pulumi.Output<boolean | undefined>;

Whether the thing type is deprecated. If true, no new things could be associated with this type.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

The name of the thing type.

property properties

public properties: pulumi.Output<{
    description: undefined | string;
    searchableAttributes: string[];
} | undefined>;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class TopicRule

extends CustomResource

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const role = new aws.iam.Role("role", {
    assumeRolePolicy: `{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "iot.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
`,
});
const mytopic = new aws.sns.Topic("mytopic", {});
const iamPolicyForLambda = new aws.iam.RolePolicy("iamPolicyForLambda", {
    policy: pulumi.interpolate`{
  "Version": "2012-10-17",
  "Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "sns:Publish"
        ],
        "Resource": "${mytopic.arn}"
    }
  ]
}
`,
    role: role.id,
});
const rule = new aws.iot.TopicRule("rule", {
    description: "Example rule",
    enabled: true,
    sns: {
        messageFormat: "RAW",
        roleArn: role.arn,
        targetArn: mytopic.arn,
    },
    sql: "SELECT * FROM 'topic/test'",
    sqlVersion: "2015-10-08",
});

This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/iot_topic_rule.html.markdown.

constructor

new TopicRule(name: string, args: TopicRuleArgs, opts?: pulumi.CustomResourceOptions)

Create a TopicRule resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TopicRuleState, opts?: pulumi.CustomResourceOptions): TopicRule

Get an existing TopicRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of TopicRule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property arn

public arn: pulumi.Output<string>;

The ARN of the topic rule

property cloudwatchAlarm

public cloudwatchAlarm: pulumi.Output<{
    alarmName: string;
    roleArn: string;
    stateReason: string;
    stateValue: string;
} | undefined>;

property cloudwatchMetric

public cloudwatchMetric: pulumi.Output<{
    metricName: string;
    metricNamespace: string;
    metricTimestamp: undefined | string;
    metricUnit: string;
    metricValue: string;
    roleArn: string;
} | undefined>;

property description

public description: pulumi.Output<string | undefined>;

The description of the rule.

property dynamodb

public dynamodb: pulumi.Output<{
    hashKeyField: string;
    hashKeyType: undefined | string;
    hashKeyValue: string;
    payloadField: undefined | string;
    rangeKeyField: undefined | string;
    rangeKeyType: undefined | string;
    rangeKeyValue: undefined | string;
    roleArn: string;
    tableName: string;
} | undefined>;

property elasticsearch

public elasticsearch: pulumi.Output<{
    endpoint: string;
    id: string;
    index: string;
    roleArn: string;
    type: string;
} | undefined>;

property enabled

public enabled: pulumi.Output<boolean>;

Specifies whether the rule is enabled.

property firehose

public firehose: pulumi.Output<{
    deliveryStreamName: string;
    roleArn: string;
    separator: undefined | string;
} | undefined>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property kinesis

public kinesis: pulumi.Output<{
    partitionKey: undefined | string;
    roleArn: string;
    streamName: string;
} | undefined>;

property lambda

public lambda: pulumi.Output<{
    functionArn: string;
} | undefined>;

property name

public name: pulumi.Output<string>;

The name of the rule.

property republish

public republish: pulumi.Output<{
    roleArn: string;
    topic: string;
} | undefined>;

property s3

public s3: pulumi.Output<{
    bucketName: string;
    key: string;
    roleArn: string;
} | undefined>;

property sns

public sns: pulumi.Output<{
    messageFormat: undefined | string;
    roleArn: string;
    targetArn: string;
} | undefined>;

property sql

public sql: pulumi.Output<string>;

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.

property sqlVersion

public sqlVersion: pulumi.Output<string>;

The version of the SQL rules engine to use when evaluating the rule.

property sqs

public sqs: pulumi.Output<{
    queueUrl: string;
    roleArn: string;
    useBase64: boolean;
} | undefined>;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

function getEndpoint

getEndpoint(args?: GetEndpointArgs, opts?: pulumi.InvokeOptions): Promise<GetEndpointResult> & GetEndpointResult

Returns a unique endpoint specific to the AWS account making the call.

This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/d/iot_endpoint.html.markdown.

interface CertificateArgs

The set of arguments for constructing a Certificate resource.

property active

active: pulumi.Input<boolean>;

Boolean flag to indicate if the certificate should be active

property csr

csr?: pulumi.Input<string>;

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.

interface CertificateState

Input properties used for looking up and filtering Certificate resources.

property active

active?: pulumi.Input<boolean>;

Boolean flag to indicate if the certificate should be active

property arn

arn?: pulumi.Input<string>;

The ARN of the created certificate.

property certificatePem

certificatePem?: pulumi.Input<string>;

The certificate data, in PEM format.

property csr

csr?: pulumi.Input<string>;

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.

property privateKey

privateKey?: pulumi.Input<string>;

When no CSR is provided, the private key.

property publicKey

publicKey?: pulumi.Input<string>;

When no CSR is provided, the public key.

interface GetEndpointArgs

A collection of arguments for invoking getEndpoint.

property endpointType

endpointType?: undefined | string;

Endpoint type. Valid values: iot:CredentialProvider, iot:Data, iot:Data-ATS, iot:Job.

interface GetEndpointResult

A collection of values returned by getEndpoint.

property endpointAddress

endpointAddress: string;

The endpoint based on endpointType: * No endpointType: 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

property endpointType

endpointType?: undefined | string;

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

interface PolicyArgs

The set of arguments for constructing a Policy resource.

property name

name?: pulumi.Input<string>;

The name of the policy.

property policy

policy: pulumi.Input<string>;

The policy document. This is a JSON formatted string. Use the IoT Developer Guide for more information on IoT Policies.

interface PolicyAttachmentArgs

The set of arguments for constructing a PolicyAttachment resource.

property policy

policy: pulumi.Input<string | Policy>;

The name of the policy to attach.

property target

target: pulumi.Input<ARN>;

The identity to which the policy is attached.

interface PolicyAttachmentState

Input properties used for looking up and filtering PolicyAttachment resources.

property policy

policy?: pulumi.Input<string | Policy>;

The name of the policy to attach.

property target

target?: pulumi.Input<ARN>;

The identity to which the policy is attached.

interface PolicyState

Input properties used for looking up and filtering Policy resources.

property arn

arn?: pulumi.Input<string>;

The ARN assigned by AWS to this policy.

property defaultVersionId

defaultVersionId?: pulumi.Input<string>;

The default version of this policy.

property name

name?: pulumi.Input<string>;

The name of the policy.

property policy

policy?: pulumi.Input<string>;

The policy document. This is a JSON formatted string. Use the IoT Developer Guide for more information on IoT Policies.

interface RoleAliasArgs

The set of arguments for constructing a RoleAlias resource.

property alias

alias: pulumi.Input<string>;

The name of the role alias.

property credentialDuration

credentialDuration?: pulumi.Input<number>;

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

property roleArn

roleArn: pulumi.Input<string>;

The identity of the role to which the alias refers.

interface RoleAliasState

Input properties used for looking up and filtering RoleAlias resources.

property alias

alias?: pulumi.Input<string>;

The name of the role alias.

property arn

arn?: pulumi.Input<string>;

The ARN assigned by AWS to this role alias.

property credentialDuration

credentialDuration?: pulumi.Input<number>;

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

property roleArn

roleArn?: pulumi.Input<string>;

The identity of the role to which the alias refers.

interface ThingArgs

The set of arguments for constructing a Thing resource.

property attributes

attributes?: pulumi.Input<{[key: string]: any}>;

Map of attributes of the thing.

property name

name?: pulumi.Input<string>;

The name of the thing.

property thingTypeName

thingTypeName?: pulumi.Input<string>;

The thing type name.

interface ThingPrincipalAttachmentArgs

The set of arguments for constructing a ThingPrincipalAttachment resource.

property principal

principal: pulumi.Input<ARN>;

The AWS IoT Certificate ARN or Amazon Cognito Identity ID.

property thing

thing: pulumi.Input<string>;

The name of the thing.

interface ThingPrincipalAttachmentState

Input properties used for looking up and filtering ThingPrincipalAttachment resources.

property principal

principal?: pulumi.Input<ARN>;

The AWS IoT Certificate ARN or Amazon Cognito Identity ID.

property thing

thing?: pulumi.Input<string>;

The name of the thing.

interface ThingState

Input properties used for looking up and filtering Thing resources.

property arn

arn?: pulumi.Input<string>;

The ARN of the thing.

property attributes

attributes?: pulumi.Input<{[key: string]: any}>;

Map of attributes of the thing.

property defaultClientId

defaultClientId?: pulumi.Input<string>;

The default client ID.

property name

name?: pulumi.Input<string>;

The name of the thing.

property thingTypeName

thingTypeName?: pulumi.Input<string>;

The thing type name.

property version

version?: pulumi.Input<number>;

The current version of the thing record in the registry.

interface ThingTypeArgs

The set of arguments for constructing a ThingType resource.

property deprecated

deprecated?: pulumi.Input<boolean>;

Whether the thing type is deprecated. If true, no new things could be associated with this type.

property name

name?: pulumi.Input<string>;

The name of the thing type.

property properties

properties?: pulumi.Input<{
    description: pulumi.Input<string>;
    searchableAttributes: pulumi.Input<pulumi.Input<string>[]>;
}>;

interface ThingTypeState

Input properties used for looking up and filtering ThingType resources.

property arn

arn?: pulumi.Input<string>;

The ARN of the created AWS IoT Thing Type.

property deprecated

deprecated?: pulumi.Input<boolean>;

Whether the thing type is deprecated. If true, no new things could be associated with this type.

property name

name?: pulumi.Input<string>;

The name of the thing type.

property properties

properties?: pulumi.Input<{
    description: pulumi.Input<string>;
    searchableAttributes: pulumi.Input<pulumi.Input<string>[]>;
}>;

interface TopicRuleArgs

The set of arguments for constructing a TopicRule resource.

property cloudwatchAlarm

cloudwatchAlarm?: pulumi.Input<{
    alarmName: pulumi.Input<string>;
    roleArn: pulumi.Input<string>;
    stateReason: pulumi.Input<string>;
    stateValue: pulumi.Input<string>;
}>;

property cloudwatchMetric

cloudwatchMetric?: pulumi.Input<{
    metricName: pulumi.Input<string>;
    metricNamespace: pulumi.Input<string>;
    metricTimestamp: pulumi.Input<string>;
    metricUnit: pulumi.Input<string>;
    metricValue: pulumi.Input<string>;
    roleArn: pulumi.Input<string>;
}>;

property description

description?: pulumi.Input<string>;

The description of the rule.

property dynamodb

dynamodb?: pulumi.Input<{
    hashKeyField: pulumi.Input<string>;
    hashKeyType: pulumi.Input<string>;
    hashKeyValue: pulumi.Input<string>;
    payloadField: pulumi.Input<string>;
    rangeKeyField: pulumi.Input<string>;
    rangeKeyType: pulumi.Input<string>;
    rangeKeyValue: pulumi.Input<string>;
    roleArn: pulumi.Input<string>;
    tableName: pulumi.Input<string>;
}>;

property elasticsearch

elasticsearch?: pulumi.Input<{
    endpoint: pulumi.Input<string>;
    id: pulumi.Input<string>;
    index: pulumi.Input<string>;
    roleArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>;

property enabled

enabled: pulumi.Input<boolean>;

Specifies whether the rule is enabled.

property firehose

firehose?: pulumi.Input<{
    deliveryStreamName: pulumi.Input<string>;
    roleArn: pulumi.Input<string>;
    separator: pulumi.Input<string>;
}>;

property kinesis

kinesis?: pulumi.Input<{
    partitionKey: pulumi.Input<string>;
    roleArn: pulumi.Input<string>;
    streamName: pulumi.Input<string>;
}>;

property lambda

lambda?: pulumi.Input<{
    functionArn: pulumi.Input<string>;
}>;

property name

name?: pulumi.Input<string>;

The name of the rule.

property republish

republish?: pulumi.Input<{
    roleArn: pulumi.Input<string>;
    topic: pulumi.Input<string>;
}>;

property s3

s3?: pulumi.Input<{
    bucketName: pulumi.Input<string>;
    key: pulumi.Input<string>;
    roleArn: pulumi.Input<string>;
}>;

property sns

sns?: pulumi.Input<{
    messageFormat: pulumi.Input<string>;
    roleArn: pulumi.Input<string>;
    targetArn: pulumi.Input<string>;
}>;

property sql

sql: pulumi.Input<string>;

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.

property sqlVersion

sqlVersion: pulumi.Input<string>;

The version of the SQL rules engine to use when evaluating the rule.

property sqs

sqs?: pulumi.Input<{
    queueUrl: pulumi.Input<string>;
    roleArn: pulumi.Input<string>;
    useBase64: pulumi.Input<boolean>;
}>;

interface TopicRuleState

Input properties used for looking up and filtering TopicRule resources.

property arn

arn?: pulumi.Input<string>;

The ARN of the topic rule

property cloudwatchAlarm

cloudwatchAlarm?: pulumi.Input<{
    alarmName: pulumi.Input<string>;
    roleArn: pulumi.Input<string>;
    stateReason: pulumi.Input<string>;
    stateValue: pulumi.Input<string>;
}>;

property cloudwatchMetric

cloudwatchMetric?: pulumi.Input<{
    metricName: pulumi.Input<string>;
    metricNamespace: pulumi.Input<string>;
    metricTimestamp: pulumi.Input<string>;
    metricUnit: pulumi.Input<string>;
    metricValue: pulumi.Input<string>;
    roleArn: pulumi.Input<string>;
}>;

property description

description?: pulumi.Input<string>;

The description of the rule.

property dynamodb

dynamodb?: pulumi.Input<{
    hashKeyField: pulumi.Input<string>;
    hashKeyType: pulumi.Input<string>;
    hashKeyValue: pulumi.Input<string>;
    payloadField: pulumi.Input<string>;
    rangeKeyField: pulumi.Input<string>;
    rangeKeyType: pulumi.Input<string>;
    rangeKeyValue: pulumi.Input<string>;
    roleArn: pulumi.Input<string>;
    tableName: pulumi.Input<string>;
}>;

property elasticsearch

elasticsearch?: pulumi.Input<{
    endpoint: pulumi.Input<string>;
    id: pulumi.Input<string>;
    index: pulumi.Input<string>;
    roleArn: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>;

property enabled

enabled?: pulumi.Input<boolean>;

Specifies whether the rule is enabled.

property firehose

firehose?: pulumi.Input<{
    deliveryStreamName: pulumi.Input<string>;
    roleArn: pulumi.Input<string>;
    separator: pulumi.Input<string>;
}>;

property kinesis

kinesis?: pulumi.Input<{
    partitionKey: pulumi.Input<string>;
    roleArn: pulumi.Input<string>;
    streamName: pulumi.Input<string>;
}>;

property lambda

lambda?: pulumi.Input<{
    functionArn: pulumi.Input<string>;
}>;

property name

name?: pulumi.Input<string>;

The name of the rule.

property republish

republish?: pulumi.Input<{
    roleArn: pulumi.Input<string>;
    topic: pulumi.Input<string>;
}>;

property s3

s3?: pulumi.Input<{
    bucketName: pulumi.Input<string>;
    key: pulumi.Input<string>;
    roleArn: pulumi.Input<string>;
}>;

property sns

sns?: pulumi.Input<{
    messageFormat: pulumi.Input<string>;
    roleArn: pulumi.Input<string>;
    targetArn: pulumi.Input<string>;
}>;

property sql

sql?: pulumi.Input<string>;

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.

property sqlVersion

sqlVersion?: pulumi.Input<string>;

The version of the SQL rules engine to use when evaluating the rule.

property sqs

sqs?: pulumi.Input<{
    queueUrl: pulumi.Input<string>;
    roleArn: pulumi.Input<string>;
    useBase64: pulumi.Input<boolean>;
}>;