辛苦工作的python框架,为您的云服务。内置的工作人员包括oci、aws、chef、scaler、realtional数据源。

toil-p的Python项目详细描述


#辛辛苦苦地工作着,眼睛和脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚脚为地地地地为你的辛苦地为你的辛苦地为云云的描述tion

toil python框架面向需要访问云服务的云管理员或程序员。提供了一个简单的模式来利用
和开发sdk和服务,并帮助您快速起步并进入
云。

d
发现用多个配置文件、身份验证和授权来安全配置配置文件是一件麻烦和徒劳的事情。

**toil**提供了一个简单的json格式的集中配置文件,允许每个sdk有多个配置文件,并加密敏感值。


built-in提供程序包括oci、aws、chef、scaler和关系数据源。

该框架允许您添加自己的服务,具有可扩展性,并且遵循"约定优于配置"的设计模式。服务是完全公开的,因此您不必担心框架隐藏的实现细节。






帽子是新的吗?
-2018-05-08改进了OCI库,并添加了垂直实例缩放示例

-2018-05-07配置控制台工具
````


创建目录,创建config.json,创建密钥

[-创建文件名]
创建文件名为

[-创建密钥文件名]
创建文件名为

[-加密配置文件名]
加密配置文件

[--decrypt config_file_name]
解密配置文件

若要开始,请尝试以下操作:

toil config--init/path/.toil
在目录中创建config.json文件和加密密钥

toil config-k/path/.toil/key--encrypt/path/.toil/config.json
创建文件/path/.toil/config.json.encrypted,其中所有值都加密


toil config-k/path/.toil/key--decrypt/users/aclove/.toil/config.json.encrypted
创建文件/path/.toil/config.json.encrypted.decryp所有值都被解密的ted
```
-2018-05-04可通过pip获得。https://pypi.org/project/toil py
````
pip安装toil py
````
-2018-05-04第二版1.1.0。重组后的project
-2018-05-03控制台应用程序toil config将很快在1.1.0中发布
-2018-04-26第一版1.0.0





配置文件为json,以后可能提供yaml。

每个服务可能定义了多个配置文件。例如,您可能拥有
oci管理配置文件、oci基本配置文件和oci只读配置文件。您可以在每个配置文件中指定不同的凭据。


如果未提供配置文件名,则所有方法调用中都使用"默认"配置文件。

``json
{
"toil":{
"datasources":{
"default":{
"log level":"info"、
"provider":"toil"。provider.datasource.alchemysqldatasourceprovider",
"proxy",
"adapter":"mysql+pymysql",
"database":"db_name",
"env":"db_env",
"host",
"port":"3306",
"user":"user",
"password":"password"
}
},
"services":{
"oci":{
"alias":"oci",
"logu-level":"debug",
"provider":"toil.provider.oci-sdk.ocisdklib",
"proxy",
"default":{
""user":"ocid1.user.oc1…",
"fingerprint":"…",
"key-file":"~/.oci/oci-api-key.pem",
"tenance":"ocid1.tenance.oc1…",
"region":"us-ashburn-1"

"oci-prod-admin":{
"user":"ocid1.user.oc1…",
"指纹":"…",
"密钥文件":"~/.oci/oci_api_key.pem",
"租赁":"ocid1.tenance.oc1…",
"区域":"us-ashburn-1"
},
"oci_prod_readonly":{
"用户":"ocid1.user.oc1…",
"指纹":"…",
"密钥文件":"~/.oci/oci-api-key.pem",
"租赁":"ocid1.tenance.oc1…",
"区域":"us-ashburn-1"
},
"oci-dev-readonly":{
"用户":"ocid1.user.oc1…",
"指纹":"…",
"密钥文件":":"~/.oci/oci_api_key.pem",
"租赁":"ocid1.tenance.oc1…",
"区域":"us-ashburn-1"
}
},
"aws":{
"别名":"aws",
"日志级别":"信息",
"提供者":"toil.provider.aws.awslib",
"代理":"proxy-h网络登录名:代理端口,
"默认":{
"访问密钥ID":"访问密钥ID",
"账号"账号,
"地区":"美国东部地区1",
"角色"arn"arn:aws:aws:aws:aws:aws:aws:aws:ams:role-east-1,
"角色"身份,
"role-role-arn:aws:aws:aws:aws:aws:aws:aws:aws:aws:aws:aws:aws:aws:aws:aws:aws:aws:aws:aws:aws:aws:aws:ams:ams:role:role/role:role-name,"secret-accessu-key":"secret-accessu-key"
},
"aws-profile-1"{
"accessu-key-id":"accessu-key-id",
"account-number",
"region":"us-east-1",
"role-arn","arn:aws:aws:aws:aws:iam:ams:ams:ams:ams:ams:ams:ams:ams:ams:ams:ams:www.角色/角色le name",
"role_session_name":"role_session_name",
"secret_access_key":"secret_access_key"
}
},
"openstack":{
"alias":"openstack",
"log_level":"info",
"provider":"toil.provider.openstack.openstackl"ib",
"proxy",
"default":{
"auth-url":"auth-url",
"domain",
"password",
"project",
"project",
"region",
"user",
"user",
"user-domain":"user",
"_
}








````


`
` ` ` ` `示例代码


` ` ` ` ` `从bash调用程序
` ` `
` ` ` ` ` ` ` `
python oci list_list_-company-c/data/file/config/toil.json-k yppaalq0g7piocchg0077piocchg0hll1qi7orzdwk8vj3cr8vj3cr8vj3cr8-hsuoy/>```

`````
#进程参数-获取配置文件位置和加密密钥
args=oil.parm.handle.handle_parms(['c','k'])

/>
OCI(Oracle云基础设施)
````
会话=framework.oci.session(env)
计算客户端=会话.client('compute')
实例=会话.paginate(计算客户端.list_实例,会话.config()['compartment_id'])

(e)
````

`````
session=framework.openstack.session()
openstack.session=openstack.session()
openstack.connection=session.connect=session.connect()

``
````
````
````
```
``
`````
``>
` `
````` ```
=框架.scalr.session()
scalr_envs=session.list('/account/environments/')
````

\aws
```
instance=framework.aws.resource('ec2','默认''ec2','default').instance('i-xxxxxxx')
tags=instance.tags
````

<
35 35 aws sss3上传目录
````````
````````
>framework.aws.aws.uploadconfidential_data="这是一个加密测试"
encrypted_data=framework.encrypter.encrypt(confidential_data,encryption_key=key)
decrypted_data=framework.encrypter.decrypt(encrypted_data,encryption_key=key)
```
图书馆的歌剧院。尼斯!
````
my-service_-session=framework.my-service_-service_-session.my-service_-session.my_-service_-session.my-service_-session.my-service ```


```````````

``````````
`````
>```````
>>


=>

<
=>

<

<

<
<
如果发生异常,请重试def get(self,url,**kwargs):

```

` ` ` ` ` ` `
` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `"


标准参数包括:
--c=config file
--e=environment
--k=encryption key
--o=options
--v=verbose




-生成加密密钥(可选)
-创建配置文件-项目中的示例代码
-向配置添加凭据和密码
-加密配置文件。(可选)
-使用配置文件


`````
config_file='c/temp/toil.json'
加密的配置文件='c/temp/toil-enc.json'
解密的配置文件='c/temp/toil/toil-denc.json'



生成一个配置文件
toil.config.util.generate_config_配置文件(config_文件)



现在更新f带有凭据和密码的文件。

ed_文件,decrypted_文件,encryption_key=key)
````


/>logger=logging.getlogger(u name_uu)



class examplelib(oil.provider.base.baseprovider):
"
"类示例


>属性:
config:dict with configuration data
"

def_u init_u(self,cloud provider,config):
super(examplelib,self)。\uu init提供程序,配置)

def session(self,profile='default'):
"
创建会话。

args:
profile(str):配置文件中定义的要使用的配置文件返回:

session
"
如果self.config中的配置文件:
self.configure搌proxy()
session=exampleSession(self,
api_url=self.config[profile]['api_url'],
api_key_id=self.config[profile]['api_key_id'],
api_key_secret=self.config[profile]['api_key_secret']
返回会话
否则:
raise toil.cloudexception(
"profile'{profile}"未在config{config}中定义)。格式(profile=profile,config=self.config))



类示例会话(对象):
"
"示例
"
"def初始(self、client、api-url、api-key-id、api-key-secret):
self.client=client
self.api-url=api-url
self.api-key-id=api-key-id
self.api-key-secret=ap我是一个关键的秘密
super(例如session,self)超级(例如session,self)超级(例如session,self)超级(例如session,self)超级(例如self)超级(例如self)超级(例如self)超级(例如self)超级(例如self,self,path,**kwargs)
return[]
br/>return[]>
br/>

return{

def post(self,*args,**kwargs):
返回{}

@toil.util.decorator.retry(3,异常)
def get(self,url,**kwargs):
返回{}
````

别名用作库的属性名。
``json
"services":{
"example\service":{
"provider":"toil.provider.example.examplelib",
"alias":"example\service",
"log\u level":"info",
"proxy":",
"default":{
"account\number":"123",
"access\u key\id":"456,
"机密访问密钥":"789",
>>
"profile2":{
"账号":"abc",
"访问密钥id":"def",
"机密访问密钥密钥密钥":"ghi",
>>>
>>
>>>
>>>
>>>
````
>
>>
>
><使用您的服务,使用您的服务,使用您的服务,使用您的服务。br/>session.fetch()
```

\examples
rev查看示例包。
获取代码:https://github.com/drewwncrew/drewwncrew/toil py



<<



<


<35<<<<<
mkdir/projects
cd ~/projects
` `









````
sudo yum groupinstall-y'开发工具'
sudo-yum install-y python devel
sudo-yum install-y xz-libs
sudo-yum install-y zlib devel
sudo-yum install-y openssl devel
sudo-yum install-y openldap devel
sudo-yum install-y mysql connector python

攀爬巨蟒)
`````
wget http://www.python.org/ftp/python/2.7.12/python-2.7.12.tar.xz
``解码(-d)xz编码的tar档案:
xz-d python-2.7.7.12.tar.xz
``````
`````
```````

``````````
`>
```````>
```````````````````````>
`.7(仅在安装python时执行此操作)
````
cd python-2.7.12
./configure
sudo make
sudo make altinstall
#python2.7 should now be in /usr/local/bin/
```

### Ensure pip is installed
```
wget https://bootstrap.pypa.io/get-pip.py
sudo /usr/local/bin/python2.7 get-pip.py
#pip2.7 should now be in /usr/local/bin/
```


### Install virtual environment
```
cd ~/projects
sudo/usr/local/bin/pip2.7安装virtualenv
`````


激活虚拟环境
`````
virtualenv--python=/usr/local/bin/python2.7 toil python2 7
source/projects/bin/activat
`````
````
`````
``````
``````>```````
wget-o/dist/toil-0.0.1.tar.gz
pip2.7install-i/home/user/projects/myproject/myproject/oil-0.0.0.1.tar.gz
```

为您的项目创建一个目录
````
mkdir ~/projects/myproject
/projects/myproject/myproject/
//确保您的虚拟环境处于活动状态
source/projects/bin/activate
哪个python应该返回/projects/projects/topython27/boopython27/bin/python/python/python/python/br/>```

s
-从https://www.python.org/downloads/
-install.whl by``pip install some package.whl```
-http://dev.mysql.com/downloads/connector/python/
-使用pip获取发行版。请参见https://pypi.org/project/toil py/
-pip install-i toil-0.0.1.tar.gz
-使用命令python setup.py sdist--formats=gztar创建一个源发行版

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java检查服务器端广告查看(php)   Java将注释的使用限制在某些类型的方法上?   java使用gson重用顶级模型   当Java Spring作为Docker容器运行时,它不会与Concur对话   通过Java在不使用新URL()的情况下加载文件   Dicom4che调用的java结果不显示umlaut字符   java Updatea使用php/codeigniter使用ajax/javascript映射标记   Java8中的javaspringboot@ExceptionHandler未被访问   java如何读取长度未知的用户输入?   EclipseJava在MacBook和OSX上的性能非常差,而在Windows下在同一个单元上的性能就不那么差了,为什么?   java在Lucene查询语法中与+有什么区别   使用Spark和Cassandra Java驱动程序时检测到番石榴问题#1635   java工具栏标题未显示在选项卡式活动中