latest--schema-cloud-config-v1
shared| 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 |
Properties
All of
Definitions
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.
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.
Contract token obtained from https://ubuntu.com/pro to attach. Required for non-Pro instances.
Ubuntu Pro features.
1 nested properties
Optional boolean for controlling if ua-auto-attach.service (in Ubuntu Pro instances) will be attempted each boot. Default: false.
Configuration settings or override Ubuntu Pro config.
6 nested properties
Ubuntu Pro HTTP Proxy URL or null to unset.
Ubuntu Pro HTTPS Proxy URL or null to unset.
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.
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.
HTTP Proxy URL used only for Ubuntu Pro APT repositories or null to unset. Stored at /etc/apt/apt.conf.d/90ubuntu-advantage-aptproxy.
HTTPS Proxy URL used only for Ubuntu Pro APT repositories or null to unset. Stored at /etc/apt/apt.conf.d/90ubuntu-advantage-aptproxy.
The user's login name. Required otherwise user creation will be skipped for this user.
List of doas rules to add for a user. doas or opendoas must be installed for rules to take effect.
Optional. Date on which the user's account will be disabled. Default: null.
Optional comment about the user, usually a comma-separated string of real name and contact information.
Optional comma-separated string of groups to add the user to.
Optional home dir for user. Default: /home/<username>.
Optional string representing the number of days until the user is disabled.
Disable password login. Default: true.
Do not create home directory. Default: false.
Do not initialize lastlog and faillog for user. Default: false.
Do not create group named after user. Default: false.
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.
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.
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.
Boolean set false to disable creation of specified user groups. Default: true.
Primary group for user. Default: <username>.
SELinux user for user's login. Default: the default SELinux user.
Path to the user's login shell. Default: the host system's default shell.
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.
List of SSH keys to add to user's authkeys file. Can not be combined with ssh_redirect_user.
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.
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.
Optional. Create user as system user with no home directory. Default: false.
The user's ID. Default value [system default].
Single playbook_name to run with ansible-pull
List of playbook_names to run with ansible-pull
Remove default CA certificates if true. Default: false.
List of trusted CA certificates to add.
The activation key to use. Must be used with org. Should not be used with username or password.
Whether to attach subscriptions automatically.
The service level to use when subscribing to RH repositories. auto_attach must be true for this to be used.
A list of pool IDs add to the subscription.
A list of repositories to enable.
A list of repositories to disable.
Sets the baseurl in /etc/rhsm/rhsm.conf.
Sets the serverurl in /etc/rhsm/rhsm.conf.
The launch index for the specified cloud-config.
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
7 nested properties
The type of installation for ansible. It can be one of the following values:
distropip.
User to run module commands as. If install_method: pip, the pip install runs as this user as well.
Sets the ANSIBLE_CONFIG environment variable. If set, overrides default config.
2 nested properties
1 nested properties
pull playbooks from a VCS repo and run them on the host
3 nested properties
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.
4 nested properties
The Alpine version to use (e.g. v3.12 or edge).
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>.
Whether to add the Community repo to the repositories file. By default the Community repo is not included.
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.
The base URL of an Alpine repository containing unofficial packages.
13 nested properties
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.
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-updatesbackports=>$RELEASE-backportssecurity=>$RELEASE-securityproposed=>$RELEASE-proposedrelease=>$RELEASE.
When a suite is disabled using disable_suites, its entry in sources.list is not deleted; it is just commented out.
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.
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:
pkgnameis the name of the package.questionthe name of the questions.typeis the type of question.answeris the value used to answer the question.
For example: ippackage ippackage/ip string 127.0.01.
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
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.
More convenient way to specify https APT proxy. https proxy url is specified in the format <https://[[user][:pass]@]host[:port]/>.
More convenient way to specify http APT proxy. http proxy url is specified in the format <http://[[user][:pass]@]host[:port]/>.
Alias for defining a http APT proxy.
More convenient way to specify ftp APT proxy. ftp proxy url is specified in the format ftp://[[user][:pass]@]host[:port]/.
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
3 nested properties
Remove default CA certificates if true. Default: false.
List of trusted CA certificates to add.
28 nested properties
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
Optional path for Chef configuration file. Default: /etc/chef/client.rb
Optional string to be written to file validation_key. Special value system means set use existing file.
Optional path for validation_cert. Default: /etc/chef/validation.pem.
Path to write run_list and initial_attributes keys that should also be present in this configuration. Default: /etc/chef/firstboot.json.
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).
Optional path for client_cert. Default: /etc/chef/client.pem.
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.
Specifies which environment chef will use. By default, it will use the _default configuration.
Specifies the location in which backup files are stored. By default, it uses the /var/chef/backup location.
Specifies the location in which chef cache files will be saved. By default, it uses the /var/chef/cache location.
Specifies the location in which some chef json data is stored. By default, it uses the /etc/chef/firstboot.json location.
Defines the level of logging to be stored in the log file. By default this value is set to :info.
Specifies the location of the chef log file. By default, the location is specified at /var/log/chef/client.log.
The name of the node to run. By default, we will use th instance id as the node name.
Omnibus URL if chef should be installed through Omnibus. By default, it uses the <https://www.chef.io/chef/install.sh>.
The number of retries that will be attempted to reach the Omnibus URL. Default: 5.
Optional version string to require for omnibus install.
The location in which a process identification number (pid) is saved. By default, it saves in the /var/run/chef/client.pid location.
The URL for the chef server.
Show time in chef logs.
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.
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.
If set to true, forces chef installation, even if it is already installed.
Specify a list of initial attributes used by the cookbooks.
The type of installation for chef. It can be one of the following values:
packagesgemsomnibus
A run list for a first boot json.
string that indicates if user accepts or not license related to some of chef products. See https://docs.chef.io/licensing/accept/.
Set true to disable IPv4 routes to EC2 metadata. Default: false.
2 nested properties
The fan configuration to use as a single multi-line string.
The path to write the fan configuration to. Default: /etc/network/fan.
The message to display at the end of the run.
3 nested properties
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.
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: [/].
[
"/"
]
If true, ignore the presence of /etc/growroot-disabled. If false and the file exists, then don't resize. Default: false.
4 nested properties
Whether to configure which device is used as the target for grub installation. Default: false.
Device to use as target for grub installation. If unspecified, grub-probe of /boot will be used to find the device.
Sets values for grub-pc/install_devices_empty. If unspecified, will be set to true if grub-pc/install_devices is empty, otherwise false.
Partition to use as target for grub installation. If unspecified, grub-probe of /boot/efi will be used to find the partition.
1 nested properties
1 nested properties
4 nested properties
Required. Keyboard layout. Corresponds to XKBLAYOUT.
Optional. Keyboard model. Corresponds to XKBMODEL. Default: pc105.
Required for Alpine Linux, optional otherwise. Keyboard variant. Corresponds to XKBVARIANT.
Optional. Keyboard options. Corresponds to XKBOPTIONS.
1 nested properties
Set false to avoid printing SSH keys to system console. Default: true.
Avoid printing matching SSH key types to the system console.
[]
Avoid printing matching SSH fingerprints to the system console.
1 nested properties
10 nested properties
The title of this computer.
The account this computer belongs to.
The Landscape server URL to connect to. Default: <https://landscape.canonical.com/message-system>.
The URL to perform lightweight exchange initiation with. Default: <https://landscape.canonical.com/ping>.
The directory to store data files in. Default: /var/lib/land‐scape/client/.
The log level for the client. Default: info.
The account-wide key used for registering clients.
Comma separated list of tag names to be sent to the server.
The URL of the HTTP proxy, if one is needed.
The URL of the HTTPS proxy, if one is needed.
The locale to set as the system's locale (e.g. ar_PS).
The file in which to write the locale configuration (defaults to the distro's default location).
3 nested properties
LXD init configuration values to provide to lxd init --auto command. Can not be combined with lxd.preseed.
7 nested properties
IP address for LXD to listen on.
Network port to bind LXD to.
Storage backend to use. Default: dir.
Setup device based storage using DEVICE.
Setup loop based storage with SIZE in GB.
Name of storage pool to use or create.
The password required to add new clients.
LXD bridge configuration provided to setup the host lxd bridge. Can not be combined with lxd.preseed.
13 nested properties
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.
Name of the LXD network bridge to attach or create. Default: lxdbr0.
Bridge MTU, defaults to LXD's default value.
IPv4 address for the bridge. If set, ipv4_netmask key required.
Prefix length for the ipv4_address key. Required when ipv4_address is set.
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.
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.
Number of DHCP leases to allocate within the range. Automatically calculated based on ipv4_dhcp_first and ipv4_dhcp_last when unset.
Set true to NAT the IPv4 traffic allowing for a routed IPv4 network. Default: false.
IPv6 address for the bridge (CIDR notation). When set, ipv6_netmask key is required. When absent, no IPv6 will be configured.
Prefix length for ipv6_address provided. Required when ipv6_address is set.
Whether to NAT. Default: false.
Domain to advertise to DHCP clients and use for DNS resolution.
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.
1 nested properties
2 nested properties
Optional value of server public certificate which will be written to /etc/mcollective/ssl/server-public.pem.
Optional value of server private certificate which will be written to /etc/mcollective/ssl/server-private.pem.
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.
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.
[
null,
null,
"auto",
"defaults,nofail,x-systemd.after=cloud-init-network.service",
"0",
"2"
]
3 nested properties
Path to the swap file to create.
The size in bytes of the swap file, 'auto' or a human-readable size abbreviation of the format <float_size>
The maxsize in bytes of the swap file.
7 nested properties
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.
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.
List of ntp peers.
List of CIDRs to allow.
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.
Attempt to enable ntp clients if set to True. If set to false, ntp client will not be configured or installed.
Configuration settings or overrides for the ntp_client specified.
5 nested properties
The path to where the ntp_client configuration is written.
The executable name for the ntp_client. For example, ntp service check_exe is 'ntpd' because it runs the ntpd binary.
List of packages needed to be installed for the selected ntp_client.
The systemd or sysvinit service name used to start and stop the ntp_client service.
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.
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.
Set true to update packages. Happens before upgrade or install. Default: false.
Set true to upgrade packages. Happens before install. Default: false.
Set true to reboot the system if required by presence of /var/run/reboot-required. Default: false.
3 nested properties
The URL to send the phone home data to.
A list of keys to post or all. Default: all.
The number of times to try sending the phone home data. Default: 10.
5 nested properties
Must be one of poweroff, halt, or reboot.
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.
Optional message to display to the user when the system is powering off or rebooting.
Time in seconds to wait for the cloud-init process to finish before executing shutdown. Default: 30.
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.
15 nested properties
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.
Optional version to pass to the installer script or package manager. If unset, the latest version from the repos will be installed.
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.
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.
If install_type is aio, change the url of the install script.
Whether to remove the puppetlabs repo after installation if install_type is aio Default: true.
The path to the puppet config file. Default depends on install_type.
The path to the puppet SSL directory. Default depends on install_type.
The path to the puppet csr attributes file. Default depends on install_type.
Name of the package to install if install_type is packages. Default: puppet.
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.
A list of arguments to pass to 'puppet agent' if 'exec' is true Default: ['--test'].
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.
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
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
Whether to resize the root partition. noblock will resize in the background. Default: true.
Whether to manage the resolv.conf file. resolv_conf block will be ignored unless this is set to true. Default: false.
5 nested properties
A list of nameservers to use to be added as nameserver lines.
A list of domains to be added search line.
The domain to be added as domain line.
A list of IP addresses to be added to sortlist line.
Key/value pairs of options to go under options heading. A unary option should be specified as true.
20 nested properties
The username to use. Must be used with password. Should not be used with activation_key or org.
The password to use. Must be used with username. Should not be used with activation_key or org.
The activation key to use. Must be used with org. Should not be used with username or password.
The activation key to use. Must be used with org. Should not be used with username or password.
The organization to use. Must be used with activation_key. Should not be used with username or password.
Whether to attach subscriptions automatically.
Whether to attach subscriptions automatically.
The service level to use when subscribing to RH repositories. auto_attach must be true for this to be used.
The service level to use when subscribing to RH repositories. auto_attach must be true for this to be used.
A list of pool IDs add to the subscription.
A list of pool IDs add to the subscription.
A list of repositories to enable.
A list of repositories to enable.
A list of repositories to disable.
A list of repositories to disable.
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 .
Sets the baseurl in /etc/rhsm/rhsm.conf.
Sets the baseurl in /etc/rhsm/rhsm.conf.
Sets the serverurl in /etc/rhsm/rhsm.conf.
Sets the serverurl in /etc/rhsm/rhsm.conf.
2 nested properties
4 nested properties
Enable SPI interface. Default: false.
Enable I2C interface. Default: false.
Enable serial console. Default: false.
Enable 1-Wire interface. Default: false.
Enable Raspberry Pi USB Gadget mode. Default: false.
8 nested properties
The directory where rsyslog configuration files will be written. Default: /etc/rsyslog.d.
The name of the rsyslog configuration file. Default: 20-cloud-config.conf.
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.
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>.
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. Default: false.
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.
List of packages needed to be installed for rsyslog. This is only used if install_rsyslog is true. Default: [rsyslog].
8 nested properties
Package name to install. Default: salt-minion.
Service name to enable. Default: salt-minion.
Directory to write config files to. Default: /etc/salt.
Configuration to be written to config_dir/minion.
Configuration to be written to config_dir/grains.
Public key to be used by the salt minion.
Private key to be used by salt minion.
Directory to write key files. Default: config_dir/pki/minion.
2 nested properties
Whether vendor-data is enabled or not. Default: true.
The command to run before any vendor scripts. Its primary use case is for profiling a script, not to prevent its run.
5 nested properties
File to write random data to. Default: /dev/urandom.
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.
Used to decode data provided. Allowed values are raw, base64, b64, gzip, or gz. Default: raw.
Execute this command to seed random. The command will have RANDOM_SEED_FILE in its environment set to the value of file above.
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.
If true, the hostname will not be changed. Default: false.
The hostname to set.
The fully qualified domain name to set.
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.
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.
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.
3 nested properties
Whether to expire all user passwords such that a password will need to be reset on the user's next login. Default: true.
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.
Set the default user's password. Ignored if chpasswd list is used.
2 nested properties
Properly-signed snap assertions which will run before and snap commands.
Snap commands to run on the target system.
3 nested properties
The Spacewalk server to use.
The proxy to use when connecting to Spacewalk.
The activation key to use when registering with Spacewalk.
If true, SSH fingerprints will not be written. Default: false.
The hash type to use when generating SSH fingerprints. Default: sha256.
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.
The SSH public keys to add .ssh/authorized_keys in the default user's home directory.
Remove host SSH keys. This prevents re-use of a private host key from an image with default host SSH keys. Default: true.
The SSH key types to generate. Default: [rsa, ecdsa, ed25519].
[
"ecdsa",
"ed25519",
"rsa"
]
Disable root login. Default: true.
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".
If true, will import the public SSH keys from the datasource's metadata to the user's .ssh/authorized_keys file. Default: true.
If true, will suppress the output of key generation to the console. Default: false.
2 nested properties
If true, will read host keys from /etc/ssh/*.pub and publish them to the datasource (if supported). Default: true.
The SSH key types to ignore when publishing. Default: [] to publish all SSH key types.
The timezone to use as represented in /usr/share/zoneinfo.
1 nested properties
2 nested properties
Do you accept the NVIDIA driver license?
The version of the driver to install (e.g. "390", "410"). Default: latest version.
5 nested properties
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.
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.
Contract token obtained from https://ubuntu.com/pro to attach. Required for non-Pro instances.
Ubuntu Pro features.
1 nested properties
Optional boolean for controlling if ua-auto-attach.service (in Ubuntu Pro instances) will be attempted each boot. Default: false.
Configuration settings or override Ubuntu Pro config.
6 nested properties
Ubuntu Pro HTTP Proxy URL or null to unset.
Ubuntu Pro HTTPS Proxy URL or null to unset.
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.
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.
HTTP Proxy URL used only for Ubuntu Pro APT repositories or null to unset. Stored at /etc/apt/apt.conf.d/90ubuntu-advantage-aptproxy.
HTTPS Proxy URL used only for Ubuntu Pro APT repositories or null to unset. Stored at /etc/apt/apt.conf.d/90ubuntu-advantage-aptproxy.
5 nested properties
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.
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.
Contract token obtained from https://ubuntu.com/pro to attach. Required for non-Pro instances.
Ubuntu Pro features.
1 nested properties
Optional boolean for controlling if ua-auto-attach.service (in Ubuntu Pro instances) will be attempted each boot. Default: false.
Configuration settings or override Ubuntu Pro config.
6 nested properties
Ubuntu Pro HTTP Proxy URL or null to unset.
Ubuntu Pro HTTPS Proxy URL or null to unset.
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.
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.
HTTP Proxy URL used only for Ubuntu Pro APT repositories or null to unset. Stored at /etc/apt/apt.conf.d/90ubuntu-advantage-aptproxy.
HTTPS Proxy URL used only for Ubuntu Pro APT repositories or null to unset. Stored at /etc/apt/apt.conf.d/90ubuntu-advantage-aptproxy.
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.
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 to set when rendering /etc/hosts. If fqdn is set, the hostname extracted from fqdn overrides hostname.
Do not update system hostname when true. Default: false.
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.
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.
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.
2 nested properties
List of shell commands to be executed as probes.
The repo parts directory where individual yum repo config files will be written. Default: /etc/yum.repos.d.
2 nested properties
Any supported zypo.conf key is written to /etc/zypp/zypp.conf.