aboutsummaryrefslogtreecommitdiffstats
path: root/docs/emco_apis.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/emco_apis.yaml')
-rw-r--r--docs/emco_apis.yaml4305
1 files changed, 4305 insertions, 0 deletions
diff --git a/docs/emco_apis.yaml b/docs/emco_apis.yaml
new file mode 100644
index 00000000..cba2c9ba
--- /dev/null
+++ b/docs/emco_apis.yaml
@@ -0,0 +1,4305 @@
+
+openapi: 3.0.2
+info:
+ version: '2.0.0'
+
+ title: EMCO
+
+ license:
+ name: Apache 2.0
+ url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
+ x-logo:
+ url: 'https://redocly.github.io/openapi-template/logo.png'
+
+ description: |
+ EMCO - Edge Multi Cluster Orchestrator
+ # Introduction
+ Application Orchestration - For applications and services delivered across multiple administrative infrastructures
+
+externalDocs:
+ description: Wiki for the API's.
+ url: 'https://wiki.onap.org/display/DW/V2+API+Specification'
+
+tags:
+ - name: v2
+ description: |
+ V2 API's
+
+paths:
+ ############################ Project API'S #################################################
+ /projects:
+ post:
+ tags:
+ - Projects
+ summary: Project
+ description: Add a new `project`
+ operationId: addProject
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ description: Project data
+ required: true
+
+ get: # documentation for GET operation for this path
+ tags:
+ - Projects
+ summary: Get all projects
+
+ description: |
+ Get all `projects`
+
+ operationId: getAllProjects
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/MetadataArray'
+ '404':
+ description: No Project found
+ content: {}
+
+ /projects/{project-name}:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ get: # documentation for GET operation for this path
+ tags:
+ - Projects
+ summary: Get project by project name
+
+ description: |
+ Get `project`
+
+ operationId: getProjectByName
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ '404':
+ description: Project not found
+ content: {}
+ put:
+ tags:
+ - Projects
+ summary: Update project
+ description: Update `project`
+ operationId: updateProject
+ responses:
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Project not found
+ content: {}
+ # request body documentation
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ description: Update project object
+ required: true
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Projects
+ summary: Delete project by project name
+
+ description: |
+ Delete `project`
+
+ operationId: deleteProjectByName
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Project not found
+ content: {}
+
+ ############################ Application API'S #################################################
+ /projects/{project-name}/composite-apps:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ post:
+ tags:
+ - Composite Application
+ summary: Add Composite Application
+ description: Add a new `composite application`
+ operationId: addCompositeApplication
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CompositeAppVersion'
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CompositeAppVersion'
+ description: Composite application definition
+ required: true
+
+ get: # documentation for GET operation for this path
+ tags:
+ - Composite Application
+ summary: Get all Composite Applications
+
+ description: |
+ Get all `composite applications`
+
+ operationId: getAllCompositeApplications
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/CompositeAppVersionArray'
+ '404':
+ description: No Composite App found
+ content: {}
+
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ get: # documentation for GET operation for this path
+ tags:
+ - Composite Application
+ summary: Get Composite Application
+
+ description: |
+ Get `composite application`
+
+ operationId: getCompositeApplicationByName
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/CompositeAppVersion'
+ '404':
+ description: Composite Application not found
+ content: {}
+ put:
+ tags:
+ - Composite Application
+ summary: Update a Composite Application
+ description: Update a `Composite Application`
+ operationId: updateCompositeApplication
+ responses:
+ '200':
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/CompositeAppVersion'
+ description: Success
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Composite Application not found
+ content: {}
+ # request body documentation
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CompositeAppVersion'
+ description: Composite application definition
+ required: true
+
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Composite Application
+ summary: Delete Composite Application
+
+ description: |
+ Delete `Composite Application`
+
+ operationId: deleteCompositeAppByName
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Composite Application not found
+ content: {}
+
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/apps:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ post:
+ tags:
+ - Composite Application
+ summary: Add app to Composite Application
+ description: Add a new `app to composite application`
+ operationId: addAppToCompositeApplication
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ '405':
+ description: Invalid Input
+ content: {}
+ # request body documentation
+ requestBody:
+ content:
+ multipart/form-data: # Media type
+ schema: # Request payload
+ $ref: '#/components/schemas/AppData'
+ required: true
+
+ get: # documentation for GET operation for this path
+ tags:
+ - Composite Application
+ summary: Get all apps in Composite Application
+
+ description: |
+ Get all `apps in composite application`
+
+ operationId: getAllAppsInCompositeApplication
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/MetadataArray'
+ '404':
+ description: No Apps found in Composite Application
+ content: {}
+
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/apps/{app-name}:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/appName'
+ get: # documentation for GET operation for this path
+ tags:
+ - Composite Application
+ summary: Get Application
+
+ description: |
+ Get `application`
+
+ operationId: getAppCompositeApplication
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ application/octet-stream: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/File'
+ multipart/form-data: # Media type
+ schema: # Request payload
+ $ref: '#/components/schemas/AppData'
+
+ '404':
+ description: Application not found
+ content: {}
+ put:
+ tags:
+ - Composite Application
+ summary: Update app in Composite Application
+ description: Update app in `Composite Application`
+ operationId: updateAppToCompositeApplication
+ responses:
+ '200':
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ description: Success
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Application not found
+ content: {}
+ # request body documentation
+ requestBody:
+ content:
+ multipart/form-data: # Media type
+ schema: # Request payload
+ $ref: '#/components/schemas/AppData'
+ required: true
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Composite Application
+ summary: Delete Application
+
+ description: |
+ Delete `application`
+
+ operationId: deleteAppToCompositeApplication
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Application not found
+ content: {}
+
+############################ PROFILE API'S #################################################
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/composite-profiles:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ post:
+ tags:
+ - Composite Profile
+ summary: Add Composite Profile
+ description: Add a new `composite profile`
+ operationId: addCompositeProfile
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ description: Composite Profile definition
+ required: true
+
+ get: # documentation for GET operation for this path
+ tags:
+ - Composite Profile
+ summary: Get all Composite Profiles
+
+ description: |
+ Get all `profiles in a composite application`
+
+ operationId: getAllProfilesInCompositeApplication
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/MetadataArray'
+ '404':
+ description: No composite profile found
+ content: {}
+
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/composite-profiles/{composite-profile-name}:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/compositeProfileName'
+ get: # documentation for GET operation for this path
+ tags:
+ - Composite Profile
+ summary: Get Composite Profile
+
+ description: |
+ Get `composite profile`
+
+ operationId: getCompositeProfileByName
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ '404':
+ description: Composite Profile not found
+ content: {}
+ put:
+ tags:
+ - Composite Profile
+ summary: Update Composite Profile
+ description: Update `Composite Profile`
+ operationId: updateCompositeProfile
+ responses:
+ '200':
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ description: Success
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Composite Profile not found
+ content: {}
+ # request body documentation
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ description: Composite Profile definition
+ required: true
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Composite Profile
+ summary: Delete Composite Profile
+
+ description: |
+ Delete `Composite Profile`
+
+ operationId: deleteCompositeProfileByName
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Composite Profile not found
+ content: {}
+
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/composite-profiles/{composite-profile-name}/profiles:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/compositeProfileName'
+ post:
+ tags:
+ - Composite Profile
+ summary: Add app profile to Composite Profile
+ description: Add a `profile for application`
+ operationId: addProfileToCompositeProfile
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/ProfileAppSpec'
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content:
+ multipart/form-data: # Media type
+ schema: # Request payload
+ $ref: '#/components/schemas/ProfileAppData'
+ get: # documentation for GET operation for this path
+ tags:
+ - Composite Profile
+ summary: Get all app profiles in Composite Profiles
+
+ description: |
+ Get all `app profiles in a composite Profile`
+
+ operationId: getAllProfilesInCompositeProfile
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/ProfileAppSpecArray'
+ '404':
+ description: No profile found
+ content: {}
+
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/composite-profiles/{composite-profile-name}/profiles/{profile-name}:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/compositeProfileName'
+ - $ref: '#/components/parameters/profileName'
+ get: # documentation for GET operation for this path
+ tags:
+ - Composite Profile
+ summary: Get profile from Composite Profile
+
+ description: |
+ Get `profile from composite profile`
+
+ operationId: getProfile
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/ProfileAppSpec'
+ application/octet-stream: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/File'
+ multipart/form-data: # Media type
+ schema: # Request payload
+ $ref: '#/components/schemas/ProfileAppData'
+
+ '404':
+ description: Profile not found
+ content: {}
+ put:
+ tags:
+ - Composite Profile
+ summary: Update Composite Profile for an app
+ description: Update `Profile`
+ operationId: updateProfile
+ responses:
+ '200':
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/ProfileAppSpec'
+ description: Success
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Profile not found
+ content: {}
+ # request body documentation
+ requestBody:
+ content:
+ multipart/form-data: # Media type
+ schema: # Request payload
+ $ref: '#/components/schemas/ProfileAppData'
+ required: true
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Composite Profile
+ summary: Delete Profile
+
+ description: |
+ Delete `profile in Composite Profile`
+
+ operationId: deleteProfile
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Profile not found
+ content: {}
+
+ # Qurey for Profile - Get profile for app-name
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/composite-profiles/{composite-profile-name}/profiles/:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/compositeProfileName'
+ - in: query
+ name: app-name
+ schema:
+ type: string
+ maxLength: 128
+ required: true
+
+ get: # documentation for GET operation for this path
+ tags:
+ - Composite Profile
+ summary: Query profile for an application
+
+ description: |
+ Query `profile for an application`
+
+ operationId: queryProfileForApp
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/ProfileAppSpec'
+ application/octet-stream: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/File'
+ multipart/form-data: # Media type
+ schema: # Request payload
+ $ref: '#/components/schemas/ProfileAppData'
+ '404':
+ description: Profile for application not found
+ content: {}
+
+
+
+############################ Deployment Intent Group API'S #################################################
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ post:
+ tags:
+ - Deployment Intent Group
+ summary: Add Deployment Intent Group
+ description: Add a new `deployment intent group`
+ operationId: addDeploymentIntentGroup
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeploymentGroupIntent'
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeploymentGroupIntent'
+ description: Deployment Intent Group definition
+ required: true
+ get: # documentation for GET operation for this path
+ tags:
+ - Deployment Intent Group
+ summary: Get all Deployment Intent Group
+
+ description: |
+ Get all `Deployment Intent Group`
+
+ operationId: getAllDeploymentIntentGroup
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/DeploymentGroupIntentArray'
+ '404':
+ description: No Deployment Intent Group found
+ content: {}
+
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ get: # documentation for GET operation for this path
+ tags:
+ - Deployment Intent Group
+ summary: Get Deployment Intent Group
+
+ description: |
+ Get `Deployment Intent Group`
+
+ operationId: getDeploymentIntentGroupByName
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/DeploymentGroupIntent'
+ '404':
+ description: Deployment Intent Group not found
+ content: {}
+ put:
+ tags:
+ - Deployment Intent Group
+ summary: Update Deployment Intent Group
+ description: Update `Deployment Intent Group`
+ operationId: updateDeploymentIntentGroup
+ responses:
+ '200':
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/DeploymentGroupIntent'
+ description: Success
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Deployment Intent Group not found
+ content: {}
+ # request body documentation
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeploymentGroupIntent'
+ description: Deployment Intent Group definition
+ required: true
+
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Deployment Intent Group
+ summary: Delete Deployment Intent Group
+
+ description: |
+ Delete `Deployment Intent Group`
+
+ operationId: deleteDeploymentIntentGroupByName
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Deployment Intent Group not found
+ content: {}
+
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}/intents/:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ post:
+ tags:
+ - Deployment Intent Group
+ summary: Add Intent
+ description: Add `deployment Intent`
+ operationId: addIntentToDeploymentIntentGroup
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/DeploymentIntent'
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content:
+ application/json: # Media type
+ schema: # Request payload
+ $ref: '#/components/schemas/DeploymentIntent'
+ get: # documentation for GET operation for this path
+ tags:
+ - Deployment Intent Group
+ summary: Get all intents in Deployment Intent Group
+
+ description: |
+ Get all `intents in deployment intent group`
+
+ operationId: getAllIntentsInDeploymentIntentGroup
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/DeploymentIntentArray'
+ '404':
+ description: No Deployment Intent Group found
+ content: {}
+
+
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}/intents/{intent-name}:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ - $ref: '#/components/parameters/intentName'
+
+ get: # documentation for GET operation for this path
+ tags:
+ - Deployment Intent Group
+ summary: Get intent for an application
+
+ description: |
+ Get `Deployment Intent`
+
+ operationId: getIntentForDeploymentIntentGroup
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/DeploymentIntent'
+
+ '404':
+ description: Deployment Intent not found
+ content: {}
+ put:
+ tags:
+ - Deployment Intent Group
+ summary: Update intent
+ description: Update `deployment intent`
+ operationId: updateIntentToDeploymentIntentGroup
+ responses:
+ '200':
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/DeploymentIntent'
+ description: Success
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Intent not found
+ content: {}
+ # request body documentation
+ requestBody:
+ content:
+ application/json: # Media type
+ schema: # Request payload
+ $ref: '#/components/schemas/DeploymentIntent'
+ required: true
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Deployment Intent Group
+ summary: Delete intent
+
+ description: |
+ Delete `intent`
+
+ operationId: deleteIntentFromDeploymentIntentGroup
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Deployment intent not found
+ content: {}
+ #Query
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}/intents:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ - in: query
+ name: intent
+ schema:
+ type: string
+ maxLength: 128
+ required: true
+
+ get: # documentation for GET operation for this path
+ tags:
+ - Deployment Intent Group
+ summary: Query intent
+
+ description: |
+ Query `Deployment Intent`
+
+ operationId: queryIntentForDeploymentIntentGroup
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/DeploymentIntent'
+ '404':
+ description: Deployment Intent not found
+ content: {}
+
+############################ GENERIC PLACEMENT INTENT API'S #################################################
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}/generic-placement-intents:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ post:
+ tags:
+ - Generic Placement Intent
+ summary: Add Generic Placement Intent
+ description: Add a new `generic placement intent`
+ operationId: addGenericPlacementIntent
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ description: Generic Placement Intent definition
+ required: true
+
+ get: # documentation for GET operation for this path
+ tags:
+ - Generic Placement Intent
+ summary: Get all Generic Placement Intents
+
+ description: |
+ Get all `Generic Placement Intents`
+
+ operationId: getAllGenericPlacementIntents
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/GenericPlacementIntentArray'
+ '404':
+ description: No Generic Placement Intent found
+ content: {}
+
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}/generic-placement-intents/{generic-placement-intent-name}:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ - $ref: '#/components/parameters/genericPlacementIntentName'
+ get: # documentation for GET operation for this path
+ tags:
+ - Generic Placement Intent
+ summary: Get Generic Placement Intent
+
+ description: |
+ Get `generic placement intent`
+
+ operationId: getGenericPlacementIntentByName
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ '404':
+ description: Generic Placement Intent not found
+ content: {}
+ put:
+ tags:
+ - Generic Placement Intent
+ summary: Update Generic Placement Intent
+ description: Update `Generic Placement Intent`
+ operationId: updateGenericPlacementIntent
+ responses:
+ '200':
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ description: Success
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Generic Placement Intent not found
+ content: {}
+ # request body documentation
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ description: Generic Placement Intent definition
+ required: true
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Generic Placement Intent
+ summary: Delete Generic Placement Intent
+
+ description: |
+ Delete `Generic Placement Intent`
+
+ operationId: deleteGenericPlacementIntentByName
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Generic Placement Intent not found
+ content: {}
+
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}/generic-placement-intents/{generic-placement-intent-name}/app-intents:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ - $ref: '#/components/parameters/genericPlacementIntentName'
+ post:
+ tags:
+ - Generic Placement Intent
+ summary: Add intent for an application
+ description: Add a `intent for application`
+ operationId: addIntentToGenericPlacementIntent
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/GenericPlacementAppIntent'
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content:
+ application/json: # Media type
+ schema: # Request payload
+ $ref: '#/components/schemas/GenericPlacementAppIntent'
+ get: # documentation for GET operation for this path
+ tags:
+ - Generic Placement Intent
+ summary: Get all Intents in Generic Placement
+
+ description: |
+ Get all ` Intents in Generic Placement Intent`
+
+ operationId: getAllIntentsInGenericPlacementIntents
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/GenericPlacementAppIntentArray'
+ '404':
+ description: No Generic Placement Intent found
+ content: {}
+
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}/generic-placement-intents/{generic-placement-intent-name}/app-intents/{intent-name}:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ - $ref: '#/components/parameters/genericPlacementIntentName'
+ - $ref: '#/components/parameters/intentName'
+
+ get: # documentation for GET operation for this path
+ tags:
+ - Generic Placement Intent
+ summary: Get intent
+
+ description: |
+ Get `generic placement intent`
+
+ operationId: getIntentfromGenericPlacementIntent
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/GenericPlacementAppIntent'
+
+ '404':
+ description: Intent not found
+ content: {}
+ put:
+ tags:
+ - Generic Placement Intent
+ summary: Update intent for an application
+ description: Update `generic placement intent for application`
+ operationId: updateIntentToGenericPlacementIntent
+ responses:
+ '200':
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/GenericPlacementAppIntent'
+ description: Success
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Generic placement intent not found
+ content: {}
+ # request body documentation
+ requestBody:
+ content:
+ application/json: # Media type
+ schema: # Request payload
+ $ref: '#/components/schemas/GenericPlacementAppIntent'
+ required: true
+
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Generic Placement Intent
+ summary: Delete intent
+
+ description: |
+ Delete `generic placement intent`
+
+ operationId: deleteIntentFromGenericPlacementIntent
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Intent not found
+ content: {}
+
+ # Qurey for Intent - Get intent for app-name
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}/generic-placement-intents/{generic-placement-intent-name}/app-intents/:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ - $ref: '#/components/parameters/genericPlacementIntentName'
+ - in: query
+ name: app-name
+ schema:
+ type: string
+ maxLength: 128
+ required: true
+
+ get: # documentation for GET operation for this path
+ tags:
+ - Generic Placement Intent
+ summary: Query intent for an application
+
+ description: |
+ Query `generic placement intent for application`
+
+ operationId: queryIntentfromGenericPlacementIntent
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/GenericPlacementAppIntent'
+ '404':
+ description: Generic Placement Intent for application not found
+ content: {}
+
+
+####################Lifecycle Management#######################################
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}/approve:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ post:
+ tags:
+ - Deployment Lifecycle
+ summary: Approve a Deployment
+ description: Approve a Deployment
+ operationId: approveDeploymentIntentGroup
+ responses:
+ '201':
+ description: Success
+ content: {}
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content: {}
+
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}/instantiate:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ post:
+ tags:
+ - Deployment Lifecycle
+ summary: Instantiate a Deployment
+ description: Instantiate a Deployment
+ operationId: instantiateDeploymentIntentGroup
+ responses:
+ '201':
+ description: Success
+ content: {}
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content: {}
+
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}/terminate:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ post:
+ tags:
+ - Deployment Lifecycle
+ summary: Terminate a Deployment
+ description: Terminate a Deployment
+ operationId: terminateDeploymentIntentGroup
+ responses:
+ '200':
+ description: Success
+ content: {}
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content: {}
+
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}/status:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ - in: query
+ name: type
+ description: source of status information
+ schema:
+ type: string
+ enum: [rsync, cluster]
+ default: rsync
+ - in: query
+ name: output
+ description: output format
+ schema:
+ type: string
+ enum: [summary, all, detail]
+ default: all
+ - in: query
+ name: instance
+ description: instance identifier
+ schema:
+ type: string
+ maxLength: 32
+ - in: query
+ name: app
+ description: app name
+ schema:
+ type: string
+ maxLength: 64
+ - in: query
+ name: cluster
+ description: cluster-provider+cluster
+ schema:
+ type: string
+ maxLength: 128
+ - in: query
+ name: resource
+ description: resource name
+ schema:
+ type: string
+ maxLength: 64
+ get:
+ tags:
+ - Deployment Lifecycle
+ summary: Status of Deployment
+ description: Status of Deployment
+ operationId: statusDeploymentIntentGroup
+ responses:
+ '200':
+ description: Success
+ content: {}
+ '404':
+ description: No Status found
+ content: {}
+
+############################ Controller Registration API'S #################################################
+ /controllers:
+ post:
+ tags:
+ - Controller Registration
+ summary: Controller Registration
+ description: Add a new `controller`
+ operationId: addController
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Controller'
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Controller'
+ description: Controller Info
+ required: true
+ get: # documentation for GET operation for this path
+ tags:
+ - Controller Registration
+ summary: Get all controllers
+
+ description: |
+ Get all `controllers`
+
+ operationId: getControllers
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/ControllerArray'
+ '404':
+ description: No controllers found
+ content: {}
+
+ /controllers/{controller-name}:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/controllerName'
+ get: # documentation for GET operation for this path
+ tags:
+ - Controller Registration
+ summary: Get controller by name
+
+ description: |
+ Get `controller`
+
+ operationId: getController
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Controller'
+ '404':
+ description: Controller not found
+ content: {}
+ put:
+ tags:
+ - Controller Registration
+ summary: Update controller
+ description: Update `controller`
+ operationId: updateController
+ responses:
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Controller'
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Controller not found
+ content: {}
+ # request body documentation
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Controller'
+ description: Update controllers object
+ required: true
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Controller Registration
+ summary: Delete controller
+
+ description: |
+ Delete `controller`
+
+ operationId: deleteController
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Controller not found
+ content: {}
+
+############################ Cluster Provider API'S #################################################
+ /cluster-providers:
+ post:
+ tags:
+ - Cluster Providers
+ summary: Cluster Providers
+ description: Add a new `cluster provider`
+ operationId: addClusterProvider
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ description: Cluster Providers Info
+ required: true
+ get: # documentation for GET operation for this path
+ tags:
+ - Cluster Providers
+ summary: Get all cluster providers
+
+ description: |
+ Get all `cluster providers`
+
+ operationId: getAllClusterProviders
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ '404':
+ description: No cluster provider found
+ content: {}
+
+ /cluster-providers/{cluster-providers-name}:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/clusterProviderName'
+ get: # documentation for GET operation for this path
+ tags:
+ - Cluster Providers
+ summary: Get cluster provider by name
+
+ description: |
+ Get `cluster provider`
+
+ operationId: getClusterProviderByName
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ '404':
+ description: Cluster Provider not found
+ content: {}
+ put:
+ tags:
+ - Cluster Providers
+ summary: Update cluster provider
+ description: Update `cluster providers`
+ operationId: updateClusterProviders
+ responses:
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Cluster Provider not found
+ content: {}
+ # request body documentation
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ description: Update cluster provider object
+ required: true
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Cluster Providers
+ summary: Delete cluster provider by name
+
+ description: |
+ Delete `cluster provider`
+
+ operationId: deleteClusterProviderByName
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Cluster Provider not found
+ content: {}
+
+ /cluster-providers/{cluster-providers-name}/clusters:
+ parameters:
+ - $ref: '#/components/parameters/clusterProviderName'
+ post:
+ tags:
+ - Clusters
+ summary: Add Cluster
+ description: Add a new `cluster`
+ operationId: addClusterToClusterProvider
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content:
+ multipart/form-data: # Media type
+ schema: # Request payload
+ $ref: '#/components/schemas/AppData'
+ get: # documentation for GET operation for this path
+ tags:
+ - Clusters
+ summary: Get all clusters for cluster provider
+
+ description: |
+ Get all `clusters for cluster provider`
+
+ operationId: getAllClusterForClusterProvider
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/MetadataArray'
+ '404':
+ description: No clusters found in cluster provider
+ content: {}
+ /cluster-providers/{cluster-providers-name}/clusters/{cluster-name}:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/clusterProviderName'
+ - $ref: '#/components/parameters/clusterName'
+ get: # documentation for GET operation for this path
+ tags:
+ - Clusters
+ summary: Get Cluster
+
+ description: |
+ Get `cluster`
+
+ operationId: getClusterForClusterProvider
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ application/octet-stream: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/File'
+ multipart/form-data: # Media type
+ schema: # Request payload
+ $ref: '#/components/schemas/AppData'
+
+ '404':
+ description: Cluster not found
+ content: {}
+ put:
+ tags:
+ - Clusters
+ summary: Update Cluster
+ description: Update `cluster`
+ operationId: updateClusterToClusterProvider
+ responses:
+ '200':
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ description: Success
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Cluster not found
+ content: {}
+ # request body documentation
+ requestBody:
+ content:
+ multipart/form-data: # Media type
+ schema: # Request payload
+ $ref: '#/components/schemas/AppData'
+ required: true
+
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Clusters
+ summary: Delete cluster
+
+ description: |
+ Delete `cluster`
+
+ operationId: deleteClusterFromClusterProvider
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Cluster not found
+ content: {}
+
+############################ Cluster Labels API'S #################################################
+ /cluster-providers/{cluster-providers-name}/clusters/{cluster-name}/labels:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/clusterProviderName'
+ - $ref: '#/components/parameters/clusterName'
+ post:
+ tags:
+ - Clusters
+ summary: Add label to Cluster
+ description: Add a new label to `cluster`
+ operationId: addLabelToCluster
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/ClusterLabel'
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ClusterLabel'
+ description: Cluster Label
+ required: true
+ get: # documentation for GET operation for this path
+ tags:
+ - Clusters
+ summary: Get all Labels
+
+ description: |
+ Get all `labels`
+
+ operationId: getAllLabelsForCluster
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/ClusterLabel'
+ '404':
+ description: No labels found
+ content: {}
+
+ /cluster-providers/{cluster-providers-name}/clusters/{cluster-name}/labels/{cluster-label-name}:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/clusterProviderName'
+ - $ref: '#/components/parameters/clusterName'
+ - $ref: '#/components/parameters/clusterLabelName'
+ get: # documentation for GET operation for this path
+ tags:
+ - Clusters
+ summary: Get label
+
+ description: |
+ Get `cluster label`
+
+ operationId: getLabelForCluster
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/ClusterLabel'
+ '404':
+ description: label not found
+ content: {}
+ put:
+ tags:
+ - Clusters
+ summary: Update label
+ description: Update label for `cluster`
+ operationId: updateLabelForCluster
+ responses:
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/ClusterLabel'
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Label not found
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ClusterLabel'
+ description: Cluster Label
+ required: true
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Clusters
+ summary: Delete cluster label
+
+ description: |
+ Delete `label`
+
+ operationId: deleteLabelForCluster
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Label not found
+ content: {}
+
+# Qurey for label - Get clusters for label
+ /cluster-providers/{cluster-providers-name}/clusters/:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/clusterProviderName'
+ - in: query
+ name: label
+ schema:
+ type: string
+ maxLength: 128
+ required: true
+ get: # documentation for GET operation for this path
+ tags:
+ - Clusters
+ summary: Get clusters for label
+
+ description: |
+ Get `clusters for label`
+ operationId: getClustersForLabel
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/MetadataArray'
+ '404':
+ description: label not found
+ content: {}
+
+############################ Cluster Key Value API'S #################################################
+ /cluster-providers/{cluster-providers-name}/clusters/{cluster-name}/kv-pairs:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/clusterProviderName'
+ - $ref: '#/components/parameters/clusterName'
+ post:
+ tags:
+ - Clusters
+ summary: Add kv pair to Cluster
+ description: Add kv pair to `cluster`
+ operationId: addKvpairToCluster
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/ClusterKv'
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ClusterKv'
+ description: Cluster KV Pair
+ required: true
+ get: # documentation for GET operation for this path
+ tags:
+ - Clusters
+ summary: Get all KV Pairs
+
+ description: |
+ Get all `KV Pairs`
+
+ operationId: getAllKvpairForCluster
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/ClusterKv'
+ '404':
+ description: No labels found
+ content: {}
+
+ /cluster-providers/{cluster-providers-name}/clusters/{cluster-name}/kv-pairs/{kv-pair-name}:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/clusterProviderName'
+ - $ref: '#/components/parameters/clusterName'
+ - $ref: '#/components/parameters/clusterKvpairName'
+ get: # documentation for GET operation for this path
+ tags:
+ - Clusters
+ summary: Get KV Pair
+
+ description: |
+ Get `KV pair` for cluster
+
+ operationId: getKvpairForCluster
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/ClusterKv'
+ '404':
+ description: KV pair not found
+ content: {}
+ put:
+ tags:
+ - Clusters
+ summary: Update KV Pair
+ description: Update KV Pair for `cluster`
+ operationId: updateKvPairForCluster
+ responses:
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/ClusterKv'
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: KV Pair not found
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ClusterKv'
+ description: Cluster Label
+ required: true
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Clusters
+ summary: Delete cluster KV pair
+
+ description: |
+ Delete `KV pair`
+
+ operationId: deleteKvpairForCluster
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: KV pair not found
+ content: {}
+
+ #Query Key Value
+ /cluster-providers/{cluster-providers-name}/clusters/{cluster-name}/kv-pairs/{kv-pair-name}/:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/clusterProviderName'
+ - $ref: '#/components/parameters/clusterName'
+ - $ref: '#/components/parameters/clusterKvpairName'
+ - in: query
+ name: key
+ schema:
+ type: string
+ maxLength: 128
+ required: true
+ get: # documentation for GET operation for this path
+ tags:
+ - Clusters
+ summary: Query KV Pair
+
+ description: |
+ Query `KV pair` for cluster
+
+ operationId: queryKvpairForCluster
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Kv'
+ '404':
+ description: KV pair not found
+ content: {}
+
+############################ Cluster Virtual Networks API'S #################################################
+ /cluster-providers/{cluster-providers-name}/clusters/{cluster-name}/networks:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/clusterProviderName'
+ - $ref: '#/components/parameters/clusterName'
+ post:
+ tags:
+ - Networks
+ summary: Add virtual network in cluster
+ description: Add a `virtual network in cluster`
+ operationId: addVirtualNetworkToCluster
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/VirtualNetwork'
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/VirtualNetwork'
+ description: Add virtual network
+ required: true
+ get: # documentation for GET operation for this path
+ tags:
+ - Networks
+ summary: Get all cluster virtual networks
+
+ description: |
+ Get all `virtual networks for a cluster`
+
+ operationId: getAllVirtualNetworksForCluster
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/VirtualNetwork'
+ '404':
+ description: No virtual networks found
+ content: {}
+
+ /cluster-providers/{cluster-providers-name}/clusters/{cluster-name}/networks/{network-name}:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/clusterProviderName'
+ - $ref: '#/components/parameters/clusterName'
+ - $ref: '#/components/parameters/clusterNetworkName'
+ get: # documentation for GET operation for this path
+ tags:
+ - Networks
+ summary: Get virtual network
+
+ description: |
+ Get `virtual network`
+
+ operationId: getVirtualNetworkForCluster
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/VirtualNetwork'
+ '404':
+ description: Network not found
+ content: {}
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Networks
+ summary: Delete virtual network
+
+ description: |
+ Delete `virtual network`
+
+ operationId: deleteVirtualNetworkForCluster
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Network not found
+ content: {}
+
+############################ Cluster Provider Networks API'S #################################################
+ /cluster-providers/{cluster-providers-name}/clusters/{cluster-name}/provider-networks:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/clusterProviderName'
+ - $ref: '#/components/parameters/clusterName'
+ post:
+ tags:
+ - Networks
+ summary: Add provider network in cluster
+ description: Add a `provider network in cluster`
+ operationId: addProviderNetworkToCluster
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/ProviderNetwork'
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ProviderNetwork'
+ description: Add provider network
+ required: true
+ get: # documentation for GET operation for this path
+ tags:
+ - Networks
+ summary: Get all cluster provider networks
+
+ description: |
+ Get all `provider networks for a cluster`
+
+ operationId: getAllProviderNetworksForCluster
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/ProviderNetwork'
+ '404':
+ description: No provider networks found
+ content: {}
+
+ /cluster-providers/{cluster-providers-name}/clusters/{cluster-name}/provider-networks/{network-name}:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/clusterProviderName'
+ - $ref: '#/components/parameters/clusterName'
+ - $ref: '#/components/parameters/clusterNetworkName'
+ get: # documentation for GET operation for this path
+ tags:
+ - Networks
+ summary: Get Provider Network
+
+ description: |
+ Get `provider network`
+
+ operationId: getProviderNetworkForCluster
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/ProviderNetwork'
+ '404':
+ description: Provider network not found
+ content: {}
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Networks
+ summary: Delete Provider Network
+
+ description: |
+ Delete `Provider Network`
+
+ operationId: deleteProviderNetworkForCluster
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Name not found
+ content: {}
+
+ /cluster-providers/{cluster-providers-name}/clusters/{cluster-name}/apply:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/clusterProviderName'
+ - $ref: '#/components/parameters/clusterName'
+ post:
+ tags:
+ - Networks
+ summary: Apply configuration for the cluster
+ description: Apply configuration for the cluster to create networks
+ operationId: applyNetworksForCluster
+ responses:
+ '201':
+ description: Success
+ content: {}
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content: {}
+
+ /cluster-providers/{cluster-providers-name}/clusters/{cluster-name}/terminate:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/clusterProviderName'
+ - $ref: '#/components/parameters/clusterName'
+ post:
+ tags:
+ - Networks
+ summary: Apply configuration for the cluster
+ description: Apply configuration for the cluster to create networks
+ operationId: terminateNetworksForCluster
+ responses:
+ '201':
+ description: Success
+ content: {}
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content: {}
+
+
+ /cluster-providers/{cluster-providers-name}/clusters/{cluster-name}/status:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/clusterProviderName'
+ - $ref: '#/components/parameters/clusterName'
+ - in: query
+ name: type
+ description: source of status information
+ schema:
+ type: string
+ enum: [rsync, cluster]
+ default: rsync
+ - in: query
+ name: output
+ description: output format
+ schema:
+ type: string
+ enum: [summary, all, detail]
+ default: all
+ - in: query
+ name: instance
+ description: instance identifier
+ schema:
+ type: string
+ maxLength: 32
+ - in: query
+ name: app
+ description: app name
+ schema:
+ type: string
+ maxLength: 64
+ - in: query
+ name: cluster
+ description: cluster-provider+cluster
+ schema:
+ type: string
+ maxLength: 128
+ - in: query
+ name: resource
+ description: resource name
+ schema:
+ type: string
+ maxLength: 64
+ get:
+ tags:
+ - Networks
+ summary: Query status of cluster network intents
+ description: Query status of cluster network intents
+ operationId: statusNetworksForCluster
+ responses:
+ '200':
+ description: Success
+ content: {}
+ '404':
+ description: No Status found
+ content: {}
+
+
+######################## Network Controller Intent API's##########################################
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}/network-controller-intent:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ post:
+ tags:
+ - Network Controller Intent
+ summary: Network Controller Intent API's
+ description: Add a new `network controller intent`
+ operationId: addNetworkControllerIntent
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ get: # documentation for GET operation for this path
+ tags:
+ - Network Controller Intent
+ summary: Get all Network Controller Intent
+
+ description: |
+ Get all `network controller intent`
+
+ operationId: getAllNetworkControllerIntent
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/MetadataArray'
+ '404':
+ description: No Network Controller Intent found
+ content: {}
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}/network-controller-intent/{net-control-intent}:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ - $ref: '#/components/parameters/netControlIntent'
+ get: # documentation for GET operation for this path
+ tags:
+ - Network Controller Intent
+ summary: Get Network Controller Intent
+
+ description: |
+ Get `network controller intent`
+
+ operationId: getNetworkControllerIntent
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ '404':
+ description: Network Controller Intent not found
+ content: {}
+ put:
+ tags:
+ - Network Controller Intent
+ summary: Update Network Controller Intent
+ description: Update `Network Controller Intent`
+ operationId: updateNetworkControllerIntent
+ responses:
+ '200':
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ description: Success
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Network Controller Intent not found
+ content: {}
+ # request body documentation
+ requestBody:
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ required: true
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Network Controller Intent
+ summary: Delete Network Controller Intent
+
+ description: |
+ Delete `Network Controller Intent`
+
+ operationId: deleteNetworkControllerIntent
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Network Controller Intent not found
+ content: {}
+################## Workload Intents##################################
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}/network-controller-intent/{net-control-intent}/workload-intents:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ - $ref: '#/components/parameters/netControlIntent'
+ post:
+ tags:
+ - Network Controller Intent
+ summary: Network Controller Workload Intent API's
+ description: Add a new `network controller workload intent`
+ operationId: addNetworkControllerWorkloadIntent
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/NetworkWorkloadSpec'
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/NetworkWorkloadSpec'
+ get: # documentation for GET operation for this path
+ tags:
+ - Network Controller Intent
+ summary: Get Network Controller Workload Intent
+
+ description: |
+ Get all `network controller workload intent`
+
+ operationId: getAllNetworkControllerWorkloadIntent
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/NetworkWorkloadSpecArray'
+ '404':
+ description: No Network Controller Workload Intent found
+ content: {}
+
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}/network-controller-intent/{net-control-intent}/workload-intents/{workload-intent-name}:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ - $ref: '#/components/parameters/netControlIntent'
+ - $ref: '#/components/parameters/netControlWorkloadIntent'
+ get: # documentation for GET operation for this path
+ tags:
+ - Network Controller Intent
+ summary: Get Network Controller Workload Intent
+
+ description: |
+ Get `network controller workload intent`
+
+ operationId: getNetworkControllerWorkloadIntent
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/NetworkWorkloadSpec'
+ '404':
+ description: Network Controller Workload Intent not found
+ content: {}
+ put:
+ tags:
+ - Network Controller Intent
+ summary: Update Network Controller Workload Intent
+ description: Update `Network Controller Workload Intent`
+ operationId: updateNetworkControllerWorkloadIntent
+ responses:
+ '200':
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/NetworkWorkloadSpec'
+ description: Success
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Network Controller Workload Intent not found
+ content: {}
+ # request body documentation
+ requestBody:
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/NetworkWorkloadSpec'
+ required: true
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Network Controller Intent
+ summary: Delete Network Controller Workload Intent
+
+ description: |
+ Delete `Network Controller Workload Intent`
+
+ operationId: deleteNetworkControllerWorkloadIntent
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Network Controller Workload Intent not found
+ content: {}
+
+################## Workload Intents Interfaces ##################################
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}/network-controller-intent/{net-control-intent}/workload-intents/{workload-intent-name}/interfaces:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ - $ref: '#/components/parameters/netControlIntent'
+ - $ref: '#/components/parameters/netControlWorkloadIntent'
+ post:
+ tags:
+ - Network Controller Intent
+ summary: Network Controller Workload Interface API's
+ description: Add a new `network controller workload interface`
+ operationId: addNetworkControllerWorkloadInterface
+ responses:
+ '201':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/NetworkWorkloadInterface'
+ '405':
+ description: Invalid Input
+ content: {}
+ requestBody:
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/NetworkWorkloadInterface'
+ get: # documentation for GET operation for this path
+ tags:
+ - Network Controller Intent
+ summary: Get all Network Controller Workload Interface
+
+ description: |
+ Get all `network controller workload interface`
+
+ operationId: getAllNetworkControllerWorkloadInterface
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/NetworkWorkloadInterfaceArray'
+ '404':
+ description: No Network Controller Workload Interface found
+ content: {}
+ /projects/{project-name}/composite-apps/{composite-app-name}/{composite-app-version}/deployment-intent-groups/{deployment-intent-group-name}/network-controller-intent/{net-control-intent}/workload-intents/{workload-intent-name}/interfaces/{interface-name}:
+ # parameters list that are used with each operation for this path
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/compositeAppName'
+ - $ref: '#/components/parameters/compositeAppVersion'
+ - $ref: '#/components/parameters/deploymentIntentGroupName'
+ - $ref: '#/components/parameters/netControlIntent'
+ - $ref: '#/components/parameters/netControlWorkloadIntent'
+ - $ref: '#/components/parameters/netControlWorkloadInterface'
+ get: # documentation for GET operation for this path
+ tags:
+ - Network Controller Intent
+ summary: Get Network Controller Workload Interface
+
+ description: |
+ Get `network controller workload interface`
+
+ operationId: getNetworkControllerWorkloadInterface
+ responses: # list of responses
+ '200':
+ description: Success
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/NetworkWorkloadInterface'
+ '404':
+ description: Network Controller Workload Interface not found
+ content: {}
+ put:
+ tags:
+ - Network Controller Intent
+ summary: Update Network Controller Workload Interface
+ description: Update `Network Controller Workload Interface`
+ operationId: updateNetworkControllerWorkloadInterface
+ responses:
+ '200':
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/NetworkWorkloadInterface'
+ description: Success
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Network Controller Workload Interface not found
+ content: {}
+ # request body documentation
+ requestBody:
+ content:
+ application/json: # operation response mime type
+ schema:
+ $ref: '#/components/schemas/NetworkWorkloadInterface'
+ required: true
+
+ delete: # documentation for DELETE operation for this path
+ tags:
+ - Network Controller Intent
+ summary: Delete Network Controller Workload Interface
+
+ description: |
+ Delete `Network Controller Workload Interface`
+
+ operationId: deleteNetworkControllerWorkloadInterface
+ responses: # list of responses
+ '204':
+ description: Deleted
+ content: {}
+ '400':
+ description: Invalid data
+ content: {}
+ '404':
+ description: Network Controller Workload Interface not found
+ content: {}
+
+############################ Logical Cloud API's #################################################
+ /projects/{project-name}/logical-clouds:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ post:
+ tags:
+ - Logical Clouds
+ summary: Add a new Logical Cloud
+ description: Add a new Logical Cloud
+ operationId: addLogicalCloud
+ responses:
+ '201':
+ description: Logical Clouds successfully created
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/LogicalCloud'
+ '400':
+ description: Empty body or missing name
+ content: {}
+ '404':
+ description: The specified project doesn't exist
+ content: {}
+ '422':
+ description: Invalid input
+ content: {}
+ '500':
+ description: Internal error creating or returning Logical Cloud
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/LogicalCloud'
+ description: Logical Cloud info
+ required: true
+ get:
+ tags:
+ - Logical Clouds
+ summary: Get all Logical Clouds
+ description: Get all Logical Clouds
+ operationId: getAllLogicalCloud
+ responses:
+ '200':
+ description: List of Logical Clouds successfully returned
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/LogicalCloudArray'
+ '500':
+ description: Internal error while looking up Logical Clouds or encoding response
+ content: {}
+
+ /projects/{project-name}/logical-clouds/{logical-cloud-name}:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/logicalCloudName'
+ get:
+ tags:
+ - Logical Clouds
+ summary: Get Logical Cloud
+ description: Get Logical Cloud
+ operationId: getLogicalCloudByName
+ responses:
+ '200':
+ description: Logical Cloud successfully returned
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/LogicalCloud'
+ '404':
+ description: Logical Cloud not found
+ content: {}
+ '500':
+ description: Internal error while looking up Logical Cloud or encoding response
+ content: {}
+ put:
+ tags:
+ - Logical Clouds
+ summary: Update Logical Cloud
+ description: Update Logical Cloud
+ operationId: updateLogicalClouds
+ responses:
+ '200':
+ description: Logical Cloud successfully updated
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/LogicalCloud'
+ '400':
+ description: Empty body or missing name
+ content: {}
+ '404':
+ description: Logical Cloud not found
+ content: {}
+ '422':
+ description: Invalid input
+ content: {}
+ '500':
+ description: Internal error while updating up Logical Cloud or encoding response
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/LogicalCloud'
+ description: Update Logical Cloud object
+ required: true
+ delete:
+ tags:
+ - Logical Clouds
+ summary: Delete Logical Cloud
+ description: Delete `Logical Cloud`
+ operationId: deleteLogicalCloudByName
+ responses:
+ '204':
+ description: Logical Cloud deleted
+ content: {}
+ '404':
+ description: Logical Cloud not found
+ content: {}
+ '409':
+ description: Logical Cloud is applied or being terminated
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+ /projects/{project-name}/logical-clouds/{logical-cloud-name}/apply:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/logicalCloudName'
+ post:
+ tags:
+ - Logical Clouds
+ summary: Apply Logical Cloud configuration
+ description: Apply Logical Cloud configuration
+ operationId: applyLogicalCloud
+ responses:
+ '200':
+ description: Logical Cloud applied over clusters
+ content: {}
+ '400':
+ description: Logical Cloud lacks the necessary resources
+ content: {}
+ '404':
+ description: Logical Cloud does not exist
+ content: {}
+ '409':
+ description: Logical Cloud has already been applied or is being terminated
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+ requestBody:
+ content: {}
+ /projects/{project-name}/logical-clouds/{logical-cloud-name}/terminate:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/logicalCloudName'
+ post:
+ tags:
+ - Logical Clouds
+ summary: Terminate Logical Cloud deployment
+ description: Terminate Logical Cloud deployment
+ operationId: terminateLogicalCloud
+ responses:
+ '200':
+ description: Logical Cloud removed from clusters
+ content: {}
+ '404':
+ description: Logical Cloud does not exist
+ content: {}
+ '409':
+ description: Logical Cloud has not been applied or is already terminating
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+ requestBody:
+ content: {}
+
+############################ Logical Cloud Cluster Reference API's ###############################
+ /projects/{project-name}/logical-clouds/{logical-cloud-name}/cluster-references:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/logicalCloudName'
+ post:
+ tags:
+ - Logical Cloud Cluster References
+ summary: Add Cluster Reference to Logical Cloud
+ description: Add Cluster Reference to Logical Cloud
+ operationId: addClusterReference
+ responses:
+ '201':
+ description: Cluster Reference successfully created
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ClusterReference'
+ '400':
+ description: Empty body or missing name
+ content: {}
+ '422':
+ description: Invalid input
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ClusterReference'
+ get:
+ tags:
+ - Logical Cloud Cluster References
+ summary: Get all Cluster References for Logical Cloud
+ description: Get all Cluster References for Logical Cloud
+ operationId: getAllClusters
+ responses:
+ '200':
+ description: Cluster References successfully returned
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ClusterReferenceArray'
+ '500':
+ description: Internal error
+ content: {}
+ /projects/{project-name}/logical-clouds/{logical-cloud-name}/cluster-references/{cluster-reference}:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/logicalCloudName'
+ - $ref: '#/components/parameters/clusterReference'
+ get:
+ tags:
+ - Logical Cloud Cluster References
+ summary: Get Cluster Reference
+ description: Get Cluster Reference
+ operationId: getClusterReference
+ responses:
+ '200':
+ description: Cluster Reference successfully returned
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ClusterReference'
+
+ '404':
+ description: Cluster Reference not found
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+ put:
+ tags:
+ - Logical Cloud Cluster References
+ summary: Update Cluster Reference
+ description: Update Cluster Reference
+ operationId: updateClusterReference
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ClusterReference'
+ description: Cluster Reference successfully updated
+ '400':
+ description: Invalid data or missing name
+ content: {}
+ '404':
+ description: Cluster Reference not found
+ content: {}
+ '422':
+ description: Invalid input
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ClusterReference'
+ required: true
+ delete:
+ tags:
+ - Logical Cloud Cluster References
+ summary: Delete Cluster Reference
+ description: Delete Cluster Reference
+ operationId: deleteClusterReference
+ responses:
+ '204':
+ description: Deleted
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+ /projects/{project-name}/logical-clouds/{logical-cloud-name}/cluster-references/{cluster-reference}/kubeconfig:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/logicalCloudName'
+ - $ref: '#/components/parameters/clusterReference'
+ get:
+ tags:
+ - Logical Cloud Cluster References
+ summary: Get kubeconfig of Cluster Reference
+ description: Get kubeconfig of Cluster Reference
+ operationId: getClusterReferenceKubeconfig
+ responses:
+ '200':
+ description: Cluster Reference successfully returned
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ClusterReference'
+ '202':
+ description: User certificate hasn't been issued yet
+ content: {}
+ '400':
+ description: Logical Cloud hasn't been applied
+ content: {}
+ '404':
+ description: Cluster Reference not found
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+############################ Logical Cloud User Permission API's #################################
+ /projects/{project-name}/logical-clouds/{logical-cloud-name}/user-permissions:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/logicalCloudName'
+ post:
+ tags:
+ - Logical Cloud User Permissions
+ summary: Add User Permission to Logical Cloud
+ description: Add User Permission to Logical Cloud
+ operationId: addUserPermission
+ responses:
+ '201':
+ description: User Permission successfully created
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UserPermission'
+ '400':
+ description: Empty body or missing name
+ content: {}
+ '422':
+ description: Invalid input
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UserPermission'
+ get:
+ tags:
+ - Logical Cloud User Permissions
+ summary: Get all User Permissions for Logical Cloud
+ description: Get all User Permissions for Logical Cloud
+ operationId: getAllUserPermissions
+ responses:
+ '200':
+ description: User Permissions successfully returned
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UserPermissionArray'
+ '500':
+ description: Internal error
+ content: {}
+ /projects/{project-name}/logical-clouds/{logical-cloud-name}/user-permissions/{user-permission}:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/logicalCloudName'
+ - $ref: '#/components/parameters/userPermission'
+ get:
+ tags:
+ - Logical Cloud User Permissions
+ summary: Get User Permission
+ description: Get User Permission
+ operationId: getUserPermission
+ responses:
+ '200':
+ description: User Permission successfully returned
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UserPermission'
+
+ '404':
+ description: User Permission not found
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+ put:
+ tags:
+ - Logical Cloud User Permissions
+ summary: Update User Permission
+ description: Update User Permission
+ operationId: updateUserPermission
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UserPermission'
+ description: User Permission successfully updated
+ '400':
+ description: Invalid data or missing name
+ content: {}
+ '404':
+ description: User Permission not found
+ content: {}
+ '422':
+ description: Invalid input
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UserPermission'
+ required: true
+ delete:
+ tags:
+ - Logical Cloud User Permissions
+ summary: Delete User Permission
+ description: Delete User Permission
+ operationId: deleteUserPermission
+ responses:
+ '204':
+ description: Deleted
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+############################ Logical Cloud Cluster Quota API's ###################################
+ /projects/{project-name}/logical-clouds/{logical-cloud-name}/cluster-quotas:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/logicalCloudName'
+ post:
+ tags:
+ - Logical Cloud Cluster Quotas
+ summary: Add Cluster Quota to Logical Cloud
+ description: Add Cluster Quota to Logical Cloud
+ operationId: addClusterQuota
+ responses:
+ '201':
+ description: Cluster Quota successfully created
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ClusterQuota'
+ '400':
+ description: Empty body or missing name
+ content: {}
+ '422':
+ description: Invalid input
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ClusterQuota'
+ get:
+ tags:
+ - Logical Cloud Cluster Quotas
+ summary: Get allCluster Quotas for Logical Cloud
+ description: Get all Cluster Quotas for Logical Cloud
+ operationId: getAllClusterQuotas
+ responses:
+ '200':
+ description: Cluster Quotas successfully returned
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ClusterQuotaArray'
+ '500':
+ description: Internal error
+ content: {}
+ /projects/{project-name}/logical-clouds/{logical-cloud-name}/cluster-quotas/{cluster-quota}:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/logicalCloudName'
+ - $ref: '#/components/parameters/clusterQuota'
+ get:
+ tags:
+ - Logical Cloud Cluster Quotas
+ summary: Get Cluster Quota
+ description: Get Cluster Quota
+ operationId: getClusterQuota
+ responses:
+ '200':
+ description: Cluster Quota successfully returned
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ClusterQuota'
+
+ '404':
+ description: Cluster Quota not found
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+ put:
+ tags:
+ - Logical Cloud Cluster Quotas
+ summary: Update Cluster Quota
+ description: Update Cluster Quota
+ operationId: updateClusterQuota
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ClusterQuota'
+ description: Cluster Quota successfully updated
+ '400':
+ description: Invalid data or missing name
+ content: {}
+ '404':
+ description: Cluster Quota not found
+ content: {}
+ '422':
+ description: Invalid input
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ClusterQuota'
+ required: true
+ delete:
+ tags:
+ - Logical Cloud Cluster Quotas
+ summary: Delete Cluster Quota
+ description: Delete Cluster Quota
+ operationId: deleteClusterQuota
+ responses:
+ '204':
+ description: Deleted
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+############################ Logical Cloud KV Pair API's #########################################
+ /projects/{project-name}/logical-clouds/{logical-cloud-name}/kv-pairs:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/logicalCloudName'
+ post:
+ tags:
+ - Logical Cloud KV Pairs
+ summary: Add KV Pair to Logical Cloud
+ description: Add KV Pair to Logical Cloud
+ operationId: addKVPair
+ responses:
+ '201':
+ description: KV Pair successfully created
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ '400':
+ description: Empty body or missing name
+ content: {}
+ '422':
+ description: Invalid input
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/KVPair'
+ get:
+ tags:
+ - Logical Cloud KV Pairs
+ summary: Get all KV Pairs for Logical Cloud
+ description: Get all KV Pairs for Logical Cloud
+ operationId: getAllKVPairs
+ responses:
+ '200':
+ description: KV Pairs successfully returned
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/KVPairArray'
+ '500':
+ description: Internal error
+ content: {}
+ /projects/{project-name}/logical-clouds/{logical-cloud-name}/kv-pairs/{kv-pair}:
+ parameters:
+ - $ref: '#/components/parameters/projectName'
+ - $ref: '#/components/parameters/logicalCloudName'
+ - $ref: '#/components/parameters/kvPair'
+ get:
+ tags:
+ - Logical Cloud KV Pairs
+ summary: Get KV Pair
+ description: Get KV Pair
+ operationId: getKVPair
+ responses:
+ '200':
+ description: KV Pair successfully returned
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Metadata'
+
+ '404':
+ description: KV Pair not found
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+ put:
+ tags:
+ - Logical Cloud KV Pairs
+ summary: Update KV Pair
+ description: Update KV Pair
+ operationId: updateKVPair
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Metadata'
+ description: KV Pair successfully updated
+ '400':
+ description: Invalid data or missing name
+ content: {}
+ '404':
+ description: KV Pair not found
+ content: {}
+ '422':
+ description: Invalid input
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/KVPair'
+ required: true
+ delete:
+ tags:
+ - Logical Cloud KV Pairs
+ summary: Delete KV Pair
+ description: Delete KV Pair
+ operationId: deleteKVPair
+ responses:
+ '204':
+ description: Deleted
+ content: {}
+ '500':
+ description: Internal error
+ content: {}
+
+#########################SCHEMAS####################################################
+# An object to hold reusable parts that can be used across the definition
+components:
+ schemas:
+ MetadataBase:
+ type: object
+ properties:
+ name:
+ description: Name of the resource
+ type: string
+ maxLength: 128
+ example: "ResName"
+ description:
+ description: Description for the resource
+ type: string
+ maxLength: 1024
+ example: "Resource description"
+ userData1:
+ description: User relevant data for the resource
+ type: string
+ maxLength: 512
+ example: "Some data"
+ userData2:
+ description: User relevant data for the resource
+ type: string
+ maxLength: 512
+ example: "Some more data"
+ Metadata:
+ type: object
+ properties:
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ MetadataArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/Metadata'
+ VersionSpec:
+ type: object
+ properties:
+ version:
+ description: Composite Application Version
+ type: string
+ maxLength: 128
+ example: "v1"
+ CompositeAppVersion:
+ type: object
+ properties:
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ spec:
+ $ref: '#/components/schemas/VersionSpec'
+ CompositeAppVersionArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/CompositeAppVersion'
+ File:
+ type: string
+ format: binary
+ maxLength: 1073741824
+ AppData:
+ type: object
+ properties:
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ file: # Part 2 (Helm chart in tar.gz format)
+ $ref: '#/components/schemas/File'
+ ProfileAppSpec:
+ type: object
+ properties:
+ spec:
+ type: object
+ description: AppProfileSpec contains the Spec for AppProfiles
+ properties:
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ app-name:
+ type: string
+ description: Application Name
+ maxLength: 128
+ example: "Application1"
+ required:
+ - app-name
+ ProfileAppSpecArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/ProfileAppSpec'
+ ProfileAppData:
+ type: object
+ properties:
+ file: # Part 2 (Helm chart in tar.gz format)
+ $ref: '#/components/schemas/File'
+ metadata:
+ $ref: '#/components/schemas/ProfileAppSpec'
+ GenericPlacementIntent:
+ type: object
+ properties:
+ spec:
+ type: object
+ description: Spec
+ properties:
+ logical-cloud:
+ type: string
+ description: Logical Cloud to use for this intent
+ maxLength: 128
+ example: "cloud1"
+ required:
+ - logical-cloud
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ GenericPlacementIntentArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/GenericPlacementIntent'
+ GenericPlacementAppIntentSpec:
+ type: object
+ description: ''
+ properties:
+ app-name:
+ type: string
+ maxLength: 128
+ example: "appl"
+ allOf:
+ items:
+ description: AllOf ProviderName, ClusterName, ClusterLabelName and AnyOfArray
+ properties:
+ anyOf:
+ items:
+ description: AnyOf consists of Array of ProviderName & ClusterLabelNames
+ properties:
+ cluster-label-name:
+ type: string
+ maxLength: 128
+ example: "east"
+ cluster-name:
+ type: string
+ maxLength: 128
+ example: "cluster1"
+ provider-name:
+ type: string
+ maxLength: 128
+ example: "provider1"
+ type: object
+ type: array
+ cluster-label-name:
+ type: string
+ maxLength: 128
+ example: "west"
+ cluster-name:
+ type: string
+ maxLength: 128
+ example: "cluster2"
+ provider-name:
+ type: string
+ maxLength: 128
+ example: "provider2"
+ type: object
+ type: array
+ anyOf:
+ items:
+ description: AnyOf consists of Array of ProviderName & ClusterLabelNames
+ properties:
+ cluster-label-name:
+ type: string
+ maxLength: 128
+ example: "east"
+ cluster-name:
+ type: string
+ maxLength: 128
+ example: "cluster1"
+ provider-name:
+ type: string
+ maxLength: 128
+ example: "provider1"
+ type: object
+ type: array
+ GenericPlacementAppIntent:
+ type: object
+ properties:
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ spec:
+ $ref: '#/components/schemas/GenericPlacementAppIntentSpec'
+ GenericPlacementAppIntentArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/GenericPlacementAppIntent'
+ DeploymentIntentSpec:
+ type: object
+ description: DepSpecData has profile, version, OverrideValuesObj
+ properties:
+ override-values:
+ items:
+ description: OverrideValues has appName and ValuesObj
+ properties:
+ app-name:
+ type: string
+ values:
+ additionalProperties:
+ type: string
+ maxLength: 128
+ type: object
+ required:
+ - app-name
+ - values
+ type: object
+ type: array
+ profile:
+ type: string
+ maxLength: 128
+ version:
+ type: string
+ maxLength: 128
+ logical-cloud:
+ type: string
+ description: Logical Cloud to use for this intent
+ maxLength: 128
+ example: "cloud1"
+ required:
+ - profile
+ - version
+ - logical-cloud
+ DeploymentGroupIntent:
+ type: object
+ properties:
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ spec:
+ $ref: '#/components/schemas/DeploymentIntentSpec'
+ DeploymentGroupIntentArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/DeploymentGroupIntent'
+ DeploymentIntent:
+ type: object
+ properties:
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ spec:
+ type: object
+ description: IntentSpecData has Intent
+ properties:
+ intent:
+ additionalProperties:
+ type: string
+ maxLength: 128
+ example:
+ generic-placement-intent: gpi-name
+ type: object
+ required:
+ - intent
+ DeploymentIntentArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/DeploymentIntent'
+ Controller:
+ type: object
+ properties:
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ spec:
+ type: object
+ properties:
+ host:
+ type: string
+ description: Controller reachibility information
+ maxLength: 128
+ example: "10.7.100.4"
+ port:
+ type: string
+ description: Port for controller
+ maxLength: 128
+ example: "9029"
+ type:
+ type: string
+ description: Type of controller (placement, action are 2 types supported)
+ maxLength: 48
+ example: "placement"
+ priority:
+ type: string
+ description: Priority of controller to be called
+ maxLength: 128
+ example: "4"
+ required:
+ - host
+ - port
+ - type
+ - priority
+ ControllerArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/Controller'
+ ClusterLabel:
+ type: object
+ properties:
+ label-name:
+ type: string
+ description: Logical Cloud to use for this intent
+ maxLength: 128
+ example: "cluster-label-1"
+ ClusterKv:
+ type: object
+ properties:
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ spec:
+ properties:
+ kv:
+ items:
+ additionalProperties:
+ type: string
+ maxLength: 128
+ type: object
+ type: array
+ required:
+ - kv
+ type: object
+ required:
+ - metadata
+ - spec
+ Kv:
+ type: object
+ properties:
+ value:
+ type: string
+ maxLength: 128
+
+ VirtualNetwork:
+ type: object
+ properties:
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ spec:
+ properties:
+ cniType:
+ type: string
+ maxLength: 128
+ ipv4Subnets:
+ items:
+ properties:
+ excludeIps:
+ type: string
+ maxLength: 1024
+ gateway:
+ type: string
+ maxLength: 128
+ name:
+ type: string
+ maxLength: 128
+ subnet:
+ type: string
+ maxLength: 128
+ required:
+ - excludeIps
+ - gateway
+ - name
+ - subnet
+ type: object
+ type: array
+ VirtualNetworkArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/VirtualNetwork'
+ ProviderNetwork:
+ type: object
+ properties:
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ spec:
+ properties:
+ cniType:
+ type: string
+ maxLength: 128
+ ipv4Subnets:
+ items:
+ properties:
+ excludeIps:
+ type: string
+ maxLength: 128
+ gateway:
+ type: string
+ maxLength: 128
+ name:
+ type: string
+ maxLength: 128
+ subnet:
+ type: string
+ maxLength: 128
+ required:
+ - excludeIps
+ - gateway
+ - name
+ - subnet
+ type: object
+ type: array
+ providerNetType:
+ type: string
+ maxLength: 128
+ vlan:
+ properties:
+ logicalInterfaceName:
+ type: string
+ maxLength: 128
+ nodeLabelList:
+ items:
+ type: string
+ maxLength: 128
+ type: array
+ providerInterfaceName:
+ type: string
+ maxLength: 128
+ vlanID:
+ type: string
+ maxLength: 128
+ vlanNodeSelector:
+ type: string
+ maxLength: 128
+ required:
+ - logicalInterfaceName
+ - nodeLabelList
+ - providerInterfaceName
+ - vlanID
+ - vlanNodeSelector
+ type: object
+ required:
+ - cniType
+ - ipv4Subnets
+ - providerNetType
+ - vlan
+ type: object
+ ProviderNetworkArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/ProviderNetwork'
+ RouteBasedChain:
+ type: object
+ properties:
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ spec:
+ properties:
+ chainType:
+ type: string
+ maxLength: 128
+ routingSpec:
+ properties:
+ leftNetwork:
+ items:
+ properties:
+ gatewayIp:
+ type: string
+ maxLength: 128
+ networkName:
+ type: string
+ maxLength: 128
+ subnet:
+ type: string
+ maxLength: 128
+ required:
+ - gatewayIp
+ - networkName
+ - subnet
+ type: object
+ type: array
+ namespace:
+ type: string
+ maxLength: 128
+ networkChain:
+ type: string
+ maxLength: 128
+ rightNetwork:
+ items:
+ properties:
+ gatewayIp:
+ type: string
+ maxLength: 128
+ networkName:
+ type: string
+ maxLength: 128
+ subnet:
+ type: string
+ maxLength: 128
+ required:
+ - gatewayIp
+ - networkName
+ - subnet
+ type: object
+ type: array
+ required:
+ - leftNetwork
+ - namespace
+ - networkChain
+ - rightNetwork
+ type: object
+ required:
+ - chainType
+ - routingSpec
+ type: object
+ NetworkWorkloadSpec:
+ type: object
+ properties:
+ spec:
+ type: object
+ description: Newtwork Workload Intent
+ properties:
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ spec:
+ type: object
+ properties:
+ application-name:
+ type: string
+ description: Application Name
+ maxLength: 128
+ example: "Application1"
+ workload-resource:
+ type: string
+ description: Name of the workload
+ maxLength: 254
+ example: "firewall"
+ type:
+ type: string
+ description: Type of the workload
+ maxLength: 128
+ example: "deployment"
+ NetworkWorkloadSpecArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/NetworkWorkloadSpec'
+ NetworkWorkloadInterface:
+ type: object
+ properties:
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ spec:
+ type: object
+ properties:
+ interface:
+ type: string
+ description: interface Name
+ maxLength: 128
+ example: "eth0"
+ name:
+ type: string
+ description: Name of the network
+ maxLength: 128
+ example: "provider-1"
+ defaultGateway:
+ type: "string"
+ description: Is this interface default gateway
+ maxLength: 128
+ example: "false"
+ ipAddress:
+ type: string
+ description: Name of the network
+ maxLength: 128
+ example: "0.0.0.0"
+ macAddress:
+ type: string
+ description: Name of the network
+ maxLength: 128
+ example: "x.x.x.x"
+ required:
+ - interface
+ - name
+ NetworkWorkloadInterfaceArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/NetworkWorkloadInterface'
+ LogicalCloud:
+ type: object
+ properties:
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ spec:
+ type: object
+ properties:
+ namespace:
+ type: string
+ description: namespace name
+ maxLength: 128
+ example: "ns1"
+ user:
+ properties:
+ user-name:
+ type: string
+ description: user name for auth
+ maxLength: 20
+ type:
+ type: string
+ description: authentication type
+ maxLength: 128
+ example: "certificate"
+ user-permissions:
+ type: array
+ items:
+ type: object
+ properties:
+ permission-name:
+ type: string
+ description: name of permission
+ maxLength: 128
+ apiGroups:
+ type: array
+ items:
+ type: string
+ description: API group expression
+ resources:
+ type: array
+ description: K8s resource list
+ items:
+ type: string
+ description: K8s resource
+ verbs:
+ type: array
+ description: K8s verb list
+ items:
+ type: string
+ description: K8s verb
+ ClusterReference:
+ type: object
+ properties:
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ spec:
+ type: object
+ properties:
+ cluster-provider:
+ type: string
+ description: cluster provider name
+ maxLength: 128
+ example: "cp-1"
+ cluster-name:
+ type: string
+ description: cluster name
+ maxLength: 128
+ example: "c1"
+ loadbalancer-ip:
+ type: string
+ description: IP address of load balancer
+ maxLength: 16
+ example: "0.0.0.0"
+ UserPermission:
+ type: object
+ properties:
+ permission-name:
+ type: string
+ description: name of permission
+ maxLength: 128
+ apiGroups:
+ type: array
+ items:
+ type: string
+ description: API group expression
+ resources:
+ type: array
+ description: K8s resource list
+ items:
+ type: string
+ description: K8s resource
+ verbs:
+ type: array
+ description: K8s verb list
+ items:
+ type: string
+ description: K8s verb
+ ClusterQuota:
+ type: object
+ properties:
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ spec:
+ type: object
+ properties:
+ limits.cpu:
+ type: string
+ limits.memory:
+ type: string
+ requests.cpu:
+ type: string
+ requests.memory:
+ type: string
+ requests.storage:
+ type: string
+ requests.ephemeral-storage:
+ type: string
+ limits.ephemeral-storage:
+ type: string
+ persistentvolumeclaims:
+ type: string
+ pods:
+ type: string
+ configmaps:
+ type: string
+ replicationcontrollers:
+ type: string
+ resourcequotas:
+ type: string
+ services:
+ type: string
+ services.loadbalancers:
+ type: string
+ services.nodeports:
+ type: string
+ secrets:
+ type: string
+ count/replicationcontrollers:
+ type: string
+ count/deployments.apps:
+ type: string
+ count/replicasets.apps:
+ type: string
+ count/statefulsets.apps:
+ type: string
+ count/jobs.batch:
+ type: string
+ count/cronjobs.batch:
+ type: string
+ count/deployments.extensions:
+ type: string
+ KVPair:
+ type: object
+ properties:
+ metadata:
+ $ref: '#/components/schemas/MetadataBase'
+ spec:
+ type: object
+ properties:
+ kv:
+ type: array
+ description: list of key-value pairs
+ items:
+ type: object
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ LogicalCloudArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/LogicalCloud'
+ ClusterReferenceArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/ClusterReference'
+ UserPermissionArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/UserPermission'
+ ClusterQuotaArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/ClusterQuota'
+ KVPairArray:
+ type: array
+ items:
+ $ref: '#/components/schemas/KVPair'
+
+ parameters:
+ projectName:
+ name: project-name
+ in: path
+ description: Name of the project
+ required: true
+ schema:
+ type: string
+ compositeAppName:
+ name: composite-app-name
+ in: path
+ description: Name of the Composite Application
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ compositeAppVersion:
+ name: composite-app-version
+ in: path
+ description: Version of the Composite Application
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ appName:
+ name: app-name
+ in: path
+ description: Name of the Application
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ compositeProfileName:
+ name: composite-profile-name
+ in: path
+ description: Name of the Composite Profile
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ profileName:
+ name: profile-name
+ in: path
+ description: Name of the Profile
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ genericPlacementIntentName:
+ name: generic-placement-intent-name
+ in: path
+ description: Name of Generic Placement Intent
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ intentName:
+ name: intent-name
+ in: path
+ description: Name of Generic Placement Intent for application
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ deploymentIntentGroupName:
+ name: deployment-intent-group-name
+ in: path
+ description: Name of Deployment Intent Group
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ clusterProviderName:
+ name: cluster-providers-name
+ in: path
+ description: Name of the cluster provider
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ clusterName:
+ name: cluster-name
+ in: path
+ description: Name of the cluster
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ clusterLabelName:
+ name: cluster-label-name
+ in: path
+ description: Name of the cluster
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ clusterKvpairName:
+ name: kv-pair-name
+ in: path
+ description: Name of the cluster
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ clusterNetworkName:
+ name: network-name
+ in: path
+ description: Name of the network
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ netControlIntent:
+ name: net-control-intent
+ in: path
+ description: Name of the network
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ netControlWorkloadIntent:
+ name: workload-intent-name
+ in: path
+ description: Name of the network
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ netControlWorkloadInterface:
+ name: interface-name
+ in: path
+ description: Name of the network
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ controllerName:
+ name: controller-name
+ in: path
+ description: Controller name
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ logicalCloudName:
+ name: logical-cloud-name
+ in: path
+ description: Logical Cloud name
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ clusterReference:
+ name: cluster-reference
+ in: path
+ description: Cluster Reference name
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ userPermission:
+ name: user-permission
+ in: path
+ description: User Permission name
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ clusterQuota:
+ name: cluster-quota
+ in: path
+ description: Cluster Quota name
+ required: true
+ schema:
+ type: string
+ maxLength: 128
+ kvPair:
+ name: kv-pair
+ in: path
+ description: KV Pair name
+ required: true
+ schema:
+ type: string
+ maxLength: 128