ec2.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:edx-configuration 作者: kola-er 项目源码 文件源码
def read_settings(self):
        ''' Reads the settings from the ec2.ini file '''

        config = ConfigParser.SafeConfigParser()
        config.read(self.args.inifile)

        # is eucalyptus?
        self.eucalyptus_host = None
        self.eucalyptus = False
        if config.has_option('ec2', 'eucalyptus'):
            self.eucalyptus = config.getboolean('ec2', 'eucalyptus')
        if self.eucalyptus and config.has_option('ec2', 'eucalyptus_host'):
            self.eucalyptus_host = config.get('ec2', 'eucalyptus_host')

        # Regions
        self.regions = []
        configRegions = config.get('ec2', 'regions')
        configRegions_exclude = config.get('ec2', 'regions_exclude')
        if (configRegions == 'all'):
            if self.eucalyptus_host:
                self.regions.append(boto.connect_euca(host=self.eucalyptus_host).region.name)
            else:
                for regionInfo in ec2.regions():
                    if regionInfo.name not in configRegions_exclude:
                        self.regions.append(regionInfo.name)
        else:
            self.regions = configRegions.split(",")

        # Destination addresses
        self.destination_variable = config.get('ec2', 'destination_variable')
        self.vpc_destination_variable = config.get('ec2', 'vpc_destination_variable')

        # Route53
        self.route53_enabled = config.getboolean('ec2', 'route53')
        self.route53_excluded_zones = []
        if config.has_option('ec2', 'route53_excluded_zones'):
            self.route53_excluded_zones.extend(
                config.get('ec2', 'route53_excluded_zones', '').split(','))

        # Cache related
        if 'EC2_CACHE_PATH' in os.environ:
            cache_path = os.environ['EC2_CACHE_PATH']
        elif self.args.cache_path:
            cache_path = self.args.cache_path
        else:
            cache_path = config.get('ec2', 'cache_path')
        if not os.path.exists(cache_path):
            os.makedirs(cache_path)

        if 'AWS_PROFILE' in os.environ:
            aws_profile = "{}-".format(os.environ.get('AWS_PROFILE'))
        else:
            aws_profile = ""

        self.cache_path_cache = cache_path + "/{}ansible-ec2.cache".format(aws_profile)
        self.cache_path_tags = cache_path + "/{}ansible-ec2.tags.cache".format(aws_profile)
        self.cache_path_index = cache_path + "/{}ansible-ec2.index".format(aws_profile)
        self.cache_max_age = config.getint('ec2', 'cache_max_age')
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号