Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagebash
titlePOST
linenumberstrue
POST
URL: /v2/project
POST BODY:
{
  "name": "Name of Project" //must be unique
  "description": "<description>"
}

RETURN STATUS: 201
RETURN BODY: 
{
  name: "name of the project"
}

...

Code Block
languagebash
titleGET, DELETE
linenumberstrue
GET
URL: /v2/project/{project-name}

RETURN STATUS: 200
RETURN BODY: 
{
  "name": "Name of Project" //must be unique
  "description": "<description>"
}

DELETE
URL: /v2/project/{project-name}

RETURN STATUS: 204

...

Code Block
languagejs
titlePOST
linenumberstrue
URL: /v2/project/{project-name}/rb/{rb-name}/{rb-version}/intent-group
POST BODY:
{
   "intent-group-name":"intent-group-1",
   "description":"Intent Group for Customer1", "<description>"
   "group":[
      {
         "generic":"xyz-generic-placement-intent"
      },
      {
         "hpa":"xyz-hpa-intent"
      },
      {
         "traffic":"xyz-traffic-intent"
      }
   ]
}

RETURN STATUS: 201
RETURN BODY: 
{ 
  "intent-name": "intent-group-1",
  "description": "Intent Group for Customer1"
}

...

Code Block
languagejs
titlePOST
linenumberstrue
GET
URL: /v2/project/{project-name}/rb/{rb-name}/{rb-version}/intent-group/{intent-group-name}

RETURN STATUS: 200
RETURN BODY: 
{
   "intent-group-name":"intent-group-1",
   "description":"Intent Group for Customer1", "<description>"
   "group":[
      {
         "generic":"xyz-generic-placement-intent"
      },
      {
         "hpa":"xyz-hpa-intent"
      },
      {
         "traffic":"xyz-traffic-intent"
      }
   ]
}

DELETE
URL: /v2/project/{project-name}/rb/{rb-name}/{rb-version}/intent-group/{intent-group-name}

RETURN STATUS: 204

...

Code Block
languagejs
titlePOST
linenumberstrue
URL: /v2/project/{project-name}/rb/{rb-name}/{rb-version}/generic-placement-intent
POST BODY:
{
   "intent-name":"intent-1",
   "description":"Intent-1 for Customer1", "<description>"
   "applications":[
	{
        "name":"app1",
        "anyOf":[
           {
              "cluster-name":"edge1"
           },
           {
              "cluster-name":"edge2"
           }
        ]
     },
     {
        "name":"app2",
        "allOf":[
           {
              "cluster-name":"edge1"
           },
           {
              "cluster-name":"edge2"
           }
        ]
     },
     {
        "name":"app3",
        "allOf":[
           {
              "cluster-name":"edge1"
           },
           {
              "cluster-name":"edge2"
           },
           {
              "anyOf":[
                 {
                    "label-name":"east-us1"
                 },
                 {
                    "label-name":"east-us2"
                 }
              ]
           }
        ]
     }
  ]
}

RETURN STATUS: 201
RETURN BODY: 
{ 
  "intent-name": "intent-1",
  "description": "Intent-1 for Customer1"
}

...

Code Block
languagejs
titlePOST
linenumberstrue
GET
URL: /v2/project/{project-name}/rb/{rb-name}/{rb-version}/generic-placement-intent/{intent-name}

RETURN STATUS: 200
RETURN BODY: 
{
   "intent-name":"intent-1",
   "description":"Intent-1 for Customer1 "<description>",
   "applications":[
	{
        "name":"app1",
        "anyOf":[
           {
              "cluster-name":"edge1"
           },
           {
              "cluster-name":"edge2"
           }
        ]
     },
     {
        "name":"app2",
        "allOf":[
           {
              "cluster-name":"edge1"
           },
           {
              "cluster-name":"edge2"
           }
        ]
     },
     {
        "name":"app3",
        "allOf":[
           {
              "cluster-name":"edge1"
           },
           {
              "cluster-name":"edge2"
           },
           {
              "anyOf":[
                 {
                    "label-name":"east-us1"
                 },
                 {
                    "label-name":"east-us2"
                 }
              ]
           }
        ]
     }
  ]
}

DELETE
URL: /v2/project/{project-name}/rb/{rb-name}/{rb-version}/generic-placement-intent/{intent-name}

RETURN STATUS: 204

...

Code Block
languagejs
titlePOST
linenumberstrue
URL: /v2/project/{project-name}/rb/{rb-name}/{rb-version}/profile/{profile-name}/instantiate
POST BODY:
{
    "name": <name>
     "description": <description>,
	"logical-cloud": "logical-cloud-name", //name of logical cloud to use for instantiation. The DCM API will provide the list of clusters that are part of the logical-cloud
	"intent-group": "intent-group-name", //name of intent-group to use for collecting intents which will be used during instantiation
	//override-values overrides values from the helm charts and allows for instantiation time
    //variable overrides.
    "override-values": [
  	 {"sub-app-name1":[{"imageRepository":"registry.hub.docker.com"}]},
     {"sub-app-name2":[{"imageRepository":"registry.hub.docker.com"}]}
    ]
}

RETURN STATUS: 201
RETURN BODY: 
{  
  "id": "laughing_robinson",
  "rb-name": "test-rbdef",
  "rb-version": "v1", 
  "profile-name": "test-rbdef",
  "cloudRegion": "kud",
  "namespace": "testinstallns",
  "resources": [
    {
      "GVK": {
        "Group": "",
        "Version": "v1",
        "Kind": "Service"
      },
      "Name": "mongo"
    },
    {
      "GVK": {
        "Group": "",
        "Version": "v1",
        "Kind": "Service"
      },
      "Name": "mongo-read"
    }
  ]
}

...

Code Block
languagejs
titleGET, DELETE
linenumberstrue
GET
URL: /v2/project/{project-name}/rb/{rb-name}/{rb-version}/profile/{profile-name}/instantiate/{instance-name}

RETURN STATUS: 200
RETURN BODY: 
{
  "name": <name>
  "description": <description>,  
  "id": "laughing_robinson",
  "rb-name": "test-rbdef",
  "rb-version": "v1", 
  "profile-name": "test-rbdef",
  "cloudRegion": "kud",
  "namespace": "testinstallns",
  "resources": [
    {
      "GVK": {
        "Group": "",
        "Version": "v1",
        "Kind": "Service"
      },
      "Name": "mongo"
    },
    {
      "GVK": {
        "Group": "",
        "Version": "v1",
        "Kind": "Service"
      },
      "Name": "mongo-read"
    }
  ]
}

DELETE
URL: /v2/project/{project-name}/rb/{rb-name}/{rb-version}/profile/{profile-name}/instantiate/{instance-name}

RETURN STATUS: 204

...

Code Block
languagejs
titlePOST
linenumberstrue
URL: /v2/cluster-registration
POST BODY:
{
    “cluster-name” : “<name>”  “<name>”,  // Must be unique 
    "description": <description>
}

RETURN STATUS: 201
RETURN BODY: 
{ 
    “cluster-name” : “<name>”   “<name>”,   // Must be unique
    "description": <description>
}

This is a multipart upload and here is how you do the POST for this.

...

Code Block
languagejs
titlePOST
linenumberstrue
GET
URL: /v2/cluster-registration/{cluster-name}

RETURN STATUS: 200
RETURN BODY: 
{
    “cluster-name” : “<name>”,   // Must be unique across
    "description": <description>
}

DELETE
URL: /v2/cluster-registeration/{cluster-name}

RETURN STATUS: 204

...