Esta é uma API de gerenciamento das classes da política DBC
API de listagem de classes da política
policy_id
/classes/class_id
Exemplo de requisição
GET /api/dbc/policies/1/classes HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
response = sdk.dbc.get_policy_classes(policy_id=1)
print(response.payload)
const response = sdk.dbc.getPolicyClasses({ policyId: 1 });
console.log(response.payload);
Exemplo de resposta
HTTP/1.1 200 OK
Content-Type: application/json
{
"classes": [
{
"id": "default",
"class_id": null,
"name": "Default Class",
"order": 1,
"priority_type": "pfifo",
"priority": 1,
"rate": 30,
"ceil": 100,
"created_at": "2017-10-05T12:20:02.932000+00:00",
"updated_at": "2017-10-05T12:20:02.932000+00:00",
},
{
"id": "1",
"class_id": 1,
"name": "Class01",
"order": 1,
"priority_type": "sfq",
"priority": 1,
"rate": 25,
"ceil": 75,
"created_at": "2017-10-05T12:35:10.932000+00:00",
"updated_at": "2017-10-05T12:35:10.932000+00:00",
},
]
}
[
Class(
id="default",
class_id=None,
name="Default Class",
order=1,
priority_type="pfifo",
priority=1,
rate=30,
ceil=100,
created_at=DateTime(2017, 10, 5, 12, 20, 2, tzinfo=Timezone('+00:00')),
updated_at=DateTime(2017, 10, 5, 12, 20, 2, tzinfo=Timezone('+00:00')),
),
Class(
id="1",
class_id=1,
name="Class01",
order=1,
priority_type="sfq",
priority=1,
rate=25,
ceil=75,
created_at=DateTime(2017, 10, 5, 12, 35, 10, tzinfo=Timezone('+00:00')),
updated_at=DateTime(2017, 10, 5, 12, 35, 10, tzinfo=Timezone('+00:00')),
)
]
[
{
id: "default",
classId: null,
name: "Default Class",
order: 1,
priorityType: "pfifo",
priority: 1,
rate: 30,
ceil: 100,
createdAt: "2017-10-05T12:20:02.000Z",
updatedAt: "2017-10-05T12:20:02.000Z"
},
{
id: "1",
classId: 1,
name: "Class01",
order: 1,
priorityType: "sfq",
priority: 1,
rate: 25,
ceil: 75,
createdAt: "2017-10-05T12:35:10.000Z",
updatedAt: "2017-10-05T12:35:10.000Z"
}
];
API de busca de classe da política
policy_id
/classes/class_id
API de busca de classe padrão da política
policy_id
/classes/default
Exemplo de requisição
GET /api/dbc/policies/1/classes/1 HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
response = sdk.dbc.get_policy_class(policy_id=1, class_id="1")
print(response.payload)
const response = sdk.dbc.getPolicyClass({ policyId: 1, classId: "1" });
console.log(response.payload);
Exemplo de resposta
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "1",
"class_id": 1,
"name": "Class01",
"order": 1,
"priority_type": "sfq",
"priority": 1,
"rate": 25,
"ceil": 75,
"rules": [
{
"id": 1,
"type": "packet",
"addr_type": null,
"addr": null,
"port_type": null,
"port": null,
"protocol": "tcp",
"src_addr_type": "network",
"src_addr": "192.168.1.0/24",
"dst_addr_type": "network",
"dst_addr": "172.64.1.0/24",
"src_port_type": "single",
"src_port": "8000",
"dst_port_type": "single",
"dst_port": "9090",
},
],
"created_at": "2017-10-05T12:35:10.932000+00:00",
"updated_at": "2017-10-05T12:35:10.932000+00:00",
}
Class(
id="1",
class_id=1,
name="Class01",
order=1,
priority_type="sfq",
priority=1,
rate=25,
ceil=75,
rules=[
Rule(
id=1,
addr_type=None,
addr=None,
port_type=None,
port=None,
packet="packet",
protocol="tcp",
src_addr_type="network",
src_addr="192.168.1.0/24",
dst_addr_type="network",
dst_addr="172.64.1.0/24",
src_port_type="single",
src_port="8000",
dst_port_type="single",
dst_port="9090",
),
]
created_at=DateTime(2017, 10, 5, 12, 35, 10, tzinfo=Timezone('+00:00')),
updated_at=DateTime(2017, 10, 5, 12, 35, 10, tzinfo=Timezone('+00:00')),
)
{
id: "1",
classId: 1,
name: "Class01",
order: 1,
priorityType: "sfq",
priority: 1,
rate: 25,
ceil: 75,
rules: [
{
id: 1,
type: "packet",
addrType: null,
addr: null,
portType: null,
port: null,
protocol: "tcp",
srcAddrType: "network",
srcAddr: "192.168.1.0/24",
dstAddrType: "network",
dstAddr: "172.64.1.0/24",
srcPortType: "single",
srcPort: "8000",
dstPortType: "single",
dstPort: "9090",
},
]
createdAt: "2017-10-05T12:35:10.000Z",
updatedAt: "2017-10-05T12:35:10.000Z",
}
API de criação de classe da política
policy_id
/classes
Exemplo de requisição
POST /api/dbc/policies/1/classes HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
{
"class_id": "2",
"order": 5,
"priority_type": "pfifo",
"priority": 7,
"rate": 15,
"ceil": 30,
"apply": false,
}
from itflex_sdk.dbc.types import CreatePolicyClassRequest
request = CreatePolicyClassRequest(
policy_id=1,
class_id="2",
order=5,
priority_type="pfifo",
priority=7,
rate=15,
ceil=30,
apply=False,
)
response = sdk.dbc.create_policy_class(request)
print(response.payload)
const policy_class = sdk.dbc.types.PolicyClass();
policy_class.policy_id = 1;
policy_class.class_id = "2";
policy_class.order = 5;
policy_class.priorityType = "pfifo";
policy_class.priority = 7;
policy_class.rate = 15;
policy_class.ceil = 30;
policy_class.apply = false;
const response = sdk.dbc.createPolicyClass(policy_class);
console.log(response.payload);
Exemplo de resposta
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "2",
"class_id": 2,
"name": "class02",
"order": 5,
"priority_type": "pfifo",
"priority": 7,
"rate": 15,
"ceil": 30,
"created_at": "2017-11-05T08:21:15.932000+00:00",
"updated_at": "2017-11-05T08:21:15.932000+00:00",
}
Class(
id="2",
class_id=2,
name="Class02",
order=5,
priority_type="pfifo",
priority=7,
rate=15,
ceil=30,
created_at=DateTime(2017, 11, 5, 8, 21, 15, tzinfo=Timezone('+00:00')),
updated_at=DateTime(2017, 11, 5, 8, 21, 15, tzinfo=Timezone('+00:00')),
)
{
id: "2",
classId: 2,
name: "Class02",
order: 5,
priorityType: "pfifo",
priority: 7,
rate: 15,
ceil: 30,
createdAt: "2017-11-05T08:21:15.000Z",
updatedAt: "2017-11-05T08:21:15.000Z",
}
API de edição de classe da política
policy_id
/classes/class_id
API de edição de classe padrão da política
policy_id
/classes/default
Exemplo de requisição
PUT /api/dbc/policies/1/classes/2 HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
{
"order": 3,
"priority_type": "sfq",
"priority": 7,
"rate": 15,
"ceil": 30,
"apply": false,
}
from itflex_sdk.dbc.types import UpdatePolicyClassRequest
request = UpdatePolicyClassRequest(
policy_id=1,
class_id="2",
order=3,
priority_type="sfq",
priority=7,
rate=15,
ceil=30,
apply=False,
)
response = sdk.dbc.update_policy_class(request)
print(response.payload)
const policy_class = {
policyId: 1,
classId: "2",
order: 3,
priorityType: "sfq",
priority: 7,
rate: 15,
ceil: 30,
apply: false,
};
const response = sdk.dbc.updatePolicyClass(policy_class);
console.log(response.payload);
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "2",
"class_id": 2,
"name": "class02",
"order": 3,
"priority_type": "sfq",
"priority": 7,
"rate": 15,
"ceil": 30,
"created_at": "2017-11-05T08:21:15.932000+00:00",
"updated_at": "2017-11-05T08:30:45.932000+00:00",
}
Class(
id="2",
class_id=2,
name="Class02",
order=3,
priority_type="sfq",
priority=7,
rate=15,
ceil=30,
created_at=DateTime(2017, 11, 5, 8, 21, 15, tzinfo=Timezone('+00:00')),
updated_at=DateTime(2017, 11, 5, 8, 30, 45, tzinfo=Timezone('+00:00')),
)
{
id: "2",
classId: 2,
name: "Class02",
order: 3,
priorityType: "sfq",
priority: 7,
rate: 15,
ceil: 30,
createdAt: "2017-11-05T08:21:15.000Z",
updatedAt: "2017-11-05T08:30:45.000Z",
}
API de exclusão de classe da política
policy_id
/classes/class_id
A Classe padrão da política não pode ser removida
Exemplo de requisição
DELETE /api/dbc/policies/1/classes/2 HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
from itflex_sdk.dbc.types import DeletePolicyClassRequest
request = DeletePolicyClassRequest(
policy_id=1,
class_id="2"
)
response = sdk.dbc.delete_policy_class(request)
const response = sdk.dbc.deletePolicyClass({ policyId: 1, classId: "2" });
Exemplo de resposta
HTTP/1.1 200 OK
Content-Type: application/json
Parâmetros da url
Campo | Descrição |
---|---|
policy_id | int Idendificador da política |
class_id | string Idendificador da classe Este parâmetro pode receber identificadores numéricos ou |
Requisição
Campo | Descrição |
---|---|
class_id | int Identificador da classe. Não pode haver classes duplicadas dentro de uma política |
policy_id | int Identificador da política que contém estas configurações de classe Este campo não pode ser alterado após criação do item |
order | intrequerido Campo de ordenação das classes dentro da política Este campo deve receber um valor positivo |
priority_type | stringrequerido Tipo de controle de prioridade da classe dentro da política Valores possíveis: |
priority | intrequerido Prioridade da política O valor deste campo pode estar entre |
rate | intrequerido Percentual de banda garantida pela classe da política A soma dos campos |
ceil | intrequerido Percentual máximo de uso de banda classe da política Este campo deve ser maior ou igual ao campo |
apply | bool Flag que indica se as informações serão provisionadas imediatamente após a criação ou edição Valor padrão: |
Resposta
Campo | Descrição |
---|---|
id | string Identificador da classe da política |
class_id | string Identificador da classe Este campo é retornado como |
name | string Nome da classe vinculado à política da classe |
order | int Campo de ordenação das classes dentro da política |
priority_type | string Tipo de controle de prioridade da classe dentro da política |
priority | int Prioridade da política |
rate | int Percentual de banda garantida pela classe da política |
ceil | int Percentual máximo de uso de banda classe da política |
rule | Array<Rule> Regras da classe |
created_at | string Data de criação
|
updated_at | string Data da última edição
|