{
  "id": "oracle-oci-resource-manager-vs-terraform",
  "ids": [
    "oracle-oci-resource-manager",
    "terraform"
  ],
  "title": "Oracle OCI Resource Manager vs HashiCorp Terraform: declarative resources and state management",
  "heading": "Oracle OCI Resource Manager vs HashiCorp Terraform",
  "kicker": "Cloud software comparison",
  "deck": "OCI Resource Manager is a managed OCI execution arrangement for infrastructure definitions. Terraform can be used through different CLI, state and hosted operating models. Compare who owns execution, state, access and recovery for the selected workflow.",
  "description": "Compare Oracle OCI Resource Manager vs HashiCorp Terraform for declarative resources and state management.",
  "answerHeading": "Which option fits the requirement?",
  "answer": "OCI Resource Manager is a managed OCI execution arrangement for infrastructure definitions. Terraform can be used through different CLI, state and hosted operating models. Compare who owns execution, state, access and recovery for the selected workflow.",
  "checkedAt": "2026-10-25",
  "researchTag": "Deployment, compatibility and cost scope",
  "researchLimit": "Official product material reviewed. Acceptance checks are proposed exercises, not completed product trials, performance measurements or reliability guarantees.",
  "datasetDescription": "Seven technical differences and four proposed acceptance checks for Oracle OCI Resource Manager vs HashiCorp Terraform.",
  "type": "workflow-buying",
  "sharedBuyingNeed": "Evaluate alternative approaches to declarative resources and state management.",
  "rows": [
    [
      "Ecosystem",
      "Oracle Cloud Infrastructure",
      "Terraform ecosystem"
    ],
    [
      "Definition model",
      "Terraform configurations and supported IaC tooling",
      "Terraform configuration"
    ],
    [
      "Execution model",
      "Managed stack and job execution",
      "Selected CLI or hosted Terraform workflow"
    ],
    [
      "Resource context",
      "Supported OCI infrastructure resources",
      "Supported provider resources"
    ],
    [
      "State decision",
      "Managed stack configuration and deployment state",
      "Selected state backend and state access controls"
    ],
    [
      "Review workflow",
      "Review plans and job operations before applying changes",
      "Review plans before applying changes"
    ],
    [
      "Cost components",
      "Execution scope, provisioned resources and connected services",
      "Selected Terraform offering and provisioned resources"
    ]
  ],
  "scenarios": [
    {
      "name": "Resource dependencies",
      "question": "Can the team create a disposable resource set with its dependencies?",
      "left": "With Oracle OCI Resource Manager, create a disposable resource set with its dependencies.",
      "right": "With HashiCorp Terraform, create a disposable resource set with its dependencies.",
      "note": "The declared resources reach the intended state."
    },
    {
      "name": "Change review",
      "question": "Can the team review a proposed configuration change before applying it?",
      "left": "With Oracle OCI Resource Manager, review a proposed configuration change before applying it.",
      "right": "With HashiCorp Terraform, review a proposed configuration change before applying it.",
      "note": "The operator can identify the intended resource changes."
    },
    {
      "name": "Drift exercise",
      "question": "Can the team introduce a safe disposable configuration difference?",
      "left": "With Oracle OCI Resource Manager, introduce a safe disposable configuration difference.",
      "right": "With HashiCorp Terraform, introduce a safe disposable configuration difference.",
      "note": "The team can explain detection and reconciliation behaviour."
    },
    {
      "name": "Removal plan",
      "question": "Can the team remove the disposable resource set using the documented process?",
      "left": "With Oracle OCI Resource Manager, remove the disposable resource set using the documented process.",
      "right": "With HashiCorp Terraform, remove the disposable resource set using the documented process.",
      "note": "Resources and retained state are handled as intended."
    }
  ],
  "exampleTable": {
    "caption": "Proposed checks using authorised non-production resources or copied projects. Record versions, configuration, licences, inputs and observed results.",
    "headers": [
      "Requirement",
      "Proposed exercise",
      "Accept when"
    ],
    "rows": [
      [
        "Resource dependencies",
        "Create a disposable resource set with its dependencies.",
        "The declared resources reach the intended state."
      ],
      [
        "Change review",
        "Review a proposed configuration change before applying it.",
        "The operator can identify the intended resource changes."
      ],
      [
        "Drift exercise",
        "Introduce a safe disposable configuration difference.",
        "The team can explain detection and reconciliation behaviour."
      ],
      [
        "Removal plan",
        "Remove the disposable resource set using the documented process.",
        "Resources and retained state are handled as intended."
      ]
    ]
  },
  "sections": [
    {
      "id": "scope-and-architecture",
      "navLabel": "Architecture",
      "title": "Scope and architecture",
      "paragraphs": [
        "OCI Resource Manager is a managed OCI execution arrangement for infrastructure definitions. Terraform can be used through different CLI, state and hosted operating models. Compare who owns execution, state, access and recovery for the selected workflow.",
        "Declarative resource tools share an infrastructure-management goal, but their languages, execution models and state responsibilities differ. A Kubernetes controller, a cloud control plane and a Terraform workflow are distinct operating arrangements."
      ],
      "links": [
        {
          "url": "https://docs.oracle.com/en-us/iaas/Content/ResourceManager/home.htm",
          "label": "Oracle OCI Resource Manager product information"
        },
        {
          "url": "https://developer.hashicorp.com/terraform",
          "label": "HashiCorp Terraform product information"
        }
      ]
    },
    {
      "id": "cost-and-migration",
      "navLabel": "Costs & migration",
      "title": "Cost and migration planning",
      "paragraphs": [
        "For Oracle OCI Resource Manager, include execution scope, provisioned resources and connected services. For HashiCorp Terraform, include selected Terraform offering and provisioned resources. Define the same task, configuration, data and operating assumptions, then confirm current terms for the selected products and connected resources.",
        "Recreate a disposable resource group with its dependencies, then test change review, drift handling and removal. Confirm how existing resources are adopted and how state and credentials are protected before a production migration."
      ]
    }
  ],
  "faqs": [
    {
      "question": "How should we choose between Oracle OCI Resource Manager and HashiCorp Terraform?",
      "answer": "OCI Resource Manager is a managed OCI execution arrangement for infrastructure definitions. Terraform can be used through different CLI, state and hosted operating models. Compare who owns execution, state, access and recovery for the selected workflow."
    },
    {
      "question": "Which costs belong in the comparison?",
      "answer": "For Oracle OCI Resource Manager, include execution scope, provisioned resources and connected services. For HashiCorp Terraform, include selected Terraform offering and provisioned resources. Define the same task, configuration, data and operating assumptions, then confirm current terms for the selected products and connected resources."
    },
    {
      "question": "What should we validate before a production move?",
      "answer": "Recreate a disposable resource group with its dependencies, then test change review, drift handling and removal. Confirm how existing resources are adopted and how state and credentials are protected before a production migration."
    }
  ],
  "sources": [
    {
      "url": "https://docs.oracle.com/en-us/iaas/Content/ResourceManager/home.htm",
      "facts": "Official product scope, deployment and integration context used for declarative resources and state management."
    },
    {
      "url": "https://developer.hashicorp.com/terraform",
      "facts": "Official product scope, deployment and integration context used for declarative resources and state management."
    }
  ],
  "relatedLinks": [
    {
      "path": "/categories/cloud-devops/",
      "title": "Cloud Devops software"
    },
    {
      "path": "/guides/cloud-cost-checklist/",
      "title": "Cloud workload and cost checklist"
    }
  ]
}
