Updated on 2024-01-26 GMT+08:00

Creating a Customer Gateway

Function

This API is used to create a customer gateway to which a VPN gateway connects.

Calling Method

For details, see Calling APIs.

URI

POST /v5/{project_id}/customer-gateways

Table 1 Parameter description

Parameter

Type

Mandatory

Description

project_id

String

Yes

Specifies a project ID. You can obtain the project ID by referring to Obtaining the Project ID.

Request

  • Request parameters
    Table 2 Request parameters

    Parameter

    Type

    Mandatory

    Description

    customer_gateway

    CreateCgwRequestBodyContent object

    Yes

    Specifies the customer gateway object.

    Table 3 CreateCgwRequestBodyContent

    Parameter

    Type

    Mandatory

    Description

    name

    String

    No

    • Specifies the name of a customer gateway. If this parameter is not specified, a name in the format of cgw-**** is automatically generated, for example, cgw-21a3.
    • The value is a string of 1 to 64 characters, which can contain digits, letters, underscores (_), hyphens (-), and periods (.).

    id_type

    String

    No

    • Specifies the identifier type of a customer gateway.
    • The value can be ip or fqdn.
    • The default value is ip.

    id_value

    String

    Yes

    • Specifies the identifier of a customer gateway.
    • The value is a string of 1 to 128 characters. When id_type is set to ip, the value is an IPv4 address in dotted decimal notation, for example, 192.168.45.7. When id_type is set to fqdn, the value is a string of characters that can contain uppercase letters, lowercase letters, digits, and special characters. Spaces and the following special characters are not supported: & < > [ ] \ ?.

    bgp_asn

    Long

    No

    • Specifies the BGP AS number of the customer gateway.
    • The value ranges from 1 to 4294967295.
    • Set this parameter only when id_type is set to ip.

    ca_certificate

    CaCertificateRequest object

    No

    • Specifies the CA certificate of the customer gateway. This parameter is mandatory when you create a customer gateway that uses SM series cryptographic algorithms.

    tags

    Array of VpnResourceTag object

    No

    • Specifies a tag list.
    • A maximum of 20 tags can be specified.
    Table 4 CaCertificateRequest

    Parameter

    Type

    Mandatory

    Description

    id

    String

    No

    • Specifies the certificate ID.
    • The value is a UUID containing 36 characters.

    content

    String

    No

    • Specifies the content in the CA certificate of the customer gateway.
    • The value is a string of 1 to 8192 characters.
    Table 5 VpnResourceTag

    Parameter

    Type

    Mandatory

    Description

    key

    String

    Yes

    • Specifies a tag key.
    • The value is a string of 1 to 128 characters that can contain digits, letters, Spanish characters, Portuguese characters, spaces, and special characters (_ . : = + - @).

    value

    String

    Yes

    • Specifies a tag value.
    • The value is a string of 0 to 255 characters that can contain digits, letters, Spanish characters, Portuguese characters, spaces, and special characters (_ . : = + - @).
  • Example request
    POST https://{Endpoint}/v5/{project_id}/vpn/customer-gateways
    
    {
        "customer_gateway": {
            "name": "cgw-2abf",
            "id_type": "ip",
            "id_value": "10.***.***.21",
            "bgp_asn": 65000,
            "ca_certificate": {
                "content":"******"
            }
        }
    }

Response

  • Response parameters

    Returned status code 201: successful creation

    Table 6 Parameters in the response body

    Parameter

    Type

    Description

    customer_gateway

    ResponseCustomerGateway object

    Specifies the customer gateway object.

    request_id

    String

    Specifies a request ID.

    Table 7 ResponseCustomerGateway

    Parameter

    Type

    Description

    id

    String

    • Specifies a customer gateway ID.
    • The value is a UUID containing 36 characters.

    name

    String

    • Specifies a customer gateway name. If no customer gateway name is specified, the system automatically generates one.
    • The value is a string of 1 to 64 characters, which can contain digits, letters, underscores (_), and hyphens (-).

    id_type

    String

    • Specifies the identifier type of a customer gateway.
    • The value can be ip or fqdn.

    id_value

    String

    Specifies the identifier of a customer gateway.

    bgp_asn

    Long

    Specifies the BGP AS number of the customer gateway. This parameter is available only when id_type is set to ip.

    ca_certificate

    CaCertificate object

    Specifies the CA certificate information of the customer gateway. This parameter is available only when the customer gateway has a CA certificate bound.

    created_at

    String

    Specifies the time when the customer gateway is created.

    updated_at

    String

    Specifies the last update time.

    tags

    Array of VpnResourceTag objects

    Specifies a tag list.

    Table 8 CaCertificate

    Parameter

    Type

    Description

    id

    String

    Specifies a certificate ID.

    serial_number

    String

    Specifies the serial number of the certificate.

    signature_algorithm

    String

    Specifies the signature algorithm.

    issuer

    String

    Specifies the certificate issuer.

    subject

    String

    Specifies the certificate subject.

    expire_time

    String

    Specifies the time when the certificate expires.

    is_updatable

    boolean

    Indicates whether the certificate content can be updated.

    Table 9 VpnResourceTag

    Parameter

    Type

    Description

    key

    String

    • Specifies a tag key.
    • The value is a string of 1 to 128 characters that can contain digits, letters, Spanish characters, Portuguese characters, spaces, and special characters (_ . : = + - @).

    value

    String

    • Specifies a tag value.
    • The value is a string of 0 to 255 characters that can contain digits, letters, Spanish characters, Portuguese characters, spaces, and special characters (_ . : = + - @).
  • Example response
    {
        "customer_gateway": {
            "id": "03c0aa3d-****-****-****-9d82473765d4",
            "name": "cgw-2abf",
            "id_type": "ip",
            "id_value": "10.***.***.21",
            "bgp_asn": 65000,
            "ca_certificate": {
                "serial_number": "14257156674311863338",
                "signature_algorithm": "SM3WITHSM2",
                "issuer": "C=CN,O=a0002,CN=XXX",
                "subject": "C=CN,O=a0002,CN=XXX",
                "expire_time": "2024-05-22T07:34:22Z",
                "is_updatable": true
            },
            "created_at": "2021-12-21T16:49:28.108+08:00",
            "updated_at": "2021-12-21T16:49:28.108+08:00"
        },
        "request_id": "7e0383bf-a7fb-461b-a926-baa8a795bf1a"
    }

Status Codes

For details, see Status Codes.