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 /v2.0/ports

Mensaje de solicitud

Tabla 1 Parámetro de solicitud

Parámetro

Tipo

Obligatorio

Descripción

port

port object

Especifica la lista de objetos de puerto. Para obtener más información, véase Tabla 2.

Tabla 2 Objetos de port

Atributo

Obligatorio

Tipo

Descripción

name

No

String

Especifica el nombre del puerto.

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.

El valor solo puede ser true.

fixed_ips

No

Array of fixed_ip objects

Especifica la dirección IP del puerto. Para obtener más información, véase Tabla 3. Por ejemplo, el valor es "fixed_ips": [{"subnet_id": "4dc70db6-cb7f-4200-9790-a6a910776bba", "ip_address": "192.169.25.79"}].

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.

Este parámetro es obligatorio.

allowed_address_pairs

No

Array of allow_address_pair objects

Especifica la dirección IP y el par de direcciones MAC. Este es un atributo extendido. Para obtener más información, véase Tabla 4.

Instrucciones:

  • La dirección IP no puede ser 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 de 1.1.1.1/0 la comprobación de origen/destino está deshabilitada.
  • En el plan de red SDN de hardware, el valor del atributo ip_address no puede estar en formato CIDR.
  • Para asignar una dirección IP virtual a un ECS, la dirección IP configurada en allowed_address_pairs debe ser una dirección IP NIC ECS existente. De lo contrario, la dirección IP virtual no se puede utilizar para la comunicación.
  • 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 DHCP extendida. Este es un atributo extendido. Para obtener más información, véase Tabla 5.

binding:profile

No

Object

Especifica la configuración definida por el usuario. Este es un atributo extendido.

Instrucciones:

  • El campo internal_elb es de tipo boolean y está disponible para tenants comunes. Establezca el valor de este parámetro en true solo cuando asigne una dirección IP virtual a un balanceador de carga de red interno. Los tenants comunes no tienen permiso para cambiar el valor de este campo, que es mantenido por el sistema.

    Por ejemplo:

    {"internal_elb": true}

  • El campo disable_security_groups es de tipo boolean y está disponible para tenants comunes. El valor predeterminado es false. En escenarios de comunicación de alto rendimiento, puede establecer el valor del parámetro en true, lo que hace que este parámetro esté disponible para los tenants comunes. Puede especificar este parámetro al crear un puerto. Actualmente, el valor de este parámetro solo se puede establecer en true.

    Por ejemplo:

    {"disable_security_groups": true },

    Actualmente, el valor solo se puede establecer en true. Cuando el valor se establece en true, la función FWaaS no tiene efecto.

binding:vnic_type

No

String

Especifica el tipo de vNIC enlazado.

normal: Softswitch

port_security_enabled

No

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.

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.

Tabla 3 Objetos de fixed_ip

Atributo

Obligatorio

Tipo

Descripción

subnet_id

No

String

Especifica el ID de la subred a la que pertenece el puerto.

Este parámetro no se puede actualizar.

ip_address

No

String

Especifica la dirección IP del puerto.

Este parámetro no se puede actualizar.

Tabla 4 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 5 Objetos de extra_dhcp_opt

Atributo

Obligatorio

Tipo

Descripción

opt_name

No

String

Especifica el nombre de la opción.

opt_value

No

String

Especifica el valor de la opción.

Ejemplo de la solicitud

POST https://{Endpoint}/v2.0/ports

{
    "port": {
       "admin_state_up": true,
        "network_id": "00ae08c5-f727-49ab-ad4b-b069398aa171",
        "name": "port-test"
    }
}

Mensaje de la respuesta

Tabla 6 Parámetro de respuesta

Parámetro

Tipo

Descripción

port

port object

Especifica la información del puerto. Para obtener más información, véase Tabla 7.

Tabla 7 Objetos de port

Atributo

Tipo

Descripción

id

String

Especifica el ID de puerto. Se permite un máximo de 255 caracteres.

Este parámetro no es obligatorio cuando consulta los puertos.

name

String

Especifica el nombre del puerto.

network_id

String

Especifica el ID de la red a la que pertenece el puerto.

admin_state_up

Boolean

Especifica el estado administrativo.

El valor solo puede ser true.

mac_address

String

Especifica la dirección MAC del puerto. Por ejemplo, "mac_address": "fa:16:3e:9e:ff:55".

Este valor solo puede ser asignado dinámicamente por el sistema.

fixed_ips

Array of fixed_ip objects

Especifica la dirección IP del puerto. Para obtener más información, véase Tabla 8. Por ejemplo, el valor es "fixed_ips": [{"subnet_id": "4dc70db6-cb7f-4200-9790-a6a910776bba", "ip_address": "192.169.25.79"}].

device_id

String

Especifica el ID del dispositivo.

Este valor se mantiene automáticamente por el sistema y no se puede establecer ni actualizar manualmente. No se puede eliminar el puerto con este campo especificado.

device_owner

String

Especifica el DHCP, el enrutador o Nova al que pertenece un dispositivo.

El valor puede ser network:dhcp, network:router_interface_distributed, compute:xxx o neutron:VIP_PORT. (En el valor compute:xxx, xxx especifica el nombre de la AZ, por ejemplo, compute:aa-bb-cc indica que la dirección IP privada es utilizada por un ECS en la AZ aa-bb-cc).

Este valor de parámetro no se puede actualizar. Solo puede establecer device_owner en neutron:VIP_PORT para un puerto de dirección IP virtual durante la creación del puerto. Si este parámetro de un puerto no se deja en blanco, el puerto solo se puede eliminar cuando este valor de parámetro es de neutron:VIP_PORT.

No se puede eliminar el puerto con este campo especificado.

tenant_id

String

Especifica el ID del proyecto.

status

String

Especifica el estado del puerto. El valor puede ser ACTIVE, BUILD o DOWN.

El estado de un puerto HANA SR-IOV VM siempre es DOWN.

security_groups

Array of strings

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

Este parámetro es obligatorio.

allowed_address_pairs

Array of allow_address_pair objects

Especifica la dirección IP y el par de direcciones MAC. Este es un atributo extendido. Para obtener más información, véase Tabla 9.

Instrucciones:

  • La dirección IP no puede ser 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 de 1.1.1.1/0 la comprobación de origen/destino está deshabilitada.
  • En el plan de red SDN de hardware, el valor del atributo ip_address no puede estar en formato CIDR.
  • Para asignar una dirección IP virtual a un ECS, la dirección IP configurada en allowed_address_pairs debe ser una dirección IP NIC ECS existente. De lo contrario, la dirección IP virtual no se puede utilizar para la comunicación.
  • 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 DHCP extendida. Este es un atributo extendido. Para obtener más información, véase Tabla 10.

binding:vif_details

binding:vif_details object

Para obtener más información, véase Tabla 11.

binding:profile

Object

Especifica la configuración definida por el usuario. Este es un atributo extendido.

Instrucciones:

  • El campo internal_elb es de tipo boolean y está disponible para tenants comunes. Establezca el valor de este parámetro en true solo cuando asigne una dirección IP virtual a un balanceador de carga de red interno. Los tenants comunes no tienen permiso para cambiar el valor de este campo, que es mantenido por el sistema.

    Por ejemplo:

    {"internal_elb": true}

  • El campo disable_security_groups es de tipo boolean y está disponible para tenants comunes. El valor predeterminado es false. En escenarios de comunicación de alto rendimiento, puede establecer el valor del parámetro en true, lo que hace que este parámetro esté disponible para los tenants comunes. Puede especificar este parámetro al crear un puerto. Actualmente, el valor de este parámetro solo se puede establecer en true.

    Por ejemplo:

    {"disable_security_groups": true },

    Actualmente, el valor solo se puede establecer en true. Cuando el valor se establece en true, la función FWaaS no tiene efecto.

binding:vnic_type

String

Especifica el tipo de vNIC enlazado.

normal: Softswitch

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.

dns_assignment

Array of dns_assignment objects

Especifica la información de nombre de dominio de red privada predeterminada de la NIC principal. Este es un atributo extendido.

El sistema establece automáticamente este parámetro y no se le permite configurar ni cambiar el valor del parámetro.

  • Valor hostname: dns_name de la NIC
  • ip_address: dirección IPv4 privada de la NIC
  • fqdn: nombre de dominio completo (FQDN) de red privada predeterminada de la dirección IP

dns_name

String

Especifica el nombre DNS de la red privada predeterminada de la NIC principal. Este es un atributo extendido.

El sistema establece automáticamente este parámetro y no se le permite configurar ni cambiar el valor del parámetro. Antes de acceder al nombre de dominio de red privada predeterminado, asegúrese de que la subred utiliza el DNS proporcionado por el sistema actual.

project_id

String

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.

created_at

String

Especifica la hora (UTC) en la que se crea el puerto.

Formato: aaaa-MM-ddTHH:mm:ss

updated_at

String

Especifica la hora (UTC) cuando se actualiza el puerto.

Formato: aaaa-MM-ddTHH:mm:ss

Tabla 8 Objetos de fixed_ip

Atributo

Tipo

Descripción

subnet_id

String

Especifica el ID de la subred a la que pertenece el puerto.

Este parámetro no se puede actualizar.

ip_address

String

Especifica la dirección IP del puerto.

Este parámetro no se puede actualizar.

Tabla 9 Objetos de allow_address_pair

Atributo

Tipo

Descripción

ip_address

String

Especifica la dirección IP.

Este parámetro no puede ser 0.0.0.0.

mac_address

String

Especifica la dirección MAC.

Tabla 10 Objetos de extra_dhcp_opt

Atributo

Tipo

Descripción

opt_name

String

Especifica el nombre de la opción.

opt_value

String

Especifica el valor de la opción.

Tabla 11 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 12 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 la respuesta

{
    "port": {
        "id": "a7d98f3c-b42f-460b-96a1-07601e145961",
        "name": "port-test",
        "status": "DOWN",
        "admin_state_up": true,
        "fixed_ips": [],
        "mac_address": "fa:16:3e:01:f7:90",
        "network_id": "00ae08c5-f727-49ab-ad4b-b069398aa171",
        "tenant_id": "db82c9e1415a464ea68048baa8acc6b8",
        "project_id": "db82c9e1415a464ea68048baa8acc6b8",
        "device_id": "",
        "device_owner": "",
        "security_groups": [
            "d0d58aa9-cda9-414c-9c52-6c3daf8534e6"
        ],
        "extra_dhcp_opts": [],
        "allowed_address_pairs": [],
        "binding:vnic_type": "normal",
        "binding:vif_details": {},
        "binding:profile": {},
        "port_security_enabled": true,
        "created_at": "2018-09-20T01:45:26",
        "updated_at": "2018-09-20T01:45:26"
    }
}

Código de estado

Véase Códigos de estado.

Código de error

Véase Códigos de error.