В настоящее время я работаю над настраиваемым поставщиком Terraform для Jumpcloud и испытываю некоторые проблемы с настройкой настраиваемого источника данных. Я вижу, что схема Resource требует создания, чтения, обновления и удаления.
Я просто хочу выполнить запрос API в Terraform, чтобы я мог вернуть список пользователей и использовать этих пользователей в течение для l oop.
Ниже приведен вызов API, который я пометил как схему. Ресурс
func userquery() *schema.Resource {
apiKey := ""
userGroupID := ""
contentType := "application/json"
accept := "application/json"
// Instantiate the API client
client := jcapiv2.NewAPIClient(jcapiv2.NewConfiguration())
// Set up the API key via context
auth := context.WithValue(context.TODO(), jcapiv2.ContextAPIKey, jcapiv2.APIKey{
Key: apiKey,
})
// Make an API call to retrieve a specific user group by ID
userGroup, res, err := client.UserGroupsApi.GroupsUserGet(auth, userGroupID, contentType, accept, nil)
if err != nil {
fmt.Printf("Error retrieving user group %s: %s - response = %+v\n", userGroupID, err, res)
} else {
fmt.Printf("Details for User group %s: %+v\n", userGroupID, userGroup)
}
return nil
}
Это отображение
ResourcesMap: map[string]*schema.Resource{
"jumpcloud_user": resourceUser(),
"jumpcloud_user_group": resourceUserGroup(),
"jumpcloud_user_group_membership": resourceUserGroupMembership(),
"jumpcloud_user_query": userquery(),
},
И это ошибка, которую я получение. Интересно то, что это возвращает имя правильно из вызова API, однако все еще есть ошибка ...