Skip to content
Merged

Docs #1317

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 0 additions & 60 deletions doc/rtd/topics/datasources.rst
Original file line number Diff line number Diff line change
Expand Up @@ -111,63 +111,3 @@ need to take care of the following items:

* **Add documentation for your datasource**: You should add a new
file in ``doc/datasources/<cloudplatform>.rst``


API
===

The current interface that a datasource object must provide is the following:

.. sourcecode:: python

# returns a mime multipart message that contains
# all the various fully-expanded components that
# were found from processing the raw user data string
# - when filtering only the mime messages targeting
# this instance id will be returned (or messages with
# no instance id)
def get_userdata(self, apply_filter=False)

# returns the raw userdata string (or none)
def get_userdata_raw(self)

# returns a integer (or none) which can be used to identify
# this instance in a group of instances which are typically
# created from a single command, thus allowing programmatic
# filtering on this launch index (or other selective actions)
@property
def launch_index(self)

# the data sources' config_obj is a cloud-config formatted
# object that came to it from ways other than cloud-config
# because cloud-config content would be handled elsewhere
def get_config_obj(self)

# returns a list of public SSH keys
def get_public_ssh_keys(self)

# translates a device 'short' name into the actual physical device
# fully qualified name (or none if said physical device is not attached
# or does not exist)
def device_name_to_device(self, name)

# gets the locale string this instance should be applying
# which typically used to adjust the instances locale settings files
def get_locale(self)

@property
def availability_zone(self)

# gets the instance id that was assigned to this instance by the
# cloud provider or when said instance id does not exist in the backing
# metadata this will return 'iid-datasource'
def get_instance_id(self)

# gets the fully qualified domain name that this host should be using
# when configuring network or hostname related settings, typically
# assigned either by the cloud provider or the user creating the vm
def get_hostname(self, fqdn=False)

def get_package_mirror_info(self)

.. vi: textwidth=79
4 changes: 1 addition & 3 deletions doc/rtd/topics/datasources/maas.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
MAAS
====

*TODO*
.. TODO: add content

For now see: https://maas.io/docs


6 changes: 2 additions & 4 deletions doc/rtd/topics/dir_layout.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ application::
It is typically located at ``/var/lib`` but there are certain configuration
scenarios where this can be altered.

TBD, describe this overriding more.
.. TODO: expand this section

``data/``

Expand Down Expand Up @@ -74,7 +74,7 @@ application::

``seed/``

TBD
Contains seeded data files: meta-data, network-config, user-data, vendor-data

``sem/``

Expand All @@ -83,5 +83,3 @@ application::
is only ran `per-once`, `per-instance`, `per-always`. This folder contains
semaphore `files` which are only supposed to run `per-once` (not tied to the
instance id).

.. vi: textwidth=79