Terraform 0.11

azurerm_function_app




terraform

azurerm_function_app

एक फंक्शन ऐप का प्रबंधन करता है।

उदाहरण उपयोग (ऐप सेवा योजना के साथ)

resource "azurerm_resource_group" "test" {
  name     = "azure-functions-test-rg"
  location = "westus2"
}

resource "azurerm_storage_account" "test" {
  name                     = "functionsapptestsa"
  resource_group_name      = "${azurerm_resource_group.test.name}"
  location                 = "${azurerm_resource_group.test.location}"
  account_tier             = "Standard"
  account_replication_type = "LRS"
}

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

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

resource "azurerm_function_app" "test" {
  name                      = "test-azure-functions"
  location                  = "${azurerm_resource_group.test.location}"
  resource_group_name       = "${azurerm_resource_group.test.name}"
  app_service_plan_id       = "${azurerm_app_service_plan.test.id}"
  storage_connection_string = "${azurerm_storage_account.test.primary_connection_string}"
}

उदाहरण उपयोग (उपभोग योजना में)

resource "azurerm_resource_group" "test" {
  name     = "azure-functions-cptest-rg"
  location = "westus2"
}

resource "azurerm_storage_account" "test" {
  name                     = "functionsapptestsa"
  resource_group_name      = "${azurerm_resource_group.test.name}"
  location                 = "${azurerm_resource_group.test.location}"
  account_tier             = "Standard"
  account_replication_type = "LRS"
}

resource "azurerm_app_service_plan" "test" {
  name                = "azure-functions-test-service-plan"
  location            = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"
  kind                = "FunctionApp"

  sku {
    tier = "Dynamic"
    size = "Y1"
  }
}

resource "azurerm_function_app" "test" {
  name                      = "test-azure-functions"
  location                  = "${azurerm_resource_group.test.location}"
  resource_group_name       = "${azurerm_resource_group.test.name}"
  app_service_plan_id       = "${azurerm_app_service_plan.test.id}"
  storage_connection_string = "${azurerm_storage_account.test.primary_connection_string}"
}

तर्क संदर्भ

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

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

  • resource_group_name - (आवश्यक) फंक्शन ऐप बनाने के लिए संसाधन समूह का नाम।

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

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

  • storage_connection_string - (आवश्यक) बैकएंड स्टोरेज अकाउंट का कनेक्शन स्ट्रिंग जो इस फ़ंक्शन ऐप (जैसे डैशबोर्ड, लॉग्स) द्वारा उपयोग किया जाएगा।

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

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

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

  • enabled - (वैकल्पिक) क्या फ़ंक्शन ऐप सक्षम है?

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

  • version - (वैकल्पिक) फ़ंक्शन ऐप के साथ जुड़े रनटाइम संस्करण। संभावित मान ~1 और beta । चूक ~1

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

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

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

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

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

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

  • always_on - (वैकल्पिक) क्या फंक्शन ऐप को हर समय लोड किया जाना चाहिए? false अवहेलना करता false
  • use_32_bit_worker_process - (वैकल्पिक) क्या फ़ंक्शन ऐप को 32 बिट मोड में चलना चाहिए, बजाय 64 बिट मोड में? true अवहेलना।
  • websockets_enabled - (वैकल्पिक) क्या WebSockets को सक्षम किया जाना चाहिए?

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

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

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

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

  • id - फंक्शन ऐप की आईडी

  • default_hostname - फंक्शन ऐप से जुड़े डिफ़ॉल्ट होस्टनाम - जैसे mysite.azurewebsites.net

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

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

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

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

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

आयात

फंक्शन एप्स को resource id का उपयोग करके आयात किया जा सकता है

terraform import azurerm_function_app.functionapp1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/sites/functionapp1