
# 创建部署计划
#### 场景描述
本章节指导用户通过API创建部署计划。API的调用方法请参见[如何调用API](https://support.huaweicloud.com/api-iec/iec_05_0300.html) 。
#### 约束限制
创建部署计划前，请预先创建好虚拟私有云，创建安全组并配置安全组规则，如需使用密钥或私有镜像，需预先创建。
#### 涉及接口
创建部署计划时，需要进行规格查询、边缘站点查询、虚拟私有云查询等操作，涉及的接口如下：
- [查询边缘站点列表]：确定待创建边缘业务的区域。
- [查询边缘实例规格列表]：确定待创建边缘业务的规格。
- [查询边缘镜像列表]：确定待创建边缘业务使用的镜像。
- [查询虚拟私有云列表]：确定边缘业务的网络信息。
- [查询安全组列表]：确定边缘业务的安全组信息。
- [查询密钥对列表]：确定边缘业务的密钥信息。
- [创建部署计划]：创建一个部署计划。
 
#### 操作步骤
1. 确定待创建边缘业务的区域。
   1. 查询边缘站点列表。
      - 接口相关信息 URI格式：GET /v1/sites
        详情请参见[查询边缘站点列表](https://support.huaweicloud.com/api-iec/ListSites.html)。
        
      
      - 请求示例 GET https://{endpoint}/v1/sites
        {endpoint}信息请从[地区和终端节点](https://developer.huaweicloud.com/endpoint?IEC)获取。
        
      
      - 响应示例
        ```
        {
            "count": 1,
            "sites": [
                {
                    "id": "4789fe21-3c90-11eb-8801-fa165cf67eaf",
                    "name": "dongguan-cdn-tri-lan",
                    "city": "dongguan",
                    "i18n_city": "东莞市",
                    "province": "guangdong",
                    "i18n_province": "广东",
                    "area": "south",
                    "i18n_area": "华南地区",
                    "country": "china",
                    "i18n_country": "中国",
                    "status": "Normal",
                    "city_short_name": "DG",
                    "pools": [
                        {
                            "id": "630c665d-3c92-11eb-86c6-fa165eb5c534",
                            "site_id": "4789fe21-3c90-11eb-8801-fa165cf67eaf",
                            "display_name": "东莞移动",
                            "operator": {
                                "id": "3",
                                "name": "chinamobile",
                                "i18n_name": "中国移动",
                                "sa": "CMCC"
                            },
                            "pool_id": "5_900y_mobile",
                            "ip_version": "4"
                        },
                        {
                            "id": "613c730a-3c94-11eb-ab1c-fa165c13ae1a",
                            "site_id": "4789fe21-3c90-11eb-8801-fa165cf67eaf",
                            "display_name": "东莞电信",
                            "operator": {
                                "id": "1",
                                "name": "chinatelecom",
                                "i18n_name": "中国电信",
                                "sa": "CTCC"
                            },
                            "pool_id": "5_900y_telcom",
                            "ip_version": "4"
                        },
                        {
                            "id": "27d87b7f-3c95-11eb-8801-fa165cf67eaf",
                            "site_id": "4789fe21-3c90-11eb-8801-fa165cf67eaf",
                            "display_name": "东莞联通",
                            "operator": {
                                "id": "2",
                                "name": "chinaunicom",
                                "i18n_name": "中国联通",
                                "sa": "CUCC"
                            },
                            "pool_id": "5_900y_union",
                            "ip_version": "4"
                        }
                    ]
                }
            ]
        }
        ```
        
       
   
   2. 根据实际需要选择站点、城市、省份或大区信息，并记录相关信息。
    
2. 确定待创建边缘业务的规格。
   1. 查询边缘实例规格列表。
      - 接口相关信息 URI格式：GET /v1/cloudservers/flavors
        详情请参见[查询边缘实例规格列表](https://support.huaweicloud.com/api-iec/ListFlavors.html)。
        
      
      - 请求示例 GET https://{endpoint}/v1/cloudservers/flavors
        {endpoint}信息请从[地区和终端节点](https://developer.huaweicloud.com/endpoint?IEC)获取。
        
      
      - 响应示例
        ```
        {
            "count": 1,
            "flavors": [
                {
                    "id": "c6.large.2",
                    "name": "c6.large.2",
                    "vcpus": "2",
                    "ram": 4096,
                    "disk": "0",
                    "links": [
                        {
                            "rel": "self",
                            "href": "https://compute-ext.region.cn-north-900.myhuaweicloud.com/v1.0/08fab6922f8010b82fe6c004b5b26d04/flavors/c6.large.2",
                            "type": ""
                        },
                        {
                            "rel": "bookmark",
                            "href": "https://compute-ext.region.cn-north-900.myhuaweicloud.com/08fab6922f8010b82fe6c004b5b26d04/flavors/c6.large.2",
                            "type": ""
                        }
                    ],
                    "os_extra_specs": {
                        "ecs:performancetype": "computingv3",
                        "resource_type": "IOoptimizedC6_HV602",
                        "ecs:generation": "c6",
                        "ecs:virtualization_env_types": "CloudCompute",
                        "pci_passthrough:enable_gpu": "",
                        "pci_passthrough:gpu_specs": "",
                        "pci_passthrough:alias": "",
                        "info:cpu:name": "Intel Cascade Lake 3.0GHz",
                        "cond:operation:status": "abandon",
                        "cond:compute": "autorecovery",
                        "cond:image": "__support_kvm=true&__support_kvm_hi1822_hiovs=true",
                        "cond:network": "",
                        "quota:vif_max_num": "2",
                        "quota:physics_max_rate": "44000",
                        "quota:vif_multiqueue_num": "2",
                        "quota:min_rate": "1200",
                        "quota:max_rate": "4000",
                        "quota:max_pps": "400000",
                        "hw:cpu_sockets": "1",
                        "hw:numa_nodes": "1",
                        "hw:cpu_threads": "2",
                        "hw:mem_page_size": "1048576",
                        "quota:conn_limit_total": "2000000",
                        "hw:cpu_cores": "1",
                        "cond:spot_block:operation:az": "",
                        "cond:spot_block:operation:longest_duration_hours": "",
                        "cond:spot_block:operation:longest_duration_count": "",
                        "cond:spot_block:operation:interrupt_policy": "",
                        "cond:spot:operation:az": "",
                        "cond:spot:operation:status": ""
                    },
                    "swap": "",
                    "OS-FLV-EXT-DATA:ephemeral": 0,
                    "OS-FLV-DISABLED:disabled": false,
                    "rxtx_factor": 1,
                    "rxtx_quota": "",
                    "rxtx_cap": "",
                    "os-flavor-access:is_public": true
                }
            ]
        }
        ```
        
       
   
   2. 根据实际需要选择规格，并记录规格的ID。
    
3. 确定待创建边缘业务的镜像。
   1. 查询边缘镜像列表。
      - 接口相关信息 URI格式：GET /v1/images
        详情请参见[查询边缘镜像列表](https://support.huaweicloud.com/api-iec/ListImages.html)。
        
      
      - 请求示例 GET https://{endpoint}/v1/images
        {endpoint}信息请从[地区和终端节点](https://developer.huaweicloud.com/endpoint?IEC)获取。
        
      
      - 响应示例
        ```
        {
            "images": [
                {
                    "id": "b76b5e98-b30b-11ea-a45e-fa165cec2c7a",
                    "name": "EulerOS 2.2 64bit",
                    "status": "active",
                    "disk_format": "zvhd2",
                    "min_disk": 40,
                    "min_ram": 1024,
                    "owner": "0756fdcb2f00261d0fb6c0049e7e7fa0",
                    "protected": true,
                    "visibility": "public",
                    "created_at": "2020-06-20T15:35:49Z",
                    "updated_at": "2020-06-20T15:37:09Z",
                    "self": "/v1/images/b76b5e98-b30b-11ea-a45e-fa165cec2c7a",
                    "deleted": false,
                    "virtual_env_type": "FusionCompute",
                    "deleted_at": "",
                    "related_job_id": "",
                    "__imagetype": "gold",
                    "__platform": "EulerOS",
                    "__os_type": "Linux",
                    "__os_version": "EulerOS 2.2 64bit",
                    "__isregistered": true,
                    "__support_kvm": "true",
                    "__support_kvm_hi1822_hiovs": "true"
                }
            ],
            "total": 1
        }
        ```
        
       
   
   2. 根据需要选择镜像，并记录镜像ID。
    
4. 确定边缘业务的网络信息。
   1. 查询虚拟私有云列表。
      - 接口相关信息 URI格式：GET /v1/vpcs
        详情请参见[查询虚拟私有云列表](https://support.huaweicloud.com/api-iec/ListVpcs.html)。
        
      
      - 请求示例 GET https://{endpoint}/v1/vpcs
        {endpoint}信息请从[地区和终端节点](https://developer.huaweicloud.com/endpoint?IEC)获取。
        
      
      - 响应示例
      
      
      ```
      {
          "vpcs": [
              {
                  "id": "2c7756f2-6875-11eb-ae51-fa165c365e51",
                  "name": "ienw-lzd",
                  "cidr": "172.16.0.0/16",
                  "mode": "SYSTEM",
                  "subnet_num": 4
              }
          ],
          "count": 1
      }
      ```
      
   
   2. 根据需要选择镜像，并记录镜像ID。
    
5. 确定边缘业务的安全组信息。
   1. 查询安全组列表
      - 接口相关信息 URI格式：GET /v1/security-groups
        详情请参见[查询安全组列表](https://support.huaweicloud.com/api-iec/ListSecurityGroups.html)。
        
      
      - 请求示例 GET https://{endpoint}/v1/security-groups
        {endpoint}信息请从[地区和终端节点](https://developer.huaweicloud.com/endpoint?IEC)获取。
        
      
      - 响应示例
        ```
        {
            "security_groups": [
                {
                    "id": "153133f5-2b16-11eb-a594-fa16408859a1",
                    "name": "stock_sg_changsha568",
                    "description": "cloudtest",
                    "security_group_rules": [
                        {
                            "id": "1fb600fb-2c76-11eb-80d1-fa16406a65c4",
                            "description": "",
                            "security_group_id": "153133f5-2b16-11eb-a594-fa16408859a1",
                            "direction": "ingress",
                            "ethertype": "IPv4",
                            "protocol": "",
                            "port_range_min": "",
                            "port_range_max": "",
                            "remote_ip_prefix": "0.0.0.0/0",
                            "remote_group_id": ""
                        }
                    ]
                }
            ],
            "count": 1
        }
        ```
        
       
    
6. 确定边缘业务的密钥信息。
   如需设置为密码登录方式，请直接跳转至[7]。
   1. 查询密钥列表。
      - 接口相关信息 URI格式：GET /v1/os-keypairs
        详情请参见[查询密钥对列表](https://support.huaweicloud.com/api-iec/ListKeypairs.html)。
        
      
      - 请求示例 GET https://{endpoint}/v1/os-keypairs
        {endpoint}信息请从[地区和终端节点](https://developer.huaweicloud.com/endpoint?IEC)获取。
        
      
      - 响应示例
      
      
      ```
      [
          {
              "name": "KeyPair-n1f4",
              "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDlsS+/EhexDDej1uoWHrNolqWcfXH4yINpPuoKJPnvBFl+9Uu6sYVUZzRQ8yIOXHsn0iIDPua8i6pMeG3RpNvWWbfdHL6TCM3yfgTo3UN4pEGgI67k78TJ7T6yX+u7R+sxMDt55o75kaDy1j/W/RC30xQ1MiwBdHpHCIDpuj07R4Zhcblh9PHRrIk40+jldRNCpM0eVaUsIVKKP0LUydZeBI9HdsUNFNeDWykEPcWiayQBse6Uj8unwGTOKQX+Zwfhfr9AO3eoZmWHQmep17u0fAWduxImfZIkaIeVlVXEA31GrREy2uehzG5UhQR1xHUVXIdGty1C6n8+KN0M6dr Generated-by-Nova\n",
              "fingerprint": "SHA256:G2+HAgNyIi2maUvkuLne9BM/93TZ2eGoNKtP8MxPF74",
              "user_id": "dc36c78ad96f42e394f3221bf7c17166"
          }
      ]
      ```
      
   
   2. 根据需要选择密钥，并记录密钥名称。
     
7. 设置密码登录方式。
   - 使用非cloud-init镜像创建部署计划时，Windows和Linux系统都使用"admin_pass"参数实现密码注入。
   
   
   
   - 使用cloud-init镜像创建部署计划时：
     - 对于Linux系统，只能使用"user_data"进行密码注入，"user_data"字符串长度小于65535，且必须是base64加密的；
     
     - 对于Windows系统，只能通过"admin_pass"进行密码注入。
      
    
8. 创建密码方式登录鉴权的部署计划。
   - 使用非cloud-init镜像创建部署计划（使用admin_pass实现密码注入）。
     - 接口相关信息 URI格式：POST /v1/deployments
       接口约束及请求参数说明详情，请参见[创建部署计划 - CreateDeployment](https://support.huaweicloud.com/api-iec/CreateDeployment.html)。
       
     
     - 请求示例 POST https://{endpoint}/v1/deployments
       {endpoint}信息请从[地区和终端节点](https://developer.huaweicloud.com/endpoint?IEC)获取。
       ```
       {
           "edgecloud": {
               "stack": {
                   "name": "stack-bm3m",
                   "resources": [
                       {
                           "name": "res-uoio",
                           "image_ref": "00000000-0000-0000-0000-000000000008",
                           "flavor_ref": "c6.large.2",
                           "net_config": {
                               "vpc_id": "c4b78eca-8ce4-4e7e-8aba-f7da2c7b1816",
                               "nic_num": 1
                           },
                           "count": 1,
                           "root_volume": {
                               "volume_type": "SAS",
                               "size": 40
                           },
                           "security_groups": [
                               {
                                   "id": "18289138-5b8b-11eb-bcf8-fa16406a65c4"
                               }
                           ],
       "admin_pass": "NOVAGLANCEI@123"
                       }
                   ]
               },
               "coverage": {
                   "coverage_level": "city",
                   "coverage_policy": "centralize",
                   "coverage_sites": [
                       {
                           "site": "xi'an",
                           "demands": [
                               {
                                   "demand_count": 1
                               }
                           ]
                       }
                   ]
               },
               "name": "iec-m83t"
           }
       }
       ```
       
     
     - 响应示例
       ```
       {
           "id": "0359ca05-7790-46e8-9a4a-8a8fa118b14f",
           "locations": [
               {
                   "site_id": "74a75ed3-cfb9-11ea-a0c3-fa1640495574",
                   "area": "north",
                   "province": "shaanxi",
                   "city": "xi'an",
                   "operator": "bgp",
                   "pool_id": "5_bgp_edgecloud-site4_1",
                   "stack_count": 1,
                   "city_short_name": ""
               }
           ]
       }
       ```
       
      
   
   - 使用cloud-init镜像（以Linux为例）创建部署计划（使用user_data进行密码注入）。
     - 接口相关信息 URI格式：POST /v1/deployments
       接口约束及请求参数说明详情，请参见[创建部署计划](https://support.huaweicloud.com/api-iec/CreateDeployment.html)。
       
     
     - 请求示例 POST https://{endpoint}/v1/deployments
       {endpoint}信息请从[地区和终端节点](https://developer.huaweicloud.com/endpoint?IEC)获取。
       ```
       {
           "edgecloud": {
               "stack": {
                   "name": "stack-bm3m",
                   "resources": [
                       {
                           "name": "res-uoio",
                           "image_ref": "00000000-0000-0000-0000-000000000008",
                           "edge_scenes": null,
                           "flavor_ref": "c6.large.2",
                           "net_config": {
                               "vpc_id": "c4b78eca-8ce4-4e7e-8aba-f7da2c7b1816",
                               "nic_num": 1
                           },
                           "count": 1,
                           "root_volume": {
                               "volume_type": "SAS",
                               "size": 40
                           },
                           "security_groups": [
                               {
                                   "id": "18289138-5b8b-11eb-bcf8-fa16406a65c4"
                               }
                           ],
                           "user_data": "IyEvYmluL2Jhc2gKZWNobyAncm9vdDokNiQ3ODlCMkYkbFhXWDhmbE5qakxWamRGVDM1MEdYVm1NMURGQW1tQTBMRHA0M3dLSUxKcERkU3l6VUdqMC9qMTdXYzRYblQ4SVNQS2UxMVlIcWdCa1dRNUFxeUc0djEnIHwgY2hwYXNzd2QgLWU7",
                           "bandwidth": {
                               "sharetype": "WHOLE"
                           }
                       }
                   ]
               },
               "coverage": {
                   "coverage_level": "city",
                   "coverage_policy": "centralize",
                   "coverage_sites": [
                       {
                           "site": "xi'an",
                           "demands": [
                               {
                                   "demand_count": 1,
                                   "pool_id": "5_bgp_edgecloud-site4_1"
                               }
                           ]
                       }
                   ]
               },
               "name": "iec-m1183t"
           }
       }
       ```
       
     
     - 响应示例
       ```
       {
           "id": "e127b7f4-9969-4c2a-bd3d-b813d9ff6573",
           "locations": [
               {
                   "site_id": "74a75ed3-cfb9-11ea-a0c3-fa1640495574",
                   "area": "north",
                   "province": "shaanxi",
                   "city": "xi'an",
                   "operator": "bgp",
                   "pool_id": "5_bgp_edgecloud-site4_1",
                   "stack_count": 1,
                   "city_short_name": ""
               }
           ]
       }
       ```
       
      
    
 
