本文整理汇总了Python中salt.config.get_cloud_config_value函数的典型用法代码示例。如果您正苦于以下问题:Python get_cloud_config_value函数的具体用法?Python get_cloud_config_value怎么用?Python get_cloud_config_value使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_cloud_config_value函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: regenerate_minion_keys
def regenerate_minion_keys(host, vm_, __opts__):
logger.info('Regenerating minion keys for: {0}'.format(vm_['name']))
# Kill existing master keys
key_cli = salt.key.KeyCLI(__opts__)
matches = key_cli.key.name_match(vm_['name'])
if matches:
key_cli.key.delete_key(match_dict=matches)
# Kill remote master keys
kwargs = get_ssh_kwargs(host, vm_, __opts__)
tty = config.get_cloud_config_value(
'tty', vm_, __opts__, default=True
)
sudo = config.get_cloud_config_value(
'sudo', vm_, __opts__, default=True
)
salt.utils.cloud.root_cmd('rm -rf /etc/salt/pki', tty, sudo, **kwargs)
# Generate new keys for the minion
minion_pem, minion_pub = salt.utils.cloud.gen_keys(
config.get_cloud_config_value('keysize', vm_, __opts__)
)
# Preauthorize the minion
logger.info('Accepting key for {0}'.format(vm_['name']))
key_id = vm_.get('id', vm_['name'])
salt.utils.cloud.accept_key(
__opts__['pki_dir'], minion_pub, key_id
)
return minion_pem, minion_pub
示例2: _authenticate
def _authenticate():
'''
Retrieve CSRF and API tickets for the Proxmox API
'''
global url, ticket, csrf, verify_ssl
url = config.get_cloud_config_value(
'url', get_configured_provider(), __opts__, search_global=False
)
username = config.get_cloud_config_value(
'user', get_configured_provider(), __opts__, search_global=False
),
passwd = config.get_cloud_config_value(
'password', get_configured_provider(), __opts__, search_global=False
)
verify_ssl = config.get_cloud_config_value(
'verify_ssl', get_configured_provider(), __opts__, search_global=False
)
if verify_ssl is None:
verify_ssl = True
connect_data = {'username': username, 'password': passwd}
full_url = 'https://{0}:8006/api2/json/access/ticket'.format(url)
returned_data = requests.post(
full_url, verify=verify_ssl, data=connect_data).json()
ticket = {'PVEAuthCookie': returned_data['data']['ticket']}
csrf = str(returned_data['data']['CSRFPreventionToken'])
示例3: get_conn
def get_conn():
'''
Return a conn object for the passed VM data
'''
vm_ = get_configured_provider()
driver = get_driver(Provider.DIMENSIONDATA)
region = config.get_cloud_config_value(
'region', vm_, __opts__
)
user_id = config.get_cloud_config_value(
'user_id', vm_, __opts__
)
key = config.get_cloud_config_value(
'key', vm_, __opts__
)
if key is not None:
log.debug('DimensionData authenticating using password')
return driver(
user_id,
key,
region=region
)
示例4: _get_server
def _get_server(vm_, volumes, nics):
'''
Construct server instance from cloud profile config
'''
# Apply component overrides to the size from the cloud profile config
vm_size = _override_size(vm_)
# Set the server availability zone from the cloud profile config
availability_zone = config.get_cloud_config_value(
'availability_zone', vm_, __opts__, default=None,
search_global=False
)
# Assign CPU family from the cloud profile config
cpu_family = config.get_cloud_config_value(
'cpu_family', vm_, __opts__, default=None,
search_global=False
)
# Contruct server object
return Server(
name=vm_['name'],
ram=vm_size['ram'],
availability_zone=availability_zone,
cores=vm_size['cores'],
cpu_family=cpu_family,
create_volumes=volumes,
nics=nics
)
示例5: get_conn
def get_conn():
'''
Return a conn object for the passed VM data
'''
vm_ = get_configured_provider()
driver = get_driver(Provider.OPENSTACK)
authinfo = {
'ex_force_auth_url': config.get_cloud_config_value(
'identity_url', vm_, __opts__, search_global=False
),
'ex_force_service_name': config.get_cloud_config_value(
'compute_name', vm_, __opts__, search_global=False
),
'ex_force_service_region': config.get_cloud_config_value(
'compute_region', vm_, __opts__, search_global=False
),
'ex_tenant_name': config.get_cloud_config_value(
'tenant', vm_, __opts__, search_global=False
),
}
service_type = config.get_cloud_config_value('service_type',
vm_,
__opts__,
search_global=False)
if service_type:
authinfo['ex_force_service_type'] = service_type
insecure = config.get_cloud_config_value(
'insecure', vm_, __opts__, search_global=False
)
if insecure:
import libcloud.security
libcloud.security.VERIFY_SSL_CERT = False
password = config.get_cloud_config_value(
'password', vm_, __opts__, search_global=False
)
if password is not None:
authinfo['ex_force_auth_version'] = '2.0_password'
log.debug('OpenStack authenticating using password')
return driver(
config.get_cloud_config_value(
'user', vm_, __opts__, search_global=False
),
password,
**authinfo
)
authinfo['ex_force_auth_version'] = '2.0_apikey'
log.debug('OpenStack authenticating using apikey')
return driver(
config.get_cloud_config_value('user',
vm_,
__opts__,
search_global=False),
config.get_cloud_config_value('apikey', vm_, __opts__,
search_global=False), **authinfo)
示例6: get_password
def get_password(vm_):
'''
Return the password to use
'''
return config.get_cloud_config_value(
'password', vm_, __opts__, default=config.get_cloud_config_value(
'passwd', vm_, __opts__, search_global=False
), search_global=False
)
示例7: get_conn
def get_conn(service="SoftLayer_Virtual_Guest"):
"""
Return a conn object for the passed VM data
"""
client = SoftLayer.Client(
username=config.get_cloud_config_value("user", get_configured_provider(), __opts__, search_global=False),
api_key=config.get_cloud_config_value("apikey", get_configured_provider(), __opts__, search_global=False),
)
return client[service]
示例8: check_for_ssh
def check_for_ssh(cloud_map, hosts):
"""
Attempts to SSH to the given hosts.
@param (stacks.models.Stack) - the stack the hosts belong to
@param (list[stacks.models.Host]) - hosts to check for SSH
@returns (list) - list of tuples (bool, Host) where the bool value is
True if we could connect to Host over SSH, False otherwise
"""
opts = get_salt_cloud_opts()
vms = get_stack_vm_map(cloud_map)
mapper = get_stack_mapper(cloud_map)
result = []
# Iterate over the given hosts. If the host hasn't been assigned a
# hostname or is not physically running, there's nothing we can do
# so we skip them
for host in hosts:
if host.hostname not in vms:
continue
# Build the standard vm_ object and inject some additional stuff
# we'll need
vm_ = vms[host.hostname]
vm_provider_metadata = mapper.get_running_by_names(host.hostname)
if not vm_provider_metadata:
# host is not actually running so skip it
continue
provider, provider_type = vm_['provider'].split(':')
vm_.update(
vm_provider_metadata[provider][provider_type][vm_['name']]
)
# Pull some values we need to test for SSH
key_filename = config.get_cloud_config_value(
'private_key', vm_, opts, search_global=False, default=None
)
username = config.get_cloud_config_value(
'ssh_username', vm_, opts, search_global=False, default=None
)
hostname = config.get_cloud_config_value(
'private_ips', vm_, opts, search_global=False, default=None
)
# Test SSH connection
ok = salt.utils.cloud.wait_for_passwd(
hostname,
key_filename=key_filename,
username=username,
ssh_timeout=1, # 1 second timeout
maxtries=3, # 3 max tries per host
trysleep=0.5, # half second between tries
display_ssh_output=False)
result.append((ok, host))
return result
示例9: query
def query(params=None):
'''
Make a web call to aliyun ECS REST API
'''
path = 'https://ecs.aliyuncs.com/'
access_key_id = config.get_cloud_config_value(
'id', get_configured_provider(), __opts__, search_global=False
)
access_key_secret = config.get_cloud_config_value(
'key', get_configured_provider(), __opts__, search_global=False
)
timestamp = time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime())
# public interface parameters
parameters = {
'Format': 'JSON',
'Version': DEFAULT_ALIYUN_API_VERSION,
'AccessKeyId': access_key_id,
'SignatureVersion': '1.0',
'SignatureMethod': 'HMAC-SHA1',
'SignatureNonce': str(uuid.uuid1()),
'TimeStamp': timestamp,
}
# include action or function parameters
if params:
parameters.update(params)
# Calculate the string for Signature
signature = _compute_signature(parameters, access_key_secret)
parameters['Signature'] = signature
request = requests.get(path, params=parameters, verify=False)
if request.status_code != 200:
raise SaltCloudSystemExit(
'An error occurred while querying aliyun ECS. HTTP Code: {0} '
'Error: {1!r}'.format(
request.status_code,
request.text
)
)
log.debug(request.url)
content = request.text
#print content
result = json.loads(content, object_hook=salt.utils.decode_dict)
if 'Code' in result:
raise SaltCloudSystemExit(
pprint.pformat(result.get('Message', {}))
)
return result
示例10: query
def query(method='droplets', droplet_id=None, command=None, args=None, http_method='get'):
'''
Make a web call to DigitalOcean
'''
base_path = str(config.get_cloud_config_value(
'api_root',
get_configured_provider(),
__opts__,
search_global=False,
default='https://api.digitalocean.com/v2'
))
path = '{0}/{1}/'.format(base_path, method)
if droplet_id:
path += '{0}/'.format(droplet_id)
if command:
path += command
if not isinstance(args, dict):
args = {}
personal_access_token = config.get_cloud_config_value(
'personal_access_token', get_configured_provider(), __opts__, search_global=False
)
data = json.dumps(args)
requester = getattr(requests, http_method)
request = requester(path, data=data, headers={'Authorization': 'Bearer ' + personal_access_token, 'Content-Type': 'application/json'})
if request.status_code > 299:
raise SaltCloudSystemExit(
'An error occurred while querying DigitalOcean. HTTP Code: {0} '
'Error: \'{1}\''.format(
request.status_code,
# request.read()
request.text
)
)
log.debug(request.url)
# success without data
if request.status_code == 204:
return True
content = request.text
result = json.loads(content)
if result.get('status', '').lower() == 'error':
raise SaltCloudSystemExit(
pprint.pformat(result.get('error_message', {}))
)
return result
示例11: __get_ssh_credentials
def __get_ssh_credentials(vm_):
'''
Get configured SSH credentials.
'''
ssh_user = config.get_cloud_config_value(
'ssh_username', vm_, __opts__, default=os.getenv('USER'))
ssh_key = config.get_cloud_config_value(
'ssh_keyfile', vm_, __opts__,
default=os.getenv('HOME') + '/.ssh/google_compute_engine')
return ssh_user, ssh_key
示例12: get_conn
def get_conn():
"""
Return a conn object for the passed VM data
"""
driver = get_driver(Provider.GOGRID)
vm_ = get_configured_provider()
return driver(
config.get_cloud_config_value("apikey", vm_, __opts__, search_global=False),
config.get_cloud_config_value("sharedsecret", vm_, __opts__, search_global=False),
)
示例13: get_conn
def get_conn():
'''
Return a conn object for the passed VM data
'''
vm_ = get_configured_provider()
driver = get_driver(Provider.IBM)
return driver(
config.get_cloud_config_value('user', vm_, __opts__, search_global=False),
config.get_cloud_config_value('password', vm_, __opts__, search_global=False)
)
示例14: get_conn
def get_conn():
"""
Return a conn object for the passed VM data
"""
vm_ = get_configured_provider()
auth_minion = config.get_cloud_config_value("auth_minion", vm_, __opts__, search_global=False)
config_profile = config.get_cloud_config_value("config_profile", vm_, __opts__, search_global=False)
if config_profile:
return {"auth_minion": auth_minion, "profile": config_profile}
示例15: get_conn
def get_conn():
"""
Return a conn object for the passed VM data
"""
vm_ = get_configured_provider()
driver = get_driver(Provider.IBM)
return driver(
config.get_cloud_config_value("user", vm_, __opts__, search_global=False),
config.get_cloud_config_value("password", vm_, __opts__, search_global=False),
)