openapi: 3.2.0 info: description: 'This API list provides operations for interfacing with the Cohesity Cluster.' title: Cohesity REST App Instance API version: '1.0' servers: - url: https:///irisservices/api/v1 tags: - name: AppInstance paths: /public/appInstanceSettings/{appInstanceId}: put: description: Changes the settings of the app instance. tags: - AppInstance summary: Updates app instance settings operationId: UpdateAppInstanceSettings parameters: - x-go-name: AppInstanceId description: Specifies the app instance Id. name: appInstanceId in: path required: true schema: type: integer format: int64 responses: '202': $ref: '#/components/responses/NoContentResponse' default: $ref: '#/components/responses/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateAppInstanceSettingsParameters' description: Request to update app instance settings. required: true /public/appInstances: get: description: 'Api provides the list of the app instances. Instances can be in different states including stopped.' tags: - AppInstance summary: Lists the app instances operationId: GetAppInstances responses: '200': $ref: '#/components/responses/GetAppInstancesResponse' default: $ref: '#/components/responses/Error' post: description: Only installed apps can be launched. tags: - AppInstance summary: Starts the application instance launch on the cluster operationId: LaunchAppInstance responses: '202': $ref: '#/components/responses/LaunchAppInstanceResponse' default: $ref: '#/components/responses/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/LaunchAppInstance' description: Request to launch app. required: true /public/appInstances/{appInstanceId}/states: put: description: Changes the state of the app instances. tags: - AppInstance summary: Updates app instance state operationId: UpdateAppInstanceState parameters: - x-go-name: AppInstanceId description: Specifies the app instance Id. name: appInstanceId in: path required: true schema: type: integer format: int64 responses: '202': $ref: '#/components/responses/NoContentResponse' default: $ref: '#/components/responses/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateAppInstanceStateParameters' description: Request to update app instance state. required: true components: schemas: AppInstanceIdParameter: type: object title: AppInstanceIdParameter specifies app instance Id in path parameter. required: - appInstanceId properties: appInstanceId: description: 'Specifies the app instance Id. In: path' type: - integer - 'null' format: int64 x-go-name: AppInstanceId x-go-package: cohesity/iris/server/data/public ExternalNetworkInfo: description: 'This is used to display the list of external networks, from which one can potentially be selected for an app instance.' type: object title: Specifies the external network information of the app instance. properties: axonNetworkName: description: 'Name of axon network corresponding to this external network. Used for internal purposes only.' type: - string - 'null' x-go-name: AxonNetworkName vlanId: description: VLAN id of the network. type: - integer - 'null' format: int32 x-go-name: VlanId vlanNetworkName: description: Display name for the UI to select the external network. type: - string - 'null' x-go-name: VlanNetworkName x-go-package: cohesity/iris/server/data/public VmGroup: description: VmGroup specifies information of a VM Group. type: object title: User group info. properties: name: description: Specifies name of the VM group. type: - string - 'null' x-go-name: Name vms: description: Specifies VMs in the group. type: - array - 'null' items: $ref: '#/components/schemas/VmInfo' x-go-name: Vms x-go-package: cohesity/iris/server/data/public AppInstance: description: AppInstance provides application instance's information. type: object title: App Instance. properties: appAccessToken: description: Specifies the token to access with the app. type: - string - 'null' x-go-name: AppAccessToken appInstanceId: description: Specifies unique id across all instances of all apps. type: - integer - 'null' format: int64 x-go-name: AppInstanceId appName: description: Specifies name of the app that is launched in this instance. type: - string - 'null' x-go-name: AppName appUid: description: Specifies id of the app that is launched in this instance. type: - integer - 'null' format: int64 x-go-name: AppUid appVersion: description: Specifies the version of the app that is launched in this instance. type: - integer - 'null' format: int64 x-go-name: AppVersion createdTimeUsecs: description: 'Specifies timestamp (in microseconds) when the app instance was first created.' type: - integer - 'null' format: int64 x-go-name: CreatedTimeUsecs creationUid: description: 'Specifies a unique identifier generated by the client to let the backend identify retries of the app launch request.' type: - string - 'null' x-go-name: CreationUid description: description: Specifies user configured description for the app instance. type: - string - 'null' x-go-name: Description devVersion: description: Specifies version of the app provided by the developer. type: - string - 'null' x-go-name: DevVersion durationUsecs: description: Specifies duration (in microseconds) for which the app instance has run. type: - integer - 'null' format: int64 x-go-name: DurationUsecs healthDetail: description: 'Specifies the reason the app instance is unhealthy. Only set if app instance is unhealthy.' type: - string - 'null' x-go-name: HealthDetail healthStatus: description: Specifies the current health status of the app instance. type: - integer - 'null' format: int32 x-go-name: HealthStatus httpsUi: description: 'Specifies app ui http config. If set to true, the App''s UI uses https. Otherwise it uses http.' type: - boolean - 'null' x-go-name: HttpsUi namespace: type: - string - 'null' x-go-name: Namespace nodeIp: description: 'Specifies the ip of the node which can be used to contact app instance external services.' type: - string - 'null' x-go-name: NodeIp nodePort: description: 'Specifies the node port on which the app instance services external requests.' type: - integer - 'null' format: int32 x-go-name: NodePort settings: description: Specifies settings used to launch an app instance. $ref: '#/components/schemas/AppInstanceSettings' state: description: 'Specifies the current state of the app instance. Specifies operational status of an app instance. kInitializing - The app instance has been launched or resumed, but is not fully running yet. kRunning - The app instance is running. Check health_status for the actual health. kPausing - The app instance is being paused. kPaused - The app instance has been paused. kTerminating - The app instance is being terminated. kTerminated - The app instance has been terminated. kFailed - The app instance has failed due to an unrecoverable error.' type: - string - 'null' enum: - kInitializing - kRunning - kPausing - kPaused - kTerminating - kTerminated - kFailed x-go-name: State stateDetail: description: Specifies the failure reason when the app instance's state is kFailed. type: - string - 'null' x-go-name: StateDetail userSshKey: description: Specifies username and corresponding ssh key to be inserted into the VMs. $ref: '#/components/schemas/UserSshKey' vmGroups: description: 'Specifies list of all VM groups for this application. Each VM group contains a list of VMs. Information needed for UI like the nodePort, the port type etc. is stored for each VM.' type: - array - 'null' items: $ref: '#/components/schemas/VmGroup' x-go-name: VmGroups x-go-package: cohesity/iris/server/data/public RequestError: description: Details about the Error. type: object title: Error properties: errorCode: description: Operation response error code. type: - integer - 'null' format: int64 x-go-name: ErrorCode message: description: Description of the error. type: - string - 'null' x-go-name: Message x-go-package: cohesity/iris/server/data/public ProtectedObjectPrivileges: description: 'ProtectedObjectPrivileges specifies which protected objects are allowed to be accessed by an app instance.' type: object title: Protected objects privileges. properties: protectedObjectsprivilegesType: description: 'Specifies if all, none or specific protected objects are allowed to be accessed. Specifies if all, none or specific protected objects are allowed to be accessed. kNone - None of the protected objects have access. kAll - All the protected objects have access. kSpecific - Only specific protected objects have access.' type: - string - 'null' enum: - kNone - kAll - kSpecific x-go-name: ProtectedObjectsPrivilegesType protectionSourceIds: description: 'Specifies the ids of the protection sources which are allowed to be accessed in case the privilege type is kSpecific.' type: - array - 'null' items: type: integer format: int64 x-go-name: ProtectionSourceIds x-go-package: cohesity/iris/server/data/public AppInstanceSettings: description: 'AppInstanceSettings provides settings used while launching an app instance. Current settings include QoSTier to be used for the instance and views allowed to be accessed by the instance.' type: object title: App instance settings. properties: externalNetworkInfo: description: External network information of the app instance. $ref: '#/components/schemas/ExternalNetworkInfo' instanceSize: description: 'Instance size specification (e.g. small/medium/large). Used to determine container resources.' type: - string - 'null' x-go-name: InstanceSize protectedObjectPrivileges: description: 'Specifies which protected objects are allowed to be accessed by an app instance.' $ref: '#/components/schemas/ProtectedObjectPrivileges' qosTier: description: 'Specifies QoSTier of the app instance. Specifies QoS Tier for an app instance. App instances are allocated resources such as memory, CPU and IO based on their QoS Tier. kLow - Low QoS Tier. kMedium - Medium QoS Tier. kHigh - High QoS Tier. kMax - Max QoS Tier.' type: - string - 'null' enum: - kLow - kMedium - kHigh - kMax x-go-name: QosTier readViewPrivileges: description: 'Specifies views allowed to be accessed in read only mode by the app instance.' $ref: '#/components/schemas/ViewPrivileges' readWriteViewPrivileges: description: 'Specifies views allowed to be accessed in read/write mode by the app instance.' $ref: '#/components/schemas/ViewPrivileges' vmNumReplicasList: description: 'List of vm-name, replica count pairs to be used at the time of app instance launch.' type: - array - 'null' items: $ref: '#/components/schemas/VmNumReplicas' x-go-name: VmNumReplicasList x-go-package: cohesity/iris/server/data/public UserSshKey: description: UserSshKey specifies username and ssh key. type: object title: User ssh key info. properties: sshKey: description: Specifies SSH key needed to be added to the username passed. type: - string - 'null' x-go-name: SshKey username: description: Specifies name of the user to add. type: - string - 'null' x-go-name: Username x-go-package: cohesity/iris/server/data/public VmInfo: description: VmInfo specifies information of a VM. type: object title: VM information. properties: healthDetail: description: Specifies the reason if vm is unhealthy. type: - string - 'null' x-go-name: HealthDetail healthStatus: description: Specifies the current health status of the app instance. type: - integer - 'null' format: int32 x-go-name: HealthStatus name: description: Specifies name of the VM. type: - string - 'null' x-go-name: Name nodePorts: description: Specifies nodeports assigned to the vm. type: - array - 'null' items: $ref: '#/components/schemas/NodePort' x-go-name: NodePorts x-go-package: cohesity/iris/server/data/public ViewPrivileges: description: 'ViewPrivileges specifies which views are allowed to be accessed by an app instance.' type: object title: View privileges. properties: privilegesType: description: 'Specifies if all, none or specific views are allowed to be accessed. Specifies if all, none or specific views are allowed to be accessed. kNone - None of the views have access. kAll - All the views have access. kSpecific - Only specific views have access.' type: - string - 'null' enum: - kNone - kAll - kSpecific x-go-name: PrivilegesType viewIds: description: 'Specifies the ids of the views which are allowed to be accessed in case the privilege type is kSpecific.' type: - array - 'null' items: type: integer format: int64 x-go-name: ViewIds x-go-package: cohesity/iris/server/data/public VmNumReplicas: type: object title: Struct containing vm-name and replica count as members. properties: numReplicas: description: Replica count. type: - integer - 'null' format: int64 x-go-name: NumReplicas vmName: description: Vm-name. type: - string - 'null' x-go-name: VmName x-go-package: cohesity/iris/server/data/public LaunchAppInstance: description: Specifies app instance parameters. type: object title: Launch App Instance. properties: appUid: description: Specifies the app Id. type: - integer - 'null' format: int64 x-go-name: AppUid appVersion: description: Specifies the app version. type: - integer - 'null' format: int64 x-go-name: AppVersion creationUid: description: 'Specifies unique identifier generated by the client to let the backend distinguish retries of the creation of the app instance.' type: - string - 'null' x-go-name: CreationUid description: description: Specifies user configured description for the app instance. type: - string - 'null' x-go-name: Description settings: description: Specifies launch settings. $ref: '#/components/schemas/AppInstanceSettings' x-go-package: cohesity/iris/server/data/public UpdateAppInstanceStateParameters: description: Specifies update app instance state parameters. type: object title: Update App Instance State Parameters. properties: state: description: 'Specifies the desired app instance state type. Specifies operational status of an app instance. kInitializing - The app instance has been launched or resumed, but is not fully running yet. kRunning - The app instance is running. Check health_status for the actual health. kPausing - The app instance is being paused. kPaused - The app instance has been paused. kTerminating - The app instance is being terminated. kTerminated - The app instance has been terminated. kFailed - The app instance has failed due to an unrecoverable error.' type: - string - 'null' enum: - kInitializing - kRunning - kPausing - kPaused - kTerminating - kTerminated - kFailed x-go-name: State x-go-package: cohesity/iris/server/data/public NodePort: description: 'VmInfo specifies information of a NodePort per service and port combination within an application instance.' type: object title: Node port information. properties: isUiPort: type: - boolean - 'null' x-go-name: IsUiPort port: type: - integer - 'null' format: int32 x-go-name: Port tag: description: 'Specifies use of the nodeport kDefault - No specific service. kHttp - HTTP server. kHttps - Secure HTTP server. kSsh - Secure shell server.' type: - string - 'null' enum: - kDefault - kHttp - kHttps - kSsh x-go-name: Tag x-go-package: cohesity/iris/server/data/public UpdateAppInstanceSettingsParameters: description: Specifies update app instance settings parameters. type: object title: Update App Instance Settings Parameters. properties: description: description: Description of the app instance. type: - string - 'null' x-go-name: Description settings: description: Specifies the desired app instance settings. $ref: '#/components/schemas/AppInstanceSettings' x-go-package: cohesity/iris/server/data/public responses: GetAppInstancesResponse: description: GetAppInstancesResponse specifies response for getting apps content: application/json: schema: type: array items: $ref: '#/components/schemas/AppInstance' LaunchAppInstanceResponse: description: Success content: application/json: schema: $ref: '#/components/schemas/AppInstanceIdParameter' Error: description: Error content: application/json: schema: $ref: '#/components/schemas/RequestError' NoContentResponse: description: No Content