# ___ ____ _ ____ _ _____
# / _ \| _ \ / \ / ___| | | ____|
# | | | | |_) | / _ \| | | | | _|
# | |_| | _ < / ___ | |___| |___| |___
# \___/|_| \_/_/ \_\____|_____|_____|
Oracle customers now have access to an enterprise class, developer friendly orchestration tool they can use to manage Oracle Bare Metal Cloud Service resources as well as the Oracle Compute Cloud.
This Terraform provider is OSS, available to all OBMCS customers at no charge.
Compatibility
The provider is compatible with Terraform .8.*, .8.8 is recommended. .9.* compatibility is in the works.
Coverage
The Terraform provider provides coverage for the entire BMC API excluding the Load Balancer Service, expected first half of April 2017.
Getting started
Be sure to read the FAQ and Writing Terraform configurations for OBMCS in /docs.
Find the appropriate .8.8 binary for your platform, download it.
Other platforms
https://www.terraform.io/intro/getting-started/install.html
https://github.com/oracle/terraform-provider-baremetal/releases
Unpack the provider to an appropriate location then -
On *nix
Create ~/.terraformrc
that specifies the path to the baremetal
provider.
providers {
baremetal = "<path_to_provider_binary/terraform-provider-baremetal>"
}
On Windows
Create %APPDATA%/terraform.rc
that specifies the path to the baremetal
provider.
providers {
baremetal = "<path_to_provider_binary/terraform-provider-baremetal>"
}
Export credentials
Required Keys and OCIDs - https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm
If you primarily work in a single compartment consider exporting that compartment's OCID as well. Remember that the tenancy OCID is also the OCID of the root compartment.
*nix
If your TF configurations are limited to a single compartment/user then using this bash_profile
option will work well. For more complex environments you may want to maintain multiple sets of environment variables. See the single-compute example for an example.
In your ~/.bash_profile set these variables
export TF_VAR_tenancy_ocid=
export TF_VAR_user_ocid=
export TF_VAR_fingerprint=
export TF_VAR_private_key_path=<fully qualified path>`
Don't forget to source ~/.bash_profile
once you've set these.
Windows
setx TF_VAR_tenancy_ocid <value>
setx TF_VAR_user_ocid <value>
setx TF_VAR_fingerprint <value>
setx TF_VAR_private_key_path <value>
The variables won't be set for the current session, exit the terminal and reopen.
Deploy an example configuration
Download the Single instance example.
Edit it to include the OCID of the compartment you want to create the VCN. Remember that the tenancy OCID is the compartment OCID of your root compartment.
You should always plan, then apply a configuration -
$ terraform plan ./simple_vcn
# Make sure the plan looks right.
$ terraform apply ./simple_vcn
OBMC resource and datasource details
https://github.com/oracle/terraform-provider-baremetal/tree/master/docs
Getting help
You can file an issue against the project
https://github.com/oracle/terraform-provider-baremetal/issues
or meet us in the OBMCS forums
https://community.oracle.com/community/cloud_computing/bare-metal
Known serious bugs
Issue #44, potential for data loss. Running apply in an enviroment where a subnet has multiple attached Security Lists can cause all of the instances in the subnet to be terminated and re-created.
Other issues
About the provider
This provider was written on behalf of Oracle by MustWin.