ZStack Cloud Platform
Single Server, Free Trial for One Year
The Tenant Management feature is a separate feature module. To use this feature, you need to purchase both the Base License and the Plus License of Tenant Management. The Plus License cannot be used independently.
POST /v1/iam2/organizations
Authorization: OAuth the-session-uuid
{ "params": { "name": "org1", "type": "Company", "parentUuid": "398f147aef0347099c16548bce0ceca1", "attributes": [ { "name": "some-attribute-name", "value": "attribute-value" } ], "quota": { "vm.num": 100.0 } }, "systemTags": [], "userTags": [] }
curl -H "Content-Type: application/json;charset=UTF-8" \ -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \ -X POST -d '{"params":{"name":"org1","type":"Company","parentUuid":"1c26fe0d3e384ac9bf67ce4340d65413","attributes":[{"name":"some-attribute-name","value":"attribute-value"}]}}' http://localhost:8080/zstack/v1/iam2/organizations
Name | Type | Location | Description | Optional Value | Starting Version |
---|---|---|---|---|---|
name | String | body (contained in the params structure) | The resource name. | 2.4.0 | |
description | String | body (contained in the params structure) | Optional. The detailed description of the resource. | 2.4.0 | |
type | OrganizationType | body (contained in the params structure) | The organization type. |
| 2.4.0 |
parentUuid | String | body (contained in the params structure) | Optional. | 2.4.0 | |
attributes | List | body (contained in the params structure) | Optional. | 2.4.0 | |
quota | List | body (contained in the params structure) | Optional. The quota. | 4.3.6 | |
resourceUuid | String | body (contained in the params structure) | Optional. | 2.4.0 | |
systemTags | List | body | Optional. The system tags. | 2.4.0 | |
userTags | List | body | Optional. The user tags. | 2.4.0 |
{ "inventory": { "uuid": "d8880014345347e1ab945d8ef750fac7", "name": "org1", "state": "Enabled", "type": "Company", "srcType": "ZStack", "parentUuid": "1dffd2c40215412d8ab4b811ce6888f0", "rootOrganizationUuid": "a531128bc8724f0ba55a85c425f22c32", "attributes": [ { "uuid": "053353cf77d6493daef4de70c9ff8d24", "name": "attribute-name", "value": "attribute-value", "type": "Customized" } ] } }
Name | Type | Description | Starting Version |
---|---|---|---|
error | ErrorCode | The error code. If not null, the operation fails, or vice versa. For more information, see error. | 2.4.0 |
inventory | IAM2OrganizationInventory | See inventory. | 2.4.0 |
Name | Type | Description | Starting Version |
---|---|---|---|
code | String | The error code, which is a numbered or alphanumeric code that specifies an error. For example, SYS.1000, HOST.1001. | 2.4.0 |
description | String | The brief description of the error. | 2.4.0 |
details | String | The details about the error. | 2.4.0 |
elaboration | String | The reserved field. Default value: null. | 2.4.0 |
opaque | LinkedHashMap | The reserved field. Default value: null. | 2.4.0 |
cause | ErrorCode | The root error, which is the associated root cause of the current error. If no root error exists, this parameter is null. | 2.4.0 |
Name | Type | Description | Starting Version |
---|---|---|---|
uuid | String | The resource UUID. | 2.4.0 |
name | String | The resource name. | 2.4.0 |
description | String | The detailed description of the resource. | 2.4.0 |
createDate | Timestamp | The creation date. | 2.4.0 |
lastOpDate | Timestamp | The last operation date. | 2.4.0 |
parentUuid | String | 2.4.0 | |
state | State | See state. | 2.4.0 |
type | OrganizationType | See type. | 2.4.0 |
attributes | List | See attributes. | 2.4.0 |
Name | Type | Description | Starting Version |
---|---|---|---|
name | String | The resource name. | 2.4.0 |
ordinal | int | 2.4.0 |
Name | Type | Description | Starting Version |
---|---|---|---|
name | String | The resource name. | 2.4.0 |
ordinal | int | 2.4.0 |
Name | Type | Description | Starting Version |
---|---|---|---|
organizationUuid | String | 2.4.0 | |
uuid | String | The resource UUID. | 2.4.0 |
name | String | The resource name. | 2.4.0 |
value | String | 2.4.0 | |
type | AttributeType | See type. | 2.4.0 |
Name | Type | Description | Starting Version |
---|---|---|---|
name | String | The resource name. | 2.4.0 |
ordinal | int | 2.4.0 |
CreateIAM2OrganizationAction action = new CreateIAM2OrganizationAction(); action.name = "org1"; action.type = "Company"; action.parentUuid = "1d650e96108c47a297a7529d45afef97"; action.attributes = asList([name:some-attribute-name, value:attribute-value]); action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"; CreateIAM2OrganizationAction.Result res = action.call();
CreateIAM2OrganizationAction action = CreateIAM2OrganizationAction() action.name = "org1" action.type = "Company" action.parentUuid = "a7faaafa84ae4345957fd7e61434481b" action.attributes = [[name:some-attribute-name, value:attribute-value]] action.sessionId = "b86c9016b4f24953a9edefb53ca0678c" CreateIAM2OrganizationAction.Result res = action.call()
DELETE /v1/iam2/organizations/{uuid}?deleteMode={deleteMode}
Authorization: OAuth the-session-uuid
curl -H "Content-Type: application/json;charset=UTF-8" \ -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \ -X DELETE http://localhost:8080/zstack/v1/iam2/organizations/b30d1f09a0df3f708bba1208ade2aa90?deleteMode=Permissive
Name | Type | Location | Description | Optional Value | Starting Version |
---|---|---|---|---|---|
uuid | String | url | The resource UUID. | 2.4.0 | |
deleteMode | String | url | Optional. The delete mode. | 2.4.0 | |
systemTags | List | body | Optional. The system tags. | 2.4.0 | |
userTags | List | body | Optional. The user tags. | 2.4.0 |
When the API succeeded, an empty JSON structure {} is returned. When the API failed, the returned JSON structure includes an error field. For example,
{ "error": { "code": "SYS.1001", "description": "A message or a operation timeout", "details": "Create VM on KVM timeout after 300s" } }
DeleteIAM2OrganizationAction action = new DeleteIAM2OrganizationAction(); action.uuid = "b30d1f09a0df3f708bba1208ade2aa90"; action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"; DeleteIAM2OrganizationAction.Result res = action.call();
DeleteIAM2OrganizationAction action = DeleteIAM2OrganizationAction() action.uuid = "b30d1f09a0df3f708bba1208ade2aa90" action.sessionId = "b86c9016b4f24953a9edefb53ca0678c" DeleteIAM2OrganizationAction.Result res = action.call()