106 lines
4.7 KiB
Markdown
106 lines
4.7 KiB
Markdown
---
|
|
description:
|
|
The oracle-classic builder is able to create new custom images for use with Oracle
|
|
Compute Cloud.
|
|
layout: docs
|
|
page_title: 'Oracle Cloud Infrastructure Classic - Builders'
|
|
sidebar_current: 'docs-builders-oracle-classic'
|
|
---
|
|
|
|
# Oracle Cloud Infrastructure Classic Compute Builder
|
|
|
|
Type: `oracle-classic`
|
|
|
|
The `oracle-classic` Packer builder is able to create custom images for use
|
|
with [Oracle Cloud Infrastructure Classic Compute](https://cloud.oracle.com/compute-classic). The builder
|
|
takes a base image, runs any provisioning necessary on the base image after
|
|
launching it, and finally snapshots it creating a reusable custom image.
|
|
|
|
It is recommended that you familiarise yourself with the
|
|
[Key Concepts and Terminology](https://docs.oracle.com/en/cloud/iaas/compute-iaas-cloud/stcsg/terminology.html)
|
|
prior to using this builder if you have not done so already.
|
|
|
|
The builder _does not_ manage images. Once it creates an image, it is up to you
|
|
to use it or delete it.
|
|
|
|
## Authorization
|
|
|
|
This builder authenticates API calls to Oracle Cloud Infrastructure Classic Compute using basic
|
|
authentication (user name and password).
|
|
To read more, see the [authentication documentation](https://docs.oracle.com/en/cloud/iaas/compute-iaas-cloud/stcsa/Authentication.html)
|
|
|
|
## Configuration Reference
|
|
|
|
There are many configuration options available for the `oracle-classic` builder.
|
|
This builder currently only works with the SSH communicator.
|
|
|
|
### Required
|
|
|
|
- `api_endpoint` (string) - This is your custom API endpoint for sending
|
|
requests. Instructions for determining your API endpoint can be found
|
|
[here](https://docs.oracle.com/en/cloud/iaas/compute-iaas-cloud/stcsa/SendRequests.html)
|
|
|
|
- `dest_image_list` (string) - Where to save the machine image to once you've
|
|
provisioned it. If the provided image list does not exist, Packer will create it.
|
|
|
|
- `identity_domain` (string) - This is your customer-specific identity domain
|
|
as generated by Oracle. If you don't know what your identity domain is, ask
|
|
your account administrator. For a little more information, see the Oracle
|
|
[documentation](https://docs.oracle.com/en/cloud/get-started/subscriptions-cloud/ocuid/identity-domain-overview.html#GUID-7969F881-5F4D-443E-B86C-9044C8085B8A).
|
|
|
|
- `source_image_list` (string) - This is what image you want to use as your base image.
|
|
See the [documentation](https://docs.oracle.com/en/cloud/iaas/compute-iaas-cloud/stcsg/listing-machine-images.html)
|
|
for more details. You may use either a public image list, or a private image list. To see what public image lists are available, you can use
|
|
the CLI, as described [here](https://docs.oracle.com/en/cloud/iaas/compute-iaas-cloud/stopc/image-lists-stclr-and-nmcli.html#GUID-DB7E75FE-F752-4FF7-AB70-3C8DCDFCA0FA)
|
|
|
|
- `password` (string) - Your account password.
|
|
|
|
- `shape` (string) - The template that determines the number of
|
|
CPUs, amount of memory, and other resources allocated to a newly created
|
|
instance. For more information about shapes, see the documentation [here](https://docs.oracle.com/en/cloud/iaas/compute-iaas-cloud/stcsg/machine-images-and-shapes.html).
|
|
|
|
- `username` (string) - Your account username.
|
|
|
|
### Optional
|
|
|
|
- `image_description` (string) - a description for your destination
|
|
image list. If you don't provide one, Packer will provide a generic description.
|
|
|
|
- `ssh_username` (string) - The username that Packer will use to SSH into the
|
|
instance; defaults to `opc`, the default oracle user, which has sudo
|
|
priveliges. If you have already configured users on your machine, you may
|
|
prompt Packer to use one of those instead. For more detail, see the
|
|
[documentation](https://docs.oracle.com/en/cloud/iaas/compute-iaas-cloud/stcsg/accessing-oracle-linux-instance-using-ssh.html).
|
|
|
|
- `image_name` (string) - The name to assign to the resulting custom image.
|
|
|
|
## Basic Example
|
|
|
|
Here is a basic example. Note that account specific configuration has been
|
|
obfuscated; you will need to add a working `username`, `password`,
|
|
`identity_domain`, and `api_endpoint` in order for the example to work.
|
|
|
|
``` {.json}
|
|
{
|
|
"builders": [
|
|
{
|
|
"type": "oracle-classic",
|
|
"username": "myuser@myaccount.com",
|
|
"password": "supersecretpasswordhere",
|
|
"identity_domain": "#######",
|
|
"api_endpoint": "https://api-###.compute.###.oraclecloud.com/",
|
|
"source_image_list": "/oracle/public/OL_7.2_UEKR4_x86_64",
|
|
"shape": "oc3",
|
|
"image_name": "Packer_Builder_Test_{{timestamp}}"
|
|
"dest_image_list": "Packer_Builder_Test_List"
|
|
}
|
|
],
|
|
"provisioners": [
|
|
{
|
|
"type": "shell",
|
|
"inline": ["echo hello"]
|
|
}
|
|
]
|
|
}
|
|
```
|