3 \�me� � @ s d dl Z d dlmZ d dljjjZd dlmZmZm Z m Z e je�Z ddddde j� e j� d e j� d f d�ZG dd � d ej�ZeejffgZdd� Zedk�rd dlZej� s�ed� ejd� ejdd�jZejeed ed ed ed ed �Zed Zej� Z dS )� N)�Tuple)�sources�stages�util�versionzhttp://169.254.169.254� � � z"Cloud-Init/%s - OS: %s Variant: %s�systemZvariant)�url�retries�timeout�waitz user-agentc s~ e Zd ZU dZejjd Zeedf � fdd�Z e dd� �Zdd � Zd d� Z dd � Zdd� Zedd� �Zedd� �Z� ZS )�DataSourceVultr�Vultr�startup-script.c s6 t t| �j|||� tjtj|ddgi �tg�| _d S )NZ datasourcer )�superr �__init__r Z mergemanydictZget_cfg_by_path�BUILTIN_DS_CONFIG�ds_cfg)�self�sys_cfg�distro�paths)� __class__� �%/usr/lib/python3.6/DataSourceVultr.pyr % s zDataSourceVultr.__init__c C s t j� S )N)�vultr�is_vultrr r r r � ds_detect. s zDataSourceVultr.ds_detectc C sT t jd� | j� | _| jd | _| j| j� t jd| jd � t jd| jd � dS )NzMachine is a Vultr instancez user-dataz SUBID: %szinstance-idzHostname: %szlocal-hostnameT)�LOG�debug�get_metadata�metadata�userdata_raw�get_datasource_data)r r r r � _get_data3 s zDataSourceVultr._get_datac C sr d|kr"t j|d � |d | _nt j|d �| _|d | _| jd dkrTd| jd<