[ aws . iot ]

create-topic-rule-destination

Description

Creates a topic rule destination. The destination must be confirmed prior to use.

Requires permission to access the CreateTopicRuleDestination action.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  create-topic-rule-destination
--destination-configuration <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Options

--destination-configuration (structure)

The topic rule destination configuration.

httpUrlConfiguration -> (structure)

Configuration of the HTTP URL.

confirmationUrl -> (string)

The URL IoT uses to confirm ownership of or access to the topic rule destination URL.

vpcConfiguration -> (structure)

Configuration of the virtual private cloud (VPC) connection.

subnetIds -> (list)

The subnet IDs of the VPC destination.

(string)

securityGroups -> (list)

The security groups of the VPC destination.

(string)

vpcId -> (string)

The ID of the VPC.

roleArn -> (string)

The ARN of a role that has permission to create and attach to elastic network interfaces (ENIs).

Shorthand Syntax:

httpUrlConfiguration={confirmationUrl=string},vpcConfiguration={subnetIds=[string,string],securityGroups=[string,string],vpcId=string,roleArn=string}

JSON Syntax:

{
  "httpUrlConfiguration": {
    "confirmationUrl": "string"
  },
  "vpcConfiguration": {
    "subnetIds": ["string", ...],
    "securityGroups": ["string", ...],
    "vpcId": "string",
    "roleArn": "string"
  }
}

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.

Examples

To create a topic rule destination

The following create-topic-rule-destination example creates a topic rule destination for an HTTP endpoint.

aws iot create-topic-rule-destination \
    --destination-configuration httpUrlConfiguration={confirmationUrl=https://example.com}

Output:

{
    "topicRuleDestination": {
        "arn": "arn:aws:iot:us-west-2:123456789012:ruledestination/http/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
        "status": "IN_PROGRESS",
        "statusReason": "Awaiting confirmation. Confirmation message sent on 2020-07-09T22:47:54.154Z; no response received from the endpoint.",
        "httpUrlProperties": {
            "confirmationUrl": "https://example.com"
        }
    }
}

For more information, see Creating a topic rule destination in the AWS IoT Developer Guide.

Output

topicRuleDestination -> (structure)

The topic rule destination.

arn -> (string)

The topic rule destination URL.

status -> (string)

The status of the topic rule destination. Valid values are:

IN_PROGRESS

A topic rule destination was created but has not been confirmed. You can set status to IN_PROGRESS by calling UpdateTopicRuleDestination . Calling UpdateTopicRuleDestination causes a new confirmation challenge to be sent to your confirmation endpoint.

ENABLED

Confirmation was completed, and traffic to this destination is allowed. You can set status to DISABLED by calling UpdateTopicRuleDestination .

DISABLED

Confirmation was completed, and traffic to this destination is not allowed. You can set status to ENABLED by calling UpdateTopicRuleDestination .

ERROR

Confirmation could not be completed, for example if the confirmation timed out. You can call GetTopicRuleDestination for details about the error. You can set status to IN_PROGRESS by calling UpdateTopicRuleDestination . Calling UpdateTopicRuleDestination causes a new confirmation challenge to be sent to your confirmation endpoint.

createdAt -> (timestamp)

The date and time when the topic rule destination was created.

lastUpdatedAt -> (timestamp)

The date and time when the topic rule destination was last updated.

statusReason -> (string)

Additional details or reason why the topic rule destination is in the current status.

httpUrlProperties -> (structure)

Properties of the HTTP URL.

confirmationUrl -> (string)

The URL used to confirm the HTTP topic rule destination URL.

vpcProperties -> (structure)

Properties of the virtual private cloud (VPC) connection.

subnetIds -> (list)

The subnet IDs of the VPC destination.

(string)

securityGroups -> (list)

The security groups of the VPC destination.

(string)

vpcId -> (string)

The ID of the VPC.

roleArn -> (string)

The ARN of a role that has permission to create and attach to elastic network interfaces (ENIs).