# 批量创建弹性公网IP - BatchCreatePublicips
#### 功能介绍
批量创建弹性公网IP，本接口为异步接口，当前创建弹性公网IP请求下发成功后会返回job id，此时创建弹性公网IP并没有立即完成，需要通过调用[查询Job状态接口](https://support.huaweicloud.com/api-eip/ShowResourcesJobDetail.html)查询job状态，当job状态为SUCCESS时代表批量创建弹性公网IP成功。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/EIP/doc?api=BatchCreatePublicips&version=v2)中调试该接口，支持自动认证鉴权。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-eip/eip_apipermission_0000.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                       | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 别名                   | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | eip:publicIps:batchCreate | Write | publicip \* | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | vpc:publicIps:create | -      |
  | eip:publicIps:batchCreate | Write | -           | - g:EnterpriseProjectId   - g:RequestTag/\<tag-key\>   - g:TagKeys    | vpc:publicIps:create | -      |
     
  
 
#### URI
POST /v2/{project_id}/batchpublicips
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 项目ID [参见获取项目ID](https://support.huaweicloud.com/api-eip/eip_api06_0004.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
#### 请求参数
表2请求Body参数 
| 参数                    | 是否必选 | 参数类型                                                                                                | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| bandwidth             | 是    | [BatchBandwidth] object | 带宽信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| publicip              | 是    | [BatchPublicIp] object   | 弹性公网IP信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| publicip_number       | 是    | Integer                                                                                             | **参数解释：** 批量创建弹性公网IP的个数。 **约束限制：** 不涉及。 **取值范围：** 0\~50。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                |
| enterprise_project_id | 否    | String                                                                                              | **参数解释：** 企业项目ID。可以使用该字段过滤某个企业项目下的弹性公网IP。 关于企业项目ID的获取及企业项目特性的详细信息，请参见[《企业管理用户指南》。](https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0126101490.html) **约束限制：** 不涉及。 **取值范围：** 最大长度36字节，带"-"连字符的UUID格式，或者是字符串"0"。"0"表示默认企业项目。如果需要查询当前用户所有企业项目绑定的弹性公网IP，请传参all_granted_eps。 **默认取值：** 不涉及。 |
   
 表3BatchBandwidth 
| 参数          | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| charge_mode | 否    | String  | **参数解释：** 计费模式。 **约束限制：** 不填或者为空时默认是bandwidth。 **取值范围：** - bandwidth：按带宽计费。   - traffic：按流量计费。    **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| name        | 否    | String  | **参数解释：** 带宽名称。 **约束限制：** 如果share_type是PER，该参数必须带，如果share_type是WHOLE并且id有值，该参数会忽略。 **取值范围：** 1-64个字符，支持数字、字母、中文、_(下划线)、-（中划线）、.（点） **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| share_type  | 是    | String  | **参数解释：** 带宽类型，标识是否是共享带宽。 **约束限制：** IPv6暂不支持WHOLE类型带宽。 **取值范围：** - PER：独占带宽。   - WHOLE：共享带宽。    **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| size        | 是    | Integer | **参数解释：** 带宽大小。单位为Mbit/s。 **约束限制：** share_type是PER，该参数必须带，如果share_type是WHOLE并且id有值，该参数会忽略。调整带宽时的最小单位会根据带宽范围不同存在差异。 - 小于等于300Mbit/s：默认最小单位为1Mbit/s。   - 300Mbit/s\~1000Mbit/s：默认最小单位为50Mbit/s。   - 大于1000Mbit/s：默认最小单位为500Mbit/s。    **取值范围：** 默认1Mbit/s\~2000Mbit/s（具体范围以各区域配置为准，请参见控制台对应页面显示）。 **默认取值：** 不涉及。 |
| id          | 否    | String  | **参数解释：** 带宽ID，创建WHOLE类型带宽的弹性公网IP时可以指定之前的共享带宽创建。 **约束限制：** 不涉及。 **取值范围：** WHOLE类型的带宽ID。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   
 表4BatchPublicIp 
| 参数                    | 是否必选 | 参数类型                                                                                            | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| type                  | 是    | String                                                                                          | **参数解释：** 弹性公网IP的类型。 **约束与限制：** 必须是系统具体支持的类型。publicip_id为IPv4端口，所以"type"字段未给定时，默认为5_bgp。 **取值范围：** 5_bgp (全动态BGP)，5_sbgp (静态BGP)，5_bgp-premium(精品BGP) - 华南-广州：5_bgp、5_sbgp   - 华东-上海一：5_bgp、5_sbgp   - 华东-上海二：5_bgp、5_sbgp   - 华北-北京一：5_bgp、5_sbgp   - 中国-香港：5_bgp、5_bgp-premium   - 亚太-曼谷：5_bgp   - 亚太-新加坡：5_bgp   - 非洲-约翰内斯堡：5_bgp   - 西南-贵阳一：5_sbgp   - 华北-北京四：5_bgp、5_sbgp   - 拉美-圣地亚哥：5_bgp   - 拉美-圣保罗一：5_bgp   - 拉美-墨西哥城一：5_bgp   - 拉美-布宜诺斯艾利斯一：5_bgp   - 拉美-利马一：5_bgp   - 拉美-圣地亚哥二： 5_bgp    **默认取值：** 不涉及。 |
| ip_version            | 否    | Integer                                                                                         | **参数解释：** IP版本信息，IPv6为开启NAT64能力。 **约束限制：** 不涉及。 **取值范围：** - 4：IPv4。   - 6：IPv6。    **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| enterprise_project_id | 否    | String                                                                                          | **参数解释：** 企业项目ID。可以使用该字段过滤某个企业项目下的弹性公网IP。 关于企业项目ID的获取及企业项目特性的详细信息，请参见[《企业管理用户指南》](https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0126101490.html)。 **约束限制：** 不涉及。 **取值范围：** 最大长度36字节，带"-"连字符的UUID格式，或者是字符串"0"。"0"表示默认企业项目。如果需要查询当前用户所有企业项目绑定的弹性公网IP，请传参all_granted_eps。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| tags                  | 否    | Array of strings                                                                                | **参数解释：** 标签列表。标签的key与value中间以\*号隔开，创建多个标签时，不同的key/value组以逗号,隔开，具体请见请求示例。 **约束限制：** - 标签的key约束： - 长度不超过128个字符。   - 由英文字母、数字、下划线、中划线、中文字符组成   - 同一资源的key值不能重复。   - 标签的value约束： - 长度不超过255个字符。   - 由英文字母、数字、下划线、中划线、中文字符组成   - 同一资源的key值不能重复。    **取值范围：**    不涉及。    **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| profile               | 否    | [BatchProfile] object | 订单信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   
 表5BatchProfile 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| user_id    | 否    | String | **参数解释：** 租户id。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| product_id | 否    | String | **参数解释：** 产品id。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| region_id  | 否    | String | **参数解释：** 局点id。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| order_id   | 否    | String | **参数解释：** 订单id。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
#### 响应参数
**状态码：200**
表6响应Body参数 
| 参数     | 参数类型   | 描述                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| job_id | String | **参数解释：** job_id，需要访问调用netAPI组件访问job执行情况。netAPI：/v1/{project_id}/jobs/{job_id}。 **取值范围：** 不涉及。 |
   
#### 请求示例
批量创建2个弹性公网IP，带标签创建，带宽为按宽带计费、5M大小的独享带宽。
```
POST /v2/{project_id}/batchpublicips
{
  "bandwidth" : {
    "name" : "bandwidth1",
    "size" : 5,
    "charge_mode" : "bandwidth",
    "share_type" : "PER"
  },
  "publicip" : {
    "type" : "5_bgp",
    "tags" : [ "name*tom", "type*kkkk" ]
  },
  "publicip_number" : 2,
  "enterprise_project_id" : "0"
}
```
#### 响应示例
**状态码：200**
```
{
  "job_id" : "ff8080828436722c0184cdb88e9200a5"
}
```
#### SDK代码示例
SDK代码示例如下。
- [Java]
  批量创建2个弹性公网IP，带标签创建，带宽为按宽带计费、5M大小的独享带宽。
  ```
  package com.huaweicloud.sdk.test;
  import com.huaweicloud.sdk.core.auth.ICredential;
  import com.huaweicloud.sdk.core.auth.BasicCredentials;
  import com.huaweicloud.sdk.core.exception.ConnectionException;
  import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
  import com.huaweicloud.sdk.core.exception.ServiceResponseException;
  import com.huaweicloud.sdk.eip.v2.region.EipRegion;
  import com.huaweicloud.sdk.eip.v2.*;
  import com.huaweicloud.sdk.eip.v2.model.*;
  import java.util.List;
  import java.util.ArrayList;
  public class BatchCreatePublicipsSolution {
      public static void main(String[] args) {
          // 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
          String ak = System.getenv("CLOUD_SDK_AK");
          String sk = System.getenv("CLOUD_SDK_SK");
          String projectId = "{project_id}";
          ICredential auth = new BasicCredentials()
                  .withProjectId(projectId)
                  .withAk(ak)
                  .withSk(sk);
          EipClient client = EipClient.newBuilder()
                  .withCredential(auth)
                  .withRegion(EipRegion.valueOf("<YOUR REGION>"))
                  .build();
          BatchCreatePublicipsRequest request = new BatchCreatePublicipsRequest();
          BatchCreatePublicipsV2RequestBody body = new BatchCreatePublicipsV2RequestBody();
          List<String> listPublicipTags = new ArrayList<>();
          listPublicipTags.add("name*tom");
          listPublicipTags.add("type*kkkk");
          BatchPublicIp publicipbody = new BatchPublicIp();
          publicipbody.withType(BatchPublicIp.TypeEnum.fromValue("5_bgp"))
              .withTags(listPublicipTags);
          BatchBandwidth bandwidthbody = new BatchBandwidth();
          bandwidthbody.withChargeMode(BatchBandwidth.ChargeModeEnum.fromValue("bandwidth"))
              .withName("bandwidth1")
              .withShareType(BatchBandwidth.ShareTypeEnum.fromValue("PER"))
              .withSize(5);
          body.withEnterpriseProjectId("0");
          body.withPublicipNumber(2);
          body.withPublicip(publicipbody);
          body.withBandwidth(bandwidthbody);
          request.withBody(body);
          try {
              BatchCreatePublicipsResponse response = client.batchCreatePublicips(request);
              System.out.println(response.toString());
          } catch (ConnectionException e) {
              e.printStackTrace();
          } catch (RequestTimeoutException e) {
              e.printStackTrace();
          } catch (ServiceResponseException e) {
              e.printStackTrace();
              System.out.println(e.getHttpStatusCode());
              System.out.println(e.getRequestId());
              System.out.println(e.getErrorCode());
              System.out.println(e.getErrorMsg());
          }
      }
  }
  ```
- [Python]
  批量创建2个弹性公网IP，带标签创建，带宽为按宽带计费、5M大小的独享带宽。
  ```
  # coding: utf-8
  import os
  from huaweicloudsdkcore.auth.credentials import BasicCredentials
  from huaweicloudsdkeip.v2.region.eip_region import EipRegion
  from huaweicloudsdkcore.exceptions import exceptions
  from huaweicloudsdkeip.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 = os.environ["CLOUD_SDK_AK"]
      sk = os.environ["CLOUD_SDK_SK"]
      projectId = "{project_id}"
      credentials = BasicCredentials(ak, sk, projectId)
      client = EipClient.new_builder() \
          .with_credentials(credentials) \
          .with_region(EipRegion.value_of("<YOUR REGION>")) \
          .build()
      try:
          request = BatchCreatePublicipsRequest()
          listTagsPublicip = [
              "name*tom",
              "type*kkkk"
          ]
          publicipbody = BatchPublicIp(
              type="5_bgp",
              tags=listTagsPublicip
          )
          bandwidthbody = BatchBandwidth(
              charge_mode="bandwidth",
              name="bandwidth1",
              share_type="PER",
              size=5
          )
          request.body = BatchCreatePublicipsV2RequestBody(
              enterprise_project_id="0",
              publicip_number=2,
              publicip=publicipbody,
              bandwidth=bandwidthbody
          )
          response = client.batch_create_publicips(request)
          print(response)
      except exceptions.ClientRequestException as e:
          print(e.status_code)
          print(e.request_id)
          print(e.error_code)
          print(e.error_msg)
  ```
- [Go]
  批量创建2个弹性公网IP，带标签创建，带宽为按宽带计费、5M大小的独享带宽。
  ```
  package main
  import (
  "fmt"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
      eip "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/eip/v2"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/eip/v2/model"
      region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/eip/v2/region"
  )
  func 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 := os.Getenv("CLOUD_SDK_AK")
      sk := os.Getenv("CLOUD_SDK_SK")
      projectId := "{project_id}"
      auth, err := basic.NewCredentialsBuilder().
          WithAk(ak).
          WithSk(sk).
          WithProjectId(projectId).
          SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      hcClient, err := eip.EipClientBuilder().
           WithRegion(region.ValueOf("<YOUR REGION>")).
           WithCredential(auth).
           SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      client := eip.NewEipClient(hcClient)
      request := &model.BatchCreatePublicipsRequest{}
  var listTagsPublicip = []string{
          "name*tom",
      "type*kkkk",
      }
  publicipbody := &model.BatchPublicIp{
  Type: model.GetBatchPublicIpTypeEnum().E_5_BGP,
  Tags: &listTagsPublicip,
  }
  chargeModeBandwidth:= model.GetBatchBandwidthChargeModeEnum().BANDWIDTH
  nameBandwidth:= "bandwidth1"
  shareTypeBandwidth:= model.GetBatchBandwidthShareTypeEnum().PER
  bandwidthbody := &model.BatchBandwidth{
  ChargeMode: &chargeModeBandwidth,
  Name: &nameBandwidth,
  ShareType: &shareTypeBandwidth,
  Size: int32(5),
  }
  request.Body = &model.BatchCreatePublicipsV2RequestBody{
  EnterpriseProjectId: "0",
  PublicipNumber: int32(2),
  Publicip: publicipbody,
  Bandwidth: bandwidthbody,
  }
  response, err := client.BatchCreatePublicips(request)
  if err == nil {
          fmt.Printf("%+v\n", response)
      } else {
          fmt.Println(err)
      }
  }
  ```
- [更多]
  更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/EIP/sdk?api=BatchCreatePublicips&version=v2)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述 |
|:---|:---|
| 200 | OK |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-eip/ErrorCode.html)。
