Tenant

GraphViz

Schema

The considered APS type (download) extends the subscriptionService, Suspendable APS type(s) and looks as follows:

{
  "name": "Tenant",
  "id": "http://aps-standard.org/inhouse-products/tenant/1.1",
  "apsVersion": "2.0",
  "implements": [
    "http://aps-standard.org/types/core/subscription/service/1.0",
    "http://aps-standard.org/types/core/external/identifiers/1.2",
    "http://aps-standard.org/types/core/suspendable/1.0"
  ],
  "relations": {
    "account": {
      "type": "http://parallels.com/aps/types/pa/account/1.2",
      "required": true
    },
    "productLine": {
      "type": "http://com.odin.platform/inhouse-products/productLine/1.0",
      "required": true
    },
    "subscription": {
      "type": "http://aps-standard.org/types/core/subscription/1.0",
      "required": true
    },
    "resellerProfile": {
      "type": "http://com.odin.platform/inhouse-products/resellerProfile/1.0",
      "required": true
    },
    "user": {
      "type": "http://aps-standard.org/types/core/user/1.0"
    }
  },
  "properties": {
    "tenantStatus": {
      "type": "string",
      "enum": [
        "PENDING_FULFILLMENT",
        "INCOMPLETE_ORDER_PARAMS",
        "INCOMPLETE_RESELLER_PARAMS",
        "FULFILLMENT_FAILED",
        "PROCESSING",
        "ACTIVE"
      ]
    },
    "createDate": {
      "type": "string",
      "description": "Create Date",
      "format": "date-time"
    },
    "finishDate": {
      "type": "string",
      "description": "Finish Date",
      "format": "date-time"
    },
    "assetId": {
      "type": "string",
      "description": "Connect asset ID"
    },
    "lastOperation": {
      "type": "string",
      "enum": [
        "CREATION",
        "LIMIT_CHANGE",
        "HOLD",
        "RESUME",
        "REMOVAL",
        "ACTIVATE_SCHEDULED_CHANGES",
        "CANCEL_SCHEDULED_CHANGES"
      ]
    },
    "productOwnerUid": {
      "type": "string",
      "description": "Product Owner"
    },
    "activationUrl": {
      "type": "string",
      "description": "Activation form URL"
    },
    "resellerActivationUrl": {
      "type": "string",
      "description": "Reseller Configuration Setup URL",
      "access": {
        "owner": false,
        "referrer": false
      }
    },
    "embeddingTemplate": {
      "type": "string",
      "description": "Markdown template for embedding to customer subscription"
    },
    "migration": {
      "type": "boolean"
    },
    "hideCCPScreen": {
      "type": "boolean",
      "title": "Hide CCP Screen from Customer"
    },
    "operationFailureMessage": {
      "type": "string",
      "description": "Operation failure message",
      "default": "Not requested"
    }
  },
  "operations": {
    "onLimitChange": {
      "path": "onLimitChange",
      "verb": "POST",
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "subscriptionEvent": {
          "kind": "body",
          "type": "http://aps-standard.org/types/core/resource/1.0#Notification",
          "required": true
        }
      },
      "eventSubscription": {
        "event": "http://parallels.com/aps/events/pa/subscription/limits/changed",
        "source": {
          "type": "http://parallels.com/aps/types/pa/subscription/1.0"
        }
      }
    },
    "onActivateScheduledChanges": {
      "path": "onActivateScheduledChanges",
      "verb": "POST",
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "subscriptionEvent": {
          "kind": "body",
          "type": "http://aps-standard.org/types/core/resource/1.0#Notification",
          "required": true
        }
      },
      "eventSubscription": {
        "event": "http://parallels.com/aps/events/pa/subscription/activate/changes",
        "source": {
          "type": "http://parallels.com/aps/types/pa/subscription/1.0"
        }
      }
    },
    "onCancelScheduledChanges": {
      "path": "onCancelScheduledChanges",
      "verb": "POST",
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "subscriptionEvent": {
          "kind": "body",
          "type": "http://aps-standard.org/types/core/resource/1.0#Notification",
          "required": true
        }
      },
      "eventSubscription": {
        "event": "http://parallels.com/aps/events/pa/subscription/cancel/changes",
        "source": {
          "type": "http://parallels.com/aps/types/pa/subscription/1.0"
        }
      }
    },
    "onSubscriptionRenewal": {
      "path": "onSubscriptionRenewal",
      "verb": "POST",
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "subscriptionEvent": {
          "kind": "body",
          "type": "http://aps-standard.org/types/core/resource/1.0#Notification",
          "required": true
        }
      },
      "eventSubscription": {
        "event": "http://parallels.com/aps/events/pa/subscription/renewed",
        "source": {
          "type": "http://parallels.com/aps/types/pa/subscription/1.0"
        }
      }
    },
    "getActionLink": {
      "path": "/action/{actionId}/{assetId}",
      "verb": "GET",
      "response": {
        "type": "object"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "actionId": {
          "kind": "path",
          "type": "string"
        },
        "assetId": {
          "kind": "path",
          "type": "string"
        }
      }
    },
    "getTemplatesByAssetId": {
      "path": "/tenantTemplate",
      "verb": "GET",
      "response": {
        "type": "object"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "assetId": {
          "kind": "query",
          "type": "string"
        },
        "productOwnerUid": {
          "kind": "query",
          "type": "string"
        },
        "apsId": {
          "kind": "query",
          "type": "string"
        }
      }
    },
    "getLatestSubscriptionStatus": {
      "path": "/latestSubscriptionStatus",
      "verb": "GET",
      "response": {
        "type": "object"
      },
      "errorResponse": {
        "type": "object"
      },
      "parameters": {
        "assetId": {
          "kind": "query",
          "type": "string"
        },
        "productOwnerUid": {
          "kind": "query",
          "type": "string"
        },
        "apsId": {
          "kind": "query",
          "type": "string"
        }
      }
    }
  },
  "structures": {
    "SubscriptionSource": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      }
    },
    "SubscriptionEvent": {
      "type": "object",
      "properties": {
        "event": {
          "type": "string"
        },
        "subscription": {
          "type": "string"
        },
        "source": {
          "type": "SubscriptionSource"
        }
      }
    }
  }
}

Properties

NAME

TYPE

ATTRIBUTES

DEFAULT

DESCRIPTION

tenantStatus

Enum

Not Required

createDate

String

Not Required

finishDate

String

Not Required

assetId

String

Not Required

lastOperation

Enum

Not Required

productOwnerUid

String

Not Required

activationUrl

String

Not Required

resellerActivationUrl

String

Not Required

embeddingTemplate

String

Not Required

migration

Boolean

Not Required

hideCCPScreen

Boolean

Not Required

operationFailureMessage

String

Not Required

Not requested

Relationship

NAME

TYPE

REQUIRED

DESCRIPTION

account

PAAccount

Yes

productLine

ProductLine

Yes

subscription

Subscription

Yes

resellerProfile

ResellerProfile

Yes

user

User

No

Custom Operations

OPERATION

VERB

PATH

RETURNS

Description

onLimitChange

POST

/onLimitChange

onActivateScheduledChanges

POST

/onActivateScheduledChanges

onCancelScheduledChanges

POST

/onCancelScheduledChanges

onSubscriptionRenewal

POST

/onSubscriptionRenewal

getActionLink

GET

/action/{actionId}/{assetId}

getTemplatesByAssetId

GET

/tenantTemplate

getLatestSubscriptionStatus

GET

/latestSubscriptionStatus

onLimitChange

HTTP Request

POST /aps/2/resources/{aps-id}/onLimitChange

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

subscriptionEvent

Http://aps-standard.org/types/core/resource/1.0#Notification

Returns

onActivateScheduledChanges

HTTP Request

POST /aps/2/resources/{aps-id}/onActivateScheduledChanges

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

subscriptionEvent

Http://aps-standard.org/types/core/resource/1.0#Notification

Returns

onCancelScheduledChanges

HTTP Request

POST /aps/2/resources/{aps-id}/onCancelScheduledChanges

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

subscriptionEvent

Http://aps-standard.org/types/core/resource/1.0#Notification

Returns

onSubscriptionRenewal

HTTP Request

POST /aps/2/resources/{aps-id}/onSubscriptionRenewal

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

subscriptionEvent

Http://aps-standard.org/types/core/resource/1.0#Notification

Returns

getTemplatesByAssetId

HTTP Request

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

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

assetId

String

productOwnerUid

String

apsId

String

Returns

getLatestSubscriptionStatus

HTTP Request

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

Description

Parameters

PARAMETER

TYPE

DESCRIPTION

assetId

String

productOwnerUid

String

apsId

String

Returns

Structures

SubscriptionSource

NAME

TYPE

ATTRIBUTES

DEFAULT

DESCRIPTION

id

String

Not Required

type

String

Not Required

SubscriptionEvent

NAME

TYPE

ATTRIBUTES

DEFAULT

DESCRIPTION

event

String

Not Required

subscription

String

Not Required

source

SubscriptionSource

Not Required

Examples

Please find general description of create-read-update-delete (CRUD) operations with resources, properties, and structures respectively at:

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