
# 批量创建安全组规则 - BatchCreateSecurityGroupRules
#### 功能介绍
通过批量创建安全组规则接口可以实现在某个安全组下批量配置安全组规则。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-vpc/vpc_api00_0007.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-vpc/vpc_permission_0000.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                           | 访问级别  | 资源类型（\*为必须）          | 条件键                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | vpc:securityGroupRules:create | Write | securityGroupRule \* | - vpc:SecurityGroupRuleDirection   - vpc:SecurityGroupRuleProtocol   - vpc:SecurityGroupRuleAction   - vpc:SecurityGroupRulePort   - vpc:SecurityGroupRuleRemoteIpAddressGroup   - vpc:SecurityGroupRuleRemoteSecurityGroup   - vpc:SecurityGroupRuleRemoteIpPrefix    | -  | -      |
  | vpc:securityGroupRules:create | Write | securityGroup \*     | - g:EnterpriseProjectId   - vpc:SecurityGroupId   - g:ResourceTag/\<tag-key\>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | -  | -      |
     
  
 
#### URI
POST /v3/{project_id}/vpc/security-groups/{security_group_id}/security-group-rules/batch-create
表1路径参数 
| 参数                | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| project_id        | 是    | String | - 参数解释：项目ID。获取方式请参见[获取项目ID](https://support.huaweicloud.com/api-vpc/vpc_api_0011.html)。   - 取值范围：无    |
| security_group_id | 是    | String | - 参数解释：安全组的资源ID。   - 取值范围：无                                                                           |
   
#### 请求参数
表2请求Body参数 
| 参数                   | 是否必选 | 参数类型                                                                                                                                | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| security_group_rules | 是    | Array of [BatchCreateSecurityGroupRulesOption] objects | - 参数解释：批量创建安全组规则的请求体。   - 约束限制：当前最多能传入200条规则。   - 取值范围：无   - 默认取值：无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ignore_duplicate     | 否    | Boolean                                                                                                                             | - 参数解释：创建时是否忽略重复的安全组规则。   - 约束限制：无   - 取值范围： - true：忽略重复的规则，如果创建请求传入的多条规则中有重复的规则，或者请求传入的规则与安全组下已有的规则重复，请求不会报错，也不会创建重复的规则。   - false：不忽略重复的规则，如果创建请求传入的多条规则中有重复的规则，或者请求传入的规则与安全组下已有的规则重复，请求会报错。     - 默认取值：false    |
| dry_run              | 否    | Boolean                                                                                                                             | - 参数解释：是否只预检此次请求。   - 约束限制：无   - 取值范围： - true：发送检查请求，不会创建安全组规则。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过，则返回对应错误。如果检查通过，则返回响应码202。   - false：发送正常请求，并直接创建安全组规则。     - 默认取值：false                                            |
   
 表3BatchCreateSecurityGroupRulesOption 
| 参数                      | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| description             | 否    | String  | - 参数解释：安全组规则的描述信息。   - 约束限制：0-255个字符，不能包含"\<"和"\>"。   - 取值范围：无   - 默认取值：无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| direction               | 是    | String  | - 参数解释：安全组规则的出入控制方向。   - 约束限制：无   - 取值范围： - ingress：表示入方向。   - egress：表示出方向。     - 默认取值：无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ethertype               | 否    | String  | - 参数解释：安全组规则的IP地址协议类型。   - 约束限制：无   - 取值范围： - IPv4   - IPv6     - 默认取值：IPv4                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| protocol                | 否    | String  | - 参数解释：安全组规则的通信协议类型。   - 约束限制： - 为空表示支持所有协议。   - 协议为icmpv6时，网络类型应该为IPv6。   - 协议为icmp时，网络类型应该为IPv4。     - 取值范围： - icmp   - tcp   - udp   - icmpv6   - IP协议号(0\~255)     - 默认取值：无    |
| multiport               | 否    | String  | - 参数解释：安全组规则的端口取值范围。   - 约束限制：端口值的范围是1\~65535。   - 取值范围：支持单端口(80)，连续端口(1-30)以及不连续端口(22,3389,80)。   - 默认取值：无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| remote_ip_prefix        | 否    | String  | - 参数解释：安全组规则的远端IP地址，当direction是egress时，该地址表示出方向的目的地址，为安全组内实例访问的远端地址；当direction是ingress时，该地址表示入方向的源地址，为访问安全组内实例的远端地址。   - 约束限制： - 与remote_group_id、remote_address_group_id功能互斥。   - 为空，表示没有限制远端IP地址，规则action为allow时允许所有远端地址的流量，规则action为deny时拒绝所有远端地址的流量。     - 取值范围： - IP地址，请求如果传入IP地址，会自动转换为末尾带/32的格式，如192.168.21.45/32。   - cidr格式。     - 默认取值：无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| remote_group_id         | 否    | String  | - 参数解释：安全组规则的远端安全组ID，如果规则的action是allow，表示允许该安全组内的流量；如果规则的action是deny，表示拒绝该安全组内的流量。   - 约束限制：与remote_ip_prefix，remote_address_group_id功能互斥。   - 取值范围：租户下存在的安全组ID。   - 默认取值：无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| remote_address_group_id | 否    | String  | - 参数解释：安全组规则的远端地址组ID。   - 约束限制：与remote_ip_prefix，remote_group_id功能互斥。   - 取值范围：租户下存在的地址组ID。   - 默认取值：无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| action                  | 否    | String  | - 参数解释：安全组规则的生效策略。   - 约束限制：无   - 取值范围： - allow：表示允许。   - deny：表示拒绝。     - 默认取值：allow                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| priority                | 否    | Integer | - 参数解释：安全组规则的生效优先级。   - 约束限制：无   - 取值范围：1\~100，1代表最高优先级。   - 默认取值：1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| enabled                 | 否    | Boolean | - 参数解释：是否启用安全组规则。   - 约束限制：无   - 取值范围： - true：表示启用此安全组规则。   - false：表示停用此安全组规则。     - 默认取值：true                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   
#### 响应参数
**状态码：201**
表4响应Body参数 
| 参数                   | 参数类型                                                                                             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|
| security_group_rules | Array of [SecurityGroupRule] objects | - 参数解释：批量创建安全组规则的响应体。   - 取值范围：无    |
| request_id           | String                                                                                           | - 参数解释：请求ID。   - 取值范围：无             |
   
 表5SecurityGroupRule 
| 参数                      | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| id                      | String  | - 参数解释：安全组规则的资源ID。安全组规则创建成功后，会生成一个安全组规则ID，是安全组规则对应的唯一标识。   - 取值范围：带"-"的标准UUID格式。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| description             | String  | - 参数解释：安全组规则的描述信息。   - 取值范围：0-255个字符，不能包含"\<"和"\>"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| security_group_id       | String  | - 参数解释：安全组规则所属的安全组ID。   - 取值范围：无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| direction               | String  | - 参数解释：安全组规则的出入控制方向。   - 取值范围： - ingress：表示入方向。   - egress：表示出方向。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| protocol                | String  | - 参数解释：安全组规则的通信协议类型。   - 取值范围： - icmp   - tcp   - udp   - icmpv6   - IP协议号   - null：支持全部协议。      |
| ethertype               | String  | - 参数解释：安全组规则的IP地址协议类型。   - 取值范围： - IPv4   - IPv6                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| multiport               | String  | - 参数解释：安全组规则的端口取值范围。   - 取值范围：支持单端口(80)，连续端口(1-30)以及不连续端口(22,3389,80)，如果为null则表示支持全部端口。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| action                  | String  | - 参数解释：安全组规则的生效策略。   - 取值范围： - allow：表示允许。   - deny：表示拒绝。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| priority                | Integer | - 参数解释：安全组规则的生效优先级。   - 取值范围：1\~100，1代表最高优先级。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| remote_group_id         | String  | - 参数解释：安全组规则的远端安全组ID，如果规则的action是allow，表示允许该安全组内的流量；如果规则的action是deny，表示拒绝该安全组内的流量。   - 取值范围： - 租户下存在的安全组ID。   - null：本安全组规则的源地址不为安全组。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| remote_ip_prefix        | String  | - 参数解释：安全组规则的远端IP地址。 - 当direction是egress时，该地址表示出方向的目的地址，为安全组内实例访问的远端地址。   - 当direction是ingress时，该地址表示入方向的源地址，为访问安全组内实例的远端地址。     - 取值范围： - cidr格式，请求如果传入IP地址，会自动转换为末尾带/32的格式，如192.168.21.45/32。   - null：本安全组规则的源地址不为IP地址。    当remote_ip_prefix、remote_group_id和remote_address_group_id均为null，则表示当前安全组规则默认放通所有IP地址。                      |
| remote_address_group_id | String  | - 参数解释：安全组规则的远端地址组ID。   - 取值范围： - 租户下存在的地址组ID。   - null：本安全组规则的源地址不为IP地址组。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| created_at              | String  | - 参数解释：安全组规则的创建时间。   - 取值范围：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| updated_at              | String  | - 参数解释：安全组规则的更新时间。   - 取值范围：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| project_id              | String  | - 参数解释：安全组规则所属项目ID。   - 取值范围：无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| enabled                 | Boolean | - 参数解释：是否启用安全组规则。   - 取值范围： - true：表示启用此安全组规则。   - false：表示停用此安全组规则。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   
**状态码：202**
表6响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                |
|:---|:---|:---|
| request_id | String | **参数解释**： 请求ID。 **取值范围**： 不涉及。 |
| error_msg  | String | **参数解释**： 错误消息。 **取值范围**： 不涉及。 |
| error_code | String | **参数解释**： 错误码。 **取值范围**： 不涉及。  |
   
#### 请求示例
在安全组15457509-18f9-4387-bae6-d4ed1898b301中创建入方向规则，忽略重复规则，两条规则相同。
```
POST https://{Endpoint}/v3/{project_id}/vpc/security-groups/15457509-18f9-4387-bae6-d4ed1898b301/security-group-rules/batch-create
{
  "ignore_duplicate" : true,
  "security_group_rules" : [ {
    "direction" : "ingress",
    "description" : "",
    "protocol" : "tcp",
    "action" : "allow",
    "priority" : 1,
    "ethertype" : "IPv4",
    "multiport" : "22",
    "remote_ip_prefix" : "117.78.12.122/32"
  }, {
    "direction" : "ingress",
    "description" : "",
    "protocol" : "tcp",
    "action" : "allow",
    "priority" : 1,
    "ethertype" : "IPv4",
    "multiport" : "22",
    "remote_ip_prefix" : "117.78.12.122/32"
  } ]
}
```
#### 响应示例
**状态码：201**
POST操作正常返回，更多状态码请参见[状态码](https://support.huaweicloud.com/api-vpc/vpc_api_0002.html)。
-
  ```
  {
    "security_group_rules" : [ {
      "id" : "abef369b-d646-4b8a-9f44-fcd248a6c421",
      "project_id" : "5f6387106c2048b589b369d96c2f23a2",
      "security_group_id" : "15457509-18f9-4387-bae6-d4ed1898b301",
      "direction" : "ingress",
      "protocol" : "tcp",
      "description" : "",
      "created_at" : "2023-04-28T04:08:52.000+00:00",
      "updated_at" : "2023-04-28T04:08:52.000+00:00",
      "ethertype" : "IPv4",
      "remote_ip_prefix" : "117.78.12.122/32",
      "multiport" : "22",
      "action" : "allow",
      "priority" : 1,
      "remote_group_id" : null,
      "remote_address_group_id" : null,
      "enabled" : true
    } ],
    "request_id" : "f1ae2c6f9e94babf077cd3b3e1570c81"
  }
  ```
  
**状态码：202**
API V3的指定预检请求正常返回，更多状态码请参见[状态码](https://support.huaweicloud.com/api-vpc/vpc_api_0002.html)。
```
{
  "error_msg" : "Request validation has been passed with dry run...",
  "error_code" : "SYS.0202",
  "request_id" : "cfd81aea3f59eac7128dba4b36d516c8"
}
```
#### SDK代码示例
SDK代码示例如下。
- [Java]
  在安全组15457509-18f9-4387-bae6-d4ed1898b301中创建入方向规则，忽略重复规则，两条规则相同。
  ```
  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.vpc.v3.region.VpcRegion;
  import com.huaweicloud.sdk.vpc.v3.*;
  import com.huaweicloud.sdk.vpc.v3.model.*;
  import java.util.List;
  import java.util.ArrayList;
  public class BatchCreateSecurityGroupRulesSolution {
      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);
          VpcClient client = VpcClient.newBuilder()
                  .withCredential(auth)
                  .withRegion(VpcRegion.valueOf("<YOUR REGION>"))
                  .build();
          BatchCreateSecurityGroupRulesRequest request = new BatchCreateSecurityGroupRulesRequest();
          request.withSecurityGroupId("{security_group_id}");
          BatchCreateSecurityGroupRulesRequestBody body = new BatchCreateSecurityGroupRulesRequestBody();
          List<BatchCreateSecurityGroupRulesOption> listbodySecurityGroupRules = new ArrayList<>();
          listbodySecurityGroupRules.add(
              new BatchCreateSecurityGroupRulesOption()
                  .withDescription("")
                  .withDirection("ingress")
                  .withEthertype("IPv4")
                  .withProtocol("tcp")
                  .withMultiport("22")
                  .withRemoteIpPrefix("117.78.12.122/32")
                  .withAction("allow")
                  .withPriority("1")
          );
          listbodySecurityGroupRules.add(
              new BatchCreateSecurityGroupRulesOption()
                  .withDescription("")
                  .withDirection("ingress")
                  .withEthertype("IPv4")
                  .withProtocol("tcp")
                  .withMultiport("22")
                  .withRemoteIpPrefix("117.78.12.122/32")
                  .withAction("allow")
                  .withPriority("1")
          );
          body.withIgnoreDuplicate(true);
          body.withSecurityGroupRules(listbodySecurityGroupRules);
          request.withBody(body);
          try {
              BatchCreateSecurityGroupRulesResponse response = client.batchCreateSecurityGroupRules(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]
  在安全组15457509-18f9-4387-bae6-d4ed1898b301中创建入方向规则，忽略重复规则，两条规则相同。
  ```
  # coding: utf-8
  import os
  from huaweicloudsdkcore.auth.credentials import BasicCredentials
  from huaweicloudsdkvpc.v3.region.vpc_region import VpcRegion
  from huaweicloudsdkcore.exceptions import exceptions
  from huaweicloudsdkvpc.v3 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 = VpcClient.new_builder() \
          .with_credentials(credentials) \
          .with_region(VpcRegion.value_of("<YOUR REGION>")) \
          .build()
      try:
          request = BatchCreateSecurityGroupRulesRequest()
          request.security_group_id = "{security_group_id}"
          listSecurityGroupRulesbody = [
              BatchCreateSecurityGroupRulesOption(
                  description="",
                  direction="ingress",
                  ethertype="IPv4",
                  protocol="tcp",
                  multiport="22",
                  remote_ip_prefix="117.78.12.122/32",
                  action="allow",
                  priority="1"
              ),
              BatchCreateSecurityGroupRulesOption(
                  description="",
                  direction="ingress",
                  ethertype="IPv4",
                  protocol="tcp",
                  multiport="22",
                  remote_ip_prefix="117.78.12.122/32",
                  action="allow",
                  priority="1"
              )
          ]
          request.body = BatchCreateSecurityGroupRulesRequestBody(
              ignore_duplicate=True,
              security_group_rules=listSecurityGroupRulesbody
          )
          response = client.batch_create_security_group_rules(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]
  在安全组15457509-18f9-4387-bae6-d4ed1898b301中创建入方向规则，忽略重复规则，两条规则相同。
  ```
  package main
  import (
  "fmt"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
      vpc "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v3"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v3/model"
      region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/vpc/v3/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 := vpc.VpcClientBuilder().
           WithRegion(region.ValueOf("<YOUR REGION>")).
           WithCredential(auth).
           SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      client := vpc.NewVpcClient(hcClient)
      request := &model.BatchCreateSecurityGroupRulesRequest{}
  request.SecurityGroupId = "{security_group_id}"
  descriptionSecurityGroupRules:= ""
  ethertypeSecurityGroupRules:= "IPv4"
  protocolSecurityGroupRules:= "tcp"
  multiportSecurityGroupRules:= "22"
  remoteIpPrefixSecurityGroupRules:= "117.78.12.122/32"
  actionSecurityGroupRules:= "allow"
  prioritySecurityGroupRules:= "1"
  descriptionSecurityGroupRules1:= ""
  ethertypeSecurityGroupRules1:= "IPv4"
  protocolSecurityGroupRules1:= "tcp"
  multiportSecurityGroupRules1:= "22"
  remoteIpPrefixSecurityGroupRules1:= "117.78.12.122/32"
  actionSecurityGroupRules1:= "allow"
  prioritySecurityGroupRules1:= "1"
  var listSecurityGroupRulesbody = []model.BatchCreateSecurityGroupRulesOption{
          {
              Description: &descriptionSecurityGroupRules,
              Direction: "ingress",
              Ethertype: &ethertypeSecurityGroupRules,
              Protocol: &protocolSecurityGroupRules,
              Multiport: &multiportSecurityGroupRules,
              RemoteIpPrefix: &remoteIpPrefixSecurityGroupRules,
              Action: &actionSecurityGroupRules,
              Priority: &prioritySecurityGroupRules,
          },
          {
              Description: &descriptionSecurityGroupRules1,
              Direction: "ingress",
              Ethertype: &ethertypeSecurityGroupRules1,
              Protocol: &protocolSecurityGroupRules1,
              Multiport: &multiportSecurityGroupRules1,
              RemoteIpPrefix: &remoteIpPrefixSecurityGroupRules1,
              Action: &actionSecurityGroupRules1,
              Priority: &prioritySecurityGroupRules1,
          },
      }
  ignoreDuplicateBatchCreateSecurityGroupRulesRequestBody:= true
  request.Body = &model.BatchCreateSecurityGroupRulesRequestBody{
  IgnoreDuplicate: &ignoreDuplicateBatchCreateSecurityGroupRulesRequestBody,
  SecurityGroupRules: listSecurityGroupRulesbody,
  }
  response, err := client.BatchCreateSecurityGroupRules(request)
  if err == nil {
          fmt.Printf("%+v\n", response)
      } else {
          fmt.Println(err)
      }
  }
  ```
- [更多]
  更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/VPC/sdk?api=BatchCreateSecurityGroupRules&version=v3)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述                                                                                          |
|:---|:---|
| 201 | POST操作正常返回，更多状态码请参见[状态码](https://support.huaweicloud.com/api-vpc/vpc_api_0002.html)。        |
| 202 | API V3的指定预检请求正常返回，更多状态码请参见[状态码](https://support.huaweicloud.com/api-vpc/vpc_api_0002.html)。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-vpc/vpc_api_0003.html)。
