Type object
Schema URL https://catalog.lintel.tools/schemas/schemastore/cloud-init-cloud-config-userdata/_shared/latest--schema-cloud-config-v1.json
Parent schema cloud-init-cloud-config-userdata
Type: object

Properties

allow_public_ssh_keys
ansible
apk_repos
apt
apt_pipelining
apt_reboot_if_required
apt_update
apt_upgrade
authkey_hash
autoinstall
bootcmd
byobu_by_default
ca-certs
ca_certs
chef
chpasswd
cloud_config_modules
cloud_final_modules
cloud_init_modules
create_hostname_file
device_aliases
disable_ec2_metadata
disable_root
disable_root_opts
disk_setup
drivers
fan
final_message
fqdn
fs_setup
groups
growpart
grub-dpkg
grub_dpkg
hostname
keyboard
landscape
launch-index
locale
locale_configfile
lxd
manage_etc_hosts
manage_resolv_conf
mcollective
merge_how
merge_type
migrate
mount_default_fields
mounts
no_ssh_fingerprints
ntp
output
package_reboot_if_required
package_update
package_upgrade
packages
password
phone_home
power_state
prefer_fqdn_over_hostname
preserve_hostname
puppet
random_seed
reporting
resize_rootfs
resolv_conf
rh_subscription
rpi
rsyslog
runcmd
salt_minion
snap
spacewalk
ssh
ssh_authorized_keys
ssh_deletekeys
ssh_fp_console_blacklist
ssh_genkeytypes
ssh_import_id
ssh_key_console_blacklist
ssh_keys
ssh_publish_hostkeys
ssh_pwauth
ssh_quiet_keygen
swap
system_info
timezone
ubuntu_advantage
ubuntu_pro
updates
user
users
vendor_data
version
wireguard
write_files
yum_repo_dir
yum_repos
zypper

All of

1. base_config object
2. cc_ansible object
3. cc_apk_configure object
5. cc_apt_pipelining object
7. cc_bootcmd object
8. cc_byobu object
9. cc_ca_certs object
10. cc_chef object
12. cc_disk_setup object
13. cc_fan object
14. cc_final_message object
15. cc_growpart object
16. cc_grub_dpkg object
17. cc_install_hotplug object
18. cc_keyboard object
19. cc_keys_to_console object
20. cc_landscape object
21. cc_locale
22. cc_lxd object
23. cc_mcollective object
24. cc_mounts object
25. cc_ntp object
27. cc_phone_home object
29. cc_puppet object
30. cc_raspberry_pi object
31. cc_resizefs object
32. cc_resolv_conf object
33. cc_rh_subscription object
34. cc_rsyslog object
35. cc_runcmd object
36. cc_salt_minion object
37. cc_scripts_vendor object
38. cc_seed_random object
39. cc_set_hostname object
40. cc_set_passwords object
41. cc_snap object
42. cc_spacewalk object
44. cc_ssh_import_id object
45. cc_ssh object
46. cc_timezone object
47. cc_ubuntu_drivers object
48. cc_ubuntu_pro object
49. cc_update_etc_hosts object
50. cc_update_hostname object
51. cc_users_groups object
52. cc_wireguard object
53. cc_write_files object
54. cc_yum_add_repo object
55. cc_zypper_add_repo object
56. reporting_config object
57. output_config object

Definitions

all_modules enum
ubuntu_pro.properties object
enable string[]

Optional list of Ubuntu Pro services to enable. Any of: cc-eal, cis, esm-infra, fips, fips-updates, livepatch. By default, a given contract token will automatically enable a number of services, use this list to supplement which services should additionally be enabled. Any service unavailable on a given Ubuntu release or unentitled in a given contract will remain disabled. In Ubuntu Pro instances, if this list is given, then only those services will be enabled, ignoring contract defaults. Passing beta services here will cause an error.

enable_beta string[]

Optional list of Ubuntu Pro beta services to enable. By default, a given contract token will automatically enable a number of services, use this list to supplement which services should additionally be enabled. Any service unavailable on a given Ubuntu release or unentitled in a given contract will remain disabled. In Ubuntu Pro instances, if this list is given, then only those services will be enabled, ignoring contract defaults.

token string

Contract token obtained from https://ubuntu.com/pro to attach. Required for non-Pro instances.

features object

Ubuntu Pro features.

1 nested properties
disable_auto_attach boolean

Optional boolean for controlling if ua-auto-attach.service (in Ubuntu Pro instances) will be attempted each boot. Default: false.

Default: false
config object

Configuration settings or override Ubuntu Pro config.

6 nested properties
http_proxy string | null

Ubuntu Pro HTTP Proxy URL or null to unset.

format=uri
https_proxy string | null

Ubuntu Pro HTTPS Proxy URL or null to unset.

format=uri
global_apt_http_proxy string | null

HTTP Proxy URL used for all APT repositories on a system or null to unset. Stored at /etc/apt/apt.conf.d/90ubuntu-advantage-aptproxy.

format=uri
global_apt_https_proxy string | null

HTTPS Proxy URL used for all APT repositories on a system or null to unset. Stored at /etc/apt/apt.conf.d/90ubuntu-advantage-aptproxy.

format=uri
ua_apt_http_proxy string | null

HTTP Proxy URL used only for Ubuntu Pro APT repositories or null to unset. Stored at /etc/apt/apt.conf.d/90ubuntu-advantage-aptproxy.

format=uri
ua_apt_https_proxy string | null

HTTPS Proxy URL used only for Ubuntu Pro APT repositories or null to unset. Stored at /etc/apt/apt.conf.d/90ubuntu-advantage-aptproxy.

format=uri
users_groups.groups_by_groupname
users_groups.user object
name string

The user's login name. Required otherwise user creation will be skipped for this user.

doas string[]

List of doas rules to add for a user. doas or opendoas must be installed for rules to take effect.

minItems=1
expiredate string

Optional. Date on which the user's account will be disabled. Default: null.

Default: null
format=date
gecos string

Optional comment about the user, usually a comma-separated string of real name and contact information.

groups string | string[] | object

Optional comma-separated string of groups to add the user to.

homedir string

Optional home dir for user. Default: /home/<username>.

Default: "``/home/<username>``"
inactive string

Optional string representing the number of days until the user is disabled.

lock-passwd boolean
lock_passwd boolean

Disable password login. Default: true.

Default: true
no-create-home boolean
no_create_home boolean

Do not create home directory. Default: false.

Default: false
no-log-init boolean
no_log_init boolean

Do not initialize lastlog and faillog for user. Default: false.

Default: false
no-user-group boolean
no_user_group boolean

Do not create group named after user. Default: false.

Default: false
passwd string

Hash of user password applied when user does not exist. This will NOT be applied if the user already exists. To generate this hash, run: mkpasswd --method=SHA-512 --rounds=500000 Note: Your password might possibly be visible to unprivileged users on your system, depending on your cloud's security model. Check if your cloud's IMDS server is visible from an unprivileged user to evaluate risk.

hashed-passwd string
hashed_passwd string

Hash of user password to be applied. This will be applied even if the user is preexisting. To generate this hash, run: mkpasswd --method=SHA-512 --rounds=500000. Note: Your password might possibly be visible to unprivileged users on your system, depending on your cloud's security model. Check if your cloud's IMDS server is visible from an unprivileged user to evaluate risk.

plain-text-passwd string
plain_text_passwd string

Clear text of user password to be applied. This will be applied even if the user is preexisting. Note: SSH keys or certificates are a safer choice for logging in to your system. For local escalation, supplying a hashed password is a safer choice than plain text. Your password might possibly be visible to unprivileged users on your system, depending on your cloud's security model. An exposed plain text password is an immediate security concern. Check if your cloud's IMDS server is visible from an unprivileged user to evaluate risk.

create-groups boolean
create_groups boolean

Boolean set false to disable creation of specified user groups. Default: true.

Default: true
primary-group string
primary_group string

Primary group for user. Default: <username>.

Default: "``<username>``"
selinux-user string
selinux_user string

SELinux user for user's login. Default: the default SELinux user.

shell string

Path to the user's login shell. Default: the host system's default shell.

snapuser string

Specify an email address to create the user as a Snappy user through snap create-user. If an Ubuntu SSO account is associated with the address, username and SSH keys will be requested from there.

ssh_authorized_keys string[]

List of SSH keys to add to user's authkeys file. Can not be combined with ssh_redirect_user.

minItems=1
ssh-authorized-keys string[]
minItems=1
ssh-import-id string[]
minItems=1
ssh_import_id string[]

List of ssh ids to import for user. Can not be combined with ssh_redirect_user. See the man page[1] for more details. [1] https://manpages.ubuntu.com/manpages/noble/en/man1/ssh-import-id.1.html.

minItems=1
ssh-redirect-user boolean
ssh_redirect_user boolean

Boolean set to true to disable SSH logins for this user. When specified, all cloud-provided public SSH keys will be set up in a disabled state for this username. Any SSH login as this username will timeout and prompt with a message to login instead as the default_username for this instance. Default: false. This key can not be combined with ssh_import_id or ssh_authorized_keys.

Default: false
system boolean

Optional. Create user as system user with no home directory. Default: false.

Default: false
sudo string | null | string | null[] | boolean
uid integer | string

The user's ID. Default value [system default].

ansible.pull object
accept_host_key boolean
Default: false
clean boolean
Default: false
full boolean
Default: false
diff boolean
Default: false
ssh_common_args string
scp_extra_args string
sftp_extra_args string
private_key string
checkout string
module_path string
timeout string
url string
connection string
vault_id string
vault_password_file string
verify_commit boolean
Default: false
inventory string
module_name string
sleep string
tags string
skip_tags string
playbook_name string

Single playbook_name to run with ansible-pull

playbook_names string[]

List of playbook_names to run with ansible-pull

apt_configure.mirror object[]
ca_certs.properties object
remove-defaults boolean
remove_defaults boolean

Remove default CA certificates if true. Default: false.

Default: false
trusted string[]

List of trusted CA certificates to add.

minItems=1
rh_subscription_activation_key string

The activation key to use. Must be used with org. Should not be used with username or password.

rh_subscription_auto_attach boolean

Whether to attach subscriptions automatically.

rh_subscription_service_level string

The service level to use when subscribing to RH repositories. auto_attach must be true for this to be used.

rh_subscription_add_pool string[]

A list of pool IDs add to the subscription.

rh_subscription_enable_repo string[]

A list of repositories to enable.

rh_subscription_disable_repo string[]

A list of repositories to disable.

rh_subscription_rhsm_baseurl string

Sets the baseurl in /etc/rhsm/rhsm.conf.

rh_subscription_server_hostname string

Sets the serverurl in /etc/rhsm/rhsm.conf.

modules_definition all_modules | array[]
merge_definition string | object[]
base_config object
cloud_init_modules all_modules | array[]
cloud_config_modules all_modules | array[]
cloud_final_modules all_modules | array[]
launch-index integer

The launch index for the specified cloud-config.

merge_how string | object[]
merge_type string | object[]
system_info object
cc_ubuntu_autoinstall object
autoinstall object

Cloud-init ignores this key and its values. It is used by Subiquity, the Ubuntu Autoinstaller. See: https://ubuntu.com/server/docs/install/autoinstall-reference.

1 nested properties
version integer required
package_item_definition string[] | string
cc_ansible object
ansible object
7 nested properties
install_method string

The type of installation for ansible. It can be one of the following values:

  • distro
  • pip.
Default: "distro"
Values: "distro" "pip"
run_user string

User to run module commands as. If install_method: pip, the pip install runs as this user as well.

ansible_config string

Sets the ANSIBLE_CONFIG environment variable. If set, overrides default config.

setup_controller object
2 nested properties
repositories object[]
run_ansible object[]
galaxy object
1 nested properties
actions string[][] required
package_name string
Default: "ansible"

pull playbooks from a VCS repo and run them on the host

cc_apk_configure object
apk_repos object
3 nested properties
preserve_repositories boolean

By default, cloud-init will generate a new repositories file /etc/apk/repositories based on any valid configuration settings specified within a apk_repos section of cloud config. To disable this behavior and preserve the repositories file from the pristine image, set preserve_repositories to true. The preserve_repositories option overrides all other config keys that would alter /etc/apk/repositories.

Default: false
alpine_repo object | null
4 nested properties
version string required

The Alpine version to use (e.g. v3.12 or edge).

base_url string

The base URL of an Alpine repository, or mirror, to download official packages from. If not specified then it defaults to <https://alpine.global.ssl.fastly.net/alpine>.

Default: "https://alpine.global.ssl.fastly.net/alpine"
community_enabled boolean

Whether to add the Community repo to the repositories file. By default the Community repo is not included.

Default: false
testing_enabled boolean

Whether to add the Testing repo to the repositories file. By default the Testing repo is not included. It is only recommended to use the Testing repo on a machine running the Edge version of Alpine as packages installed from Testing may have dependencies that conflict with those in non-Edge Main or Community repos.

Default: false
local_repo_base_url string

The base URL of an Alpine repository containing unofficial packages.

cc_apt_configure
apt object
13 nested properties
preserve_sources_list boolean

By default, cloud-init will generate a new sources list in /etc/apt/sources.list.d based on any changes specified in cloud config. To disable this behavior and preserve the sources list from the pristine image, set preserve_sources_list to true.

The preserve_sources_list option overrides all other config keys that would alter sources.list or sources.list.d, except for additional sources to be added to sources.list.d.

Default: false
disable_suites string[]

Entries in the sources list can be disabled using disable_suites, which takes a list of suites to be disabled. If the string $RELEASE is present in a suite in the disable_suites list, it will be replaced with the release name. If a suite specified in disable_suites is not present in sources.list it will be ignored. For convenience, several aliases are provided for disable_suites:

  • updates => $RELEASE-updates
  • backports => $RELEASE-backports
  • security => $RELEASE-security
  • proposed => $RELEASE-proposed
  • release => $RELEASE.

When a suite is disabled using disable_suites, its entry in sources.list is not deleted; it is just commented out.

minItems=1uniqueItems=true
primary object[]
minItems=1
security object[]
minItems=1
add_apt_repo_match string

All source entries in apt-sources that match regex in add_apt_repo_match will be added to the system using add-apt-repository. If add_apt_repo_match is not specified, it defaults to ^[\w-]+:\w.

Default: "^[\w-]+:\w"
debconf_selections object

Debconf additional configurations can be specified as a dictionary under the debconf_selections config key, with each key in the dict representing a different set of configurations. The value of each key must be a string containing all the debconf configurations that must be applied. We will bundle all of the values and pass them to debconf-set-selections. Therefore, each value line must be a valid entry for debconf-set-selections, meaning that they must possess for distinct fields:

pkgname question type answer

Where:

  • pkgname is the name of the package.
  • question the name of the questions.
  • type is the type of question.
  • answer is the value used to answer the question.

For example: ippackage ippackage/ip string 127.0.01.

sources_list string

Specifies a custom template for rendering sources.list . If no sources_list template is given, cloud-init will use sane default. Within this template, the following strings will be replaced with the appropriate values:

  • $MIRROR
  • $RELEASE
  • $PRIMARY
  • $SECURITY
  • $KEY_FILE
conf string

Specify configuration for apt, such as proxy configuration. This configuration is specified as a string. For multi-line APT configuration, make sure to follow YAML syntax.

https_proxy string

More convenient way to specify https APT proxy. https proxy url is specified in the format <https://[[user][:pass]@]host[:port]/>.

http_proxy string

More convenient way to specify http APT proxy. http proxy url is specified in the format <http://[[user][:pass]@]host[:port]/>.

proxy string

Alias for defining a http APT proxy.

ftp_proxy string

More convenient way to specify ftp APT proxy. ftp proxy url is specified in the format ftp://[[user][:pass]@]host[:port]/.

sources object

Source list entries can be specified as a dictionary under the sources config key, with each key in the dict representing a different source file. The key of each source entry will be used as an id that can be referenced in other config entries, as well as the filename for the source's configuration under /etc/apt/sources.list.d. If the name does not end with .list, it will be appended. If there is no configuration for a key in sources, no file will be written, but the key may still be referred to as an id in other sources entries.

Each entry under sources is a dictionary which may contain any of the following optional keys:

  • source: a sources.list entry (some variable replacements apply).
  • keyid: a key to import via shortid or fingerprint.
  • key: a raw PGP key.
  • keyserver: alternate keyserver to pull keyid key from.
  • filename: specify the name of the list file.
  • append: If true, append to sources file, otherwise overwrite it. Default: true.

The source key supports variable replacements for the following strings:

  • $MIRROR
  • $PRIMARY
  • $SECURITY
  • $RELEASE
  • $KEY_FILE
cc_apt_pipelining object
apt_pipelining integer | boolean | string
cc_bootcmd object
bootcmd string[] | string[]
minItems=1
cc_byobu object
byobu_by_default string
Values: "enable-system" "enable-user" "disable-system" "disable-user" "enable" "disable" "user" "system"
cc_ca_certs object
ca_certs object
3 nested properties
remove-defaults boolean
remove_defaults boolean

Remove default CA certificates if true. Default: false.

Default: false
trusted string[]

List of trusted CA certificates to add.

minItems=1
ca-certs
All of: ca_certs.properties object, variant
cc_chef object
chef object
28 nested properties
directories string[]

Create the necessary directories for chef to run. By default, it creates the following directories:

  • /etc/chef
  • /var/log/chef
  • /var/lib/chef
  • /var/chef/backup
  • /var/chef/cache
  • /var/run/chef
minItems=1uniqueItems=true
config_path string

Optional path for Chef configuration file. Default: /etc/chef/client.rb

Default: "/etc/chef/client.rb"
validation_cert string

Optional string to be written to file validation_key. Special value system means set use existing file.

validation_key string

Optional path for validation_cert. Default: /etc/chef/validation.pem.

Default: "/etc/chef/validation.pem"
firstboot_path string

Path to write run_list and initial_attributes keys that should also be present in this configuration. Default: /etc/chef/firstboot.json.

Default: "/etc/chef/firstboot.json"
exec boolean

Set true if we should run or not run chef (defaults to false, unless a gem installed is requested where this will then default to true).

Default: false
client_key string

Optional path for client_cert. Default: /etc/chef/client.pem.

Default: "/etc/chef/client.pem"
encrypted_data_bag_secret string

Specifies the location of the secret key used by chef to encrypt data items. By default, this path is set to null, meaning that chef will have to look at the path /etc/chef/encrypted_data_bag_secret for it.

Default: null
environment string

Specifies which environment chef will use. By default, it will use the _default configuration.

Default: "_default"
file_backup_path string

Specifies the location in which backup files are stored. By default, it uses the /var/chef/backup location.

Default: "/var/chef/backup"
file_cache_path string

Specifies the location in which chef cache files will be saved. By default, it uses the /var/chef/cache location.

Default: "/var/chef/cache"
json_attribs string

Specifies the location in which some chef json data is stored. By default, it uses the /etc/chef/firstboot.json location.

Default: "/etc/chef/firstboot.json"
log_level string

Defines the level of logging to be stored in the log file. By default this value is set to :info.

Default: ":info"
log_location string

Specifies the location of the chef log file. By default, the location is specified at /var/log/chef/client.log.

Default: "/var/log/chef/client.log"
node_name string

The name of the node to run. By default, we will use th instance id as the node name.

omnibus_url string

Omnibus URL if chef should be installed through Omnibus. By default, it uses the <https://www.chef.io/chef/install.sh>.

Default: "https://www.chef.io/chef/install.sh"
omnibus_url_retries integer

The number of retries that will be attempted to reach the Omnibus URL. Default: 5.

Default: 5
omnibus_version string

Optional version string to require for omnibus install.

pid_file string

The location in which a process identification number (pid) is saved. By default, it saves in the /var/run/chef/client.pid location.

Default: "/var/run/chef/client.pid"
server_url string

The URL for the chef server.

show_time boolean

Show time in chef logs.

Default: true
ssl_verify_mode string

Set the verify mode for HTTPS requests. We can have two possible values for this parameter:

  • :verify_none: No validation of SSL certificates.
  • :verify_peer: Validate all SSL certificates.

By default, the parameter is set as :verify_none.

Default: ":verify_none"
validation_name string

The name of the chef-validator key that Chef Infra Client uses to access the Chef Infra Server during the initial Chef Infra Client run.

force_install boolean

If set to true, forces chef installation, even if it is already installed.

Default: false
initial_attributes object

Specify a list of initial attributes used by the cookbooks.

install_type string

The type of installation for chef. It can be one of the following values:

  • packages
  • gems
  • omnibus
Default: "packages"
Values: "packages" "gems" "omnibus"
run_list string[]

A run list for a first boot json.

chef_license string

string that indicates if user accepts or not license related to some of chef products. See https://docs.chef.io/licensing/accept/.

Values: "accept" "accept-silent" "accept-no-persist"
cc_disable_ec2_metadata object
disable_ec2_metadata boolean

Set true to disable IPv4 routes to EC2 metadata. Default: false.

Default: false
cc_disk_setup object
device_aliases object
disk_setup object
fs_setup object[]
cc_fan object
fan object
2 nested properties
config string required

The fan configuration to use as a single multi-line string.

config_path string

The path to write the fan configuration to. Default: /etc/network/fan.

Default: "/etc/network/fan"
cc_final_message object
final_message string

The message to display at the end of the run.

cc_growpart object
growpart object
3 nested properties
mode enum | enum

The utility to use for resizing. Default: auto

Possible options:

  • auto - Use any available utility

  • growpart - Use growpart utility

  • gpart - Use BSD gpart utility

  • 'off' - Take no action.

Default: "auto"
devices string[]

The devices to resize. Each entry can either be the path to the device's mountpoint in the filesystem or a path to the block device in '/dev'. Default: [/].

Default:
[
  "/"
]
ignore_growroot_disabled boolean

If true, ignore the presence of /etc/growroot-disabled. If false and the file exists, then don't resize. Default: false.

Default: false
cc_grub_dpkg object
grub_dpkg object
4 nested properties
enabled boolean

Whether to configure which device is used as the target for grub installation. Default: false.

Default: false
grub-pc/install_devices string

Device to use as target for grub installation. If unspecified, grub-probe of /boot will be used to find the device.

grub-pc/install_devices_empty boolean | string

Sets values for grub-pc/install_devices_empty. If unspecified, will be set to true if grub-pc/install_devices is empty, otherwise false.

grub-efi/install_devices string

Partition to use as target for grub installation. If unspecified, grub-probe of /boot/efi will be used to find the partition.

grub-dpkg object
cc_install_hotplug object
updates object
1 nested properties
network object
1 nested properties
when string[] required
cc_keyboard object
keyboard object
4 nested properties
layout string required

Required. Keyboard layout. Corresponds to XKBLAYOUT.

model string

Optional. Keyboard model. Corresponds to XKBMODEL. Default: pc105.

Default: "pc105"
variant string

Required for Alpine Linux, optional otherwise. Keyboard variant. Corresponds to XKBVARIANT.

options string

Optional. Keyboard options. Corresponds to XKBOPTIONS.

cc_keys_to_console object
ssh object
1 nested properties
emit_keys_to_console boolean required

Set false to avoid printing SSH keys to system console. Default: true.

Default: true
ssh_key_console_blacklist string[]

Avoid printing matching SSH key types to the system console.

Default:
[]
uniqueItems=true
ssh_fp_console_blacklist string[]

Avoid printing matching SSH fingerprints to the system console.

uniqueItems=true
cc_landscape object
landscape object
1 nested properties
client object required
10 nested properties
computer_title string required

The title of this computer.

account_name string required

The account this computer belongs to.

url string

The Landscape server URL to connect to. Default: <https://landscape.canonical.com/message-system>.

Default: "https://landscape.canonical.com/message-system"
ping_url string

The URL to perform lightweight exchange initiation with. Default: <https://landscape.canonical.com/ping>.

Default: "https://landscape.canonical.com/ping"
data_path string

The directory to store data files in. Default: /var/lib/land‐scape/client/.

Default: "/var/lib/landscape/client"
log_level string

The log level for the client. Default: info.

Default: "info"
Values: "debug" "info" "warning" "error" "critical"
registration_key string

The account-wide key used for registering clients.

tags string

Comma separated list of tag names to be sent to the server.

pattern=^[-_0-9a-zA-Z]+(,[-_0-9a-zA-Z]+)*$
http_proxy string

The URL of the HTTP proxy, if one is needed.

https_proxy string

The URL of the HTTPS proxy, if one is needed.

cc_locale
locale boolean | string

The locale to set as the system's locale (e.g. ar_PS).

locale_configfile string

The file in which to write the locale configuration (defaults to the distro's default location).

cc_lxd object
lxd object
3 nested properties
init object

LXD init configuration values to provide to lxd init --auto command. Can not be combined with lxd.preseed.

7 nested properties
network_address string

IP address for LXD to listen on.

network_port integer

Network port to bind LXD to.

storage_backend string

Storage backend to use. Default: dir.

Default: "dir"
Values: "zfs" "dir" "lvm" "btrfs"
storage_create_device string

Setup device based storage using DEVICE.

storage_create_loop integer

Setup loop based storage with SIZE in GB.

storage_pool string

Name of storage pool to use or create.

trust_password string

The password required to add new clients.

bridge object

LXD bridge configuration provided to setup the host lxd bridge. Can not be combined with lxd.preseed.

13 nested properties
mode string required

Whether to setup LXD bridge, use an existing bridge by name or create a new bridge. none will avoid bridge setup, existing will configure lxd to use the bring matching name and new will create a new bridge.

Values: "none" "existing" "new"
name string

Name of the LXD network bridge to attach or create. Default: lxdbr0.

Default: "lxdbr0"
mtu integer

Bridge MTU, defaults to LXD's default value.

Default: -1
min=-1
ipv4_address string

IPv4 address for the bridge. If set, ipv4_netmask key required.

ipv4_netmask integer

Prefix length for the ipv4_address key. Required when ipv4_address is set.

ipv4_dhcp_first string

First IPv4 address of the DHCP range for the network created. This value will combined with ipv4_dhcp_last key to set LXC ipv4.dhcp.ranges.

ipv4_dhcp_last string

Last IPv4 address of the DHCP range for the network created. This value will combined with ipv4_dhcp_first key to set LXC ipv4.dhcp.ranges.

ipv4_dhcp_leases integer

Number of DHCP leases to allocate within the range. Automatically calculated based on ipv4_dhcp_first and ipv4_dhcp_last when unset.

ipv4_nat boolean

Set true to NAT the IPv4 traffic allowing for a routed IPv4 network. Default: false.

Default: false
ipv6_address string

IPv6 address for the bridge (CIDR notation). When set, ipv6_netmask key is required. When absent, no IPv6 will be configured.

ipv6_netmask integer

Prefix length for ipv6_address provided. Required when ipv6_address is set.

ipv6_nat boolean

Whether to NAT. Default: false.

Default: false
domain string

Domain to advertise to DHCP clients and use for DNS resolution.

preseed string

Opaque LXD preseed YAML config passed via stdin to the command: lxd init --preseed. See: https://documentation.ubuntu.com/lxd/en/latest/howto/initialize/#non-interactive-configuration or lxd init --dump for viable config. Can not be combined with either lxd.init or lxd.bridge.

cc_mcollective object
mcollective object
1 nested properties
conf object
2 nested properties
public-cert string

Optional value of server public certificate which will be written to /etc/mcollective/ssl/server-public.pem.

private-cert string

Optional value of server private certificate which will be written to /etc/mcollective/ssl/server-private.pem.

cc_mounts object
mounts string[][]

List of lists. Each inner list entry is a list of /etc/fstab mount declarations of the format: [ fs_spec, fs_file, fs_vfstype, fs_mntops, fs_freq, fs_passno ]. A mount declaration with less than 6 items will get remaining values from mount_default_fields. A mount declaration with only fs_spec and no fs_file mountpoint will be skipped.

minItems=1
mount_default_fields string | null[]

Default mount configuration for any mount entry with less than 6 options provided. When specified, 6 items are required and represent /etc/fstab entries. Default: defaults,nofail,x-systemd.after=cloud-init-network.service,_netdev.

Default:
[
  null,
  null,
  "auto",
  "defaults,nofail,x-systemd.after=cloud-init-network.service",
  "0",
  "2"
]
minItems=6maxItems=6
swap object
3 nested properties
filename string

Path to the swap file to create.

size enum | integer | string

The size in bytes of the swap file, 'auto' or a human-readable size abbreviation of the format <float_size> where units are one of B, K, M, G or T. WARNING: Attempts to use IEC prefixes in your configuration prior to cloud-init version 23.1 will result in unexpected behavior. SI prefixes names (KB, MB) are required on pre-23.1 cloud-init, however IEC values are used. In summary, assume 1KB == 1024B, not 1000B.

maxsize integer | string

The maxsize in bytes of the swap file.

cc_ntp object
ntp null | object
7 nested properties
pools string[]

List of ntp pools. If both pools and servers are empty, 4 default pool servers will be provided of the format {0-3}.{distro}.pool.ntp.org. NOTE: for Alpine Linux when using the Busybox NTP client this setting will be ignored due to the limited functionality of Busybox's ntpd.

uniqueItems=true
servers string[]

List of ntp servers. If both pools and servers are empty, 4 default pool servers will be provided with the format {0-3}.{distro}.pool.ntp.org.

uniqueItems=true
peers string[]

List of ntp peers.

uniqueItems=true
allow string[]

List of CIDRs to allow.

uniqueItems=true
ntp_client string

Name of an NTP client to use to configure system NTP. When unprovided or 'auto' the default client preferred by the distribution will be used. The following built-in client names can be used to override existing configuration defaults: chrony, ntp, openntpd, ntpdate, systemd-timesyncd.

Default: "auto"
enabled boolean

Attempt to enable ntp clients if set to True. If set to false, ntp client will not be configured or installed.

Default: true
config object

Configuration settings or overrides for the ntp_client specified.

5 nested properties
confpath string

The path to where the ntp_client configuration is written.

check_exe string

The executable name for the ntp_client. For example, ntp service check_exe is 'ntpd' because it runs the ntpd binary.

packages string[]

List of packages needed to be installed for the selected ntp_client.

uniqueItems=true
service_name string

The systemd or sysvinit service name used to start and stop the ntp_client service.

template string

Inline template allowing users to customize their ntp_client configuration with the use of the Jinja templating engine. The template content should start with ## template:jinja. Within the template, you can utilize any of the following ntp module config keys: servers, pools, allow, and peers. Each cc_ntp schema config key and expected value type is defined above.

cc_package_update_upgrade_install object
packages object | package_item_definition[]

An array containing either a package specification, or an object consisting of a package manager key having a package specification value . A package specification can be either a package name or a list with two entries, the first being the package name and the second being the specific package version to install.

minItems=1
package_update boolean

Set true to update packages. Happens before upgrade or install. Default: false.

Default: false
package_upgrade boolean

Set true to upgrade packages. Happens before install. Default: false.

Default: false
package_reboot_if_required boolean

Set true to reboot the system if required by presence of /var/run/reboot-required. Default: false.

Default: false
apt_update boolean
apt_upgrade boolean
apt_reboot_if_required boolean
cc_phone_home object
phone_home object
3 nested properties
url string required

The URL to send the phone home data to.

format=uri
post enum | string[]

A list of keys to post or all. Default: all.

tries integer

The number of times to try sending the phone home data. Default: 10.

Default: 10
cc_power_state_change object
power_state object
5 nested properties
mode string required

Must be one of poweroff, halt, or reboot.

Values: "poweroff" "reboot" "halt"
delay integer | string | enum

Time in minutes to delay after cloud-init has finished. Can be now or an integer specifying the number of minutes to delay. Default: now.

Default: "now"
message string

Optional message to display to the user when the system is powering off or rebooting.

timeout integer

Time in seconds to wait for the cloud-init process to finish before executing shutdown. Default: 30.

Default: 30
condition string | boolean | array

Apply state change only if condition is met. May be boolean true (always met), false (never met), or a command string or list to be executed. For command formatting, see the documentation for cc_runcmd. If exit code is 0, condition is met, otherwise not. Default: true.

Default: true
cc_puppet object
puppet object
15 nested properties
install boolean

Whether or not to install puppet. Setting to false will result in an error if puppet is not already present on the system. Default: true.

Default: true
version string

Optional version to pass to the installer script or package manager. If unset, the latest version from the repos will be installed.

install_type string

Valid values are packages and aio. Agent packages from the puppetlabs repositories can be installed by setting aio. Based on this setting, the default config/SSL/CSR paths will be adjusted accordingly. Default: packages.

Default: "packages"
Values: "packages" "aio"
collection string

Puppet collection to install if install_type is aio. This can be set to one of puppet (rolling release), puppet6, puppet7 (or their nightly counterparts) in order to install specific release streams.

aio_install_url string

If install_type is aio, change the url of the install script.

cleanup boolean

Whether to remove the puppetlabs repo after installation if install_type is aio Default: true.

Default: true
conf_file string

The path to the puppet config file. Default depends on install_type.

ssl_dir string

The path to the puppet SSL directory. Default depends on install_type.

csr_attributes_path string

The path to the puppet csr attributes file. Default depends on install_type.

package_name string

Name of the package to install if install_type is packages. Default: puppet.

exec boolean

Whether or not to run puppet after configuration finishes. A single manual run can be triggered by setting exec to true, and additional arguments can be passed to puppet agent via the exec_args key (by default the agent will execute with the --test flag). Default: false.

Default: false
exec_args string[]

A list of arguments to pass to 'puppet agent' if 'exec' is true Default: ['--test'].

start_service boolean

By default, the puppet service will be automatically enabled after installation and set to automatically start on boot. To override this in favor of manual puppet execution set start_service to false.

Default: true
conf object

Every key present in the conf object will be added to puppet.conf. As such, section names should be one of: main, server, agent or user and keys should be valid puppet configuration options. The configuration is specified as a dictionary containing high-level <section> keys and lists of <key>=<value> pairs within each section. The certname key supports string substitutions for %i and %f, corresponding to the instance id and fqdn of the machine respectively.

ca_cert is a special case. It won't be added to puppet.conf. It holds the puppetserver certificate in pem format. It should be a multi-line string (using the | YAML notation for multi-line strings).

5 nested properties
main object
server object
agent object
user object
ca_cert string
csr_attributes object

create a csr_attributes.yaml file for CSR attributes and certificate extension requests. See https://puppet.com/docs/puppet/latest/config_file_csr_attributes.html.

2 nested properties
custom_attributes object
extension_requests object
cc_resizefs object
resize_rootfs enum

Whether to resize the root partition. noblock will resize in the background. Default: true.

Values: true false "noblock"
cc_resolv_conf object
manage_resolv_conf boolean

Whether to manage the resolv.conf file. resolv_conf block will be ignored unless this is set to true. Default: false.

Default: false
resolv_conf object
5 nested properties
nameservers array

A list of nameservers to use to be added as nameserver lines.

searchdomains array

A list of domains to be added search line.

domain string

The domain to be added as domain line.

sortlist array

A list of IP addresses to be added to sortlist line.

options object

Key/value pairs of options to go under options heading. A unary option should be specified as true.

cc_rh_subscription object
rh_subscription object
All of: variant, variant, variant, variant, variant, variant, variant, variant
20 nested properties
username string

The username to use. Must be used with password. Should not be used with activation_key or org.

password string

The password to use. Must be used with username. Should not be used with activation_key or org.

activation_key string

The activation key to use. Must be used with org. Should not be used with username or password.

activation-key string

The activation key to use. Must be used with org. Should not be used with username or password.

org string | integer

The organization to use. Must be used with activation_key. Should not be used with username or password.

auto_attach boolean

Whether to attach subscriptions automatically.

auto-attach boolean

Whether to attach subscriptions automatically.

service_level string

The service level to use when subscribing to RH repositories. auto_attach must be true for this to be used.

service-level string

The service level to use when subscribing to RH repositories. auto_attach must be true for this to be used.

add_pool string[]

A list of pool IDs add to the subscription.

add-pool string[]

A list of pool IDs add to the subscription.

enable_repo string[]

A list of repositories to enable.

enable-repo string[]

A list of repositories to enable.

disable_repo string[]

A list of repositories to disable.

disable-repo string[]

A list of repositories to disable.

release_version string

Sets the release_version viasubscription-manager release --set=<release_version> then deletes the package manager cache /var/cache/{dnf,yum} . These steps are applied after any pool attachment and/or enabling/disabling repos. For more information about this key, check https://access.redhat.com/solutions/238533 .

rhsm_baseurl string

Sets the baseurl in /etc/rhsm/rhsm.conf.

rhsm-baseurl string

Sets the baseurl in /etc/rhsm/rhsm.conf.

server_hostname string

Sets the serverurl in /etc/rhsm/rhsm.conf.

server-hostname string

Sets the serverurl in /etc/rhsm/rhsm.conf.

cc_raspberry_pi object
rpi object
2 nested properties
interfaces object
4 nested properties
spi boolean

Enable SPI interface. Default: false.

Default: false
i2c boolean

Enable I2C interface. Default: false.

Default: false
serial boolean | object

Enable serial console. Default: false.

Default: false
onewire boolean

Enable 1-Wire interface. Default: false.

Default: false
enable_usb_gadget boolean

Enable Raspberry Pi USB Gadget mode. Default: false.

Default: false
cc_rsyslog object
rsyslog object
8 nested properties
config_dir string

The directory where rsyslog configuration files will be written. Default: /etc/rsyslog.d.

config_filename string

The name of the rsyslog configuration file. Default: 20-cloud-config.conf.

configs string | object[]

Each entry in configs is either a string or an object. Each config entry contains a configuration string and a file to write it to. For config entries that are an object, filename sets the target filename and content specifies the config string to write. For config entries that are only a string, the string is used as the config string to write. If the filename to write the config to is not specified, the value of the config_filename key is used. A file with the selected filename will be written inside the directory specified by config_dir.

remotes object

Each key is the name for an rsyslog remote entry. Each value holds the contents of the remote config for rsyslog. The config consists of the following parts:

  • filter for log messages (defaults to *.*)

  • optional leading @ or @@, indicating udp and tcp respectively (defaults to @, for udp)

  • ipv4 or ipv6 hostname or address. ipv6 addresses must be in [::1] format, (e.g. @[fd00::1]:514)

  • optional port number (defaults to 514)

This module will provide sane defaults for any part of the remote entry that is not specified, so in most cases remote hosts can be specified just using <name>: <address>.

service_reload_command enum | string[]

The command to use to reload the rsyslog service after the config has been updated. If this is set to auto, then an appropriate command for the distro will be used. This is the default behavior. To manually set the command, use a list of command args (e.g. [systemctl, restart, rsyslog]).

install_rsyslog boolean

Install rsyslog. Default: false.

Default: false
check_exe string

The executable name for the rsyslog daemon. For example, rsyslogd, or /opt/sbin/rsyslogd if the rsyslog binary is in an unusual path. This is only used if install_rsyslog is true. Default: rsyslogd.

packages string[]

List of packages needed to be installed for rsyslog. This is only used if install_rsyslog is true. Default: [rsyslog].

uniqueItems=true
cc_runcmd object
runcmd string[] | string | null[]
minItems=1
cc_salt_minion object
salt_minion object
8 nested properties
pkg_name string

Package name to install. Default: salt-minion.

service_name string

Service name to enable. Default: salt-minion.

config_dir string

Directory to write config files to. Default: /etc/salt.

conf object

Configuration to be written to config_dir/minion.

grains object

Configuration to be written to config_dir/grains.

public_key string

Public key to be used by the salt minion.

private_key string

Private key to be used by salt minion.

pki_dir string

Directory to write key files. Default: config_dir/pki/minion.

cc_scripts_vendor object
vendor_data object
2 nested properties
enabled boolean | string

Whether vendor-data is enabled or not. Default: true.

prefix array | string

The command to run before any vendor scripts. Its primary use case is for profiling a script, not to prevent its run.

cc_seed_random object
random_seed object
5 nested properties
file string

File to write random data to. Default: /dev/urandom.

Default: "/dev/urandom"
data string

This data will be written to file before data from the datasource. When using a multi-line value or specifying binary data, be sure to follow YAML syntax and use the | and !binary YAML format specifiers when appropriate.

encoding string

Used to decode data provided. Allowed values are raw, base64, b64, gzip, or gz. Default: raw.

Default: "raw"
Values: "raw" "base64" "b64" "gzip" "gz"
command string[]

Execute this command to seed random. The command will have RANDOM_SEED_FILE in its environment set to the value of file above.

command_required boolean

If true, and command is not available to be run then an exception is raised and cloud-init will record failure. Otherwise, only debug error is mentioned. Default: false.

Default: false
cc_set_hostname object
preserve_hostname boolean

If true, the hostname will not be changed. Default: false.

Default: false
hostname string

The hostname to set.

fqdn string

The fully qualified domain name to set.

prefer_fqdn_over_hostname boolean

If true, the fqdn will be used if it is set. If false, the hostname will be used. If unset, the result is distro-dependent.

create_hostname_file boolean

If false, the hostname file (e.g. /etc/hostname) will not be created if it does not exist. On systems that use systemd, setting create_hostname_file to false will set the hostname transiently. If true, the hostname file will always be created and the hostname will be set statically on systemd systems. Default: true.

Default: true
cc_set_passwords object
ssh_pwauth boolean | string

Sets whether or not to accept password authentication. true will enable password auth. false will disable. Default: leave the value unchanged. In order for this config to be applied, SSH may need to be restarted. On systemd systems, this restart will only happen if the SSH service has already been started. On non-systemd systems, a restart will be attempted regardless of the service state.

chpasswd object
3 nested properties
expire boolean

Whether to expire all user passwords such that a password will need to be reset on the user's next login. Default: true.

Default: true
users object[]

This key represents a list of existing users to set passwords for. Each item under users contains the following required keys: name and password or in the case of a randomly generated password, name and type. The type key has a default value of hash, and may alternatively be set to text or RANDOM. Randomly generated passwords may be insecure, use at your own risk.

list string | string[]
minItems=1
password string

Set the default user's password. Ignored if chpasswd list is used.

cc_snap object
snap object
2 nested properties
assertions Record<string, string>

Properly-signed snap assertions which will run before and snap commands.

minItems=1uniqueItems=true
commands Record<string, string | string[]>

Snap commands to run on the target system.

minItems=1
cc_spacewalk object
spacewalk object
3 nested properties
server string

The Spacewalk server to use.

proxy string

The proxy to use when connecting to Spacewalk.

activation_key string

The activation key to use when registering with Spacewalk.

cc_ssh_authkey_fingerprints object
no_ssh_fingerprints boolean

If true, SSH fingerprints will not be written. Default: false.

Default: false
authkey_hash string

The hash type to use when generating SSH fingerprints. Default: sha256.

Default: "sha256"
cc_ssh_import_id object
ssh_import_id string[]
cc_ssh object
ssh_keys object

A dictionary entries for the public and private host keys of each desired key type. Entries in the ssh_keys config dict should have keys in the format <key type>_private, <key type>_public, and, optionally, <key type>_certificate, e.g. rsa_private: <key>, rsa_public: <key>, and rsa_certificate: <key>. Not all key types have to be specified, ones left unspecified will not be used. If this config option is used, then separate keys will not be automatically generated. In order to specify multi-line private host keys and certificates, use YAML multi-line syntax. Note: Your ssh keys might possibly be visible to unprivileged users on your system, depending on your cloud's security model.

ssh_authorized_keys string[]

The SSH public keys to add .ssh/authorized_keys in the default user's home directory.

minItems=1
ssh_deletekeys boolean

Remove host SSH keys. This prevents re-use of a private host key from an image with default host SSH keys. Default: true.

Default: true
ssh_genkeytypes string[]

The SSH key types to generate. Default: [rsa, ecdsa, ed25519].

Default:
[
  "ecdsa",
  "ed25519",
  "rsa"
]
minItems=1
disable_root boolean

Disable root login. Default: true.

Default: true
disable_root_opts string

Disable root login options. If disable_root_opts is specified and contains the string $USER, it will be replaced with the username of the default user. Default: no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"$USER\" rather than the user \"$DISABLE_USER\".';echo;sleep 10;exit 142".

Default: "``no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"$USER\" rather than the user \"$DISABLE_USER\".';echo;sleep 10;exit 142"``"
allow_public_ssh_keys boolean

If true, will import the public SSH keys from the datasource's metadata to the user's .ssh/authorized_keys file. Default: true.

Default: true
ssh_quiet_keygen boolean

If true, will suppress the output of key generation to the console. Default: false.

Default: false
ssh_publish_hostkeys object
2 nested properties
enabled boolean

If true, will read host keys from /etc/ssh/*.pub and publish them to the datasource (if supported). Default: true.

Default: true
blacklist string[]

The SSH key types to ignore when publishing. Default: [] to publish all SSH key types.

cc_timezone object
timezone string

The timezone to use as represented in /usr/share/zoneinfo.

cc_ubuntu_drivers object
drivers object
1 nested properties
nvidia object
2 nested properties
license-accepted boolean required

Do you accept the NVIDIA driver license?

version string

The version of the driver to install (e.g. "390", "410"). Default: latest version.

cc_ubuntu_pro object
ubuntu_pro object
5 nested properties
enable string[]

Optional list of Ubuntu Pro services to enable. Any of: cc-eal, cis, esm-infra, fips, fips-updates, livepatch. By default, a given contract token will automatically enable a number of services, use this list to supplement which services should additionally be enabled. Any service unavailable on a given Ubuntu release or unentitled in a given contract will remain disabled. In Ubuntu Pro instances, if this list is given, then only those services will be enabled, ignoring contract defaults. Passing beta services here will cause an error.

enable_beta string[]

Optional list of Ubuntu Pro beta services to enable. By default, a given contract token will automatically enable a number of services, use this list to supplement which services should additionally be enabled. Any service unavailable on a given Ubuntu release or unentitled in a given contract will remain disabled. In Ubuntu Pro instances, if this list is given, then only those services will be enabled, ignoring contract defaults.

token string

Contract token obtained from https://ubuntu.com/pro to attach. Required for non-Pro instances.

features object

Ubuntu Pro features.

1 nested properties
disable_auto_attach boolean

Optional boolean for controlling if ua-auto-attach.service (in Ubuntu Pro instances) will be attempted each boot. Default: false.

Default: false
config object

Configuration settings or override Ubuntu Pro config.

6 nested properties
http_proxy string | null

Ubuntu Pro HTTP Proxy URL or null to unset.

format=uri
https_proxy string | null

Ubuntu Pro HTTPS Proxy URL or null to unset.

format=uri
global_apt_http_proxy string | null

HTTP Proxy URL used for all APT repositories on a system or null to unset. Stored at /etc/apt/apt.conf.d/90ubuntu-advantage-aptproxy.

format=uri
global_apt_https_proxy string | null

HTTPS Proxy URL used for all APT repositories on a system or null to unset. Stored at /etc/apt/apt.conf.d/90ubuntu-advantage-aptproxy.

format=uri
ua_apt_http_proxy string | null

HTTP Proxy URL used only for Ubuntu Pro APT repositories or null to unset. Stored at /etc/apt/apt.conf.d/90ubuntu-advantage-aptproxy.

format=uri
ua_apt_https_proxy string | null

HTTPS Proxy URL used only for Ubuntu Pro APT repositories or null to unset. Stored at /etc/apt/apt.conf.d/90ubuntu-advantage-aptproxy.

format=uri
ubuntu_advantage object
5 nested properties
enable string[]

Optional list of Ubuntu Pro services to enable. Any of: cc-eal, cis, esm-infra, fips, fips-updates, livepatch. By default, a given contract token will automatically enable a number of services, use this list to supplement which services should additionally be enabled. Any service unavailable on a given Ubuntu release or unentitled in a given contract will remain disabled. In Ubuntu Pro instances, if this list is given, then only those services will be enabled, ignoring contract defaults. Passing beta services here will cause an error.

enable_beta string[]

Optional list of Ubuntu Pro beta services to enable. By default, a given contract token will automatically enable a number of services, use this list to supplement which services should additionally be enabled. Any service unavailable on a given Ubuntu release or unentitled in a given contract will remain disabled. In Ubuntu Pro instances, if this list is given, then only those services will be enabled, ignoring contract defaults.

token string

Contract token obtained from https://ubuntu.com/pro to attach. Required for non-Pro instances.

features object

Ubuntu Pro features.

1 nested properties
disable_auto_attach boolean

Optional boolean for controlling if ua-auto-attach.service (in Ubuntu Pro instances) will be attempted each boot. Default: false.

Default: false
config object

Configuration settings or override Ubuntu Pro config.

6 nested properties
http_proxy string | null

Ubuntu Pro HTTP Proxy URL or null to unset.

format=uri
https_proxy string | null

Ubuntu Pro HTTPS Proxy URL or null to unset.

format=uri
global_apt_http_proxy string | null

HTTP Proxy URL used for all APT repositories on a system or null to unset. Stored at /etc/apt/apt.conf.d/90ubuntu-advantage-aptproxy.

format=uri
global_apt_https_proxy string | null

HTTPS Proxy URL used for all APT repositories on a system or null to unset. Stored at /etc/apt/apt.conf.d/90ubuntu-advantage-aptproxy.

format=uri
ua_apt_http_proxy string | null

HTTP Proxy URL used only for Ubuntu Pro APT repositories or null to unset. Stored at /etc/apt/apt.conf.d/90ubuntu-advantage-aptproxy.

format=uri
ua_apt_https_proxy string | null

HTTPS Proxy URL used only for Ubuntu Pro APT repositories or null to unset. Stored at /etc/apt/apt.conf.d/90ubuntu-advantage-aptproxy.

format=uri
cc_update_etc_hosts object
manage_etc_hosts enum | enum

Whether to manage /etc/hosts on the system. If true, render the hosts file using /etc/cloud/templates/hosts.tmpl replacing $hostname and $fqdn. If localhost, append a 127.0.1.1 entry that resolves from FQDN and hostname every boot. Default: false.

Default: false
fqdn string

Optional fully qualified domain name to use when updating /etc/hosts. Preferred over hostname if both are provided. In absence of hostname and fqdn in cloud-config, the local-hostname value will be used from datasource metadata.

hostname string

Hostname to set when rendering /etc/hosts. If fqdn is set, the hostname extracted from fqdn overrides hostname.

cc_update_hostname object
preserve_hostname boolean

Do not update system hostname when true. Default: false.

Default: false
prefer_fqdn_over_hostname boolean

By default, it is distro-dependent whether cloud-init uses the short hostname or fully qualified domain name when both local-hostname` and fqdnare both present in instance metadata. When settrue, use fully qualified domain name if present as hostname instead of short hostname. When set false``, use hostname config value if present, otherwise fallback to fqdn.

Default: null
create_hostname_file boolean

If false, the hostname file (e.g. /etc/hostname) will not be created if it does not exist. On systems that use systemd, setting create_hostname_file to false will set the hostname transiently. If true, the hostname file will always be created and the hostname will be set statically on systemd systems. Default: true.

Default: true
cc_users_groups object
groups
user string | object

The user dictionary values override the default_user configuration from /etc/cloud/cloud.cfg. The user dictionary keys supported for the default_user are the same as the users schema.

users string | array | object
cc_wireguard object
wireguard null | object
2 nested properties
interfaces object[] required
minItems=1
readinessprobe string[]

List of shell commands to be executed as probes.

uniqueItems=true
cc_write_files object
write_files object[]
minItems=1
cc_yum_add_repo object
yum_repo_dir string

The repo parts directory where individual yum repo config files will be written. Default: /etc/yum.repos.d.

Default: "/etc/yum.repos.d"
yum_repos object
cc_zypper_add_repo object
zypper object
2 nested properties
repos object[]
minItems=1
config object

Any supported zypo.conf key is written to /etc/zypp/zypp.conf.

output_log_operator string | string[] | object
output_config object
output object
4 nested properties
all string | string[] | object
init string | string[] | object
config string | string[] | object
final string | string[] | object
reporting_config object
reporting object