Terraform 0.11

azurerm_virtual_machine_scale_set




terraform

azurerm_virtual_machine_scale_set

वर्चुअल मशीन स्केल सेट बनाएं।

resource "azurerm_resource_group" "test" {
  name     = "acctestRG"
  location = "West US 2"
}

resource "azurerm_virtual_network" "test" {
  name                = "acctvn"
  address_space       = ["10.0.0.0/16"]
  location            = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"
}

resource "azurerm_subnet" "test" {
  name                 = "acctsub"
  resource_group_name  = "${azurerm_resource_group.test.name}"
  virtual_network_name = "${azurerm_virtual_network.test.name}"
  address_prefix       = "10.0.2.0/24"
}

resource "azurerm_public_ip" "test" {
  name                         = "test"
  location                     = "${azurerm_resource_group.test.location}"
  resource_group_name          = "${azurerm_resource_group.test.name}"
  public_ip_address_allocation = "static"
  domain_name_label            = "${azurerm_resource_group.test.name}"

  tags {
    environment = "staging"
  }
}

resource "azurerm_lb" "test" {
  name                = "test"
  location            = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"

  frontend_ip_configuration {
    name                 = "PublicIPAddress"
    public_ip_address_id = "${azurerm_public_ip.test.id}"
  }
}

resource "azurerm_lb_backend_address_pool" "bpepool" {
  resource_group_name = "${azurerm_resource_group.test.name}"
  loadbalancer_id     = "${azurerm_lb.test.id}"
  name                = "BackEndAddressPool"
}

resource "azurerm_lb_nat_pool" "lbnatpool" {
  count                          = 3
  resource_group_name            = "${azurerm_resource_group.test.name}"
  name                           = "ssh"
  loadbalancer_id                = "${azurerm_lb.test.id}"
  protocol                       = "Tcp"
  frontend_port_start            = 50000
  frontend_port_end              = 50119
  backend_port                   = 22
  frontend_ip_configuration_name = "PublicIPAddress"
}

resource "azurerm_virtual_machine_scale_set" "test" {
  name                = "mytestscaleset-1"
  location            = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"
  upgrade_policy_mode = "Manual"

  sku {
    name     = "Standard_A0"
    tier     = "Standard"
    capacity = 2
  }

  storage_profile_image_reference {
    publisher = "Canonical"
    offer     = "UbuntuServer"
    sku       = "16.04-LTS"
    version   = "latest"
  }

  storage_profile_os_disk {
    name              = ""
    caching           = "ReadWrite"
    create_option     = "FromImage"
    managed_disk_type = "Standard_LRS"
  }

  storage_profile_data_disk {
    lun            = 0
    caching        = "ReadWrite"
    create_option  = "Empty"
    disk_size_gb   = 10
  }

  os_profile {
    computer_name_prefix = "testvm"
    admin_username       = "myadmin"
    admin_password       = "Passwword1234"
  }

  os_profile_linux_config {
    disable_password_authentication = true

    ssh_keys {
      path     = "/home/myadmin/.ssh/authorized_keys"
      key_data = "${file("~/.ssh/demo_key.pub")}"
    }
  }

  network_profile {
    name    = "terraformnetworkprofile"
    primary = true

    ip_configuration {
      name                                   = "TestIPConfiguration"
      subnet_id                              = "${azurerm_subnet.test.id}"
      load_balancer_backend_address_pool_ids = ["${azurerm_lb_backend_address_pool.bpepool.id}"]
      load_balancer_inbound_nat_rules_ids    = ["${element(azurerm_lb_nat_pool.lbnatpool.*.id, count.index)}"]
    }
  }

  tags {
    environment = "staging"
  }
}

उदाहरण अप्रबंधित डिस्क के साथ उपयोग

resource "azurerm_resource_group" "test" {
  name     = "acctestRG"
  location = "West US"
}

resource "azurerm_virtual_network" "test" {
  name                = "acctvn"
  address_space       = ["10.0.0.0/16"]
  location            = "West US"
  resource_group_name = "${azurerm_resource_group.test.name}"
}

resource "azurerm_subnet" "test" {
  name                 = "acctsub"
  resource_group_name  = "${azurerm_resource_group.test.name}"
  virtual_network_name = "${azurerm_virtual_network.test.name}"
  address_prefix       = "10.0.2.0/24"
}

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

  tags {
    environment = "staging"
  }
}

resource "azurerm_storage_container" "test" {
  name                  = "vhds"
  resource_group_name   = "${azurerm_resource_group.test.name}"
  storage_account_name  = "${azurerm_storage_account.test.name}"
  container_access_type = "private"
}

resource "azurerm_virtual_machine_scale_set" "test" {
  name                = "mytestscaleset-1"
  location            = "West US"
  resource_group_name = "${azurerm_resource_group.test.name}"
  upgrade_policy_mode = "Manual"

  sku {
    name     = "Standard_A0"
    tier     = "Standard"
    capacity = 2
  }

  os_profile {
    computer_name_prefix = "testvm"
    admin_username       = "myadmin"
    admin_password       = "Passwword1234"
  }

  os_profile_linux_config {
    disable_password_authentication = true

    ssh_keys {
      path     = "/home/myadmin/.ssh/authorized_keys"
      key_data = "${file("~/.ssh/demo_key.pub")}"
    }
  }

  network_profile {
    name    = "TestNetworkProfile"
    primary = true

    ip_configuration {
      name      = "TestIPConfiguration"
      subnet_id = "${azurerm_subnet.test.id}"
    }
  }

  storage_profile_os_disk {
    name           = "osDiskProfile"
    caching        = "ReadWrite"
    create_option  = "FromImage"
    vhd_containers = ["${azurerm_storage_account.test.primary_blob_endpoint}${azurerm_storage_container.test.name}"]
  }

  storage_profile_image_reference {
    publisher = "Canonical"
    offer     = "UbuntuServer"
    sku       = "16.04-LTS"
    version   = "latest"
  }
}

तर्क संदर्भ

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

  • name - (आवश्यक) वर्चुअल मशीन स्केल सेट संसाधन का नाम निर्दिष्ट करता है। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।
  • resource_group_name - (आवश्यक) संसाधन समूह का नाम जिसमें वर्चुअल मशीन स्केल सेट बनाना है। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।
  • location - (आवश्यक) समर्थित Azure स्थान निर्दिष्ट करता है जहाँ संसाधन मौजूद है। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।
  • sku - (आवश्यक) एक sku ब्लॉक जैसा कि नीचे दिया गया है।
  • upgrade_policy_mode - (आवश्यक) पैमाने सेट में आभासी मशीनों के उन्नयन का मोड निर्दिष्ट करता है। संभव मान, Manual या Automatic
  • overprovision - (वैकल्पिक) निर्दिष्ट करता है कि वर्चुअल मशीन स्केल सेट को ओवरप्रूव किया जाना चाहिए या नहीं। true अवहेलना।
  • single_placement_group - (वैकल्पिक) निर्दिष्ट करता है कि क्या स्केल सेट 100 आभासी मशीनों के अधिकतम आकार के साथ एक एकल प्लेसमेंट समूह तक सीमित है। यदि गलत पर सेट किया गया है, तो प्रबंधित डिस्क का उपयोग करना होगा। true अवहेलना। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है। अधिक जानकारी के लिए documentation देखें।
  • license_type - (वैकल्पिक, जब एक विंडोज़ मशीन) Windows OS लाइसेंस प्रकार निर्दिष्ट करता है। यदि आपूर्ति की जाती है, तो केवल अनुमत मान Windows_Client और Windows_Server
  • os_profile - (आवश्यक) एक वर्चुअल मशीन OS प्रोफाइल ब्लॉक जिसे नीचे प्रलेखित किया गया है।
  • os_profile_secrets - (वैकल्पिक) नीचे प्रलेखित गुप्त ब्लॉकों का एक संग्रह।
  • os_profile_windows_config - (आवश्यक है, जब एक विंडोज़ मशीन) एक विंडोज os_profile_windows_config को नीचे प्रलेखित किया गया है।
  • os_profile_linux_config - (आवश्यक है, जब एक लिनक्स मशीन) नीचे दिए गए दस्तावेज़ के रूप में एक लिनक्स os_profile_linux_config ब्लॉक।
  • network_profile - (आवश्यक) नीचे प्रलेखित के रूप में नेटवर्क प्रोफाइल ब्लॉक का एक संग्रह।
  • storage_profile_os_disk - (आवश्यक) नीचे के रूप में एक भंडारण प्रोफ़ाइल ओएस डिस्क ब्लॉक
  • storage_profile_data_disk - (वैकल्पिक) एक डॉक्यूमेंट प्रोफाइल डेटा डिस्क ब्लॉक को नीचे दस्तावेज के रूप में
  • storage_profile_image_reference - (वैकल्पिक) नीचे दी गई डॉक्यूमेंट के रूप में एक स्टोरेज प्रोफाइल इमेज रेफरेंस ब्लॉक।
  • extension - (वैकल्पिक) स्केल सेट में एक्सटेंशन प्रोफाइल जोड़ने के लिए कई बार निर्दिष्ट किया जा सकता है। प्रत्येक extension ब्लॉक नीचे प्रलेखित फ़ील्ड का समर्थन करता है।
  • boot_diagnostics - (वैकल्पिक) नीचे उल्लिखित एक बूट डायग्नोस्टिक्स प्रोफाइल ब्लॉक है।
  • plan - (वैकल्पिक) नीचे दिए गए दस्तावेज के रूप में एक योजना खंड।
  • priority - (वैकल्पिक) स्केल सेट में वर्चुअल मशीनों के लिए प्राथमिकता निर्दिष्ट करता है, Regular चूक करता है। संभावित मूल्य Low और Regular
  • tags - (वैकल्पिक) संसाधन को असाइन करने के लिए टैग की मैपिंग।
  • zones - (वैकल्पिक) आभासी मशीनों को फैलाने के लिए उपलब्धता क्षेत्रों का एक संग्रह।

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

  • name - (आवश्यक) एक पैमाने सेट में आभासी मशीनों के आकार को निर्दिष्ट करता है।
  • tier - (वैकल्पिक) एक स्केल सेट में वर्चुअल मशीनों के tier को निर्दिष्ट करता है। संभव मान, standard या basic
  • capacity - (आवश्यक) पैमाने सेट में आभासी मशीनों की संख्या निर्दिष्ट करता है।

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

  • type - (आवश्यक) निर्दिष्ट प्रकार को निर्दिष्ट किए जाने वाले पहचान प्रकार को निर्दिष्ट करता है। केवल स्वीकार्य मूल्य SystemAssigned । स्केल सेट में सभी मशीनों पर प्रबंधित सेवा पहचान (MSI) को सक्षम करने के लिए, "ManagedIdentityExtensionForWindows" या "ManagedIdentityExtensionForLinux" प्रकार के साथ एक एक्सटेंशन भी जोड़ा जा सकता है। स्केल सेट बनाए जाने के बाद स्केल सेट की सेवा प्रिंसिपल आईडी (SPN) को पुनः प्राप्त किया जा सकता है।
resource "azurerm_virtual_machine_scale_set" "test" {
  name                = "vm-scaleset"
  resource_group_name = "${azurerm_resource_group.test.name}"
  location            = "${azurerm_resource_group.test.location}"

  sku {
    name     = "${var.vm_sku}"
    tier     = "Standard"
    capacity = "${var.instance_count}"
  }

  identity {
    type = "systemAssigned"
  }

  extension {
    name                 = "MSILinuxExtension"
    publisher            = "Microsoft.ManagedIdentity"
    type                 = "ManagedIdentityExtensionForLinux"
    type_handler_version = "1.0"
    settings             = "{\"port\": 50342}"
  }

  output "principal_id" {
    value = "${lookup(azurerm_virtual_machine.test.identity[0], "principal_id")}"
  }

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

  • computer_name_prefix - (आवश्यक) स्केल सेट में सभी वर्चुअल मशीन के लिए कंप्यूटर का नाम उपसर्ग निर्दिष्ट करता है। खिड़कियों के चित्रों के लिए कंप्यूटर का नाम उपसर्ग 1 से 9 अक्षर लंबा और लाइनक्स के लिए 1 - 58 होना चाहिए। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।
  • admin_username - (आवश्यक) स्केल सेट में वर्चुअल मशीन के सभी उदाहरणों के लिए उपयोग करने के लिए व्यवस्थापक खाता नाम निर्दिष्ट करता है।
  • admin_password - (आवश्यक) एक पैमाने सेट में आभासी मशीनों के सभी उदाहरणों के लिए उपयोग करने के लिए व्यवस्थापक पासवर्ड निर्दिष्ट करता है।
  • custom_data - (वैकल्पिक) मशीन को आपूर्ति करने के लिए कस्टम डेटा निर्दिष्ट करता है। लिनक्स-आधारित सिस्टम पर, इसे क्लाउड-इनिट स्क्रिप्ट के रूप में उपयोग किया जा सकता है। अन्य प्रणालियों पर, इसे डिस्क पर फ़ाइल के रूप में कॉपी किया जाएगा। आंतरिक रूप से, Terraform एपीआई में भेजने से पहले इस मान को आधार बनाएगा। बाइनरी सरणी की अधिकतम लंबाई 65535 बाइट्स है।

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

  • source_vault_id - (आवश्यक) उपयोग के लिए प्रमुख वॉल्ट निर्दिष्ट करता है।
  • vault_certificates - (आवश्यक, विंडोज़ मशीनों पर) नीचे दिए गए दस्तावेज़ों के अनुसार वॉल्ट प्रमाणपत्रों का संग्रह

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

  • certificate_url - (आवश्यक) यह JSON ऑब्जेक्ट का Base64 एन्कोडिंग है, जो UTF-8 में एन्कोड किया गया है, जिसमें सामग्री को data , data dataType और password
  • certificate_store - (आवश्यक, विंडोज़ मशीनों पर) प्रमाणपत्र मशीन को वर्चुअल मशीन पर निर्दिष्ट करता है जहाँ प्रमाणपत्र जोड़ा जाना चाहिए।

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

  • provision_vm_agent - (वैकल्पिक) इंगित करता है कि क्या वर्चुअल मशीन एजेंट को स्केल मशीनों में वर्चुअल मशीनों पर प्रावधानित किया जाना चाहिए।
  • enable_automatic_upgrades - (वैकल्पिक) इंगित करता है कि स्केल सेट में वर्चुअल मशीनें स्वचालित अपडेट के लिए सक्षम हैं या नहीं।
  • winrm - (वैकल्पिक) नीचे दस्तावेज के रूप में WinRM कॉन्फ़िगरेशन ब्लॉक का एक संग्रह।
  • additional_unattend_config - (वैकल्पिक) नीचे दस्तावेज के रूप में एक अतिरिक्त अनअटेंडेड कॉन्फ़िगरेशन ब्लॉक।

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

  • protocol - (आवश्यक) श्रोता के प्रोटोकॉल को निर्दिष्ट करता है
  • certificate_url - (वैकल्पिक) उस प्रमाणपत्र के URL को निर्दिष्ट करता है जिसके साथ नई वर्चुअल मशीन का प्रावधान किया गया है।

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

  • pass - (आवश्यक) उस पास का नाम निर्दिष्ट करता है जो सामग्री पर लागू होता है। एकमात्र स्वीकार्य मूल्य oobeSystem
  • component - (आवश्यक) निर्दिष्ट सामग्री के साथ कॉन्फ़िगर करने के लिए घटक का नाम निर्दिष्ट करता है। एकमात्र स्वीकार्य मूल्य Microsoft-Windows-Shell-Setup
  • setting_name - (आवश्यक) उस सेटिंग का नाम निर्दिष्ट करता है जिसके लिए सामग्री लागू होती है। संभावित मान हैं: FirstLogonCommands और AutoLogon
  • content - (वैकल्पिक) आधार -64 एन्कोडेड XML स्वरूपित सामग्री को निर्दिष्ट करता है जो निर्दिष्ट पथ और घटक के लिए unattend.xml फ़ाइल में जोड़ी जाती है।

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

  • disable_password_authentication - (आवश्यक) निर्दिष्ट करता है कि क्या पासवर्ड प्रमाणीकरण अक्षम होना चाहिए। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।
  • ssh_keys - (वैकल्पिक) वर्चुअल मशीन पर रखे key_data लिए path और key_data का संग्रह निर्दिष्ट करता है।

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

  • name - (आवश्यक) नेटवर्क इंटरफ़ेस कॉन्फ़िगरेशन का नाम निर्दिष्ट करता है।
  • primary - (आवश्यक) इंगित करता है कि नेटवर्क इंटरफेस कॉन्फ़िगरेशन से निर्मित नेटवर्क इंटरफेस वीएम का प्राथमिक एनआईसी होगा।
  • ip_configuration - (आवश्यक) नीचे प्रलेखित एक ip_configuration ब्लॉक।
  • accelerated_networking - (वैकल्पिक) निर्दिष्ट करता है कि त्वरित नेटवर्किंग को सक्षम करना है या नहीं। false अवहेलना करता false
  • dns_settings - (वैकल्पिक) एक dns_settings ब्लॉक के रूप में नीचे प्रलेखित है।
  • network_security_group_id - (वैकल्पिक) नेटवर्क सुरक्षा समूह के लिए पहचानकर्ता निर्दिष्ट करता है।

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

  • dns_servers - (आवश्यक) dns सर्वर की एक सरणी निर्दिष्ट करता है।

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

  • name - (आवश्यक) आईपी विन्यास का नाम निर्दिष्ट करता है।
  • subnet_id - (आवश्यक) सबनेट के पहचानकर्ता को निर्दिष्ट करता है।
  • application_gateway_backend_address_pool_ids - (वैकल्पिक) एप्लिकेशन गेटवे के एड्रेस पूल को बैकेंड करने के लिए संदर्भों की एक सरणी निर्दिष्ट करता है। एक स्केल सेट एक एप्लीकेशन गेटवे के बैकेंड एड्रेस पूल को संदर्भित कर सकता है। एकाधिक स्केल सेट एक ही एप्लिकेशन गेटवे का उपयोग नहीं कर सकते हैं।
  • load_balancer_backend_address_pool_ids - (वैकल्पिक) load_balancer_backend_address_pool_ids एड्रेस पूल के बैकएंड के संदर्भों की एक सरणी निर्दिष्ट करता है। एक पैमाने पर सेट एक सार्वजनिक और एक आंतरिक लोड बैलेंसर के बैकएंड एड्रेस पूल को संदर्भित कर सकता है। कई पैमाने सेट एक ही लोड बैलेंसर का उपयोग नहीं कर सकते हैं।
  • load_balancer_inbound_nat_rules_ids - (वैकल्पिक) load_balancer_inbound_nat_rules_ids लिए इनबाउंड NAT नियमों के संदर्भों की एक सरणी निर्दिष्ट करता है।
  • primary - (वैकल्पिक) निर्दिष्ट करता है कि यह ip_configuration प्राथमिक है।
  • public_ip_address_configuration - (वैकल्पिक) एक वर्चुअल मशीन स्केल सेट करता है जो IP कॉन्फ़िगरेशन का PublicIPAddress कॉन्फ़िगरेशन है। Public_ip_address_configuration नीचे दस्तावेजित है।

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

  • name - (आवश्यक) सार्वजनिक आईपी पते विन्यास का नाम
  • idle_timeout - (आवश्यक) निष्क्रिय समयबाह्य मिनटों में। यह मान 4 से 32 के बीच होना चाहिए।
  • domain_name_label - (आवश्यक) डीएनएस सेटिंग्स के लिए डोमेन नाम लेबल।

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

  • name - (वैकल्पिक) डिस्क का नाम निर्दिष्ट करता है। मानवरहित डिस्क का उपयोग करते समय निर्दिष्ट किया जाना चाहिए ('' प्रबंधित_डाइप करें 'गुण सेट नहीं है)।
  • vhd_containers - (वैकल्पिक) vhd uri को निर्दिष्ट करता है। image या managed_disk_type निर्दिष्ट होने पर उपयोग नहीं किया जा सकता है।
  • managed_disk_type - (वैकल्पिक) बनाने के लिए प्रबंधित डिस्क का प्रकार निर्दिष्ट करता है। मान आपको या तो Standard_LRS या Premium_LRS होना चाहिए। vhd_containers या image निर्दिष्ट होने पर उपयोग नहीं किया जा सकता है।
  • create_option - (आवश्यक) निर्दिष्ट करता है कि वर्चुअल मशीन कैसे बनाई जानी चाहिए। एकमात्र संभव विकल्प FromImage
  • caching - (वैकल्पिक) कैशिंग आवश्यकताओं को निर्दिष्ट करता है। संभावित मानों में शामिल हैं: None (डिफ़ॉल्ट), ReadOnly , ReadWrite
  • image - (वैकल्पिक) उपयोगकर्ता छवि के लिए बूँद uri निर्दिष्ट करता है। वर्चुअल मशीन स्केल सेट उपयोगकर्ता छवि के रूप में उसी कंटेनर में एक ओएस डिस्क बनाता है। ओएसडिस्क छवि को अपडेट करने से मौजूदा डिस्क को हटा दिया जाता है और नई छवि के साथ एक नया बनाया जाता है। यदि वीएम स्केल सेट मैनुअल अपग्रेड मोड में है, तो वर्चुअल मशीनें तब तक अपडेट नहीं होती हैं, जब तक कि उनके पास मैनुअल अपग्रेड न हो। इस फ़ील्ड को सेट करते समय os_type को निर्दिष्ट करना होगा। vhd_containers , managed_disk_type या storage_profile_image_reference निर्दिष्ट होने पर उपयोग नहीं किया जा सकता है।
  • os_type - (वैकल्पिक) ऑपरेटिंग सिस्टम को निर्दिष्ट करता है प्रकार, मान्य मान विंडोज़, लिनक्स हैं।

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

  • lun - (आवश्यक) स्केल सेट में प्रत्येक वर्चुअल मशीन में डिस्क की तार्किक इकाई संख्या निर्दिष्ट करता है।
  • create_option - (वैकल्पिक) निर्दिष्ट करता है कि डेटा डिस्क कैसे बनाई जानी चाहिए। केवल संभावित विकल्प FromImage और Empty
  • caching - (वैकल्पिक) कैशिंग आवश्यकताओं को निर्दिष्ट करता है। संभावित मानों में शामिल हैं: None (डिफ़ॉल्ट), ReadOnly , ReadWrite
  • disk_size_gb - (वैकल्पिक) GB में डिस्क का आकार निर्दिष्ट करता है। खाली डिस्क बनाते समय इस तत्व की आवश्यकता होती है।
  • managed_disk_type - (वैकल्पिक) बनाने के लिए प्रबंधित डिस्क का प्रकार निर्दिष्ट करता है। मान या तो Standard_LRS या Premium_LRS होना चाहिए।

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

  • id - (वैकल्पिक) नीचे दी गई मिसाल के अनुसार वर्चुअल मशीन स्केल सेट बनाने के लिए उपयोग की जाने वाली (कस्टम) छवि की आईडी को निर्दिष्ट करता है।
  • publisher - (वैकल्पिक) वर्चुअल मशीन बनाने के लिए उपयोग की जाने वाली छवि के प्रकाशक को निर्दिष्ट करता है।
  • offer - (वैकल्पिक) वर्चुअल मशीन बनाने के लिए उपयोग की जाने वाली छवि के ऑफ़र को निर्दिष्ट करता है।
  • sku - (वैकल्पिक) आभासी मशीनों को बनाने के लिए प्रयुक्त छवि के SKU को निर्दिष्ट करता है।
  • version - (ऑप्शनल) वर्चुअल मशीन बनाने के लिए इस्तेमाल की गई इमेज के वर्जन को निर्दिष्ट करता है।

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

  • enabled : (आवश्यक) क्या वर्चुअल मशीन के लिए बूट डायग्नोस्टिक्स को सक्षम करना है।
  • storage_uri : (आवश्यक) वर्चुअल मशीन की डायग्नोस्टिक फ़ाइलों को रखने के लिए स्टोरेज अकाउंट के लिए बूँद एंडपॉइंट। यह एक भंडारण खाते की जड़ होना चाहिए, न कि भंडारण कंटेनर।

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

  • name - (आवश्यक) विस्तार का नाम निर्दिष्ट करता है।
  • publisher - (आवश्यक) विस्तार के प्रकाशक, उपलब्ध प्रकाशकों को एज़्योर सीएलआई का उपयोग करके पाया जा सकता है।
  • type - (आवश्यक) किसी प्रकाशक के लिए उपलब्ध एक्सटेंशन का प्रकार, एज़्योर सीएलआई का उपयोग करके पाया जा सकता है।
  • type_handler_version - (आवश्यक) एक्सटेंशन के संस्करण का उपयोग करने के लिए निर्दिष्ट करता है, उपलब्ध संस्करण type_handler_version CLI का उपयोग करके पाया जा सकता है।
  • auto_upgrade_minor_version - (वैकल्पिक) निर्दिष्ट करता है कि उपलब्ध नवीनतम मामूली संस्करण का उपयोग करना है या नहीं।
  • settings - (आवश्यक) सेटिंग्स एक्सटेंशन में चली गईं, ये एक स्ट्रिंग में JSON ऑब्जेक्ट के रूप में निर्दिष्ट हैं।
  • protected_settings - (वैकल्पिक) रक्षित_सुविधाएँ एक्सटेंशन में पास हो जाती हैं, सेटिंग्स की तरह, ये एक स्ट्रिंग में JSON ऑब्जेक्ट के रूप में निर्दिष्ट की जाती हैं।

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

  • name - (आवश्यक) बाजार से छवि का नाम निर्दिष्ट करता है।
  • publisher - (आवश्यक) छवि के प्रकाशक को निर्दिष्ट करता है।
  • product - (आवश्यक) बाजार से छवि के उत्पाद को निर्दिष्ट करता है।

Id के साथ storage_profile_image_reference का उदाहरण

resource "azurerm_image" "test" {
    name = "test"
  ...
}

resource "azurerm_virtual_machine_scale_set" "test" {
    name = "test"
  ...

    storage_profile_image_reference {
        id = "${azurerm_image.test.id}"
    }

...

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

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

  • id - वर्चुअल मशीन स्केल सेट आईडी।

आयात

वर्चुअल मशीन स्केल सेट को resource id का उपयोग करके आयात किया जा सकता है, जैसे

terraform import azurerm_virtual_machine_scale_set.scaleset1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachineScaleSets/scaleset1