# 宣言型API

> 宣言型API - DataRobotのエンティティをプログラムでプロビジョニングする方法として、宣言型APIを使用します。

This Markdown file sits beside the HTML page at the same path (with a `.md` suffix). It summarizes the topic and lists links for tools and LLM context.

Companion generated at `2026-07-15T05:55:44.596639+00:00` (UTC).

## Primary page

- [宣言型API](https://docs.datarobot.com/ja/docs/api/code-first-tools/declarative-api.html.md): Full documentation for this topic (Markdown sidecar).

## Sections on this page

- [宣言型APIサービス](https://docs.datarobot.com/ja/docs/api/code-first-tools/declarative-api.html.md#declarative-api-services): In-page section heading.

## Documentation content

DataRobotは、モデル、デプロイ、アプリケーションなどのDataRobotエンティティをプログラムでプロビジョニングするために使用されるTerraformネイティブな宣言型APIを提供しています。 宣言型APIを使用すると、以下のことができます。

1. インフラストラクチャの望ましい最終状態を指定することで、管理を簡単にし、クラウドプロバイダー間での適応性を高めることができます。
2. プロビジョニングを自動化することで、環境間の整合性を確保し、実行順序に関する懸念を解消できます。
3. バージョン管理を簡単にすることができます。
4. アプリケーションテンプレートを使用することで、ワークフローの重複を減らし、一貫性を確保できます。
5. DevOpsやCI/CDと連携することで、予測可能かつ一貫性のあるインフラストラクチャを確保し、デプロイのリスクを軽減できます。

反復可能かつスケーラブルな方法でDataRobotのリソースをエンドツーエンドでプロビジョニングするためのコードファーストの方法として、宣言型APIの使用をお勧めします。

## 宣言型APIサービス

DataRobotでは、宣言型APIを使用するためのサービスとしてPulumiとTerraformの2つがあります。 お客様のエンジニアリングニーズに合ったサービスを使用することをお勧めします。 PulumiはPythonをベースにし、Terraformはyamlをベースにしています。 アプリケーションテンプレートは、デフォルトでPulumi用に設定されています。

宣言型APIのニーズに合わせてPulumiを使用する方法については、 [Pulumiレジストリ](https://www.pulumi.com/registry/packages/datarobot/) にアクセスし、 [インストールガイド](https://github.com/datarobot-community/pulumi-datarobot?tab=readme-ov-file#datarobot-resource-provider) を参照してください。

Terraformの使用方法については、 [Terraformレジストリ](https://registry.terraform.io/providers/datarobot-community/datarobot/latest) にアクセスし、 [インストールガイド](https://github.com/datarobot-community/terraform-provider-datarobot) を参照してください。

宣言型APIを使用して、Pulumi CLIでDataRobotのリソースをプロビジョニングする方法の例を以下に示します。

```
import pulumi_datarobot as datarobot
import pulumi
import os

for var in [
    "OPENAI_API_KEY",
    "OPENAI_API_BASE",
    "OPENAI_API_DEPLOYMENT_ID",
    "OPENAI_API_VERSION",
]:
    assert var in os.environ

pe = datarobot.PredictionEnvironment(
    "pulumi_serverless_env", platform="datarobotServerless"
)

credential = datarobot.ApiTokenCredential(
    "pulumi_credential", api_token=os.environ["OPENAI_API_KEY"]
)

cm = datarobot.CustomModel(
    "pulumi_custom_model",
    base_environment_id="65f9b27eab986d30d4c64268",  # GenAI 3.11 w/ moderations
    folder_path="model/",
    runtime_parameter_values=[
        {"key": "OPENAI_API_KEY", "type": "credential", "value": credential.id},
        {
            "key": "OPENAI_API_BASE",
            "type": "string",
            "value": os.environ["OPENAI_API_BASE"],
        },
        {
            "key": "OPENAI_API_DEPLOYMENT_ID",
            "type": "string",
            "value": os.environ["OPENAI_API_DEPLOYMENT_ID"],
        },
        {
            "key": "OPENAI_API_VERSION",
            "type": "string",
            "value": os.environ["OPENAI_API_VERSION"],
        },
    ],
    target_name="resultText",
    target_type="TextGeneration",
)

rm = datarobot.RegisteredModel(
    resource_name="pulumi_registered_model",
    name=None,
    custom_model_version_id=cm.version_id,
)

d = datarobot.Deployment(
    "pulumi_deployment",
    label="pulumi_deployment",
    prediction_environment_id=pe.id,
    registered_model_version_id=rm.version_id,
)

pulumi.export("deployment_id", d.id) 
```
