You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Networks Intent

With network API dynamic networks can be created.

POST

POST
URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/network-controller-intent/networks
POST BODY:
{
  "metadata": {
    "name": "<name>",
    "description": "<description>",
    "userData1": "<user data>",
    "userData2": "<user data>"
   },
  "spec": {
    "cniType": "ovn4nfv",
    "logical-cloud-name": "cloud1",
    "ipv4Subnets": [
      {
        "subnet": "172.16.33.0/24",
        "name": "subnet1",
        "gateway": "172.16.33.1/24",
        "excludeIps": "172.16.33.2 172.16.33.5..172.16.33.10"
      }
    ]
    }
}

Provider Networks Intent

With provider network API dynamic provider networks can be created.

POST

POST
URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/network-controller-intent/provider-networks
POST BODY:
{
  "metadata": {
    "name": "<name>",
    "description": "<description>",
    "userData1": "<user data>",
    "userData2": "<user data>"
   },
  "spec": {
    "cniType": "ovn4nfv",
    "logical-cloud-name": "cloud1",
    "ipv4Subnets": [
      {
        "subnet": "172.16.33.0/24",
        "name": "subnet1",
        "gateway": "172.16.33.1/24",
        "excludeIps": "172.16.33.2 172.16.33.5..172.16.33.10"
      }
    ],
    "providerNetType": "VLAN",
    "vlan": {
      "vlanId": "100",
      "providerInterfaceName": "eth1",
      "logicalInterfaceName": "eth1.100",
      "vlanNodeSelector": "specific",
      "nodeLabelList": [
        "kubernetes.io/hostname=localhost"
      ]
    }
  }
}

Network Chain Intent

With network chaining, network chains can be created.

POST

POST
URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/network-controller-intent/network-chains
POST BODY:
{
  "metadata": {
    "name": "<name>",
    "description": "<description>",
    "userData1": "<user data>",
    "userData2": "<user data>"
  },
  "spec": {
    "chainType": "Routing",
    "logical-cloud-name": "cloud1",
    "routingSpec": {
      "namespace": "default",
      "networkChain": "app=slb,dync-net1,app=ngfw,dync-net2,app=sdwan",
      "leftNetwork": [
        {
          "networkName": "pnet1",
          "gatewayIp": "172.30.10.2",
          "subnet": "172.30.10.0/24"
        }
      ],
      "rightNetwork": [
        {
          "networkName": "pnet2",
          "gatewayIp": "172.30.20.2",
          "subnet": "172.30.20.0/24"
        }
      ]
    }
  }
}

Deployment Network Intent

Define network intent for a deployment

POST

POST
URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/network-controller-intent/workload-intents
POST BODY:
{
  "metadata": {
    "name": "<name>",
    "description": "<description>",
    "userData1": "<user data>",
    "userData2": "<user data>"
   },
  "spec": {
    "application-name":"app1",
    "workload-resource" : "firewall"
}

Add network for a workload

POST

POST
URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/network-controller-intent/workload-intents/<workload-intent-name>/networks
POST BODY:
{
  "metadata": {
    "name": "<name>",
    "description": "<description>",
    "userData1": "<user data>",
    "userData2": "<user data>"
   },
  "spec": {
    "interface-name":"net0",
    "network-name" : "provider-net-1",
    "default-interface": "false", // Optional, default value is false
    "ip-address": "0.0.0.0", // Optional, if not provided then dynamically allocated
    "mac-address": "x:x:x:x" // Optional, if not provided then dynamically allocated 
}

  • No labels