<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Terraform: Add Key Vault Administrator Role Assignment and Save Outputs to JSON Dynamically in Azure in Get Started Discussions</title>
    <link>https://community.databricks.com/t5/get-started-discussions/terraform-add-key-vault-administrator-role-assignment-and-save/m-p/106533#M9575</link>
    <description>&lt;P class=""&gt;&lt;SPAN class=""&gt;Hi everyone,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;I am using Terraform to provision an OpenAI service and its modules along with a Key Vault in Azure. While the OpenAI service setup works as expected, I am facing two challenges:&lt;/SPAN&gt;&lt;/P&gt;&lt;OL class=""&gt;&lt;LI&gt;&lt;SPAN class=""&gt;Role Assignment for Key Vault&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;I need to assign the Key Vault Administratorrole to my service so it can access and manage keys. However, I’m unsure how to implement this using Terraform.&lt;/SPAN&gt;&lt;/P&gt;&lt;OL class=""&gt;&lt;LI&gt;&lt;SPAN class=""&gt;Save Output Variables Dynamically to JSON&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;After the resources are created, I need to save the following details dynamically in a JSON file:&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;• openai.api_type&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;• openai.api_base&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;• openai.api_version&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;• openai.api_key&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;• engine&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Here is a snippet of my current Terraform code:&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;terraform {&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; backend "local" { path = "terraform-example1.tfstate" }&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;provider "azurerm" {&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; features {&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; key_vault {&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; purge_soft_delete_on_destroy = true&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; client_id &amp;nbsp; &amp;nbsp; &amp;nbsp; = var.client_id&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; client_secret &amp;nbsp; = var.client_secret&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; tenant_id &amp;nbsp; &amp;nbsp; &amp;nbsp; = var.tenant_id&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; subscription_id = var.subscription_id&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;resource "azurerm_resource_group" "rg" {&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; name &amp;nbsp; &amp;nbsp; = var.resource_group_name&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; location = var.location&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;module "openai" {&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; source &amp;nbsp;= "Pwd9000-ML/openai-service/azurerm"&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; version = "&amp;gt;= 1.1.0"&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; location = var.location&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; keyvault_resource_group_name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = azurerm_resource_group.rg.name&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; kv_config &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= var.kv_config&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; keyvault_firewall_default_action &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = var.keyvault_firewall_default_action&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; keyvault_firewall_bypass &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = var.keyvault_firewall_bypass&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; keyvault_firewall_allowed_ips &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= var.keyvault_firewall_allowed_ips&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; keyvault_firewall_virtual_network_subnet_ids = var.keyvault_firewall_virtual_network_subnet_ids&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; create_openai_service &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = var.create_openai_service&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; openai_resource_group_name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= azurerm_resource_group.rg.name&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; openai_account_name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = var.openai_account_name&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; openai_custom_subdomain_name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= var.openai_custom_subdomain_name&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; openai_sku_name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = var.openai_sku_name&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; openai_local_auth_enabled &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = var.openai_local_auth_enabled&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; openai_outbound_network_access_restricted = var.openai_outbound_network_access_restricted&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; openai_public_network_access_enabled &amp;nbsp; &amp;nbsp; &amp;nbsp;= var.openai_public_network_access_enabled&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; openai_identity &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = var.openai_identity&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; create_model_deployment = var.create_model_deployment&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; model_deployment &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= var.model_deployment&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Questions:&lt;/SPAN&gt;&lt;/P&gt;&lt;OL class=""&gt;&lt;LI&gt;&lt;SPAN class=""&gt;How can I add a Key Vault Administratorrole assignment for the service using Terraform?&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN class=""&gt;What is the best way to save output variables dynamically to a JSON file after the resources are created?&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Any help or examples would be greatly appreciated!&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Thanks in advance!&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 21 Jan 2025 17:59:30 GMT</pubDate>
    <dc:creator>Sudheer2</dc:creator>
    <dc:date>2025-01-21T17:59:30Z</dc:date>
    <item>
      <title>Terraform: Add Key Vault Administrator Role Assignment and Save Outputs to JSON Dynamically in Azure</title>
      <link>https://community.databricks.com/t5/get-started-discussions/terraform-add-key-vault-administrator-role-assignment-and-save/m-p/106533#M9575</link>
      <description>&lt;P class=""&gt;&lt;SPAN class=""&gt;Hi everyone,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;I am using Terraform to provision an OpenAI service and its modules along with a Key Vault in Azure. While the OpenAI service setup works as expected, I am facing two challenges:&lt;/SPAN&gt;&lt;/P&gt;&lt;OL class=""&gt;&lt;LI&gt;&lt;SPAN class=""&gt;Role Assignment for Key Vault&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;I need to assign the Key Vault Administratorrole to my service so it can access and manage keys. However, I’m unsure how to implement this using Terraform.&lt;/SPAN&gt;&lt;/P&gt;&lt;OL class=""&gt;&lt;LI&gt;&lt;SPAN class=""&gt;Save Output Variables Dynamically to JSON&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;After the resources are created, I need to save the following details dynamically in a JSON file:&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;• openai.api_type&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;• openai.api_base&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;• openai.api_version&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;• openai.api_key&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;• engine&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Here is a snippet of my current Terraform code:&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;terraform {&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; backend "local" { path = "terraform-example1.tfstate" }&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;provider "azurerm" {&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; features {&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; key_vault {&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; purge_soft_delete_on_destroy = true&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; client_id &amp;nbsp; &amp;nbsp; &amp;nbsp; = var.client_id&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; client_secret &amp;nbsp; = var.client_secret&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; tenant_id &amp;nbsp; &amp;nbsp; &amp;nbsp; = var.tenant_id&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; subscription_id = var.subscription_id&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;resource "azurerm_resource_group" "rg" {&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; name &amp;nbsp; &amp;nbsp; = var.resource_group_name&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; location = var.location&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;module "openai" {&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; source &amp;nbsp;= "Pwd9000-ML/openai-service/azurerm"&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; version = "&amp;gt;= 1.1.0"&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; location = var.location&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; keyvault_resource_group_name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = azurerm_resource_group.rg.name&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; kv_config &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= var.kv_config&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; keyvault_firewall_default_action &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = var.keyvault_firewall_default_action&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; keyvault_firewall_bypass &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = var.keyvault_firewall_bypass&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; keyvault_firewall_allowed_ips &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= var.keyvault_firewall_allowed_ips&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; keyvault_firewall_virtual_network_subnet_ids = var.keyvault_firewall_virtual_network_subnet_ids&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; create_openai_service &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = var.create_openai_service&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; openai_resource_group_name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= azurerm_resource_group.rg.name&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; openai_account_name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = var.openai_account_name&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; openai_custom_subdomain_name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= var.openai_custom_subdomain_name&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; openai_sku_name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = var.openai_sku_name&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; openai_local_auth_enabled &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = var.openai_local_auth_enabled&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; openai_outbound_network_access_restricted = var.openai_outbound_network_access_restricted&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; openai_public_network_access_enabled &amp;nbsp; &amp;nbsp; &amp;nbsp;= var.openai_public_network_access_enabled&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; openai_identity &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = var.openai_identity&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; create_model_deployment = var.create_model_deployment&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; model_deployment &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= var.model_deployment&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Questions:&lt;/SPAN&gt;&lt;/P&gt;&lt;OL class=""&gt;&lt;LI&gt;&lt;SPAN class=""&gt;How can I add a Key Vault Administratorrole assignment for the service using Terraform?&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN class=""&gt;What is the best way to save output variables dynamically to a JSON file after the resources are created?&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Any help or examples would be greatly appreciated!&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Thanks in advance!&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 21 Jan 2025 17:59:30 GMT</pubDate>
      <guid>https://community.databricks.com/t5/get-started-discussions/terraform-add-key-vault-administrator-role-assignment-and-save/m-p/106533#M9575</guid>
      <dc:creator>Sudheer2</dc:creator>
      <dc:date>2025-01-21T17:59:30Z</dc:date>
    </item>
    <item>
      <title>Re: Terraform: Add Key Vault Administrator Role Assignment and Save Outputs to JSON Dynamically in A</title>
      <link>https://community.databricks.com/t5/get-started-discussions/terraform-add-key-vault-administrator-role-assignment-and-save/m-p/106545#M9576</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/104469"&gt;@Sudheer2&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;For your first question.To assign the Key Vault Administrator role to your service using Terraform, you can use the azurerm_role_assignment resource. Here is an example of how you can add this to your Terraform configuration:&lt;/P&gt;
&lt;P class="p1"&gt;resource "azurerm_role_assignment" "key_vault_admin" {&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;scope&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;= azurerm_key_vault.example.id&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;role_definition_name = "Key Vault Administrator"&lt;/P&gt;
&lt;P class="p1"&gt;&lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &lt;/SPAN&gt;principal_id &lt;SPAN class="Apple-converted-space"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;= azurerm_user_assigned_identity.example.principal_id&lt;/P&gt;
&lt;P class="p1"&gt;}&lt;/P&gt;
&lt;P class="p1"&gt;In this example, replace azurerm_key_vault.example.id with the actual ID of your Key Vault and azurerm_user_assigned_identity.example.principal_id with the principal ID of the service that needs the role assignment&lt;/P&gt;</description>
      <pubDate>Tue, 21 Jan 2025 19:25:43 GMT</pubDate>
      <guid>https://community.databricks.com/t5/get-started-discussions/terraform-add-key-vault-administrator-role-assignment-and-save/m-p/106545#M9576</guid>
      <dc:creator>Alberto_Umana</dc:creator>
      <dc:date>2025-01-21T19:25:43Z</dc:date>
    </item>
    <item>
      <title>Re: Terraform: Add Key Vault Administrator Role Assignment and Save Outputs to JSON Dynamically in A</title>
      <link>https://community.databricks.com/t5/get-started-discussions/terraform-add-key-vault-administrator-role-assignment-and-save/m-p/106546#M9577</link>
      <description>&lt;P&gt;For question two, you can use the &lt;CODE&gt;local_file&lt;/CODE&gt; resource in Terraform:&lt;/P&gt;
&lt;P&gt;output "openai_api_type" {&lt;BR /&gt;value = module.openai.api_type&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;output "openai_api_base" {&lt;BR /&gt;value = module.openai.api_base&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;output "openai_api_version" {&lt;BR /&gt;value = module.openai.api_version&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;output "openai_api_key" {&lt;BR /&gt;value = module.openai.api_key&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;output "engine" {&lt;BR /&gt;value = module.openai.engine&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;resource "local_file" "output_json" {&lt;BR /&gt;content = jsonencode({&lt;BR /&gt;openai_api_type = module.openai.api_type,&lt;BR /&gt;openai_api_base = module.openai.api_base,&lt;BR /&gt;openai_api_version = module.openai.api_version,&lt;BR /&gt;openai_api_key = module.openai.api_key,&lt;BR /&gt;engine = module.openai.engine&lt;BR /&gt;})&lt;BR /&gt;filename = "${path.module}/output.json"&lt;BR /&gt;}&lt;/P&gt;</description>
      <pubDate>Tue, 21 Jan 2025 19:27:41 GMT</pubDate>
      <guid>https://community.databricks.com/t5/get-started-discussions/terraform-add-key-vault-administrator-role-assignment-and-save/m-p/106546#M9577</guid>
      <dc:creator>Alberto_Umana</dc:creator>
      <dc:date>2025-01-21T19:27:41Z</dc:date>
    </item>
  </channel>
</rss>

