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: 
{
   "metadata":{
      "name":"<name>",
      "description":"<description>",
      "userData1":"<user data>",
      "userData2":"<user data>"
   },
   "spec":{
      "app-name":  "<name>", // Must match the name given in composite-apps/apps API
   }
}
Multipart response containing the tar.gz of the profile

DELETEGET (Query)
URL: /v2/project/{project-name}/composite-apps/{composite-app-name}/{version}/composite-profiles/{composite-profile-name}/profiles/{profile?app-name}=<app-name>

RETURN STATUS: 204

Generic Placement Intent API

Generic Placement Intent API is used to create generic placement intents for sub-applications in an application. Intent created using this API will be added to an Intent Group for use during instantiation.

POST

Code Block
languagejs
titlePOST
linenumberstrue
URL: /v2/projects/{project-name}/composite-200
RETURN BODY: 
{
      "app-name":  "<name>"
}
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

Generic Placement Intent API

Generic Placement Intent API is used to create generic placement intents for sub-applications in an application. Intent created using this API will be added to an Intent Group for use during instantiation.

POST

Code Block
languagejs
titlePOST
linenumberstrue
URL: /v2/projects/{project-name}/composite-apps/{composite-app-name}/{version}/generic-placement-intents
POST 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
   }
}

RETURN STATUS: 201
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
   }
}

GET, DELETE

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-intent/{intent-name}

RETURN STATUS: 204

Adding placement intent for each application in the composite-app

POST

Code Block
languagejs
titlePOST
linenumberstrue
URL: /v2/project/{project-name}/composite-apps/{composite-app-name}/{version}/generic-placement-intent/{intent-name}/app-intents
POST BODY:
{
   "metadata":{
      "name":"<name>",
      "description":"<description>",
      "userData1":"<user data>",
      "userData2":"<user data>"
   },
   "spec":{
      "app-name":"namegeneric-placement-intents
POST BODY:
{
   "metadata":{
      "name":"<name>",
      "description":"<description>",
      "userData1":"<user data>",
      "userData2intent":"<user data>"
{
         "allOf":[
            {
               "cluster-name":"edge1"
            },
           "spec": {
               "logicalcluster-cloudname": "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
   }
}

RETURN STATUS: 201
RETURN BODY: 
{
   "metadata":{
"edge2"
            },
            {
               "anyOf":[
       "name":"<name>",
      "description":"<description>",
      "userData1":"<user data>",
{
        "userData2":"<user data>"
   },
   "spec":{
      "logicalcluster-label-cloudname": "logicaleast-cloud-nameus1"
   //name  of logical cloud to use for instantiation. The DCM API will provide the list},
 of clusters that are part of the logical-cloud
   }
}

GET, DELETE

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>",
      "userData1cluster-label-name":"<user data>",east-us2"
      "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-intent/{intent-name}

RETURN STATUS: 204

Adding placement intent for each application in the composite-app

POST

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

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

RETURN STATUS: 201
RETURN BODY: 
{
   "metadata":{
      "name":"<name>",

         "description":"<description>",]
      "userData1":"<user data>",}
   }
}

GET, DELETE

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

RETURN STATUS: 200
RETURN BODY: 
{
   "specapplications":[
	{
        "app-name":"nameapp1",
      "intent":{
         "allOfanyOf":[
            {
               "cluster-name":"edge1"
            },
            {
               "cluster-name":"edge2"
            },
        ]
    { },
     {
          "anyOfname":["app2",
        "allOf":[
           {
                     "cluster-label-name":"east-us1edge1"
                  },
           {
       {
       "cluster-name":"edge2"
              "cluster-label-name":"east-us2" }
        ]
     },
     }{
        "name":"app3",
        ]"allOf":[
            }
{
              ]"cluster-name":"edge1"
      }
   }
}

GET, DELETE

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":[
	{
  },
           {
              "cluster-name":"app1",
edge2"
           },
           {
              "anyOf":[
                 {
                    "cluster-label-name":"edge1east-us1"
                 },

                 {
      {
              "cluster-label-name":"edge2east-us2"
                 }
        ]
      },]
     {
      }
  "name":"app2",
      ]
  "allOf":[
   }
  ]
}

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":{
      "cluster-name":"edge1<name>",
           }"description":"<description>",
           {
        "userData1":"<user data>",
      "cluster-nameuserData2":"edge2<user data>"
           },
   "spec":{
     ]
     } "app-name":"name",
     {
        "name":"app3","intent":{
         "allOf":[
            {
               "cluster-name":"edge1"
            },
            {
               "cluster-name":"edge2"
            },
            {
               "anyOf":[
                  {
                     "cluster-label-name":"east-us1"
                  },
                  {
                     "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/{intent-name}

RETURN STATUS: 200
RETURN BODY: 
{
   "metadata":{
      "name":"<name>",
      "description":"<description>",
      "userData1":"<user data>",
      "userData2":"<user data>"
   },
   "spec":{
      "app-name":"name",
      "?app-name=<app-name>

RETURN STATUS: 200
RETURN BODY: 
{
   "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/{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}/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
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

...