开发笔记4
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkas.v1.region.as_region import AsRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkas.v1 import *
if __name__ == "__main__":
ak = ""
sk = ""
credentials = BasicCredentials(ak, sk)
client = AsClient.new_builder() \
.with_credentials(credentials) \
.with_region(AsRegion.value_of("cn-north-4")) \
.build()
try:
# 查询
request = ListScalingGroupsRequest()
response = client.list_scaling_groups(request).to_dict()
if len(response['scaling_groups']) > 0:
for i in response['scaling_groups']:
# 删除
scaling_group_id = i['scaling_group_id']
request = DeleteScalingGroupRequest()
request.scaling_group_id = scaling_group_id
response = client.delete_scaling_group(request).to_dict()
print(response)
# 创建
request = CreateScalingGroupRequest()
listSecurityGroupsbody = [
SecurityGroup(
id="10a7d515-8fc5-4b89-a9e0-cd76cd24d4d3"
)
]
listNetworksbody = [
Networks(
id="60fac206-a107-485e-8a54-79216547e54a"
)
]
listAvailableZonesbody = [
"cn-north-4a"
]
request.body = CreateScalingGroupOption(
vpc_id="eafce6b0-0ee0-4e1e-98f4-6e8fe4c96781",
security_groups=listSecurityGroupsbody,
networks=listNetworksbody,
available_zones=listAvailableZonesbody,
max_instance_number=3,
min_instance_number=1,
desire_instance_number=2,
scaling_configuration_id="28a4a873-4788-4055-b371-665b836a19cd",
delete_volume=True,
delete_publicip=True,
scaling_group_name="chinaskills_as_group"
)
response = client.create_scaling_group(request).to_dict()
print(response)
scaling_group_id = response['scaling_group_id']
# 查询
request = ShowScalingGroupRequest()
request.scaling_group_id = scaling_group_id
response = client.show_scaling_group(request)
print(response)
except exceptions.ClientRequestException as e:
print(e.status_code)
print(e.request_id)
print(e.error_code)
print(e.error_msg)
disk
[root@ecs-985e huawei]# cat create_block_store.py
# coding: utf-8
import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkevs.v2.region.evs_region import EvsRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkevs.v2 import *
if __name__ == "__main__":
ak = ""
sk = ""
# project_id = "39b485b4efc24a3f9a6f28f7b47f4396"
credentials = BasicCredentials(ak, sk)
client = EvsClient.new_builder() \
.with_credentials(credentials) \
.with_region(EvsRegion.value_of("cn-north-4")) \
.build()
cloud_disk = "chinaskills_volume"
try:
request_list = ListVolumesRequest()
response_list = client.list_volumes(request_list).volumes
for cd in response_list:
print(cd.name)
if(cd.name == cloud_disk):
print("delete")
request_del = DeleteVolumeRequest(cd.id)
response_del = client.delete_volume(request_del)
break
request_create = CreateVolumeRequest()
listMetadataVolume = {
"\_\system\\_encrypted" : "1"
}
volumebody = CreateVolumeOption(
availability_zone="cn-north-4a",
metadata=listMetadataVolume,
multiattach=True,
name="chinaskills_volume",
size=100,
volume_type="SSD"
)
request_create.body = CreateVolumeRequestBody(
volume=volumebody
)
response = client.create_volume(request_create)
print(response)
except Exception as e:
print(e)
server——manager
# coding: utf-8
import os
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__":
# The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
# In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
ak = ""
sk = ""
credentials = BasicCredentials(ak, sk)
client = EcsClient.new_builder() \
.with_credentials(credentials) \
.with_region(EcsRegion.value_of("cn-north-4")) \
.build()
server_group_name = "chinaskills_server_group"
try:
request_list = ListServerGroupsRequest()
response_list = client.list_server_groups(request_list).server_groups
# if(any(sg.name == server_group_name for sg in response_list.server_groups)):
# request_del = DeleteServerGroupRequest()
# response_del =
for sg in response_list:
if sg.name == server_group_name:
print("delete")
delete_request = DeleteServerGroupRequest(sg.id)
client.delete_server_group(delete_request)
break
request_create = CreateServerGroupRequest()
listPoliciesServerGroup = [
"anti-affinity"
]
serverGroupbody = CreateServerGroupOption(
name="chinaskills_server_group",
policies=listPoliciesServerGroup
)
request_create.body = CreateServerGroupRequestBody(
server_group=serverGroupbody
)
response = client.create_server_group(request_create)
print(f"{server_group_name}组创建成功")
except exceptions.ClientRequestException as e:
print(e.status_code)
print(e.request_id)
print(e.error_code)
print(e.error_msg)
---key
# coding: utf-8
import os
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 = ""
sk = ""
credentials = BasicCredentials(ak, sk)
client = EcsClient.new_builder() \
.with_credentials(credentials) \
.with_region(EcsRegion.value_of("cn-north-4")) \
.build()
keypair_name = "chinaskills_keypair"
try:
# 检查并删除现有密钥对
list_request = NovaListKeypairsRequest()
list_response = client.nova_list_keypairs(list_request)
existing = any(kp.keypair.name == keypair_name for kp in list_response.keypairs)
if existing:
print(f"密钥对 '{keypair_name}' 已存在,正在删除...")
delete_request = NovaDeleteKeypairRequest(keypair_name=keypair_name)
client.nova_delete_keypair(delete_request)
print("删除成功")
# 创建新密钥对
create_request = NovaCreateKeypairRequest()
keypair_body = NovaCreateKeypairOption(name=keypair_name)
create_request.body = NovaCreateKeypairRequestBody(keypair=keypair_body)
create_response = client.nova_create_keypair(create_request)
# 输出详细信息
print("\n创建成功,密钥对详细信息:")
print(f"名称: {create_response.keypair.name}")
print(f"指纹: {create_response.keypair.fingerprint}")
print(f"私钥(请妥善保存):\n{create_response.keypair.private_key}")
except exceptions.ClientRequestException as e:
print(f"操作失败: {e.error_msg}")
except Exception as e:
print(f"发生错误: {str(e)}")
- 点赞
- 收藏
- 关注作者
评论(0)