当前位置: 首页>>代码示例>>Python>>正文


Python DoManager.sizes方法代码示例

本文整理汇总了Python中dopy.manager.DoManager.sizes方法的典型用法代码示例。如果您正苦于以下问题:Python DoManager.sizes方法的具体用法?Python DoManager.sizes怎么用?Python DoManager.sizes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在dopy.manager.DoManager的用法示例。


在下文中一共展示了DoManager.sizes方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: load_all_data_from_digital_ocean

# 需要导入模块: from dopy.manager import DoManager [as 别名]
# 或者: from dopy.manager.DoManager import sizes [as 别名]
    def load_all_data_from_digital_ocean(self):
        ''' Use dopy to get all the information from DigitalOcean '''
        manager  = DoManager(self.client_id, self.api_key)

        self.data = {}
        self.data['regions']  = self.sanitize_list(manager.all_regions())
        self.data['images']   = self.sanitize_list(manager.all_images(filter=None))
        self.data['sizes']    = self.sanitize_list(manager.sizes())
开发者ID:vinua,项目名称:ansible-playbooks,代码行数:10,代码来源:do_vars.py

示例2: DigitalOceanBase

# 需要导入模块: from dopy.manager import DoManager [as 别名]
# 或者: from dopy.manager.DoManager import sizes [as 别名]
class DigitalOceanBase(Inventory):
    address_field = 'ip_address'

    def __init__(self, settings_file='digital_ocean.ini'):
        super(DigitalOceanBase, self).__init__()

        self.config = Settings(prefix='DO', section='digital_ocean',
                               filename=settings_file)
        self.data_params = {}
        self.do = DoManager(self.config.get('client_id'),
                            self.config.get('api_key'))

    @file_cache('/tmp/ansible-droplets-cache.json')
    def get_data(self):
        if not self.data:
            self.data = self.do.all_active_droplets()

        return self.data

    @file_cache('/tmp/ansible-data-params-cache.json', timeout=3600)
    def get_data_params(self):
        if not self.data_params:
            def _convert(data):
                ret = {}
                for datum in data:
                    # Ensure keys are always strings because JSON
                    # strings are always strings
                    ret[str(datum['id'])] = datum

                return ret

            self.data_params['regions'] = _convert(self.do.all_regions())
            self.data_params['images'] = _convert(self.do.all_images())
            self.data_params['ssh_keys'] = _convert(self.do.all_ssh_keys())
            self.data_params['sizes'] = _convert(self.do.sizes())

        return self.data_params

    def get_data_param(self, host, part, find_key, display_template):
        try:
            datum = self.get_data_params()[part][str(host[find_key])]
        except KeyError:
            pass
        else:
            return (display_template.format(**datum), self.get_address(host))
开发者ID:gaqzi,项目名称:ansible-inventory,代码行数:47,代码来源:digital_ocean.py

示例3: load_all_data_from_digital_ocean

# 需要导入模块: from dopy.manager import DoManager [as 别名]
# 或者: from dopy.manager.DoManager import sizes [as 别名]
    def load_all_data_from_digital_ocean(self):
        ''' Use dopy to get all the information from DigitalOcean and save data in cache files '''
        manager  = DoManager(None, self.access_token, api_version=2)

        self.data = {}
        self.data['droplets'] = manager.all_active_droplets()
        self.data['regions']  = manager.all_regions()
        self.data['images']   = manager.all_images(filter=None)
        self.data['sizes']    = manager.sizes()
        self.data['ssh_keys'] = manager.all_ssh_keys()
        self.data['domains']  = manager.all_domains()
        self.index = {}
        self.index['region_to_name']  = self.build_index(self.data['regions'], 'name', 'slug')
        self.index['size_to_name']    = self.build_index(self.data['sizes'], 'memory', 'slug')
        self.index['image_to_name']   = self.build_index(self.data['images'], 'id', 'name')
        self.index['image_to_distro'] = self.build_index(self.data['images'], 'id', 'distribution')
	self.index['host_to_droplet'] = self.build_index(self.data['droplets'], 'ip_address', 'id', False)
        self.build_inventory()

        self.write_to_cache()
开发者ID:galal-hussein,项目名称:ansible-for-devops,代码行数:22,代码来源:digital_ocean_v2.py

示例4: DigitalOceanInventory

# 需要导入模块: from dopy.manager import DoManager [as 别名]
# 或者: from dopy.manager.DoManager import sizes [as 别名]
class DigitalOceanInventory(object):

    ###########################################################################
    # Main execution path
    ###########################################################################

    def __init__(self):
        ''' Main execution path '''

        # DigitalOceanInventory data
        self.data = {}      # All DigitalOcean data
        self.inventory = {} # Ansible Inventory

        # Define defaults
        self.cache_path = '.'
        self.cache_max_age = 0
        self.use_private_network = False
        self.group_variables = {}

        # Read settings, environment variables, and CLI arguments
        self.read_settings()
        self.read_environment()
        self.read_cli_args()

        # Verify credentials were set
        if not hasattr(self, 'api_token'):
            print('''Could not find values for DigitalOcean api_token.
They must be specified via either ini file, command line argument (--api-token),
or environment variables (DO_API_TOKEN)''')
            sys.exit(-1)

        # env command, show DigitalOcean credentials
        if self.args.env:
            print("DO_API_TOKEN=%s" % self.api_token)
            sys.exit(0)

        # Manage cache
        self.cache_filename = self.cache_path + "/ansible-digital_ocean.cache"
        self.cache_refreshed = False

        if self.is_cache_valid:
            self.load_from_cache()
            if len(self.data) == 0:
                if self.args.force_cache:
                    print('''Cache is empty and --force-cache was specified''')
                    sys.exit(-1)

        self.manager = DoManager(None, self.api_token, api_version=2)

        # Pick the json_data to print based on the CLI command
        if self.args.droplets:
            self.load_from_digital_ocean('droplets')
            json_data = {'droplets': self.data['droplets']}
        elif self.args.regions:
            self.load_from_digital_ocean('regions')
            json_data = {'regions': self.data['regions']}
        elif self.args.images:
            self.load_from_digital_ocean('images')
            json_data = {'images': self.data['images']}
        elif self.args.sizes:
            self.load_from_digital_ocean('sizes')
            json_data = {'sizes': self.data['sizes']}
        elif self.args.ssh_keys:
            self.load_from_digital_ocean('ssh_keys')
            json_data = {'ssh_keys': self.data['ssh_keys']}
        elif self.args.domains:
            self.load_from_digital_ocean('domains')
            json_data = {'domains': self.data['domains']}
        elif self.args.all:
            self.load_from_digital_ocean()
            json_data = self.data
        elif self.args.host:
            json_data = self.load_droplet_variables_for_host()
        else:    # '--list' this is last to make it default
            self.load_from_digital_ocean('droplets')
            self.build_inventory()
            json_data = self.inventory

        if self.cache_refreshed:
            self.write_to_cache()

        if self.args.pretty:
            print(json.dumps(json_data, sort_keys=True, indent=2))
        else:
            print(json.dumps(json_data))
        # That's all she wrote...


    ###########################################################################
    # Script configuration
    ###########################################################################

    def read_settings(self):
        ''' Reads the settings from the digital_ocean.ini file '''
        config = ConfigParser.SafeConfigParser()
        config.read(os.path.dirname(os.path.realpath(__file__)) + '/digital_ocean.ini')

        # Credentials
        if config.has_option('digital_ocean', 'api_token'):
            self.api_token = config.get('digital_ocean', 'api_token')
#.........这里部分代码省略.........
开发者ID:ChrisSSocha,项目名称:chris.socha.technology,代码行数:103,代码来源:digital_ocean.py

示例5: DigitalOceanInventory

# 需要导入模块: from dopy.manager import DoManager [as 别名]
# 或者: from dopy.manager.DoManager import sizes [as 别名]
class DigitalOceanInventory(object):

    ###########################################################################
    # Main execution path
    ###########################################################################

    def __init__(self):
        """ Main execution path """

        # DigitalOceanInventory data
        self.data = {}  # All DigitalOcean data
        self.inventory = {}  # Ansible Inventory

        # Define defaults
        self.cache_path = "."
        self.cache_max_age = 0

        # Read settings, environment variables, and CLI arguments
        self.read_settings()
        self.read_environment()
        self.read_cli_args()

        # Verify credentials were set
        if not hasattr(self, "api_token"):
            print """Could not find values for DigitalOcean api_token.
They must be specified via either ini file, command line argument (--api-token),
or environment variables (DO_API_TOKEN)"""
            sys.exit(-1)

        # env command, show DigitalOcean credentials
        if self.args.env:
            print "DO_API_TOKEN=%s" % self.api_token
            sys.exit(0)

        # Manage cache
        self.cache_filename = self.cache_path + "/ansible-digital_ocean.cache"
        self.cache_refreshed = False

        if self.is_cache_valid:
            self.load_from_cache()
            if len(self.data) == 0:
                if self.args.force_cache:
                    print """Cache is empty and --force-cache was specified"""
                    sys.exit(-1)

        self.manager = DoManager(None, self.api_token, api_version=2)

        # Pick the json_data to print based on the CLI command
        if self.args.droplets:
            self.load_from_digital_ocean("droplets")
            json_data = {"droplets": self.data["droplets"]}
        elif self.args.regions:
            self.load_from_digital_ocean("regions")
            json_data = {"regions": self.data["regions"]}
        elif self.args.images:
            self.load_from_digital_ocean("images")
            json_data = {"images": self.data["images"]}
        elif self.args.sizes:
            self.load_from_digital_ocean("sizes")
            json_data = {"sizes": self.data["sizes"]}
        elif self.args.ssh_keys:
            self.load_from_digital_ocean("ssh_keys")
            json_data = {"ssh_keys": self.data["ssh_keys"]}
        elif self.args.domains:
            self.load_from_digital_ocean("domains")
            json_data = {"domains": self.data["domains"]}
        elif self.args.all:
            self.load_from_digital_ocean()
            json_data = self.data
        elif self.args.host:
            json_data = self.load_droplet_variables_for_host()
        else:  # '--list' this is last to make it default
            self.load_from_digital_ocean("droplets")
            self.build_inventory()
            json_data = self.inventory

        if self.cache_refreshed:
            self.write_to_cache()

        if self.args.pretty:
            print json.dumps(json_data, sort_keys=True, indent=2)
        else:
            print json.dumps(json_data)
        # That's all she wrote...

    ###########################################################################
    # Script configuration
    ###########################################################################

    def read_settings(self):
        """ Reads the settings from the digital_ocean.ini file """
        config = ConfigParser.SafeConfigParser()
        config.read(os.path.dirname(os.path.realpath(__file__)) + "/digital_ocean.ini")

        # Credentials
        if config.has_option("digital_ocean", "api_token"):
            self.api_token = config.get("digital_ocean", "api_token")

        # Cache related
        if config.has_option("digital_ocean", "cache_path"):
#.........这里部分代码省略.........
开发者ID:ferhaty,项目名称:ansible,代码行数:103,代码来源:digital_ocean.py

示例6: DoManager

# 需要导入模块: from dopy.manager import DoManager [as 别名]
# 或者: from dopy.manager.DoManager import sizes [as 别名]

cliend_id = os.getenv("DO_CLIENT_ID")
api_key=os.getenv("DO_API_KEY")

do = DoManager(cliend_id, api_key)

keys = do.all_ssh_keys()
print "Nome da chave ssh\tid"
for key in keys:
    print "%s\t%d" % (key["name"], key["id"])

print "Nome da imagem\tid"
imgs = do.all_images()
for img in imgs:
    if img["slug"] == "ubuntu-14-04-x64":
        print "%s\t%d" % (img["name"], img["id"])

print "Nome da regiao\tid"
regions = do.all_regions()
for region in regions:
    if region["slug"] == "nyc2":
        print "%s\t%d" % (region["slug"], region["id"])
        
print "Nome do tamanho\tid"
sizes = do.sizes()
for size in sizes:
    if size["slug"] == "512mb":
        print "%s\t%d" % (size["slug"], size["id"])

开发者ID:ffelicissimo,项目名称:caixa-de-ferramentas-devops,代码行数:30,代码来源:do_api_v1.py


注:本文中的dopy.manager.DoManager.sizes方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。