Terraform 0.11

azurerm_app_service




terraform

azurerm_app_service

एक ऐप सेवा (एक ऐप सेवा योजना के भीतर) का प्रबंधन करता है।

उदाहरण उपयोग (.net 4.x)

resource "random_id" "server" {
  keepers = {
    azi_id = 1
  }

  byte_length = 8
}

resource "azurerm_resource_group" "test" {
  name     = "some-resource-group"
  location = "West Europe"
}

resource "azurerm_app_service_plan" "test" {
  name                = "some-app-service-plan"
  location            = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"

  sku {
    tier = "Standard"
    size = "S1"
  }
}

resource "azurerm_app_service" "test" {
  name                = "${random_id.server.hex}"
  location            = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"
  app_service_plan_id = "${azurerm_app_service_plan.test.id}"

  site_config {
    dotnet_framework_version = "v4.0"
    scm_type                 = "LocalGit"
  }

  app_settings {
    "SOME_KEY" = "some-value"
  }

  connection_string {
    name  = "Database"
    type  = "SQLServer"
    value = "Server=some-server.mydomain.com;Integrated Security=SSPI"
  }
}

उदाहरण उपयोग (जावा 1.8)

resource "random_id" "server" {
  keepers = {
    azi_id = 1
  }

  byte_length = 8
}

resource "azurerm_resource_group" "test" {
  name     = "some-resource-group"
  location = "West Europe"
}

resource "azurerm_app_service_plan" "test" {
  name                = "some-app-service-plan"
  location            = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"

  sku {
    tier = "Standard"
    size = "S1"
  }
}

resource "azurerm_app_service" "test" {
  name                = "${random_id.server.hex}"
  location            = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"
  app_service_plan_id = "${azurerm_app_service_plan.test.id}"

  site_config {
    java_version           = "1.8"
    java_container         = "JETTY"
    java_container_version = "9.3"
    scm_type               = "LocalGit"
  }
}

तर्क संदर्भ

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

  • name - (आवश्यक) ऐप सेवा का नाम निर्दिष्ट करता है। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।

  • resource_group_name - (आवश्यक) संसाधन समूह का नाम जिसमें ऐप सेवा तैयार करना है।

  • location - (आवश्यक) समर्थित Azure स्थान निर्दिष्ट करता है जहाँ संसाधन मौजूद है। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।

  • app_service_plan_id - (आवश्यक) ऐप सेवा योजना की आईडी जिसके भीतर यह ऐप सेवा बनाना है। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।

  • app_settings - (वैकल्पिक) ऐप सेटिंग्स का एक प्रमुख-मूल्य वाला जोड़ा।

  • connection_string - (वैकल्पिक) नीचे के रूप में एक connection_string ब्लॉक।

  • client_affinity_enabled - (वैकल्पिक) क्या ऐप सेवा को सत्र आत्मीयता कुकीज़ को भेजना चाहिए, जो उसी सत्र में ग्राहक अनुरोधों को उसी उदाहरण के लिए रूट करता है?

  • enabled - (वैकल्पिक) क्या ऐप सेवा सक्षम है? इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।

  • https_only - (वैकल्पिक) क्या ऐप सेवा केवल HTTPS के माध्यम से एक्सेस की जा सकती है? false अवहेलना करता false

  • site_config - (वैकल्पिक) नीचे के रूप में एक site_config ब्लॉक।

  • tags - (वैकल्पिक) संसाधन को असाइन करने के लिए टैग की मैपिंग।

  • identity - (वैकल्पिक) एक प्रबंधित सेवा पहचान ब्लॉक जैसा कि नीचे परिभाषित किया गया है।

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

  • name - (आवश्यक) कनेक्शन स्ट्रिंग का नाम।
  • type - (आवश्यक) कनेक्शन स्ट्रिंग का प्रकार। संभावित मान APIHub , Custom , DocDb , EventHub , MySQL , NotificationHub , PostgreSQL , RedisCache , ServiceBus , SQLAzure और SQLServer
  • value - (आवश्यक) कनेक्शन स्ट्रिंग के लिए मूल्य।

identity निम्नलिखित का समर्थन करती है:

  • type - (आवश्यक) ऐप सेवा की पहचान प्रकार निर्दिष्ट करता है। इस समय केवल स्वीकृत मूल्य SystemAssigned

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

  • always_on - (वैकल्पिक) क्या ऐप को हर समय लोड किया जाना चाहिए? false अवहेलना करता false
  • default_documents - (वैकल्पिक) यदि कोई पता निर्दिष्ट नहीं है, तो लोड करने के लिए डिफ़ॉल्ट दस्तावेज़ों का क्रम।
  • dotnet_framework_version - (वैकल्पिक) इस ऐप सेवा में .net फ्रेमवर्क के CLR का संस्करण। संभावित मान v2.0 (जो .net CLR v2 के लिए .net फ्रेमवर्क के नवीनतम संस्करण का उपयोग करेगा - वर्तमान में .net 3.5 ) और v4.0 (जो .net CLR v4 के नवीनतम संस्करण से मेल खाता है - जो कि लिखने का समय .net 4.7.1 ) है। अधिक जानकारी के लिए जिस पर .net CLR संस्करण आपके द्वारा लक्षित .net फ्रेमवर्क के आधार पर उपयोग करने के लिए - कृपया इस तालिका को देखें v4.0
  • http2_enabled - (वैकल्पिक) क्या HTTP2 इस ऐप सेवा पर सक्षम है? false अवहेलना करता false
  • ip_restriction - (वैकल्पिक) एक या अधिक ip_restriction ब्लॉकों को नीचे परिभाषित किया गया है।
  • java_version - (वैकल्पिक) जावा के संस्करण का उपयोग करने के लिए। यदि निर्दिष्ट java_container और java_container_version को भी निर्दिष्ट किया जाना चाहिए। संभावित मान 1.7 और 1.8
  • जावा कंटेनर - (वैकल्पिक) जावा कंटेनर का उपयोग करने के लिए। यदि निर्दिष्ट java_version और java_container_version को भी निर्दिष्ट किया जाना चाहिए। संभावित मूल्य JETTY और TOMCAT
  • java_container_version - (वैकल्पिक) जावा कंटेनर के संस्करण का उपयोग करने के लिए। यदि निर्दिष्ट java_version और java_container को भी निर्दिष्ट किया जाना चाहिए।

  • local_mysql_enabled - (वैकल्पिक) "MySQL इन ऐप" सक्षम है? यह आपके ऐप के साथ एक स्थानीय MySQL उदाहरण चलाता है और ऐप सेवा योजना से संसाधनों को साझा करता है।

  • managed_pipeline_mode - (वैकल्पिक) प्रबंधित पाइपलाइन मोड। संभावित मूल्य Integrated और ClassicIntegrated करने के लिए चूक।
  • php_version - (वैकल्पिक) इस ऐप सेवा में उपयोग करने के लिए PHP का संस्करण। संभावित मान 5.5 , 5.6 , 7.0 और 7.1
  • python_version - (वैकल्पिक) इस ऐप सेवा में उपयोग करने के लिए पायथन का संस्करण। संभावित मान 2.7 और 3.4
  • remote_debugging_enabled - (वैकल्पिक) क्या दूरस्थ डीबगिंग सक्षम है? false अवहेलना करता false
  • remote_debugging_version - (वैकल्पिक) विज़ुअल स्टूडियो के किस संस्करण में दूरस्थ डीबगर को संगत किया जाना चाहिए? संभावित मान VS2012 , VS2013 , VS2015 और VS2017
  • scm_type - (वैकल्पिक) इस एप्लिकेशन सेवा के लिए स्रोत नियंत्रण का प्रकार सक्षम किया गया। संभावित मूल्यों में None और LocalGit । किसी के लिए चूक।
  • use_32_bit_worker_process - (वैकल्पिक) क्या ऐप सेवा को 64 बिट मोड के बजाय 32 बिट मोड में चलना चाहिए?
  • websockets_enabled - (वैकल्पिक) क्या WebSockets को सक्षम किया जाना चाहिए?

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

  • ip_address - (आवश्यक) IP पता इस IP प्रतिबंध के लिए उपयोग किया जाता है।

  • subnet_mask - (वैकल्पिक) इस आईपी प्रतिबंध के लिए प्रयुक्त सबनेट मास्क। 255.255.255.255 तक की 255.255.255.255

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

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

  • id - ऐप सेवा की आईडी।

  • default_site_hostname - ऐप सेवा से संबद्ध डिफ़ॉल्ट होस्टनाम - जैसे mysite.azurewebsites.net

  • outbound_ip_addresses - एक अल्पविराम से अलग होने वाले IP पतों की सूची - जैसे 52.23.25.3,52.143.43.12

  • source_control - नीचे दिए गए स्रोत के रूप में एक source_control ब्लॉक, जिसमें scm_type नियंत्रण के लिए LocalGit सेट होने पर स्रोत नियंत्रण जानकारी होती है।

  • site_credential - नीचे परिभाषित के रूप में एक site_credential ब्लॉक, जिसमें इस ऐप सेवा को प्रकाशित करने के लिए उपयोग किए जाने वाले साइट-स्तरीय क्रेडेंशियल्स शामिल हैं।

  • identity - नीचे परिभाषित एक identity ब्लॉक, जिसमें इस ऐप सेवा के लिए प्रबंधित सेवा पहचान जानकारी शामिल है।

identity निम्नलिखित निर्यात करती है:

  • principal_id - इस ऐप सेवा की प्रबंधित सेवा पहचान से जुड़ी सेवा प्रिंसिपल के लिए प्रिंसिपल आईडी।

  • tenant_id - इस ऐप सेवा की प्रबंधित सेवा पहचान से संबद्ध सेवा प्रिंसिपल के लिए किरायेदार आईडी।

site_credential निम्न निर्यात करता है:

  • username - उपयोगकर्ता नाम जो इस ऐप सेवा में प्रकाशित करने के लिए उपयोग किया जा सकता है
  • password - यूज़रनेम से जुड़ा पासवर्ड, जिसका उपयोग इस ऐप सेवा में प्रकाशित करने के लिए किया जा सकता है।

source_control निम्नलिखित निर्यात करता है:

  • repo_url - इस ऐप सेवा के लिए Git भंडार का URL।
  • branch - इस ऐप सेवा के लिए गिट रिपॉजिटरी की शाखा का नाम।

आयात

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

terraform import azurerm_app_service.instance1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/sites/instance1