11

我正在研究 python shade模块,以便使用我们的 OpenStack 安装来自动化一些任务。

本页说明

创建一个配置文件,将您的用户名、密码、project_name 存储在 ~/.config/openstack/clouds.yml 中。

我仔细看了看;但我找不到任何信息如何以不同的方式提供凭据;例如,作为我可以在 python 代码中创建的某些对象的参数。

长话短说:这可能吗?或者这个要求是否立即迫使我“离开阴影”?并改用 OpenStack python sdk

4

2 回答 2

4

我不是 python 专家,但经过一番搜索“其他”openclient 模块是如何做到的;也许以下可以工作(来自您的链接的示例代码;只是一点增强):

from shade import *

auth_data = {
# URL to the Keystone API endpoint.
  'auth_url': 'url',
# User credentials.
'user_domain_name': ...
}

稍后执行此操作:

cloud = openstack_cloud(cloud='your-cloud', **auth_data)
于 2017-02-17T14:07:46.227 回答
0

据我了解,这会将任何密钥、密码或安全敏感文件放在我们与 Travis.yml 一起使用的 yml 文件中,并保留在本地目录中并添加到 git ignore 中。

话虽这么说,这是使用 python 和 twitter api 函数,我很确定它使用或引用了一个名为 tweepy 的程序。

这对我们很有帮助,听起来对你来说可能很接近。

让我知道这是否有帮助。

with open("secrets.yml") as f:
    content = f.read()
# from secrets.yml import CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_SECRET
secret = yaml.load(content)
##################################################################################################
# authorize tweepy with CONSUMER_KEY and CONSUMER_SECRET
auth = tweepy.OAuthHandler(secret["CONSUMER_KEY"], secret["CONSUMER_SECRET"])
auth.secure = True
# read in ACCESS_TOKEN and ACCESS_SECRET variables to tweepy
auth.set_access_token(secret["ACCESS_TOKEN"], secret["ACCESS_SECRET"])
于 2017-02-22T18:03:39.713 回答