# #go #terraform #terraform-provider
#Вперед #терраформирование #терраформ-провайдер
Вопрос:
Я пытаюсь создать собственного поставщика терраформирования для своей инфраструктуры. Поэтому я создал новые папки проектов и плагинов на своем локальном компьютере. Затем я пытаюсь создать ресурс. Я не могу найти, чтобы запрос был передан функции. Так что я решил распечатать некоторые значения, но эти значения также не печатались в терминале. Пожалуйста, посмотрите пример кода, который я использовал.
Это мой провайдер
func Provider() *schema.Provider { return amp;schema.Provider{ ResourcesMap: map[string]*schema.Resource{ "example_server": resourceServer(), }, } }
Это мой блок создания ресурсов
func resourceServer() *schema.Resource { return amp;schema.Resource{ Create: resourceServerCreate, Read: resourceServerRead, Update: resourceServerUpdate, Delete: resourceServerDelete, Schema: map[string]*schema.Schema{ "address": amp;schema.Schema{ Type: schema.TypeString, Required: true, }, }, } } func resourceServerCreate(d *schema.ResourceData, m interface{}) error { address := d.Get("address").(string) d.SetId(address) log.Println(address) fmt.Println(address) return nil }
Здесь я пытаюсь распечатать значения в функции resourceServerCreate, но это не было показано в терминале. Вот мой вывод терминала
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: create Terraform will perform the following actions: # example_server.my-server will be created resource "example_server" "my-server" { address = "1.2.3.4" id = (known after apply) } Plan: 1 to add, 0 to change, 0 to destroy. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value: yes example_server.my-server: Creating... example_server.my-server: Creation complete after 0s [id=1.2.3.4] Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
Может ли кто-нибудь помочь понять, сработала ли функция resourceServerCreate?
Заранее спасибо
Комментарии:
1. Вывод плана четко показывает операцию создания ресурса, так что да: функция создания вашего ресурса вызывается поставщиком. Однако ваша функция только присваивает идентификатор ресурса состоянию и возвращает автоматический успех (хотя вы, вероятно, уже знаете об этом).