Exemplo n.º 1
0
def create_and_start_host_application(
    cc_app_id: str, username: str, region: str, cvm_type: str, disk_size: int, replicas: int, vpc_name: str
) -> Tuple[int, str]:
    """创建并启动申请主机任务流程"""
    client = sops.SopsClient()
    # 组装创建任务参数
    task_name = f"[{cc_app_id}]apply host resource"
    data = sops.CreateTaskParams(
        name=task_name,
        constants={
            "${appID}": cc_app_id,
            "${user}": username,
            "${qcloudRegionId}": region,
            "${cvm_type}": cvm_type,
            "${diskSize}": disk_size,
            "${replicas}": replicas,
            "${vpc_name}": vpc_name,
        },
    )
    # 创建任务
    resp_data = client.create_task(bk_biz_id=SOPS_BIZ_ID, template_id=APPLY_HOST_TEMPLATE_ID, data=data)
    task_id = resp_data["task_id"]
    task_url = resp_data["task_url"]

    # 启动任务
    client.start_task(bk_biz_id=SOPS_BIZ_ID, task_id=task_id)

    return task_id, task_url
Exemplo n.º 2
0
    def test_create_task(self, requests_mock):
        requests_mock.post(ANY, json={"result": True, "data": {"foo": "bar"}})

        client = sops.SopsClient()
        data = sops.CreateTaskParams(name="test")
        resp_data = client.create_task(fake_bk_biz_id, fake_template_id, data)
        assert resp_data == {"foo": "bar"}
        assert requests_mock.called