File: //lib/python3.6/site-packages/cloudinit/config/__pycache__/cc_landscape.cpython-36.pyc
3
\�me9 � @ s U d Z ddlZddlmZ ddlmZ ddlmZ ddlm Z m
Z
mZ ddlm
Z
ddlmZ dd lmZmZ dd
lmZ dZdZd
ddddd�iZdZdgZdddeeed�ed�ed�gedgd�Zeee�Z eje�Zeee
edd�dd�Z d d!� Z!dS )"z&install and configure landscape client� N)�chain)�dedent)� ConfigObj)�subp�
type_utils�util)�Cloud)�Config)�
MetaSchema�get_meta_doc)�PER_INSTANCEz/etc/landscape/client.confz/etc/default/landscape-client�client�infoz.https://landscape.canonical.com/message-systemz#http://landscape.canonical.com/pingz/var/lib/landscape/client)Z log_levelZurlZping_urlZ data_patha� This module installs and configures ``landscape-client``. The landscape client
will only be installed if the key ``landscape`` is present in config. Landscape
client configuration is given under the ``client`` key under the main
``landscape`` config key. The config parameters are not interpreted by
cloud-init, but rather are converted into a ConfigObj formatted file and
written out to the `[client]` section in ``/etc/landscape/client.conf``.
The following default client config is provided, but can be overridden::
landscape:
client:
log_level: "info"
url: "https://landscape.canonical.com/message-system"
ping_url: "http://landscape.canoncial.com/ping"
data_path: "/var/lib/landscape/client"
.. note::
see landscape documentation for client config keys
.. note::
if ``tags`` is defined, its contents should be a string delimited with
``,`` rather than a list
ZubuntuZcc_landscapeZ Landscapez&Install and configure landscape clienta� # To discover additional supported client keys, run
# man landscape-config.
landscape:
client:
url: "https://landscape.canonical.com/message-system"
ping_url: "http://landscape.canonical.com/ping"
data_path: "/var/lib/landscape/client"
http_proxy: "http://my.proxy.com/foobar"
https_proxy: "https://my.proxy.com/foobar"
tags: "server,cloud"
computer_title: "footitle"
registration_key: "fookey"
account_name: "fooaccount"
z� # Minimum viable config requires account_name and computer_title
landscape:
client:
computer_title: kiosk 1
account_name: Joe's Biz
aW # To install landscape-client from a PPA, specify apt.sources
apt:
sources:
trunk-testing-ppa:
source: ppa:landscape/self-hosted-beta
landscape:
client:
account_name: myaccount
computer_title: himom
� landscape)�id�name�title�description�distrosZexamplesZ frequencyZactivate_by_schema_keys)r �cfg�cloud�args�returnc C s� |j di �}t|t�s,tdjtj|�d���|s4dS |jjdg� t t
|g}ttdd� t
t|�d j� �D �� �}tjd d
g| � tjtd� dS )z�
Basically turn a top level 'landscape' entry with a 'client' dict
and render it to ConfigObj format under '[client]' section in
/etc/landscape/client.conf
r zR'landscape' key existed in config, but not a dictionary type, is a {_type} instead)Z_typeNzlandscape-clientc S s&