Nota

Este complemento es parte del colección google.cloud (versión 1.0.2).

Para instalarlo use: ansible-galaxy collection install google.cloud.

Para usarlo en un libro de jugadas, especifique: google.cloud.gcp_compute_route.

  • Sinopsis
  • Requisitos
  • Parámetros
  • Notas
  • Ejemplos de
  • Valores devueltos

Sinopsis

  • Representa un recurso de ruta.
  • Una ruta es una regla que especifica cómo la red virtual debe manejar ciertos paquetes. Las rutas se asocian con las máquinas virtuales por etiqueta, y el conjunto de rutas para una máquina virtual en particular se denomina tabla de enrutamiento. Para cada paquete que sale de una máquina virtual, el sistema busca en la tabla de enrutamiento de esa máquina virtual la mejor ruta que coincida.
  • Las rutas hacen coincidir los paquetes por dirección IP de destino, prefiriendo rangos más pequeños o más específicos sobre los más grandes. Si hay un empate, el sistema selecciona la ruta con el valor de prioridad más pequeño. Si todavía hay un empate, utiliza los encabezados de paquete de capa tres y cuatro para seleccionar solo una de las rutas coincidentes restantes. Luego, el paquete se reenvía según lo especificado por el campo next_hop de la ruta ganadora, ya sea a otro destino de máquina virtual, una puerta de enlace de máquina virtual o una puerta de enlace operada por Compute Engine. Se descartarán los paquetes que no coincidan con ninguna ruta en la tabla de enrutamiento de la máquina virtual emisora.
  • Un recurso de ruta debe tener exactamente una especificación de nextHopGateway, nextHopInstance, nextHopIp, nextHopVpnTunnel o nextHopIlb.

Requisitos

Los siguientes requisitos son necesarios en el host que ejecuta este módulo.

  • pitón> = 2.6
  • solicitudes> = 2.18.4
  • google-auth> = 1.3.0

Parámetros

Parámetro Opciones / Valores predeterminados Comentarios
auth_kindcuerda / requerido
    Opciones:

  • solicitud
  • cuenta de maquina
  • cuenta de servicio
El tipo de credencial utilizada.
descripcióncuerda Una descripción opcional de este recurso. Proporcione esta propiedad cuando cree el recurso.
dest_rangecuerda / requerido El rango de destino de los paquetes salientes al que se aplica esta ruta.Solo se admite IPv4.
tipo_envcuerda Especifica en qué entorno de Ansible está ejecutando este módulo. Esto no debe establecerse a menos que sepa lo que está haciendo. Esto solo altera la cadena del agente de usuario para cualquier solicitud de API.
nombrecuerda / requerido Nombre del recurso. Proporcionado por el cliente cuando se crea el recurso. El nombre debe tener entre 1 y 63 caracteres y cumplir con RFC1035. Específicamente, el nombre debe tener entre 1 y 63 caracteres y coincidir con la expresión regular `[a-z]([-a-z0-9]*[a-z0-9])? `lo que significa que el primer carácter debe ser una letra minúscula, y todos los caracteres siguientes deben ser un guión, una letra minúscula o un dígito, excepto el último carácter, que no puede ser un guión.
la reddiccionario / requerido La red a la que se aplica esta ruta. Este campo representa un vínculo a un recurso de red en GCP. Puede especificarse de dos formas. Primero, puede colocar un diccionario con la clave ‘selfLink’ y el valor del selfLink de su recurso. Alternativamente, puede agregar `register: name-of-resource` a una tarea gcp_compute_network y luego establecer este campo de red en” name-of- recurso “
next_hop_gatewaycuerda URL a una puerta de enlace que debe manejar paquetes coincidentes. Actualmente, solo puede especificar la puerta de enlace de Internet, utilizando una URL válida total o parcial: * https://www.googleapis.com/compute/v1/projects/project/global/gateways/default-internet-gateway * proyectos / proyecto / global / gateways / default-internet-gateway * global / gateways / default-internet-gateway.
next_hop_ilbdiccionario La URL a una regla de reenvío de tipo loadBalancingScheme = INTERNAL que debe manejar paquetes coincidentes. Solo puede especificar la regla de reenvío como una URL parcial o completa. Por ejemplo, las siguientes son todas URL válidas: https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule Regions / region / forwardingRules / forwardingRule Tenga en cuenta que esto solo se puede usar cuando destinationRange es un rango de IP CIDR público (no RFC 1918). Este campo representa un vínculo a un recurso ForwardingRule en GCP. Puede especificarse de dos formas. Primero, puede colocar un diccionario con la clave ‘selfLink’ y el valor del selfLink de su recurso. Alternativamente, puede agregar `register: name-of-resource` a una tarea gcp_compute_forwarding_rule y luego establecer este campo next_hop_ilb en” name-of- recurso “
next_hop_instancediccionario URL a una instancia que debe manejar paquetes coincidentes. Puede especificar esto como una URL completa o parcial. Por ejemplo: * https://www.googleapis.com/compute/v1/projects/project/zones/zone/ instancias / instancia * proyectos / proyecto / zonas / zona / instancias / instancia * zonas / zona / instancias / instancia. Este campo representa un vínculo a un recurso de instancia en GCP. Puede especificarse de dos formas. Primero, puede colocar un diccionario con la clave ‘selfLink’ y el valor del selfLink de su recurso. Alternativamente, puede agregar `register: name-of-resource` a una tarea gcp_compute_instance y luego establecer este campo next_hop_instance en” name-of- recurso “
next_hop_ipcuerda Dirección IP de red de una instancia que debe manejar paquetes coincidentes.
next_hop_vpn_tunneldiccionario URL a un VpnTunnel que debe manejar paquetes coincidentes. Este campo representa un vínculo a un recurso VpnTunnel en GCP. Se puede especificar de dos formas. Primero, puede colocar un diccionario con la clave ‘selfLink’ y el valor del selfLink de su recurso. Alternativamente, puede agregar `register: name-of-resource` a una tarea gcp_compute_vpn_tunnel y luego establecer este campo next_hop_vpn_tunnel en” nombre-de- recurso “
prioridadentero La prioridad de esta ruta. La prioridad se usa para romper empates en los casos en que hay más de una ruta coincidente de igual longitud de prefijo. En el caso de dos rutas con igual longitud de prefijo, gana la que tiene el valor de prioridad con el número más bajo. El valor predeterminado es 1000. Rango válido es de 0 a 65535.
proyectocuerda El proyecto de Google Cloud Platform que se utilizará.
alcanceslista / elementos = cadena Matriz de osciloscopios que se utilizarán
service_account_contentsjsonarg El contenido de un archivo JSON de cuenta de servicio, ya sea en un diccionario o como una cadena JSON que lo representa.
service_account_emailcuerda Una dirección de correo electrónico de cuenta de servicio opcional si se selecciona la cuenta de la máquina y el usuario no desea utilizar el correo electrónico predeterminado.
service_account_filesendero La ruta de un archivo JSON de cuenta de servicio si se selecciona serviceaccount como tipo.
estadocuerda
    Opciones:

  • regalo
  • ausente
Si el objeto dado debería existir en GCP
etiquetaslista / elementos = cadena Una lista de etiquetas de instancia a las que se aplica esta ruta.

Notas

Nota

  • Referencia de API: https://cloud.google.com/compute/docs/reference/rest/v1/routes
  • Usando rutas: https://cloud.google.com/vpc/docs/using-routes
  • para la autenticación, puede configurar service_account_file usando el gcp_service_account_file variable env.
  • para la autenticación, puede configurar service_account_contents utilizando el GCP_SERVICE_ACCOUNT_CONTENTS variable env.
  • Para la autenticación, puede configurar service_account_email usando el GCP_SERVICE_ACCOUNT_EMAIL variable env.
  • Para la autenticación, puede establecer auth_kind usando el GCP_AUTH_KIND variable env.
  • Para la autenticación, puede establecer ámbitos mediante el GCP_SCOPES variable env.
  • Los valores de las variables de entorno solo se utilizarán si no se establecen los valores del libro de jugadas.
  • los service_account_email y service_account_file las opciones son mutuamente excluyentes.

Ejemplos de

- name: create a network
  google.cloud.gcp_compute_network:
    name: network-route
    project: " gcp_project "
    auth_kind: " gcp_cred_kind "
    service_account_file: " gcp_cred_file "
    state: present
  register: network

- name: create a route
  google.cloud.gcp_compute_route:
    name: test_object
    dest_range: 192.168.6.0/24
    next_hop_gateway: global/gateways/default-internet-gateway
    network: " network "
    tags:
    - backends
    - databases
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Valores devueltos

Los valores de retorno comunes están documentados aquí, los siguientes son los campos exclusivos de este módulo:

Llave Devuelto Descripción
descripcióncuerda éxito Una descripción opcional de este recurso. Proporcione esta propiedad cuando cree el recurso.
destRangecuerda éxito El rango de destino de los paquetes salientes al que se aplica esta ruta.Solo se admite IPv4.
nombrecuerda éxito Nombre del recurso. Proporcionado por el cliente cuando se crea el recurso. El nombre debe tener entre 1 y 63 caracteres y cumplir con RFC1035. Específicamente, el nombre debe tener entre 1 y 63 caracteres y coincidir con la expresión regular `[a-z]([-a-z0-9]*[a-z0-9])? `lo que significa que el primer carácter debe ser una letra minúscula, y todos los caracteres siguientes deben ser un guión, una letra minúscula o un dígito, excepto el último carácter, que no puede ser un guión.
la reddiccionario éxito La red a la que se aplica esta ruta.
nextHopGatewaycuerda éxito URL a una puerta de enlace que debe manejar paquetes coincidentes. Actualmente, solo puede especificar la puerta de enlace de Internet, utilizando una URL válida total o parcial: * https://www.googleapis.com/compute/v1/projects/project/global/gateways/default-internet-gateway * proyectos / proyecto / global / gateways / default-internet-gateway * global / gateways / default-internet-gateway.
nextHopIlbdiccionario éxito La URL a una regla de reenvío de tipo loadBalancingScheme = INTERNAL que debe manejar paquetes coincidentes. Solo puede especificar la regla de reenvío como una URL parcial o completa. Por ejemplo, las siguientes son todas URL válidas: https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule Regions / region / forwardingRules / forwardingRule Tenga en cuenta que esto solo se puede usar cuando el destinationRange es un rango de IP CIDR público (no RFC 1918).
nextHopInstancediccionario éxito URL a una instancia que debe manejar paquetes coincidentes. Puede especificar esto como una URL completa o parcial. Por ejemplo: * https://www.googleapis.com/compute/v1/projects/project/zones/zone/ instancias / instancia * proyectos / proyecto / zonas / zona / instancias / instancia * zonas / zona / instancias / instancia.
nextHopIpcuerda éxito Dirección IP de red de una instancia que debe manejar paquetes coincidentes.
nextHopNetworkcuerda éxito URL a una red que debe manejar paquetes coincidentes.
nextHopVpnTunneldiccionario éxito URL a un VpnTunnel que debe manejar paquetes coincidentes.
prioridadentero éxito La prioridad de esta ruta. La prioridad se usa para romper empates en los casos en que hay más de una ruta coincidente de igual longitud de prefijo. En el caso de dos rutas con igual longitud de prefijo, gana la que tiene el valor de prioridad con el número más bajo. El valor predeterminado es 1000. Rango válido es de 0 a 65535.
etiquetaslista / elementos = cadena éxito Una lista de etiquetas de instancia a las que se aplica esta ruta.

Autores

  • Google Inc. (@googlecloudplatform)