

def get_params_from_args(self, args):
    '\n    Searches through args to build a dict containing the parameters\n    necessary to interact with Amazon EC2.\n\n    Args:\n      args: A Namespace containing the arguments that the user has\n        invoked an AppScale Tool with.\n    '
    if (not isinstance(args, dict)):
        args = vars(args)
    params = {
        self.PARAM_CREDENTIALS: {
            
        },
        self.PARAM_GROUP: args['group'],
        self.PARAM_IMAGE_ID: args['machine'],
        self.PARAM_INSTANCE_TYPE: args['instance_type'],
        self.PARAM_KEYNAME: args['keyname'],
        self.PARAM_STATIC_IP: args.get(self.PARAM_STATIC_IP),
        self.PARAM_ZONE: args.get('zone'),
        'IS_VERBOSE': args.get('verbose', False),
    }
    if params[self.PARAM_ZONE]:
        params[self.PARAM_REGION] = params[self.PARAM_ZONE][:(- 1)]
    else:
        params[self.PARAM_REGION] = self.DEFAULT_REGION
    for credential in self.REQUIRED_CREDENTIALS:
        if os.environ.get(credential):
            params[self.PARAM_CREDENTIALS][credential] = os.environ[credential]
        else:
            raise AgentConfigurationException("Couldn't find {0} in your environment. Please set it and run AppScale again.".format(credential))
    self.assert_credentials_are_valid(credential)
    if (args.get('use_spot_instances') == True):
        params[self.PARAM_SPOT] = True
    else:
        params[self.PARAM_SPOT] = False
    if params[self.PARAM_SPOT]:
        if args.get('max_spot_price'):
            params[self.PARAM_SPOT_PRICE] = args['max_spot_price']
        else:
            params[self.PARAM_SPOT_PRICE] = self.get_optimal_spot_price(self.open_connection(params), params[self.PARAM_INSTANCE_TYPE], params[self.PARAM_ZONE])
    return params

dataset/ETHPy150Open AppScale/appscale-tools/lib/agents/ec2_agent.py EC2Agent.get_params_from_args/VarMisuse@237/415 `params`->`credential`