华为公有云运维开发——云主机组管理
调用SDK云主机组管理的方法,实现云主机组的的增删查改。
在云服务器的/root/huawei目录下编写create_server_group.py文件,使用SDK编写Python代码,创建华为云的云服务器组,具体要求为:
(1)云服务器组名称:chinaskills_server_group;
(2)云服务器组策略:反亲和性;
(3)如果安全组已经存在,代码中需要先删除;
(4)输出此云服务器组的详细信息。
完成后提交云服务器节点的用户名、密码和IP地址到答题框。
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkecs.v2.region.ecs_region import EcsRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkecs.v2 import *
if __name__ == "__main__":
ak = "UCJEM0YMIIEGCS3SGW4R"
sk = "ueyWtMjX5o9KBbQkFKPWx14Jkiqbq4VQ2EQjacfn"
credentials = BasicCredentials(ak, sk)
client = EcsClient.new_builder() \
.with_credentials(credentials) \
.with_region(EcsRegion.value_of("cn-east-3")) \
.build()
try:
# 查询
request = ListServerGroupsRequest()
response = client.list_server_groups(request).to_dict()
# 删除
if len(response['server_groups']) > 0:
for i in response['server_groups']:
request = DeleteServerGroupRequest()
request.server_group_id = i['id']
response = client.delete_server_group(request).to_dict()
print(response)
print(response)
# 创建
request = CreateServerGroupRequest()
listPoliciesServerGroup = [
"anti-affinity"
]
serverGroupbody = CreateServerGroupOption(
name="chinaskills_server_group",
policies=listPoliciesServerGroup
)
request.body = CreateServerGroupRequestBody(
server_group=serverGroupbody
)
response = client.create_server_group(request).to_dict()
print(response)
g_id = response['server_group']['id']
request = ShowServerGroupRequest()
request.server_group_id = g_id
response = client.show_server_group(request).to_dict()
print(response)
except exceptions.ClientRequestException as e:
print(e.status_code)
print(e.request_id)
print(e.error_code)
print(e.error_msg)