Zonas DNS

Esta é uma API de configuração dos domínios DNS que serão atualizados pelo serviço de SDWAN quando houver uma alteração de status de uma tabela de roteamento dentro de uma política de roteamento.

Listar zonas DNS

API de listagem de zonas DNS

GET /api/sdwan/dns/zones

Exemplo de requisição

GET /api/sdwan/dns/zones HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
response = sdk.sdwan.get_dns_zones()
print(response.payload)
const response = sdk.sdwan.getDnsZones();
console.log(response.payload);

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "dns_zones": [
    {
      "id": 1,
      "enabled": true,
      "domain": "foo.com.br",
      "server": "192.168.121.33",
      "ttl": 300,
      "authenticated": true,
      "created_at": "2018-12-13T12:20:02.932000+00:00",
      "updated_at": "2018-12-13T12:20:02.932000+00:00",
    },
    {
      "id": 2,
      "enabled": false,
      "domain": "bar.com.br",
      "server": "192.168.127.10",
      "ttl": 300,
      "authenticated": false,
      "created_at": "2018-12-13T14:15:02.932000+00:00",
      "updated_at": "2018-12-13T14:15:02.932000+00:00",
    },
  ]
}
[
    DnsZone(
        id=1,
        enabled=True,
        domain="foo.com.br",
        server="192.168.121.33",
        ttl=300,
        authenticated=True,
        created_at=DateTime(2018, 12, 13, 12, 20, 2, tzinfo=Timezone('+00:00')),
        updated_at=DateTime(2018, 12, 13, 12, 20, 2, tzinfo=Timezone('+00:00')),
    ),
    DnsZone(
        id=2,
        enabled=False,
        domain="bar.com.br",
        server="192.168.127.10",
        ttl=300,
        authenticated=False,
        created_at=DateTime(2018, 12, 13, 14, 15, 2, tzinfo=Timezone('+00:00')),
        updated_at=DateTime(2018, 12, 13, 14, 15, 2, tzinfo=Timezone('+00:00')),
    ),
]
[
  {
    id: 1,
    enabled: true,
    domain: "foo.com.br",
    server: "192.168.121.33",
    ttl: 300,
    authenticated: true,
    createdAt: "2018-12-13T12:20:02.000Z",
    updatedAt: "2018-12-13T12:20:02.000Z"
  },
  {
    id: 2,
    enabled: false,
    domain: "bar.com.br",
    server: "192.168.127.10",
    ttl: 300,
    authenticated: false,
    createdAt: "2018-12-13T14:15:02.000Z",
    updatedAt: "2018-12-13T14:15:02.000Z"
  }
];

Buscar zona DNS

API de consulta de uma zona DNS

GET /api/sdwan/dns/zones/id

Exemplo de requisição

GET /api/sdwan/dns/zones/1 HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
response = sdk.sdwan.get_dns_zone(id=1)
print(response.payload)
const response = sdk.sdwan.getDnsZone({ id: 1 });
console.log(response.payload);

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": 1,
  "enabled": true,
  "domain": "foo.com.br",
  "server": "192.168.121.33",
  "ttl": 300,
  "authenticated": true,
  "created_at": "2018-12-13T12:20:02.932000+00:00",
  "updated_at": "2018-12-13T12:20:02.932000+00:00"
}
DnsZone(
    id=1,
    enabled=True,
    domain="foo.com.br",
    server="192.168.121.33",
    ttl=300,
    authenticated=True,
    created_at=DateTime(2018, 12, 13, 12, 20, 2, tzinfo=Timezone('+00:00')),
    updated_at=DateTime(2018, 12, 13, 12, 20, 2, tzinfo=Timezone('+00:00'))
),
{
  id: 1,
  enabled: true,
  domain: "foo.com.br",
  server: "192.168.121.33",
  ttl: 300,
  authenticated: true,
  createdAt: "2018-12-13T12:20:02.000Z",
  updatedAt: "2018-12-13T12:20:02.000Z"
}

Criar zona DNS

API de criação de uma zona DNS

POST /api/sdwan/dns/zones

Exemplo de requisição

POST /api/sdwan/dns/zones HTTP/1.1
Host: api.exemplo.com
Content-Type: application/json
Accept: application/json
Authorization: Bearer <Access-Token>

{
  "enabled": true,
  "domain": "foo.com.br",
  "server": "192.168.121.33",
  "ttl": 300,
  "authenticated": true,
  "auth_key": "iEUIf892js910iw9301aikfkasf99101kd",
  "apply": true,
}
from itflex_sdk.sdwan.types import CreateDnsZoneRequest

request = CreateDnsZoneRequest(
    enabled=True,
    domain="foo.com.br",
    server="192.168.121.33",
    ttl=300,
    authenticated=True,
    auth_key="iEUIf892js910iw9301aikfkasf99101kd",
    apply=True,
)
response = sdk.sdwan.create_dns_zone(request)
print(response.payload)
const dnsZone = sdk.sdwan.types.DnsZone();
dnsZone.enabled: true;
dnsZone.domain: "foo.com.br";
dnsZone.server: "192.168.121.33";
dnsZone.ttl: 300;
dnsZone.authenticated: true;
dnsZone.authKey: "iEUIf892js910iw9301aikfkasf99101kd";
dnsZone.apply: true;

const response = sdk.sdwan.createDnsZone(dnsZone);
console.log(response.payload);

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": 1,
  "enabled": true,
  "domain": "foo.com.br",
  "server": "192.168.121.33",
  "ttl": 300,
  "authenticated": true,
  "created_at": "2018-12-14T09:20:02.932000+00:00",
  "updated_at": "2018-12-14T09:20:02.932000+00:00"
}
DnsZone(
    id=1,
    enabled=True,
    domain="foo.com.br",
    server="192.168.121.33",
    ttl=300,
    authenticated=True,
    created_at=DateTime(2018, 12, 14, 9, 20, 2, tzinfo=Timezone('+00:00')),
    updated_at=DateTime(2018, 12, 14, 9, 20, 2, tzinfo=Timezone('+00:00'))
)
{
  id: 1,
  enabled: true,
  domain: "foo.com.br",
  server: "192.168.121.33",
  ttl: 300,
  authenticated: true,
  createdAt: "2018-12-14T09:20:02.000Z",
  updatedAt: "2018-12-14T09:20:02.000Z"
}

Editar zona DNS

API de edição de uma zona DNS

PUT /api/sdwan/dns/zones/id

Exemplo de requisição

PUT /api/sdwan/dns/zones/3 HTTP/1.1
Host: api.exemplo.com
Content-Type: application/json
Accept: application/json
Authorization: Bearer <Access-Token>

{
  "enabled": true,
  "server": "192.168.121.33",
  "ttl": 310,
  "authenticated": true,
  "auth_key": "iEUIf892js910iw9301aikfkasf9911234",
  "apply": true,
}
from itflex_sdk.sdwan.types import UpdateDnsZoneRequest

request = UpdateDnsZoneRequest(
    id=1,
    enabled=True,
    server="192.168.121.33",
    ttl=310,
    authenticated=True,
    auth_key="iEUIf892js910iw9301aikfkasf9911234",
    apply=True,
)
response = sdk.sdwan.update_dns_zone(request)
print(response.payload)
const dnsZone = {
  id: 1,
  enabled: true,
  server: "192.168.121.33",
  ttl: 310,
  authenticated: true,
  auth_key: "iEUIf892js910iw9301aikfkasf9911234",
  apply: true,
}
const response = sdk.sdwan.updateDnsZone(dnsZone);
console.log(response.payload);

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": 1,
  "enabled": true,
  "domain": "foo.com.br",
  "server": "192.168.121.33",
  "ttl": 310,
  "authenticated": true,
  "created_at": "2018-12-14T09:20:02.932000+00:00",
  "updated_at": "2018-12-14T10:30:02.932000+00:00"
}
DnsZone(
    id=1,
    enabled=True,
    domain="foo.com.br",
    server="192.168.121.33",
    ttl=310,
    authenticated=True,
    created_at=DateTime(2018, 12, 14, 9, 20, 2, tzinfo=Timezone('+00:00')),
    updated_at=DateTime(2018, 12, 14, 10, 30, 2, tzinfo=Timezone('+00:00'))
)
{
  id: 1,
  enabled: true,
  domain: "foo.com.br",
  server: "192.168.121.33",
  ttl: 310,
  authenticated: true,
  createdAt: "2018-12-14T09:20:02.000Z",
  updatedAt: "2018-12-14T10:30:02.000Z"
}

Excluir zona DNS

API de exclusão de uma zona DNS

DELETE /api/sdwan/dns/zones/id

Exemplo de requisição

DELETE /api/sdwan/dns/zones/1 HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
response = sdk.sdwan.delete_dns_zone(id=1)
const response = sdk.sdwan.deleteDnsZone({ id: 1 });

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

Aplicar zona DNS

API de aplicação de uma zona DNS existente

POST /api/sdwan/dns/zones/id/apply

Exemplo de requisição

POST /api/sdwan/dns/zones/1/apply HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
response = sdk.sdwan.apply_dns_zone(id=1)
const response = sdk.sdwan.applyDnsZone({ id: 1 });

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

Aplicar zonas DNS

API de aplicação das zonas DNS existentes

POST /api/sdwan/dns/zones/apply

Exemplo de requisição

POST /api/sdwan/dns/zones/apply HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
response = sdk.sdwan.apply_dns_zones()
const response = sdk.sdwan.applyDnsZones();

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

Formato dos dados

Parâmetros da url

Campo Descrição
id int

Identificador da zona DNS.

Requisição

Campo Descrição
enabled boolrequerido

Flag se a config de zona está habilitada.

domain stringrequerido único

Endereço do domínio que será atualizado.

Não editável.

server stringrequerido

Endereço do servidor de atualização da zona DNS.

Pode ser um endereço de IP ou hostname.

ttl intrequerido

Tempo de expiração do apontamento DNS dado em segundos.

Valor padrão: 300

Valor mínimo: 1

Valor máximo: 86400

authenticated boolrequerido

Flag para dizer se atualização da zona DNS será autenticada.

auth_key string

Chave de autenticação para atualização da zona DNS.

Requerido se o valor do campo authenticated for true. Este campo é ignorado caso contrário.

apply boolean

Flag que habilita a aplicação do provisionamento da zona DNS.

Resposta

Campo Descrição
id int

Identificador da zona DNS.

enabled bool

Flag se a config de zona está habilitada.

domain string

Endereço do domínio que será atualizado.

server string

Endereço do servidor de atualização da zona DNS.

ttl int

Tempo de expiração do apontamento DNS dado em segundos.

authenticated bool

Flag para dizer se atualização da zona DNS será autenticada.

auth_key string

Chave de autenticação para atualização da zona DNS.

created_at string

Data de criação

Formato: ISO-8601

updated_at string

Data da última edição

Formato: ISO-8601