Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-02-03 GMT+08:00

Creación de un puerto

Función

Esta API se utiliza para crear un puerto.

URI

POST /v1/{project_id}/ports

Tabla 1 describe los parámetros.
Tabla 1 Descripción de parámetros

Nombre

Obligatorio

Descripción

project_id

Especifica el ID del proyecto. Para obtener más información sobre cómo obtener un ID de proyecto, consulte Obtención de un ID de proyecto.

Mensaje de solicitud

  • Parámetro de solicitud
    Tabla 2 Parámetro de solicitud

    Nombre

    Obligatorio

    Tipo

    Descripción

    port

    port object

    Especifica los objetos del puerto. Para más detalles, consulte Tabla 3.

    Tabla 3 Descripción del campo port

    Nombre

    Obligatorio

    Tipo

    Descripción

    name

    No

    String

    • Especifica el nombre del puerto.
    • El valor no puede contener más de 255 caracteres. Este parámetro se deja en blanco por defecto.

    network_id

    String

    • Especifica el ID de la red a la que pertenece el puerto.
    • El ID de red debe ser real en el entorno de red.
    NOTA:

    Para obtener el ID de red:

    • Método 1: Inicie sesión en la consola de VPC y haga clic en la subred de destino en la página Subnets. Puede ver el ID de red en la página mostrada.
    • Método 2: Invoque a la API para consultar las subredes. Para obtener más información, véase la sección Consulta de subredes.

    admin_state_up

    No

    Boolean

    • Especifica el estado administrativo del puerto.
    • El valor solo puede ser true y el valor predeterminado es true.

    device_owner

    No

    String

    • Especifica el dispositivo al que pertenece el puerto.
    • Actualmente, solo "" y neutron:VIP_PORT son compatibles. neutron:VIP_PORT indica el puerto de una dirección IP virtual.

    fixed_ips

    No

    Array of fixed_ip objects

    • Especifica la dirección IP del puerto. Por ejemplo, el valor es "fixed_ips": [{"subnet_id": "4dc70db6-cb7f-4200-9790-a6a910776bba", "ip_address": "192.169.25.79"}]. Para más detalles, consulte Tabla 4.
    • Un puerto solo admite una dirección IP fija que no se puede cambiar.

    tenant_id

    No

    String

    Especifica el ID del proyecto.

    security_groups

    No

    Array of strings

    Especifica el UUID del grupo de seguridad, por ejemplo, "security_groups": ["a0608cbf-d047-4f54-8b28-cd7b59853fff"]. Este es un atributo extendido.

    allowed_address_pairs

    No

    Array of allow_address_pair objects

    • Especifica un conjunto de cero o más pares de direcciones permitidos. Un par de direcciones consiste en una dirección IP y una dirección de MAC. Este atributo se extiende. Para obtener más información, consulte el parámetro allow_address_pair de Tabla 5.
    • La dirección IP no puede ser 0.0.0.0/0.
    • Configure un grupo de seguridad dedicado para el puerto si el parámetro allowed_address_pairs tiene un bloque CIDR grande (máscara de subred menor que 24).
    • Si el valor de allowed_address_pairs es 1.1.1.1/0, la comprobación de origen/destino está deshabilitada.
    • Si la dirección IP virtual está enlazada a un servidor en la nube:
      • El valor de mac_address se puede dejar en blanco o establecer en la dirección MAC de la NIC vinculada al servidor en la nube.
      • Establezca el allowed_address_pairs del servidor en la nube en 1.1.1.1/0.

    extra_dhcp_opts

    No

    Array of extra_dhcp_opt objects

    Especifica la opción extendida (atributo extendido) de DHCP. Para más detalles, consulte Tabla 6.

    Tabla 4 Objetos de fixed_ip

    Nombre

    Obligatorio

    Tipo

    Descripción

    subnet_id

    No

    String

    • Especifica el ID de subred.

      Si utiliza la consola de gestión, el valor de este parámetro es el valor Network ID.

    • No se puede cambiar el valor del parámetro.

    ip_address

    No

    String

    • Especifica la dirección IP del puerto.
    • No se puede cambiar el valor del parámetro.
    Tabla 5 Objeto de allow_address_pair

    Nombre

    Obligatorio

    Tipo

    Descripción

    ip_address

    String

    • Especifica la dirección IP.
    • No se puede establecer en 0.0.0.0/0.
    • Configure un grupo de seguridad dedicado para el puerto si el parámetro allowed_address_pairs tiene un bloque CIDR grande (máscara de subred menor que 24).
    • Si el valor de allowed_address_pairs es 1.1.1.1/0, la comprobación de origen/destino está deshabilitada.
    • Establezca el allowed_address_pairs del servidor en la nube en 1.1.1.1/0.
    • Si se especifica el valor de parámetro allowed_address_pairs, el parámetro ip_address es obligatorio.

    mac_address

    No

    String

    Especifica la dirección MAC.

    Tabla 6 Objeto de extra_dhcp_opt

    Nombre

    Obligatorio

    Tipo

    Descripción

    opt_name

    No

    String

    Especifica el nombre de la opción DHCP. El valor de este parámetro sólo puede ser 51, lo que indica el tiempo de concesión DHCP.

    opt_value

    No

    String

    Especifica el valor de la opción DHCP.

    Si el valor de opt_name es 51, el formato de valor de opt_value es Xh, lo que indica que el tiempo de concesión DHCP es X horas.

    El valor de X es -1 o de 1 a 30000. Si el valor es -1, el tiempo de concesión DHCP es infinito.

  • Ejemplo de solicitud
    POST https://{Endpoint}/v1/{project_id}/ports
    
    {
        "port": {
            "fixed_ips": [
                {
                    "ip_address": "192.168.0.38",
                    "subnet_id": "06bc2359-d75e-4f96-82f4-313e39c7148c"
                }
            ],
            "network_id": "28a1c93c-9a5e-4a9f-813b-e495bdef7d34",
            "security_groups": [
                "f2c5b3fc-b971-4a86-87b9-032586260e3e"
            ]
        }
    }

Mensaje de respuesta

  • Parámetro de respuesta
    Tabla 7 Parámetro de respuesta

    Nombre

    Tipo

    Descripción

    port

    port object

    Especifica los objetos de puerto. Para más detalles, consulte Tabla 8.

    Tabla 8 Descripción del campo port

    Nombre

    Tipo

    Descripción

    id

    String

    Especifica el ID de puerto, que identifica el puerto de forma exclusiva.

    name

    String

    • Especifica el nombre del puerto.
    • El valor no puede contener más de 255 caracteres. Este parámetro se deja en blanco por defecto.

    network_id

    String

    • Especifica el ID de la red a la que pertenece el puerto.
    • El ID de red debe ser real en el entorno de red.
    NOTA:

    Para obtener el ID de red:

    • Método 1: Inicie sesión en la consola de VPC y haga clic en la subred de destino en la página Subnets. Puede ver el ID de red en la página mostrada.
    • Método 2: Invoque a la API para consultar las subredes. Para obtener más información, véase la sección Consulta de subredes.

    admin_state_up

    Boolean

    • Especifica el estado administrativo del puerto.
    • El valor solo puede ser true y el valor predeterminado es true.

    mac_address

    String

    • Especifica la dirección MAC del puerto.
    • El sistema establece automáticamente este parámetro y no se le permite configurar el valor del parámetro.

    fixed_ips

    Matriz de objetos de fixed_ip

    • Especifica la dirección IP del puerto. Por ejemplo, el valor es "fixed_ips": [{"subnet_id": "4dc70db6-cb7f-4200-9790-a6a910776bba", "ip_address": "192.169.25.79"}]. Para más detalles, consulte Tabla 9.
    • En escenarios IPv4, un puerto solo admite una dirección IP fija que no se puede cambiar. En escenarios IPv6, un puerto admite un máximo de dos direcciones IP fijas que no se pueden cambiar.

    device_id

    String

    • Especifica el ID del dispositivo al que pertenece el puerto.
    • El sistema establece automáticamente este parámetro y no se le permite configurar ni cambiar el valor del parámetro.

    device_owner

    String

    • Especifica el dispositivo perteneciente, que puede ser el servidor DHCP, el router, el balanceador de carga o Nova.
    • El sistema establece automáticamente este parámetro y no se le permite configurar ni cambiar el valor del parámetro.

    tenant_id

    String

    Especifica el ID del proyecto.

    status

    String

    • Especifica el estado del puerto. El estado de un puerto HANA SR-IOV VM es siempre DOWN.
    • El valor puede ser ACTIVE, BUILD, o DOWN.

    Si el valor de allowed_address_pairs es la dirección IP de la NIC de ECS, el puerto correspondiente a la dirección IP virtual está enlazado.

    security_groups

    Array of strings

    Especifica el UUID del grupo de seguridad (atributo extendido).

    allowed_address_pairs

    Array of allow_address_pair objects

    • Especifica un conjunto de cero o más pares de direcciones permitidos. Un par de direcciones consiste en una dirección IP y una dirección de MAC. Para más detalles, consulte Tabla 10.
    • La dirección IP no puede ser 0.0.0.0/0.
    • Configure un grupo de seguridad dedicado para el puerto si el parámetro allowed_address_pairs tiene un bloque CIDR grande (máscara de subred menor que 24).
    • Si el valor de allowed_address_pairs es 1.1.1.1/0, la comprobación de origen/destino está deshabilitada.
    • Establezca el allowed_address_pairs del servidor en la nube en 1.1.1.1/0.

    extra_dhcp_opts

    Array of extra_dhcp_opt objects

    Especifica la opción extendida (atributo extendido) de DHCP. Para más detalles, consulte Tabla 11.

    binding:vif_details

    binding:vif_details object

    Para más detalles, consulte Tabla 12.

    binding:profile

    Object

    • Especifica la información personalizada configurada por los usuarios. Este es un atributo extendido.

    binding:vnic_type

    String

    • Especifica el tipo de vNIC enlazado.
    • El valor puede ser normal o direct.
    • El parámetro normal indica conmutación de software. El parámetro direct indica el paso a través de SR-IOV PCIe, que no es compatible.

    dns_assignment

    Array of dns_assignment objects

    • Especifica la información de nombre de dominio de red privada predeterminada de la NIC principal.
    • El sistema establece automáticamente este parámetro y no se le permite configurar ni cambiar el valor del parámetro.

    dns_name

    String

    • Especifica el nombre DNS de la red privada predeterminada de la NIC principal.
    • El sistema establece automáticamente este parámetro y no se le permite configurar ni cambiar el valor del parámetro.

    instance_id

    String

    • Especifica el ID de la instancia a la que pertenece el puerto, por ejemplo, el ID de instancia de RDS.
    • El sistema establece automáticamente este parámetro y no se le permite configurar ni cambiar el valor del parámetro.

    instance_type

    String

    • Especifica el tipo de instancia a la que pertenece el puerto, por ejemplo, RDS.
    • El sistema establece automáticamente este parámetro y no se le permite configurar ni cambiar el valor del parámetro.

    port_security_enabled

    Boolean

    • Especifica si la opción de seguridad está habilitada para el puerto. Si la opción no está habilitada, el grupo de seguridad y la indagación DHCP no tienen efecto.

    zone_id

    String

    Especifica la zona de disponibilidad a la que pertenece el puerto.

    Tabla 9 Objeto de fixed_ip

    Nombre

    Tipo

    Descripción

    subnet_id

    String

    Especifica el ID de subred.

    Si utiliza la consola de gestión, el valor de este parámetro es el valor Network ID.

    No se puede cambiar el valor del parámetro.

    ip_address

    String

    Especifica la dirección IP del puerto.

    Tabla 10 Objeto de allow_address_pair

    Nombre

    Tipo

    Descripción

    ip_address

    String

    • Especifica la dirección IP.
    • No se puede establecer en 0.0.0.0/0.
    • Configure un grupo de seguridad dedicado para el puerto si el parámetro allowed_address_pairs tiene un bloque CIDR grande (máscara de subred menor que 24).
    • Si el valor de allowed_address_pairs es 1.1.1.1/0, la comprobación de origen/destino está deshabilitada.
    • Establezca el allowed_address_pairs del servidor en la nube en 1.1.1.1/0.

    mac_address

    String

    Especifica la dirección MAC.

    Tabla 11 Objeto de extra_dhcp_opt

    Nombre

    Tipo

    Descripción

    opt_name

    String

    Especifica el nombre de la opción DHCP. El valor de este parámetro sólo puede ser 51, lo que indica el tiempo de concesión DHCP.

    opt_value

    String

    Especifica el valor de la opción DHCP.

    Si el valor de opt_name es 51, el formato de valor de opt_value es Xh, lo que indica que el tiempo de concesión DHCP es X horas.

    El valor de X es -1 o de 1 a 30000. Si el valor es -1, el tiempo de concesión DHCP es infinito.

    Tabla 12 objeto binding:vif_details

    Nombre

    Tipo

    Descripción

    primary_interface

    Boolean

    Si el valor es true, esta es la NIC principal.

    port_filter

    Boolean

    Especifica el puerto utilizado para filtrar en grupos de seguridad para protegerse contra la suplantación de MAC o IP.

    ovs_hybrid_plug

    Boolean

    Especifica que el conector híbrido OVS debe ser utilizado por las API de Nova.

    Tabla 13 Objeto de dns_assignment

    Nombre

    Tipo

    Descripción

    hostname

    String

    Especifica el nombre de host del puerto.

    ip_address

    String

    Especifica la dirección IP del puerto.

    fqdn

    String

    Especifica el nombre de dominio completo (FQDN) de la red privada del puerto.

  • Ejemplo de respuesta
    {
        "port": {
            "id": "d00f9c13-412f-4855-8af3-de5d8c24cd60",
            "name": "test",
            "status": "DOWN",
            "admin_state_up": "true",
            "fixed_ips": [
                {
                    "subnet_id": "70f2e74b-e660-410a-b754-0ca46744348a",
                    "ip_address": "10.128.1.10"
                }
            ],
            "dns_name": "",
            "mac_address": "fa:16:3e:d7:f2:6c",
            "network_id": "5b808927-13c9-4e60-a4f4-ed6ffe225167",
            "tenant_id": "43f2d1cca56a40729dcb17212482f34d",
            "device_id": "",
            "device_owner": "",
            "security_groups": [
                "02b4e8ee-74fa-4a31-802e-5490df11245e"
            ],
            "extra_dhcp_opts": [],
            "allowed_address_pairs": [],
            "binding:vnic_type": "normal"
        }
    }

Código de estado

Consulte Códigos de estado.

Código de error

Consulte Códigos de error.