Terraform 0.11

aws_iot_topic_rule




terraform

aws_iot_topic_rule

उदाहरण उपयोग

resource "aws_iot_topic_rule" "rule" {
  name = "MyRule"
  description = "Example rule"
  enabled = true
  sql = "SELECT * FROM 'topic/test'"
  sql_version = "2015-10-08"

  sns {
    message_format = "RAW"
    role_arn = "${aws_iam_role.role.arn}"
    target_arn = "${aws_sns_topic.mytopic.arn}"
  }
}

resource "aws_sns_topic" "mytopic" {
  name = "mytopic"
}

resource "aws_iam_role" "role" {
    name = "myrole"
    assume_role_policy = <<EOF
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "iot.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
EOF
}

resource "aws_iam_role_policy" "iam_policy_for_lambda" {
    name = "mypolicy"
    role = "${aws_iam_role.role.id}"
    policy = <<EOF
{
  "Version": "2012-10-17",
  "Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "sns:Publish"
        ],
        "Resource": "${aws_sns_topic.mytopic.arn}"
    }
  ]
}
EOF
}

तर्क संदर्भ

  • name - (आवश्यक) नियम का नाम।
  • description - (वैकल्पिक) नियम का विवरण।
  • enabled - (आवश्यक) निर्दिष्ट करता है कि नियम सक्षम है या नहीं।
  • sql - (आवश्यक) SQL कथन विषय का उपयोग करने के लिए किया जाता है। अधिक जानकारी के लिए, AWS IoT डेवलपर गाइड में AWS IoT SQL संदर्भ ( http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference ) देखें।
  • sql_version - (आवश्यक) नियम का मूल्यांकन करते समय उपयोग करने के लिए SQL नियम इंजन का संस्करण।

cloudwatch_alarm ऑब्जेक्ट निम्नलिखित तर्क लेता है:

  • alarm_name - (आवश्यक) क्लाउडवाच अलार्म नाम।
  • role_arn - (आवश्यक) IAM भूमिका ARN जो CloudWatch अलार्म तक पहुँच की अनुमति देता है।
  • state_reason - (आवश्यक) अलार्म परिवर्तन का कारण।
  • state_value - (आवश्यक) अलार्म राज्य का मूल्य। स्वीकार्य मूल्य हैं: ठीक है, अलार्म, INSUFFICIENT_DATA।

cloudwatch_metric ऑब्जेक्ट निम्न तर्क लेता है:

dynamodb ऑब्जेक्ट निम्न तर्क लेता है:

  • hash_key_field - (आवश्यक) हैश कुंजी नाम।
  • hash_key_type - (वैकल्पिक) हैश कुंजी प्रकार। मान्य मान "STRING" या "NUMBER" हैं।
  • hash_key_value - (आवश्यक) हैश कुंजी मान।
  • payload_field - (ऑप्शनल) एक्शन पेलोड।
  • range_key_field - (वैकल्पिक) श्रेणी कुंजी नाम।
  • range_key_type - (वैकल्पिक) श्रेणी कुंजी प्रकार। मान्य मान "STRING" या "NUMBER" हैं।
  • range_key_value - (वैकल्पिक) श्रेणी कुंजी मान।
  • role_arn - (आवश्यक) IAM भूमिका का ARN जो डायनमोडी टेबल पर पहुँच प्रदान करता है।
  • table_name - (आवश्यक) DynamoDB तालिका का नाम।

elasticsearch वस्तु निम्नलिखित तर्क लेती है:

  • endpoint - (आवश्यक) आपके इलास्टिक्स खोज डोमेन का समापन बिंदु।
  • id - (आवश्यक) आपके द्वारा संग्रहित दस्तावेज़ के लिए विशिष्ट पहचानकर्ता।
  • index - (आवश्यक) आप अपने डेटा को संग्रहीत करना चाहते हैं, जहां एलेस्टिक्स खोज सूचकांक।
  • role_arn - (आवश्यक) IAM भूमिका ARN जिसकी पहुंच role_arn तक है।
  • type - (आवश्यक) दस्तावेज़ का प्रकार जो आप संग्रहीत कर रहे हैं।

firehose ऑब्जेक्ट निम्न तर्क लेता है:

  • delivery_stream_name - (आवश्यक) वितरण स्ट्रीम नाम।
  • role_arn - (आवश्यक) IAM भूमिका ARN जो Amazon Kinesis Firehose स्ट्रीम तक पहुँच प्रदान करती है।

kinesis वस्तु निम्नलिखित तर्क लेती है:

  • partition_key - (वैकल्पिक) विभाजन कुंजी।
  • role_arn - (आवश्यक) IAM भूमिका का ARN जो अमेज़ॅन किनेसिस स्ट्रीम तक पहुँच प्रदान करता है।
  • stream_name - (आवश्यक) Amazon Kinesis स्ट्रीम का नाम।

lambda ऑब्जेक्ट निम्नलिखित तर्क लेता है:

  • function_arn - (आवश्यक) लैम्ब्डा फ़ंक्शन का ARN।

republish ऑब्जेक्ट निम्न तर्क लेता है:

  • role_arn - (आवश्यक) IAM भूमिका का ARN जो पहुँच प्रदान करता है।
  • topic - (आवश्यक) MQTT विषय का नाम संदेश को पुनः प्रकाशित किया जाना चाहिए।

s3 ऑब्जेक्ट निम्न तर्क लेता है:

  • bucket_name - (आवश्यक) अमेज़ॅन S3 बाल्टी नाम।
  • key - (आवश्यक) ऑब्जेक्ट की।
  • role_arn - (आवश्यक) IAM भूमिका का ARN जो पहुँच प्रदान करता है।

sns वस्तु निम्नलिखित तर्क लेती है:

  • message_format - (आवश्यक) प्रकाशित करने के लिए संदेश का संदेश प्रारूप। स्वीकृत मान "JSON" और "RAW" हैं।
  • role_arn - (आवश्यक) IAM भूमिका का ARN जो पहुँच प्रदान करता है।
  • target_arn - (आवश्यक) SNS विषय का ARN।

sqs तर्क निम्न तर्क लेता है:

  • queue_url - (आवश्यक) Amazon SQS कतार का URL।
  • role_arn - (आवश्यक) IAM भूमिका का ARN जो पहुँच प्रदान करता है।
  • use_base64 - (आवश्यक) यह निर्दिष्ट करता है कि Base64 एन्कोडिंग का उपयोग करना है या नहीं।

संदर्भ संदर्भित करता है

उपरोक्त सभी तर्कों के अलावा, निम्नलिखित विशेषताएँ निर्यात की जाती हैं:

  • id - विषय नियम का नाम
  • arn - विषय नियम का ARN

आयात

IoT Topic Rules को name का उपयोग करके आयात किया जा सकता है, जैसे

$ terraform import aws_iot_topic_rule.rule <name>