Versions Compared

Key

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

...

Code Block
languagejs
titleGet, Delete
linenumberstrue
GET
URL:  /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/generic-placement-intents/{intent-name}

RETURN STATUS: 200
RETURN BODY: 
{
   "metadata":{
      "name":"<name>",
      "description":"<description>",
      "userData1":"<user data>",
      "userData2":"<user data>"
   },
   "spec":{
      "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
   }
}

DELETE
URL: /v2/project/{project-name}/composite-apps/{composite-app-name}/{version}/generic-placement-intentintents/{intent-name}

RETURN STATUS: 204

...

Code Block
languagejs
titleGet, Delete
linenumberstrue
GET
URL: /v2/project/{project-name}/composite-apps/{composite-app-name}/{version}/generic-placement-intent/{intent-name}/app-intents

RETURN STATUS: 200
RETURN BODY: 
{
   "applications":[
	{
        "name":"app1",
        "anyOf":[
           {
              "provider-name":"aws" 
			  "cluster-name":"edge1"
           },
           {
              "provider-name":"aws" 
			  "cluster-name":"edge2"
           }
        ]
     },
     {
        "name":"app2",
        "allOf":[
           {
              "provider-name":"aws" 
			   "cluster-name":"edge1"
           },
           {
              "provider-name":"aws" 
				"cluster-name":"edge2"
           }
        ]
     },
     {
        "name":"app3",
        "allOf":[
           {
              	"provider-name":"aws" 
				"cluster-name":"edge1"
           },
           {
                "provider-name":"aws" 
				"cluster-name":"edge2"
           },
           {
              "anyOf":[
                 {
                    "provider-name":"aws" 
					"cluster-label-name":"east-us1"
                 },
                 {
                    "provider-name":"aws" 
					"cluster-label-name":"east-us2"
                 }
              ]
           }
        ]
     }
  ]
}

GET
URL: /v2/project/{project-name}/composite-apps/{composite-app-name}/{version}/generic-placement-intent/{intent-name}/app-intents/{intent-name}

RETURN STATUS: 200
RETURN BODY: 
{
   "metadata":{
      "name":"<name>",
      "description":"<description>",
      "userData1":"<user data>",
      "userData2":"<user data>"
   },
   "spec":{
      "app-name":"name",
      "intent":{
         "allOf":[
            {
               "provider-name":"aws" 
				"cluster-name":"edge1"
            },
            {
               "provider-name":"aws" 
				"cluster-name":"edge2"
            },
            {
               "anyOf":[
                  {
                    "provider-name":"aws"  
					"cluster-label-name":"east-us1"
                  },
                  {
                    "provider-name":"aws"  
					"cluster-label-name":"east-us2"
                  }
               ]
            }
         ]
      }
   }
}

GET (Query)
URL: /v2/project/{project-name}/composite-apps/{composite-app-name}/{version}/generic-placement-intent/{intent-name}/app-intents?app-name=<app-name>

RETURN STATUS: 200
RETURN BODY: 
{
   "intent":{
      "allOf":[
         {
            "provider-name":"aws" 
			"cluster-name":"edge1"
         },
         {
            "provider-name":"aws" 
			"cluster-name":"edge2"
         },
         {
            "anyOf":[
               {
                  "provider-name":"aws" 
					"cluster-label-name":"east-us1"
               },
               {
                  "provider-name":"aws" 
					"cluster-label-name":"east-us2"
               }
            ]
         }
      ]
   }
}
DELETE
URL: /v2/project/{project-name}/composite-apps/{composite-app-name}/{version}/generic-placement-intent/{intent-name}/apps-intents/{intent-name}

RETURN STATUS: 204

...

Code Block
languagejs
titleGet, Delete
linenumberstrue
GET
URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/deployment-intent-groups/{deployment-intent-group-name}

RETURN STATUS: 200
RETURN BODY: 
{
   "metadata":{
      "name":"<name>",
      "description":"<description>",
      "userData1":"<user data>",
      "userData2":"<user data>"
   },
   "spec":{
      "profile":"<profile-name>",
      "version":"<version of the deployment>",
      "status": "approved", // approved or not-approved 
      "override-values":[
         {
            "app-name":"<name>",
            "values":
               {
                  "imageRepository":"registry.hub.docker.com",
				  "another_key":"another_value"
               }
            
         },
         {
            "app-name":"<name>",
            "values":
               {
                  "imageRepository":"registry.hub.docker.com",
				  "another_key":"another_value"
               }
            
         }
      ]
   }
}

DELETE
URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/deployment-intent-groups/{deployment-intent-group-name}

RETURN STATUS: 204

...

Code Block
languagejs
titleGet, Delete
linenumberstrue
GET
URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/deployment-intent-groups/{deployment-intent-group-name}/intents/{intent-name}
{ 
   "metadata":{ 
      "name":"<name>",
      "description":"<description>",
      "userData1":"<user data>",
      "userData2":"<user data>"
   },
   "spec":{ 
      "intent":{ 
         "generic-placement-intent":"xyz-generic-placement-intent"
      }
   }
}

GET
URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/deployment-intent-groups/{deployment-intent-group-name}/intents

RETURN STATUS: 200
RETURN BODY: 
{
     "intent":[
      {
         "generic-placement-intent":"generic-placement-intent-name"
      },
      {
         "hpa-placement-intent":"hpa-placement-intent-name"
      },
      {
         "traffic-intent":"traffic-intent-name"
      }
   ]
}

GET (Query)
URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/deployment-intent-groups/{deployment-intent-group-name}/intents?intent=<intent>
{  
         "generic-placement-intent":"xyz-generic-placement-intent"
}

DELETE
URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/deployment-intent-groups/{deployment-intent-group-name}/intents/{intent-name}

RETURN STATUS: 204

...

Code Block
languagejs
titlePOST
linenumberstrue
URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/deployment-intent-groups/{deployment-intent-group-name}/approve
POST BODY:
{	
}

RETURN STATUS: 201
RETURN BODY: 
{  
}

URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/deployment-intent-groups/{deployment-intent-group-name}/instantiate
POST BODY:
{	
}

RETURN STATUS: 201
RETURN BODY: 
{  
}


URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/deployment-intent-groups/{deployment-intent-group-name}/destroy
POST BODY:
{
}
RETURN STATUS: 201
RETURN BODY: 
{  
}

URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/deployment-intent-groups/{deployment-intent-group-name}/status

POST BODY:
{
}

RETURN STATUS: 201
RETURN BODY: 
{  
  "name": "<name>",
  "composite-app-name": "test-app",
  "composite-app-version": "v1",
  "profile-name": "test-app-profile",
  "intent-group": "intent-group-1"
  "namespace": "testinstallns",
  "resources": 
[
  {
    "app-name": "collectd",
    "clusters": [
      {
        "cluster-name": "cluster1",
        "resources": [
          {
            "GVK": {
              "Group": "",
              "Version": "v1",
              "Kind": "Service"
            },
            "cluster-name": "cluster1",
            "Name": "mongo",
            "status": "Running"
          },
          {
            "GVK": {
              "Group": "",
              "Version": "v1",
              "Kind": "Service"
            },
            "cluster-nameName": "cluster2mongo-read",
            "Namestatus": "mongo-read",
            "status": "Terminated"
          }
        ]
      }
    ]
  }
]

Status Queries:
URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/deployment-intent-groups/{deployment-intent-group-name}/status?output=<output-type>&app=<app-name>&cluster=<cluster-name>&resource=<resource-name>
output-type can be small or full. 
Query can be a combination of the app, cluster and resources.

...

Code Block
languagejs
titleGet, Delete
linenumberstrue
GET
URL: /v2/cluster-providers/{provider-name}/clusters/{cluster-name}/labels/<label>

RETURN STATUS: 200
RETURN BODY: 
{
      “label-name” : “<label>”
}

GET (Query)
URL: /v2/cluster-providers/{provider-name}/clusters?label=<label>
RETURN STATUS: 200
RETURN BODY: 
{
     "clusters": [<list of clusters>]
}


DELETE
URL: /v2/cluster-providers/{provider-name}/clusters/{cluster-name}/labels/<label>

RETURN STATUS: 204

...

This API allows controllers to register themselves as gRPC servers consumed by the orchestrator.

IN-PROGRESS

POST

Code Block
languagebash
titlePOST
linenumberstrue
POST/PUT
URL: /v2/controllers
POST BODY:
{
   "metadata":{
      "name":"<name>",
 "HPA-Placement-Controller     "description":"<description>",
      "hostuserData1":"<user "10.7.100.4"data>",
      "portuserData2":"<user 8800data>"
   }

GET, DELETE

,
   "spec":{
 	 "host": "10.7.100.4",
  	 "port": 9029,
     "type": "<type of controller>, // placement, action are 2 types supported
     "priority": 2 
  }
}

GET, DELETE


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

RETURN STATUS: 200
RETURN BODY: 
{
   "metadata":{
      "name": "HPA-Placement-Controller<name>",
  "host": "    "description":"<description>",
      "userData1":"<user data>",
      "userData2":"<user data>"
   },
   "spec":{
 	 "host": "10.7.100.4",
  	 "port": 8800
}
9029,
     "type": "<type of controller>,
     "priority": 2 
  }
}

DELETE
URL: /v2/controllers/{controller-name}

RETURN STATUS: 204

Example CURL Command:

Code Block
languagebash
titlePOST
linenumberstrue
curl -X GET "http://10.7.100.1:9015/v2/controllers/hpa-placement-controller" -H "accept: */*" -H "Content-Type: application/json"
curl -X DELETE "http://10.7.100.1:9015/v2/controllers/hpa-placement-controller" -H "accept: */*"