Как я могу импортировать группу аварийного переключения моего sqlmi, чтобы управлять ею из Terraform?
Мы создали его за пределами нашего IaC, и теперь нам нужно, чтобы им управляли из Terraform, чтобы все было правильно интегрировано.
Я запускал следующие команды, но все с ошибками:
Ошибка: в идентификаторе отсутствует элемент locations
.
Ошибка: в идентификаторе отсутствует элемент locations
.
Ошибка: анализ «/subscriptions/*****/resourceGroups/rg-pro-eastus/providers/Microsoft.Sql/managedInstances/sqlmi-pro-001/instanceFailoverGroups» как идентификатора ManagedInstanceFailoverGroup: количество сегментов пути не делится на 2 в "subscriptions/****/resourceGroups/rg-pro-eastus/providers/Microsoft.Sql/managedInstances/sqlmi-pro-001/instanceFailoverGroups"
Можно ли импортировать этот тип ресурса? Если импорт возможен, как я могу импортировать свой туман?
Спасибо!
Я только что протестировал это, и, похоже, это сработало. Я воспользуюсь возможностью, чтобы задать вам вопросы, которые у меня есть: я не понимаю, почему, если это SQLMI, мы не используем идентификатор ресурса, например /providers. /Microsoft.Sql/managedInstances/sqlmi-pro-001/instanceFailoverGroups/fog-eastus, и мы должны использовать /subscriptions/****/resourceGroups/rg-pro-eastus/providers/Microsoft.Sql /locations/eastus/instanceFailoverGroups/fog-eastus Есть ли какой-нибудь способ увидеть идентификатор возрождения моего тумана? Большое спасибо.
Способ работы импорта определяется в коде ресурса Go, т. е. именно так поставщик Azure определяет импорт для конкретного ресурса.
Импорт моего тумана sqlmi в Terraform
Спасибо Марко Е за ценные материалы, которые вы предоставили в соответствии с MSDoc правильным форматом для импорта ресурса.
В команде, которой вы делитесь, указанное местоположение было в конце идентификатора, где оно должно быть, как указано, между указанными Instance Failover Groups - Failover
MS-Doc.
Новая обновленная команда импорта, которая должна работать, как показано ниже, в формате
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{location}/instanceFailoverGroups/{failoverGroupName}
и команда должна быть примерно в этом формате
terraform import 'module.sql_mi["eastus"].azurerm_mssql_managed_instance_failover_group.failovergroup[0]' '/subscriptions/****/resourceGroups/rg-pro-eastus/providers/Microsoft.Sql/locations/eastus/instanceFailoverGroups/fog-eastus'
Это должно работать, и ожидается, что ресурс будет импортирован, как и ожидалось.
Примечание. Убедитесь, что переданные вами параметры соответствуют конфигурации, указанной вами в terraform.
Что касается запроса, упомянутого в комментариях, разные ресурсы имеют разные идентификаторы ресурсов, которые включают необходимые сегменты пути для уникальной идентификации. Формат, о котором я рассказал выше, используется в тех случаях, когда вы получаете доступ к ресурсам в разных регионах.
Ссылка:
https://developer.hashicorp.com/terraform/cli/commands/import
https://registry.terraform.io/providers/PacketFabric/packetfabric/latest/docs/guides/importing
azurerm_mssql_failover_group | Ресурсы | хашикорп/азурерм | Терраформировать | Реестр Терраформ
Судя по документации для импорта, кажется, что вам нужен буквальный элемент
locations
:/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Sql/locations/Location/instanceFailoverGroups/failoverGroup1
.