Resource Manager is a fully managed service that lets you provision infrastructure resources on Oracle Cloud Infrastructure using HashiCorp Terraform. You can bring in your Terraform template definition and easily create and manage your infrastructure resources. This allows you to use infrastructure-as-code to automate provisioning across all OCI resources including Compute, Networking, Load Balancers, Block and Object Storage. Resource Manager also integrates with Identity and Access Management (IAM) so you can define granular permissions for Terraform operations. It currently has support for CLI, SDK and Console.
There is no dedicated charge for Oracle Cloud Infrastructure Resource Manager.
Availability for Resource Manager across regions is documented in the service overview.
Resource Manager provides additional features over the Terraform provider by letting your teams collaborate over the Terraform configuration, lets you define permissions on various Terraform actions, provides state locking to prevent corruption and automatically stores all your state information in persistent storage. Because this is a fully managed service, you don't have to worry about configuring your provider manually, saving your state information or ensuring teams have the right access controls to create, modify and delete environments. Resource Manager also integrates with the Oracle platform features such as tagging and IAM.
To get started on Resource Manager, you need to define a Terraform configuration file that describes all resources you want to create. This configuration file is written in in HashiCorp Configuration Language (HCL). For more information on Terraform, please visit terraform.io.
Once you have your Terraform configuration file ready, you need to create a Stack in Resource Manager by uploading the zip file. This zip file contains all your Terraform configuration files and any variable files. You can optionally tag any stacks if needed.
Once you have created a Stack successfully, you can run a job to create infrastructure resources in your tenancy. A job is defined as a Terraform action that runs on your Terraform configuration. Once your stack is created, you can click on Terraform Plan to review the infrastructure and Terraform Apply to provision this infrastructure defined in the configuration file.
Oracle Cloud Infrastructure customers are entitled to Oracle Audit at no additional charge.
You click on Edit Stack, you can modify all the defined attributes of the stack including uploading a modified Terraform configuration file.
Resource Manager is using the latest version of the provider. Once a new version of the Terraform provider is released, you will have the option to upgrade to this latest version.
For a detailed list of resources that can be orchestrated through Resource Manager please visit the Data Sources section on https://registry.terraform.io/providers/oracle/oci/latest.
Yes. However, you need only the "region" field while declaring the provider.
provider "oci" {
region = "us-phoenix-1"
}
Yes. You can create your stack in one region and orchestrate resources in a different region by declaring the region variable in the provider accordingly. The value of the region variable in the provider determines where your resources will be created.
Yes. You are can write your Terraform configuration in JSON too along with HCL.
Resource Manager ignores the “.oci” folder in your Terraform configuration file. So we recommend not having this folder while uploading your configuration.
Yes. You can include the "terraform.tfvars" file and/or files with the extension *.auto.tfvars in the zip configuration.
You can use Identity and Access Management (IAM) to define policies and permissions for various users and groups. Please refer to the Resource Manager permissions sections in our documentation to learn how to define policies for Resource Manager.