😎

色々な生成AIを触ってみる

に公開

WIP(どんどん追加します)

Cline

はじめに

  • vscodeの拡張機能として使用する
  • API Providerを選択し、APIキーを発行して設定すれば使える
  • 今回はGemini のgemini-2.5-flash-preview-04-17を使用

やったこと

  • mcpサーバを立ててみた
    • clineのメニューから検索するとmcpサーバを探すこともできる
      • mcpsサーバの検索画面
    • ただし、どれだけ確からしいのかわからないので、個人的には操作したいサービスがあればそこのサービスが公式に出しているmcpサーバを検索し、そのリポジトリをclineを使ってmcpサーバを立てるようにするのが確実と思われる
    • 実際にterraform-mcpサーバはそのようにしてたてた
  • terraform-mcpサーバを使って、dbt cloudのterraformプロバイダのリソースを階層ごとに整理した
    • アカウント、接続、プロジェクト、環境、ジョブ、ユーザー/グループみたいなカテゴリでの整理ができた
    • もうちょい上手い使い方を模索中だが、結構使えそうな雰囲気を感じれたのでよかった

感想

  • 自分みたいなミリしらでも簡単に構築できたのでmcpサイコーとなってます
  • あるのと無いのでほしい回答だったり形式がある程度固定されている感じになってる印象で、無秩序な回答がだんだんこちらが想定できる回答になっている印象を受けます
  • mcpを組み合わせてゴニョゴニョするようなものもあるようなので、そう言ったものも使いこなして実業務のワークフローを整理しつつ、どう使うのが最適なのかを今後も探っていきたいです

Appendix:できた資料

# dbt Cloud Terraform リソース一覧

このドキュメントでは、Terraform の dbt Cloud プロバイダーで管理可能なリソースをカテゴリ別にまとめ、簡単な説明と利用用途、および公式ドキュメントへのリンクを記載します。dbt Cloudのリソース階層を考慮して並べ替えています。

## アカウント設定

| リソース名                  | 説明                     | 利用用途                           | ドキュメントURL                                                                                             |
| :-------------------------- | :----------------------- | :--------------------------------- | :---------------------------------------------------------------------------------------------------------- |
| `dbtcloud_account_features` | アカウントの機能を管理します。 | アカウントレベルの特定機能の有効化/無効化 | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/account_features) |

## 接続設定

| リソース名                               | 説明                                           | 利用用途                                       | ドキュメントURL                                                                                                   |
| :--------------------------------------- | :--------------------------------------------- | :--------------------------------------------- | :---------------------------------------------------------------------------------------------------------------- |
| `dbtcloud_global_connection`             | グローバル接続を管理します。                     | アカウント全体で共有される接続設定               | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/global_connection)         |
| `dbtcloud_athena_credential`             | Athena への接続情報を管理します。                | dbt CloudからAthenaへの接続設定                | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/athena_credential)         |
| `dbtcloud_bigquery_credential`           | BigQuery への接続情報を管理します。              | dbt CloudからBigQueryへの接続設定              | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/bigquery_credential)       |
| `dbtcloud_databricks_credential`         | Databricks への接続情報を管理します。            | dbt CloudからDatabricksへの接続設定            | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/databricks_credential)     |
| `dbtcloud_fabric_credential`             | Fabric への接続情報を管理します。                | dbt CloudからFabricへの接続設定                | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/fabric_credential)         |
| `dbtcloud_postgres_credential`           | PostgreSQL への接続情報を管理します。            | dbt CloudからPostgreSQLへの接続設定            | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/postgres_credential)       |
| `dbtcloud_snowflake_credential`          | Snowflake への接続情報を管理します。             | dbt CloudからSnowflakeへの接続設定             | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/snowflake_credential)      |
| `dbtcloud_snowflake_semantic_layer_credential` | Snowflake セマンティックレイヤー接続を管理します。 | Snowflake セマンティックレイヤーへの接続設定     | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/snowflake_semantic_layer_credential) |
| `dbtcloud_starburst_credential`          | Starburst への接続情報を管理します。             | dbt CloudからStarburstへの接続設定             | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/starburst_credential)      |
| `dbtcloud_teradata_credential`           | Teradata への接続情報を管理します。              | Teradata への接続情報を管理します。              | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/teradata_credential)       |

## プロジェクト管理

| リソース名              | 説明                                           | 利用用途                                       | ドキュメントURL                                                                                             |
| :---------------------- | :--------------------------------------------- | :--------------------------------------------- | :---------------------------------------------------------------------------------------------------------- |
| `dbtcloud_project`      | dbt Cloud のプロジェクトを管理します。           | dbtプロジェクトの作成と設定                    | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/project)             |
| `dbtcloud_repository`   | Git リポジトリを管理します。                     | dbtプロジェクトのコードが格納されているリポジトリの設定 | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/repository)          |
| `dbtcloud_project_repository` | プロジェクトとリポジトリの関連付けを管理します。 | プロジェクトに使用するGitリポジトリの設定        | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/project_repository)    |
| `dbtcloud_project_artefacts` | プロジェクトのアーティファクトを管理します。     | プロジェクトのコンパイル済み成果物の管理         | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/project_artefacts)     |

## 環境設定

| リソース名                               | 説明                                           | 利用用途                                       | ドキュメントURL                                                                                                   |
| :--------------------------------------- | :--------------------------------------------- | :--------------------------------------------- | :---------------------------------------------------------------------------------------------------------------- |
| `dbtcloud_environment`                   | dbt Cloud の環境を管理します。                   | 開発、ステージング、本番などの実行環境の定義     | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/environment)               |
| `dbtcloud_environment_variable`          | 環境変数を管理します。                         | プロジェクトや環境全体で使用する変数の設定       | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/environment_variable)      |
| `dbtcloud_partial_environment_variable`  | 部分的な環境変数を管理します。                   | 特定の環境にのみ適用される部分的な環境変数の設定 | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/partial_environment_variable) |

## ジョブ管理

| リソース名                               | 説明                                           | 利用用途                                       | ドキュメントURL                                                                                                   |
| :--------------------------------------- | :--------------------------------------------- | :--------------------------------------------- | :---------------------------------------------------------------------------------------------------------------- |
| `dbtcloud_job`                           | dbt Cloud のジョブを管理します。                 | dbtコマンドの実行スケジュールやトリガーの設定    | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/job)                       |
| `dbtcloud_environment_variable_job_override` | ジョブごとの環境変数設定を管理します。           | 特定のジョブにのみ適用される環境変数の設定       | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/environment_variable_job_override) |

## ユーザー/グループ管理

| リソース名                       | 説明                                           | 利用用途                               | ドキュメントURL                                                                                             |
| :------------------------------- | :--------------------------------------------- | :------------------------------------- | :---------------------------------------------------------------------------------------------------------- |
| `dbtcloud_group`                 | ユーザーグループを管理します。                   | ユーザーの権限管理のためのグループ作成   | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/group)                 |
| `dbtcloud_group_partial_permissions` | グループの部分的な権限を管理します。             | 特定のグループに対する詳細な権限設定     | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/group_partial_permissions) |
| `dbtcloud_user_groups`           | ユーザーとグループの関連付けを管理します。       | ユーザーを特定のグループに所属させる設定 | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/user_groups)           |

## セキュリティ設定

| リソース名                 | 説明                                       | 利用用途                               | ドキュメントURL                                                                                             |
| :------------------------- | :----------------------------------------- | :------------------------------------- | :---------------------------------------------------------------------------------------------------------- |
| `dbtcloud_ip_restrictions_rule` | IP 制限ルールを管理します。                  | アクセス元IPアドレスによる制限設定       | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/ip_restrictions_rule) |
| `dbtcloud_oauth_configuration` | OAuth 設定を管理します。                     | OAuth認証に関する設定                  | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/oauth_configuration) |
| `dbtcloud_service_token`   | サービスアカウントトークンを管理します。     | API連携などに使用するトークンの発行と管理 | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/service_token)       |

## 通知設定

| リソース名             | 説明                                       | 利用用途                               | ドキュメントURL                                                                                             |
| :--------------------- | :----------------------------------------- | :------------------------------------- | :---------------------------------------------------------------------------------------------------------- |
| `dbtcloud_notification`  | 通知設定を管理します。                     | ジョブの成功/失敗などに関する通知設定    | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/notification)        |
| `dbtcloud_model_notifications` | モデル通知を管理します。                   | 特定のモデルの実行結果に関する通知設定   | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/model_notifications) |
| `dbtcloud_partial_notification` | 部分的な通知設定を管理します。             | 部分的な通知設定                       | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/partial_notification) |

## 連携設定

| リソース名             | 説明                                       | 利用用途                               | ドキュメントURL                                                                                             |
| :--------------------- | :----------------------------------------- | :------------------------------------- | :---------------------------------------------------------------------------------------------------------- |
| `dbtcloud_lineage_integration` | リネージ連携を管理します。                 | 外部ツールとのリネージ情報の連携設定     | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/lineage_integration) |
| `dbtcloud_webhook`       | Webhook 設定を管理します。                 | 外部システムとの連携のためのWebhook設定  | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/webhook)             |

## セマンティックレイヤー設定

| リソース名                           | 説明                                       | 利用用途                                   | ドキュメントURL                                                                                                   |
| :----------------------------------- | :----------------------------------------- | :----------------------------------------- | :---------------------------------------------------------------------------------------------------------------- |
| `dbtcloud_semantic_layer_configuration` | セマンティックレイヤー設定を管理します。     | セマンティックレイヤーの有効化と設定       | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/semantic_layer_configuration) |

## ライセンス管理

| リソース名                 | 説明                                       | 利用用途                       | ドキュメントURL                                                                                             |
| :------------------------- | :----------------------------------------- | :----------------------------- | :---------------------------------------------------------------------------------------------------------- |
| `dbtcloud_license_map`     | ライセンスマッピングを管理します。         | ユーザーへのライセンス割り当て | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/license_map)         |
| `dbtcloud_partial_license_map` | 部分的なライセンスマッピングを管理します。 | 部分的なライセンス割り当て     | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/partial_license_map) |

## その他

| リソース名             | 説明                   | 利用用途                     | ドキュメントURL                                                                                             |
| :--------------------- | :--------------------- | :--------------------------- | :---------------------------------------------------------------------------------------------------------- |
| `dbtcloud_extended_attributes` | 拡張属性を管理します。 | リソースに追加のメタデータを付与 | [Docs](https://registry.terraform.io/providers/dbt-labs/dbtcloud/latest/docs/resources/extended_attributes) |

Discussion