(cloud-oci)=
# The Oracle OCI cloud and Juju
This document describes details specific to using your existing Oracle OCI cloud with Juju.
> See more: [Oracle OCI](https://docs.oracle.com/en-us/iaas/Content/home.htm)
When using this cloud with Juju, it is important to keep in mind that it is a (1) machine cloud and (2) not some other cloud.
> See more: {ref}`cloud-differences`
As the differences related to (1) are already documented generically in the rest of the docs, here we record just those that follow from (2).
## Notes on `juju add-cloud`
Type in Juju: `oci`
Name in Juju: `oracle`
## Notes on `juju add-credential`
### Authentication types
#### `httpsig`
Attributes:
- user: Username OCID (required)
- tenancy: Tenancy OCID (required)
- key: PEM encoded private key (required)
- pass-phrase: Passphrase used to unlock the key (required)
- fingerprint: Private key fingerprint (required)
- region: DEPRECATED: Region to log into (required)
## Notes on `juju bootstrap`
|You have to specify the compartment OCID via the cloud-specific `compartment-id` model configuration key (see below).
Example: `juju bootstrap --config compartment-id= oracle oracle-controller`.
## Cloud-specific model configuration keys
#### `address-space`
The CIDR block to use when creating default subnets. The subnet must have at least a /16 size.
| | |
|-|-|
| type | string |
| default value | "10.0.0.0/16" |
| immutable | false |
| mandatory | false |
#### `compartment-id`
The OCID of the compartment in which juju has access to create resources.
| | |
|-|-|
| type | string |
| default value | "" |
| immutable | false |
| mandatory | false |
## Supported constraints
| {ref}`CONSTRAINT ` | |
|----------------------------------------|-----------------------------------------------|
| conflicting: | |
| supported? | |
| - {ref}`constraint-allocate-public-ip` | TBA |
| - {ref}`constraint-arch` | ☑
Valid values: `[amd64, arm64]`. |
| - {ref}`constraint-container` | ✕ |
| - {ref}`constraint-cores` | ✓ |
| - {ref}`constraint-cpu-power` | ✓ |
| - {ref}`constraint-image-id` | ✕ |
| - {ref}`constraint-instance-role` | ✕ |
| - {ref}`constraint-instance-type` | ✓ |
| - {ref}`constraint-mem` | ✓ |
| - {ref}`constraint-root-disk` | ✓ |
| - {ref}`constraint-root-disk-source` | ✕ |
| - {ref}`constraint-spaces` | ✕ |
| - {ref}`constraint-tags` | ✕ |
| - {ref}`constraint-virt-type` | ✕ |
| - {ref}`constraint-zones` | ✓ |
## Supported placement directives
| {ref}`PLACEMENT DIRECTIVE ` | |
|--------------------------------------------------|----------|
| - {ref}`placement-directive-machine` | TBA |
| - {ref}`placement-directive-subnet` | ✕ |
| - {ref}`placement-directive-system-id` | ✕ |
| - {ref}`placement-directive-zone` | TBA |