Terraform 0.11

pagerduty_service




terraform

pagerduty_service

एक service ऐसी चीज़ का प्रतिनिधित्व करती है जिसे आप मॉनिटर करते हैं (जैसे वेब सेवा, ईमेल सेवा या डेटाबेस सेवा)। यह संबंधित घटनाओं के लिए एक कंटेनर है जो उन्हें वृद्धि नीतियों के साथ जोड़ता है।

उदाहरण उपयोग

resource "pagerduty_user" "example" {
  name  = "Earline Greenholt"
  email = "[email protected]"
  teams = ["${pagerduty_team.example.id}"]
}

resource "pagerduty_escalation_policy" "foo" {
  name      = "Engineering Escalation Policy"
  num_loops = 2

  rule {
    escalation_delay_in_minutes = 10

    target {
      type = "user"
      id   = "${pagerduty_user.example.id}"
    }
  }
}

resource "pagerduty_service" "example" {
  name                    = "My Web App"
  auto_resolve_timeout    = 14400
  acknowledgement_timeout = 600
  escalation_policy       = "${pagerduty_escalation_policy.example.id}"
  alert_creation          = "create_incidents"
}

तर्क संदर्भ

निम्नलिखित तर्क समर्थित हैं:

  • name - (आवश्यक) सेवा का नाम।
  • description - (वैकल्पिक) वृद्धि नीति का मानव-अनुकूल वर्णन। यदि सेट नहीं किया गया है, तो "प्रबंधित द्वारा टेराफॉर्म" का एक प्लेसहोल्डर सेट किया जाएगा।
  • auto_resolve_timeout - (वैकल्पिक) सेकंड में वह समय जब कोई घटना अपने आप हल हो जाती है अगर उस लंबे समय के लिए खुला छोड़ दिया जाता है। "null" स्ट्रिंग पर सेट होने पर अक्षम।
  • acknowledgement_timeout - (वैकल्पिक) सेकंड में समय जो एक घटना को स्वीकार किए जाने के बाद ट्रिगर स्थिति में बदल जाता है। "null" स्ट्रिंग पर सेट होने पर अक्षम।
  • escalation_policy - (आवश्यक) इस सेवा द्वारा उपयोग की जाने वाली वृद्धि नीति।
  • alert_creation - (वैकल्पिक) दो मानों में से एक होना चाहिए। पेजरूट आपके मॉनिटरिंग सिस्टम से घटनाओं को प्राप्त करता है और फिर विभिन्न तरीकों से घटनाओं का निर्माण कर सकता है। मान "create_incidents" डिफ़ॉल्ट है: ईवेंट एक ऐसी घटना बनाएंगे जिसे मर्ज नहीं किया जा सकता है। मान "create_alerts_and_incidents" विकल्प है: घटनाएं एक अलर्ट बनाएगी और फिर इसे एक नई घटना में जोड़ देंगी, इन घटनाओं को मिलाया जा सकता है।

आप एक वैकल्पिक incident_urgency_rule को निर्दिष्ट कर सकते हैं। आपके पेजरडूट खाते में एक घटना तात्कालिकता नियम निर्दिष्ट करने की urgencies क्षमता होनी चाहिए। ब्लॉक में निम्नलिखित तर्क हैं।

  • type - घटना का प्रकार तात्कालिकता: constant या use_support_hours (जब विशिष्ट use_support_hours घंटे के आधार पर; support_hours देखें)।
  • during_support_hours - (वैकल्पिक) समर्थन घंटों के दौरान during_support_hours की तात्कालिकता।
  • outside_support_hours - (वैकल्पिक) समर्थन घंटों के बाहर की घटनाएं ''।

जब आप का उपयोग कर type = "use_support_hours" में आपको ठीक से एक अन्यथा वैकल्पिक support_hours ब्लॉक को निर्दिष्ट करना होगा। खाते में service_support_hours समर्थन घंटे असाइन करने की क्षमता होनी चाहिए। ब्लॉक में निम्नलिखित तर्क हैं।

  • type - समर्थन घंटों का प्रकार। तय किया जा सकता fixed_time_per_day
  • time_zone - समर्थन घंटों का समय क्षेत्र।
  • days_of_week - पूर्णांक के रूप में सप्ताह के दिनों की सरणी। 1 से 7 , 1 सोमवार और 7 रविवार हो रहा है।
  • start_time - दिन के समय का समर्थन समय।
  • end_time - दिन के समय का समर्थन समय।

जब आप incident_urgency_rule लिए type = "use_support_hours" का उपयोग कर रहे हैं, तो आपको सेवा के लिए scheduled_actions भी निर्दिष्ट करना होगा। अन्यथा scheduled_actions विनिमय वैकल्पिक है।

  • type - अनुसूचित कार्रवाई का प्रकार। वर्तमान में, इसे urgency_change लिए सेट किया जाना चाहिए।
  • at - अनुसूचित कार्रवाई होने at प्रतिनिधित्व करेंगे।
  • name - निर्धारित क्रिया के प्रारंभ या अंत को नामित करता है। support_hours_start या support_hours_end हो सकता है।

नीचे pagerduty_service संसाधन के लिए एक उदाहरण है जिसमें pagerduty_service type = "use_support_hours" , support_hours और साथ ही साथ एक डिफ़ॉल्ट type = "use_support_hours"

resource "pagerduty_service" "foo" {
  name                    = "bar"
  description             = "bar bar bar"
  auto_resolve_timeout    = 3600
  acknowledgement_timeout = 3600
  escalation_policy       = "${pagerduty_escalation_policy.foo.id}"

  incident_urgency_rule {
    type = "use_support_hours"

    during_support_hours {
      type    = "constant"
      urgency = "high"
    }

    outside_support_hours {
      type    = "constant"
      urgency = "low"
    }
  }

  support_hours {
    type         = "fixed_time_per_day"
    time_zone    = "America/Lima"
    start_time   = "09:00:00"
    end_time     = "17:00:00"
    days_of_week = [1, 2, 3, 4, 5]
  }

  scheduled_actions {
    type       = "urgency_change"
    to_urgency = "high"

    at {
      type = "named_time"
      name = "support_hours_start"
    }
  }
}

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

निम्नलिखित विशेषताएँ निर्यात की जाती हैं:

  • id - सेवा की आईडी।
  • last_incident_timestamp - सेवा की अंतिम घटना टाइमस्टैम्प
  • created_at - सेवा का निर्माण टाइमस्टैम्प
  • status - सेवा की स्थिति

आयात

id का उपयोग करके सेवाओं को आयात किया जा सकता है, जैसे

$ terraform import pagerduty_service.main PLBP09X