Versions Compared

Key

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

...

Code Block
languagejs
titleGET, DELETE
linenumberstrue
GET
URL: /v2/project/{project-name}/composite-apps/{composite-app-name}/{version}/composite-profiles/{composite-profile-name}/profiles/{profile-name}

RETURN STATUS: 200
RETURN BODY: 
{  
    "profile-name": "test",
    "app-name":  "<name>",
    "description": "testing resource bundle definition api"
}
Multipart response containing the tar.gz of the profile

DELETE
URL: /v2/project/{project-name}/composite-apps/{composite-app-name}/{version}/composite-profiles/{composite-profile-name}/profiles/{profile-name}

RETURN STATUS: 204

...

Code Block
languagejs
titlePOST
linenumberstrue
URL: /v2/project/{project-name}/composite-apps/{composite-app-name}/{version}/generic-placement-intent/{intent-name}/app-intentintents
POST BODY:
{
   "app-name":"name",
   "description": "<description>",
   "intent":
	{
        "allOf":[
           {
              "cluster-name":"edge1"
           },
           {
              "cluster-name":"edge2"
           },
           {
              "anyOf":[
                 {
                    "cluster-label-name":"east-us1"
                 },
                 {
                    "cluster-label-name":"east-us2"
                 }
              ]
           }
        ]
  }
 

RETURN STATUS: 201
RETURN BODY: 
{ 
  "app-name": "name",
  "description": "<description>",
   "intent":
	{
        "allOf":[
           {
              "cluster-name":"edge1"
           },
           {
              "cluster-name":"edge2"
           },
           {
              "anyOf":[
                 {
                    "cluster-label-name":"east-us1"
                 },
                 {
                    "cluster-label-name":"east-us2"
                 }
              ]
           }
        ]
	}
}

...

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

RETURN STATUS: 200
RETURN BODY: 
{
   "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":[
                 {
                    "cluster-label-name":"east-us1"
                 },
                 {
                    "cluster-label-name":"east-us2"
                 }
              ]
           }
        ]
     }
  ]
}

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

RETURN STATUS: 200
RETURN BODY: 
{ 
  "app-name": "name",
  "description": "<description>",
   "intent":
	{
        "allOf":[
           {
              "cluster-name":"edge1"
           },
           {
              "cluster-name":"edge2"
           },
           {
              "anyOf":[
                 {
                    "cluster-label-name":"east-us1"
                 },
                 {
                    "cluster-label-name":"east-us2"
                 }
              ]
           }
        ]
	}
}

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

RETURN STATUS: 204

...

Code Block
languagejs
titlePOST
linenumberstrue
URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/deployment-intent-groups
POST BODY:
{
   "deployment-intent-group-name":"<intent-group-name>",
   "profile": "<profile-name>",
   "version": "<version of the deployment>"
   "description": "<description>",
}

RETURN STATUS: 201
RETURN BODY: 
{ 
  "deployment-intent-group-name": "<intent-group-name>",
  "description": "<description>"
}

GET, DELETE

Code Block
languagejs
titlePOST
linenumberstrue
GET
URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/deployment-intent-groups/{deployment-intent-group-name   //override-values overrides values from the helm charts and allows for instantiation time
    //variable overrides.
   "override-values": [
  	 {"app-name":[{"imageRepository":"registry.hub.docker.com"}]},
     {"app-name":[{"imageRepository":"registry.hub.docker.com"}]}
    ]
}

RETURN STATUS: 200201
RETURN BODY: 
{ 
     "deployment-intent-group-name": "<intent-group-name>",
     "profiledescription": "<description>"
}

GET, DELETE

Code Block
languagejs
titlePOST
linenumberstrue
GET
<profile-name>",
     "version": "<version of the deployment>"
     "description": "<description>"
}

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

RETURN STATUS: 204

Adding intents to an Intent group

POST

Code Block
languagejs
titlePOST
linenumberstrue
URL: v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/deployment-intent-groups/{deployment-intent-group-name}/intents
POST BODY:
{
200
RETURN BODY: 
{
     "deployment-intent-group-name":"<name><intent-group-name>",
     "descriptionprofile": "<description><profile-name>",
     "intentversion":
 "<version of the   {deployment>"
         "genericdescription":"xyz-generic-placement-intent"
      }
}

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

...

 "<description>"
}

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

RETURN STATUS: 204

Adding intents to an Intent group

POST

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

POST BODY:
{
   "intent-name": "intent-group-1""<name>",
   "description": "Intent Group for Customer1<description>"
   "intent":
      {
         "generic":"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: 200201
RETURN BODY: 
{ 
     "intent-name": "intent":[-group-1",
  "description": "Intent Group for {
     Customer1"
    "generic-placement-intent":"generic-placement-intent-name"
      },
      {
         "hpa-placement-intentgeneric":"hpaxyz-generic-placement-intent-name"
      }
}

GET, DELETE

Code Block
languagejs
titlePOST
linenumberstrue
GET
      {
         "traffic-intent":"traffic-intent-name"
      }
   ]
}

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

Instantiation, Destroy, Status API

Instantiation API to instantiate composite app based on intent-group. Destroy API deletes the app and Status API returns the resources 

POST

Code Block
languagejs
titlePOST
linenumberstrue
  "intent-name": "intent-group-1",
  "description": "Intent Group for Customer1"
   "intent":
      {
         "generic":"xyz-generic-placement-intent"
      }
}

GET
URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/deployment-intent-groups/{deployment-intent-group-name}/initantiate
POST BODY:
{
  	//override-values overrides values from the helm charts and allows for instantiation time
    //variable overrides.
    "override-values": [
  	 {"app-name":[{"imageRepository":"registry.hub.docker.com"}]},
     {"app-name":[{"imageRepository":"registry.hub.docker.com"}]}
    ]
}/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"
      }
   ]
}

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

Instantiation, Destroy, Status API

Instantiation API to instantiate composite app based on intent-group. Destroy API deletes the app and Status API returns the resources 

POST

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

RETURN STATUS: 201
RETURN BODY: 
{  201
RETURN BODY: 
{  
	//override-values overrides values from the helm charts and allows for instantiation time
    //variable overrides.
    "override-values": [
  	 {"app-name":[{"imageRepository":"registry.hub.docker.com"}]},
     {"app-name":[{"imageRepository":"registry.hub.docker.com"}]}
    ]
}

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-rbdef",
  "composite-app-version": "v1",
  "profile-name": "test-rbdef",
  "intent-group": "intent-group-1"
  "namespace": "testinstallns",
  "resources": [
    {
      "GVK": {
        "Group": "",
        "Version": "v1",
        "Kind": "Service"
      },
      "cluster-name": "cluster1",
      "Name": "mongo",
      "status": "Running"
    },
    {
      "GVK": {
        "Group": "",
        "Version": "v1",
        "Kind": "Service"
      },
      "cluster-name": "cluster2",
      "Name": "mongo-read",
      "status": "Terminated"
    }
  ]
  
}

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: 
{  
    "name": <name>
}

Cluster Registration API

...