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

Consulta de puertos

Función

Consulta todas las redes accesibles para el tenant que envía la solicitud. Se puede devolver un máximo de 2000 registros para cada operación de consulta. Si el número de registros es superior a 2000, se devolverá el marcador de paginación. Para obtener más información, consulte la sección Paginación.

URI

GET /v2.0/ports

Por ejemplo:

GET https://{Endpoint}/v2.0/ports?id={port_id}&name={port_name}&admin_state_up={is_admin_status_up}&network_id={network_id}&mac_address={port_mac}&device_id={port_device_id}&device_owner={device_owner}&tenant_id={tenant_id}&status={port_status}&fixed_ips=ip_address={ip_address}&fixed_ips=subnet_id={subnet_id}

Ejemplo de consulta de puertos por página

GET https://{Endpoint}/v2.0/ports?limit=2&marker=791870bd-36a7-4d9b-b015-a78e9b06af08&page_reverse=False

Tabla 1 describe los parámetros.

Tabla 1 Descripción del parámetro

Nombre

Obligatorio

Tipo

Descripción

id

No

String

Especifica que el ID de puerto se utiliza como la condición de filtrado.

name

No

String

Especifica que el nombre del puerto se utiliza como la condición de filtrado.

admin_state_up

No

Boolean

Especifica que el estado de admin se utiliza como condición de filtrado.

El valor puede ser true o false.

network_id

No

String

Especifica que el ID de red se utiliza como la condición de filtrado.

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.

mac_address

No

String

Especifica que la dirección de MAC se utiliza como condición de filtrado.

device_id

No

String

Especifica que el ID de dispositivo se utiliza como la condición de filtrado.

device_owner

No

String

Especifica que el propietario del dispositivo se utiliza como la condición de filtrado.

status

No

String

Especifica que el estado del puerto se utiliza como la condición de filtrado.

El valor puede ser ACTIVE, BUILD o DOWN.

security_groups

No

Array of strings

Especifica que el ID del grupo de seguridad se utiliza como la condición de filtrado.

fixed_ips

No

Array of strings

Especifica que la dirección IP se utiliza como la condición de filtrado. El valor puede ser fixed_ips=ip_address o fixed_ips=subnet_id.

tenant_id

No

String

Especifica que el ID del proyecto se utiliza como la condición de filtrado.

marker

No

String

Especifica un ID de recurso para la consulta de paginación, que indica que la consulta comienza en el siguiente registro del ID de recurso especificado.

Este parámetro puede funcionar junto con el parámetro limit.

  • Si no se pasan los parámetros marker y limit, se devolverán los registros de recursos de la primera página.
  • Si no se pasa el parámetro marker y el valor del parámetro limit se establece en 10 se devolverán los 10 primeros registros de recursos.
  • Si el valor del parámetro marker se establece en el ID de recurso del 10º registro y el valor del parámetro limit se establece en 10, se devolverán los registros de recursos del 11º al 20º.
  • Si el valor del parámetro marker se establece en el ID de recurso del 10º registro y no se pasa el parámetro limit, se devolverán los registros de recursos que comienzan desde el 11º registro (incluido el 11º).

limit

No

Integer

Especifica el número de registros que se devolverán en cada página. El valor es de 0 a intmax (2^31-1).

limit se puede utilizar junto con marker. Para obtener más información, consulte la descripción de parámetros de marker.

Mensaje de solicitud

No hay

Ejemplo de la solicitud

[Ejemplo 1]

GET https://{Endpoint}/v2.0/ports?limit=1

[Ejemplo 2]

GET https://{Endpoint}/v2.0/ports?mac_address=fa:16:3e:f1:0b:09

[Ejemplo 3]

GET https://{Endpoint}/v2.0/ports?admin_state_up=False

[Ejemplo 4]

GET https://{Endpoint}/v2.0/ports?device_id=e6c05704-c907-4cc1-8106-69b0996c43b9

[Ejemplo 5]

GET https://{Endpoint}/v2.0/ports?tenant_id=6c9298ec8c874f7f99688489ab65f90e&name=port_vm_50_3

[Ejemplo 6]

GET https://{Endpoint}/v2.0/ports?name=port_vm_50_3

Parámetro de respuesta

Tabla 2 Parámetro de respuesta

Parámetro

Tipo

Descripción

ports

Array of port objects

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

ports_links

Array of ports_link objects

Especifica la información de paginación. Para obtener más información, véase Tabla 9.

Solo cuando se utiliza limit para filtrar y el número de recursos excede el valor de limit o 2000 (valor predeterminado de limit), se devolverá el valor next para rel y un enlace para href.

Tabla 3 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 4. 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.

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 5.

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 6.

binding:vif_details

binding:vif_details object

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

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.

  • hostname: el valor de 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 4 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 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 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 7 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 8 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.

Tabla 9 Objeto de ports_link

Nombre

Tipo

Descripción

href

String

Especifica el enlace de la API.

rel

String

Especifica la relación entre el enlace de API y la versión de API.

Ejemplo de la respuesta

[Ejemplo 1]
{
 "ports": [{
       "id": "791870bd-36a7-4d9b-b015-a78e9b06af08",
       "name": "port-test",
       "status": "DOWN",
       "admin_state_up": true,
       "fixed_ips": [],
       "mac_address": "fa:16:3e:01:e0:b2",
       "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-13T01: 43: 41",
       "updated_at": "2018-09-13T01: 43: 41"
 }],
    "ports_links": [
       {
            "rel": "next", 
            "href": "https://{Endpoint}/v2.0/ports?limit=1&marker=791870bd-36a7-4d9b-b015-a78e9b06af08"
        }, 
       {    "rel": "previous", 
            "href": "https://{Endpoint}/v2.0/ports?limit=1&marker=791870bd-36a7-4d9b-b015-a78e9b06af08&page_reverse=True"
        }
    ]
}

[Ejemplo 2]
{
    "ports": [
        {
            "admin_state_up": true,
            "allowed_address_pairs": [],
            "binding:vnic_type": "normal",
            "device_id": "e6c05704-c907-4cc1-8106-69b0996c43b9",
            "device_owner": "compute:az3.dc1",
            "port_security_enabled":true,
            "extra_dhcp_opts": [],
            "fixed_ips": [
                {
                    "ip_address": "172.16.0.37",
                    "subnet_id": "b3ac1347-63f2-4e82-b853-3d86416a0db5"
                }
            ],
            "dns_assignment": [
                {
                    "hostname": "ip-172-16-0-37",
                    "ip_address": "172.16.0.37",
                    "fqdn": "ip-172-16-0-37.xxx.compute.internal."
                }
            ],
            "dns_name": "ip-172-16-0-37",
            "id": "7bb64706-6e46-4f94-a28a-4bc7caaab87d",
            "mac_address": "fa:16:3e:f1:0b:09",
            "name": "port_vm_50_3",
            "network_id": "a54e1b19-ce78-4b7e-b28b-d2d716cdc161",
            "security_groups": [
                "ef69bc60-2f4b-4f97-b95b-e3b68df0c0b2"
            ],
            "status": "ACTIVE",
            "tenant_id": "6c9298ec8c874f7f99688489ab65f90e",
            "project_id": "6c9298ec8c874f7f99688489ab65f90e", 
            "created_at": "2018-09-13T01: 43: 41",
            "updated_at": "2018-09-13T01: 43: 41"
        }
    ],
    "ports_links": [
       {    "rel": "previous", 
            "href": "https://{Endpoint}/v2.0/ports?mac_address=fa%3A16%3A3e%3Af1%3A0b%3A09&marker=7bb64706-6e46-4f94-a28a-4bc7caaab87d&page_reverse=True"
        }
    ]
}

[Ejemplo 3]
{
    "ports": [

        {
            "admin_state_up": false, 
            "allowed_address_pairs": [], 
            "binding:vnic_type": "normal", 
            "device_id": "", 
            "device_owner": "", 
            "port_security_enabled":true,
            "extra_dhcp_opts": [], 
            "fixed_ips": [
                {
                    "ip_address": "10.100.100.62", 
                    "subnet_id": "9b28f20c-0234-419f-a0b4-4a84f182f64b"
                }
            ], 
            "dns_name": "",
            "id": "ffc0bdee-8413-4fa2-bd82-fa8efe5b3a87", 
            "mac_address": "fa:16:3e:2b:bc:57", 
            "name": "small_net_port", 
            "network_id": "b299b151-7a66-4c6f-a313-cdd3b5724296", 
            "security_groups": [
                "ef69bc60-2f4b-4f97-b95b-e3b68df0c0b2"
            ], 
            "status": "DOWN", 
            "tenant_id": "6c9298ec8c874f7f99688489ab65f90e",
            "project_id": "6c9298ec8c874f7f99688489ab65f90e", 
            "created_at": "2018-09-13T01: 43: 41",
            "updated_at": "2018-09-13T01: 43: 41"
        }
    ],
    "ports_links": [
       {    "rel": "previous", 
            "href": "https://{Endpoint}/v2.0/ports?admin_state_up=False&marker=ffc0bdee-8413-4fa2-bd82-fa8efe5b3a87&page_reverse=True"
        }
    ]
}

[Ejemplo 4]
{
    "ports": [
        {
            "admin_state_up": true, 
            "allowed_address_pairs": [], 
            "binding:vnic_type": "normal", 
            "device_id": "e6c05704-c907-4cc1-8106-69b0996c43b9", 
            "device_owner": "compute:az3.dc1", 
            "port_security_enabled":true,
            "extra_dhcp_opts": [], 
            "fixed_ips": [
                {
                    "ip_address": "10.1.0.37", 
                    "subnet_id": "b3ac1347-63f2-4e82-b853-3d86416a0db5"
                }
            ], 
            "dns_assignment": [
                {
                    "hostname": "ip-10-1-0-37",
                    "ip_address": "10.1.0.37",
                    "fqdn": "ip-10-1-0-37.xxx.compute.internal."//xxx indicates the region name.
                }
            ],
            "dns_name": "ip-10-1-0-37",
            "id": "7bb64706-6e46-4f94-a28a-4bc7caaab87d", 
            "mac_address": "fa:16:3e:f1:0b:09", 
            "name": "port_vm_50_3", 
            "network_id": "a54e1b19-ce78-4b7e-b28b-d2d716cdc161", 
            "security_groups": [
                "ef69bc60-2f4b-4f97-b95b-e3b68df0c0b2"
            ], 
            "status": "ACTIVE", 
            "tenant_id": "6c9298ec8c874f7f99688489ab65f90e",
            "project_id": "6c9298ec8c874f7f99688489ab65f90e" ,
            "created_at": "2018-09-13T01: 43: 41",
            "updated_at": "2018-09-13T01: 43: 41"
        }
    ],
    "ports_links": [
       {    "rel": "previous", 
            "href": "https://{Endpoint}/v2.0/ports?device_id=77307088-ae60-49fb-9146-924dcf1d1402&marker=7bb64706-6e46-4f94-a28a-4bc7caaab87d&page_reverse=True"
        }
    ]
}

[Ejemplo 5]
{
    "ports": [
        {
            "admin_state_up": true, 
            "allowed_address_pairs": [], 
            "binding:vnic_type": "normal", 
            "device_id": "e6c05704-c907-4cc1-8106-69b0996c43b9", 
            "device_owner": "compute:az3.dc1", 
            "port_secuirty_enabled":true,
            "extra_dhcp_opts": [], 
            "fixed_ips": [
                {
                    "ip_address": "10.1.0.37", 
                    "subnet_id": "b3ac1347-63f2-4e82-b853-3d86416a0db5"
                }
            ], 
            "dns_assignment": [
                {
                    "hostname": "ip-10-1-0-37",
                    "ip_address": "10.1.0.37",
                    "fqdn": "ip-10-1-0-37.xxx.compute.internal."//xxx indicates the region name.
                }
            ],
            "dns_name": "ip-10-1-0-37",
            "id": "7bb64706-6e46-4f94-a28a-4bc7caaab87d", 
            "mac_address": "fa:16:3e:f1:0b:09", 
            "name": "port_vm_50_3", 
            "network_id": "a54e1b19-ce78-4b7e-b28b-d2d716cdc161", 
            "security_groups": [
                "ef69bc60-2f4b-4f97-b95b-e3b68df0c0b2"
            ], 
            "status": "ACTIVE", 
            "tenant_id": "6c9298ec8c874f7f99688489ab65f90e",
            "project_id": "6c9298ec8c874f7f99688489ab65f90e" ,
            "created_at": "2018-09-13T01: 43: 41",
            "updated_at": "2018-09-13T01: 43: 41"
        }
    ]
,
    "ports_links": [
       {    "rel": "previous", 
            "href": "https://{Endpoint}/v2.0/ports?tenant_id=6c9298ec8c874f7f99688489ab65f90e&name=port_vm_50_3&marker=7bb64706-6e46-4f94-a28a-4bc7caaab87d&page_reverse=True"
        }
    ]
}

[Ejemplo 6]
{
    "ports": [
        {
            "status": "DOWN",
            "allowed_address_pairs": [],
            "extra_dhcp_opts": [],
            "device_owner": "",
            "port_security_enabled":true,
            "fixed_ips": [
                {
                    "subnet_id": "391c74f7-e3b1-405c-8473-2f71a0aec7dc",
                    "ip_address": "10.1.0.33"
                }
            ],
            "dns_name": "",
            "id": "0f405555-739f-4a19-abb7-ec11d005b3a9",
            "security_groups": [
                "043548bc-1020-4be0-885a-caac8530e8f6"
            ],
            "device_id": "",
            "port_security_enabled":true,
            "name": "port_vm_50_3",
            "admin_state_up": true,
            "network_id": "9898a82d-7795-4ad5-bf2c-0ed8b822be4f",
            "tenant_id": "3e4a1816927f405cacbc3dca1e05111e",
            "project_id": "3e4a1816927f405cacbc3dca1e05111e",
            "created_at": "2018-09-13T01: 43: 41",
            "updated_at": "2018-09-13T01: 43: 41",
            "binding:vnic_type": "normal",
            "mac_address": "fa:16:3e:b0:d9:cf"
        },
        {
            "status": "ACTIVE",
            "allowed_address_pairs": [],
            "extra_dhcp_opts": [],
            "device_owner": "compute:az3.dc1",
            "port_security_enabled":true,
            "fixed_ips": [
                {
                    "subnet_id": "b3ac1347-63f2-4e82-b853-3d86416a0db5",
                    "ip_address": "10.1.0.37"
                }
            ],
            "dns_assignment": [
                {
                    "hostname": "ip-10-1-0-37",
                    "ip_address": "10.1.0.37",
                    "fqdn": "ip-10-1-0-37.xxx.compute.internal."//xxx indicates the region name.
                 }  
            ],
            "dns_name": "ip-10-1-0-37",
            "id": "7bb64706-6e46-4f94-a28a-4bc7caaab87d",
            "security_groups": [
                "ef69bc60-2f4b-4f97-b95b-e3b68df0c0b2"
            ],
            "device_id": "e6c05704-c907-4cc1-8106-69b0996c43b9",
            "name": "port_vm_50_3",
            "admin_state_up": true,
            "network_id": "a54e1b19-ce78-4b7e-b28b-d2d716cdc161",
            "tenant_id": "6c9298ec8c874f7f99688489ab65f90e",
            "project_id": "3e4a1816927f405cacbc3dca1e05111e",
            "created_at": "2018-09-13T01: 43: 41",
            "updated_at": "2018-09-13T01: 43: 41",
             "binding:vnic_type": "normal", 
            "binding:vnic_type": "normal",
            "mac_address": "fa:16:3e:f1:0b:09"
        }
    ]
,
    "ports_links": [
       {    "rel": "previous", 
            "href": "https://{Endpoint}/v2.0/ports?name=port_vm_50_3&marker=0f405555-739f-4a19-abb7-ec11d005b3a9&page_reverse=True"
        }
    ]
}

Código de estado

Véase Códigos de estado.

Código de error

Véase Códigos de error.