PrmCbStoreSubsystem

CB Store subsystem registry for PriceManager-related apps. Backs the apps-list, per-app info, and install/uninstall operations the CloudBlue Store calls.

GraphViz

Schema

The considered APS type (download) extends the Resource APS type(s) and looks as follows:

{
  "name": "PrmCbStoreSubsystem",
  "id": "http://com.ingrammicro/pricemanager/prmcbstoresubsystem/1.0",
  "apsVersion": "2.0",
  "implements": [
    "http://aps-standard.org/types/core/resource/1.0"
  ],
  "access": {
    "global": true
  },
  "operations": {
    "applications": {
      "path": "/applications",
      "verb": "GET",
      "response": {
        "type": "array",
        "items": {
          "type": "CBStoreApplication"
        }
      },
      "errorResponse": {
        "type": "object"
      }
    },
    "application": {
      "path": "/applications/{appId}",
      "verb": "GET",
      "response": {
        "type": "CBStoreApplicationInformation"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "appId": {
          "kind": "path",
          "type": "string",
          "required": true
        }
      }
    },
    "install": {
      "path": "/applications/{appId}/install",
      "verb": "POST",
      "response": {
        "type": "object"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "appId": {
          "kind": "path",
          "type": "string",
          "required": true
        }
      }
    },
    "uninstall": {
      "path": "/applications/{appId}/uninstall",
      "verb": "POST",
      "response": {
        "type": "object"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "appId": {
          "kind": "path",
          "type": "string",
          "required": true
        }
      }
    },
    "update": {
      "path": "/applications/{appId}/update",
      "verb": "POST",
      "response": {
        "type": "object"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "appId": {
          "kind": "path",
          "type": "string",
          "required": true
        },
        "payload": {
          "kind": "body",
          "type": "object"
        }
      }
    },
    "myapps": {
      "path": "/myapps",
      "verb": "GET",
      "response": {
        "type": "MyApps"
      },
      "errorResponse": {
        "type": "object"
      }
    }
  },
  "structures": {
    "CBStoreApplication": {
      "type": "object"
    },
    "CBStoreApplicationInformation": {
      "type": "object"
    },
    "MyApps": {
      "type": "object"
    }
  }
}

Custom Operations

OPERATION

VERB

PATH

RETURNS

Description

applications

GET

/applications

Apps known to the subsystem

Returns the apps known to this subsystem. Each entry carries the caller’s current status for that app (one of not_installed, provisioning, installed_latest, installation_not_available, unknown), version, and view information.

application

GET

/applications/{appId}

Detailed application information

Returns detailed information for one app of the subsystem. Beyond what applications provides, includes a statusReasonMessage explaining why installation is unavailable (when applicable), and the installationMethod / uninstallationMethod the CloudBlue Store should use. Unknown appId returns 4xx.

install

POST

/applications/{appId}/install

200 OK on success; 4xx if the app id is unknown

Installs an app of the subsystem for the calling account.

uninstall

POST

/applications/{appId}/uninstall

200 OK on success; 4xx if the app id is unknown

Uninstalls an app of the subsystem for the calling account

update

POST

/applications/{appId}/update

Reserved for future use. The apps exposed by this subsystem cannot be upgraded via this API – every call currently responds with an error.

myapps

GET

/myapps

Per-app install flags for the caller

Returns the per-app install state for the calling tenant. Each field is true when the corresponding app is installed and currently available to the caller.

applications

HTTP Request

GET /aps/2/resources/{aps-id}/applications

Description

Returns the apps known to this subsystem. Each entry carries the caller’s current status for that app (one of not_installed, provisioning, installed_latest, installation_not_available, unknown), version, and view information.

Returns

Apps known to the subsystem

application

HTTP Request

GET /aps/2/resources/{aps-id}/applications/{appId}

Description

Returns detailed information for one app of the subsystem. Beyond what applications provides, includes a statusReasonMessage explaining why installation is unavailable (when applicable), and the installationMethod / uninstallationMethod the CloudBlue Store should use. Unknown appId returns 4xx.

Parameters

PARAMETER

TYPE

DESCRIPTION

appId

String

CloudBlue Store identifier of the app

Returns

Detailed application information

install

HTTP Request

POST /aps/2/resources/{aps-id}/applications/{appId}/install

Description

Installs an app of the subsystem for the calling account.

Parameters

PARAMETER

TYPE

DESCRIPTION

appId

String

CloudBlue Store identifier of the app

Returns

200 OK on success; 4xx if the app id is unknown

uninstall

HTTP Request

POST /aps/2/resources/{aps-id}/applications/{appId}/uninstall

Description

Uninstalls an app of the subsystem for the calling account

Parameters

PARAMETER

TYPE

DESCRIPTION

appId

String

CloudBlue Store identifier of the app

Returns

200 OK on success; 4xx if the app id is unknown

update

HTTP Request

POST /aps/2/resources/{aps-id}/applications/{appId}/update

Description

Reserved for future use. The apps exposed by this subsystem cannot be upgraded via this API – every call currently responds with an error.

Parameters

PARAMETER

TYPE

DESCRIPTION

appId

String

Reserved for future use

payload

Object

Reserved for future use

Returns

myapps

HTTP Request

GET /aps/2/resources/{aps-id}/myapps

Description

Returns the per-app install state for the calling tenant. Each field is true when the corresponding app is installed and currently available to the caller.

Returns

Per-app install flags for the caller

Structures

CBStoreApplication

Basic information on an app of a CB Store subsystem - used in the apps-list response.

CBStoreApplicationInformation

Detailed information on an app of a CB Store subsystem - returned by the per-app info operation. Adds installation/uninstallation methods and reason messages on top of CBStoreApplication.

MyApps

Per-app install state for the calling tenant: each flag is true when the corresponding app is installed and currently available to the caller.

Examples

Since the considered APS type contains custom operations, refer to Custom Operations for the general explanation of their structure and examples of operation calls.

CosApp
PrmTenant