Updated on 2024-04-16 GMT+08:00

Creating an IP Address Group

Function

This API is used to create an IP address group.

Constraints

The default IP address group quota for each account is 50.

URI

POST /v3/{project_id}/vpc/address-groups

Table 1 Parameter description

Name

Mandatory

Type

Description

project_id

Yes

String

Project ID.

For details about how to obtain a project ID, see Obtaining a Project ID.

Request Parameter

Table 2 Request body parameter

Parameter

Mandatory

Type

Description

dry_run

No

Boolean

  • Whether to only send the check request.
  • The value can be:
    • true: A check request will be sent and no IP address group will be created. Check items include mandatory parameters, request format, and permission verification. If the check fails, an error will be returned. If the check succeeds, response code 202 will be returned.
    • false (default value): A request will be sent and an IP address group will be created.

address_group

Yes

CreateAddressGroupOption object

Request body for creating an IP address group.

Table 3 CreateAddressGroupOption

Parameter

Mandatory

Type

Description

name

Yes

String

  • IP address group name.
  • The value can contain 1 to 64 characters, including letters, digits, underscores (_), hyphens (-), and periods (.).

description

No

String

  • Provides supplementary information about an IP address group.
  • The value can contain up to 255 characters and cannot contain angle brackets (< or >).

ip_version

Yes

Integer

  • The IP version of the address group.
  • The value can be:
    • 4: IPv4 address group.
    • 6: IPv6 address group.

max_capacity

No

Integer

  • Maximum number of IP addresses or IP address ranges in an IP address group.
  • The value can be from 0 to 20.
  • The default value is 20.

ip_set

No

Array of strings

  • IP address sets in an IP address group.
  • The value can be a single IP address, IP address range, or CIDR block.
  • The default maximum number of IP address sets, including IP addresses, IP address ranges, and CIDR blocks, in an IP address group is 20.

enterprise_project_id

No

String

  • Enterprise project ID. This is the ID of enterprise project bound to the IP address group when you create the group.
  • The value is 0 or a string that contains a maximum of 36 characters in UUID format with hyphens (-). Value 0 indicates the default enterprise project.
  • Default value: 0
  • This parameter is available in CN South-Shenzhen, CN Southwest-Guiyang1, CN South-Guangzhou, AP-Singapore, CN East-Shanghai1, and CN North-Beijing4.

ip_extra_set

No

Array of IpExtraSetOption objects

  • IP addresses and their remarks in an IP address group.
  • The default quota is 20. Either this parameter or ip_set must be specified.
Table 4 IpExtraSetOption

Parameter

Mandatory

Type

Description

ip

Yes

String

  • An IP address, IP address range, or CIDR block. Both IPv4 and IPv6 are supported.

remarks

No

String

  • Provides supplementary information about the IP address, IP address range, or CIDR block.
  • The value can contain up to 255 characters and cannot contain angle brackets (< or >).

Example Request

  • Create an IP address group named AutoTester746010.580123789, set the IP version to IPv4, and the IP set to 192.168.3.2, 192.168.3.40, 192.168.3.20-192.168.3.100, and 192.168.5.0/24.
    POST https://{{endpoint}}/v3/b2782e6708b8475c993e6064bc456bf8/vpc/address-groups
    
    {
        "address_group": {
            "ip_version": 4, 
            "name": "AutoTester746010.580123789", 
            "ip_set": [
                "192.168.3.2", 
                "192.168.3.40", 
                "192.168.3.20-192.168.3.100", 
                "192.168.5.0/24"
            ],
            "description": "test",
            "max_capacity": 20,
            "enterprise_project_id": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2"
        }
    }

Response Parameter

When the status code is 201, the response parameters are as follows:

Table 5 Response body parameters

Parameter

Type

Description

request_id

String

Request ID.

address_group

AddressGroup object

Response body for creating an IP address group.

Table 6 AddressGroup

Parameter

Type

Description

id

String

  • IP address group ID that uniquely identifies the IP address group.
  • The value is a string in UUID format.

name

String

  • IP address group name.
  • The value can contain up to 64 characters, including letters, digits, underscores (_), hyphens (-), and periods (.).

description

String

  • Provides supplementary information about an IP address group.
  • The value can contain up to 255 characters.
  • The value cannot contain angle brackets (< or >).

ip_set

Array of strings

  • IP address sets in an IP address group.
  • The value can be a single IP address, IP address range, or CIDR block.
  • The default maximum number of IP address sets, including IP addresses, IP address ranges, and CIDR blocks, in an IP address group is 20.

ip_version

Integer

  • Whether it is an IPv4 or IPv6 address group.
  • The value can be:
    • 4: IPv4 address group.
    • 6: IPv6 address group.

created_at

String

  • Time (UTC) when the IP address group is created.
  • The value must be the UTC time in the format of yyyy-MM-ddTHH:mmss.

updated_at

String

  • Time (UTC) when the IP address group was last updated.
  • The value must be the UTC time in the format of yyyy-MM-ddTHH:mmss.

tenant_id

String

  • ID of the project to which the IP address group belongs.

max_capacity

Integer

  • Maximum number of IP addresses or IP address ranges in an IP address group.
  • The value can be from 0 to 20.
  • The default value is 20.

enterprise_project_id

String

  • Enterprise project ID.
  • The value is 0 or a string that contains a maximum of 36 characters in UUID format with hyphens (-). Value 0 indicates the default enterprise project.
  • Maximum length: 36
  • This parameter is available in CN South-Shenzhen, CN Southwest-Guiyang1, CN South-Guangzhou, AP-Singapore, CN East-Shanghai1, and CN North-Beijing4.

tags

Array of ResourceTag objects

IP address group tags.

status

String

  • IP address group status.
  • Value range (Default value: NORMAL)
    • NORMAL
    • UPDATING
    • UPDATE_FAILED
  • An IP address group in the UPDATING state cannot be updated again.

status_message

String

  • IP address group status details.

ip_extra_set

Array of IpExtraSetRespOption objects

  • IP address sets and their remarks in an IP address group.
Table 7 ResourceTag

Parameter

Type

Description

key

String

  • Tag key.
  • Tag keys must be unique for each resource.
  • Minimum length: 1
  • Maximum length: 128

value

String

  • Tag value.
  • Maximum length: 255
Table 8 IpExtraSetRespOption

Parameter

Type

Description

ip

String

  • An IP address, IP address range, or CIDR block. Both IPv4 and IPv6 are supported.

remarks

String

  • Provides supplementary information about the IP address, IP address range, or CIDR block.
  • The value can contain up to 255 characters and cannot contain angle brackets (< or >).

Example Response

When the status code is 201, the response parameters are as follows:

Normal response for the POST operation of the API for creating an IP address group
{
    "address_group": {
        "id": "dd18a501-fcd5-4adc-acfe-b0e2384baf08", 
        "name": "AutoTester746010.580123789", 
        "tenant_id": "b2782e6708b8475c993e6064bc456bf8", 
        "ip_version": 4, 
        "ip_set": [
            "192.168.5.0/24", 
            "192.168.3.20-192.168.3.100", 
            "192.168.3.40", 
            "192.168.3.2"
        ], 
        "ip_extra_set": [{
	    "ip": "192.168.5.0/24",
	    "remarks": null
	},
	{
            "ip": "192.168.3.20-192.168.3.100",
	    "remarks": null
	},
	{
	    "ip": "192.168.3.40",
	    "remarks": null
	},
	{
	    "ip": "192.168.3.2",
	    "remarks": null
	}],
        "created_at": "2019-06-28T02:06:38", 
        "updated_at": "2019-06-28T02:06:38", 
        "description": "test",
        "enterprise_project_id": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2",
        "tags": [],
        "max_capacity": 20,
        "status": "NORMAL",
        "status_message": ""
    }, 
    "request_id": "f568db7a-2675-4271-8747-3e3f1c6381ba"
}

Status Code

See Status Codes.

Error Code

See Error Codes.