Update Cloud Accounts

Details

API DetailsRelease-Specific Information
CloudCenter Platform 4xCloudCenter Suite 5x
NameUpdate Cloud Accounts by Cloud Account ID
Description

Update the configured details for a cloud account specified by the cloudAccountId within the specified tenant

Allowed Role(s)

ADMIN, WM_ADMIN, and CO_RL_ADMIN

MethodPUT
URI

v1/tenants/tenantId/clouds/cloudId/accounts/cloudAccountId

cloudcenter-cloud-setup/api/v1/tenants/tenantId/clouds/cloudId/accounts/cloudAccountId

Sample Request
curl -k -X PUT -H "Accept: application/json" -H "Content-Type: application/json" -u cloudcenteradmin:40E45DBE57E35ECB "https://<HOST>:<PORT>/v1/tenants/1/clouds/3/accounts/3"
curl -k -X PUT -H "Accept: application/json" -H "Content-Type: application/json" -u cloudcenteradmin:40E45DBE57E35ECB "https://<HOST>:<PORT>/cloudcenter-cloud-setup/api/v1/tenants/1/clouds/3/accounts/3"
Release

Introduced in CloudCenter 4.0

Modified in CloudCenter Suite 5.0.0

Notes
  • Only resource owners and users with WRITE perms can view all the fields for this resource.
  • Other users can only view common fields like name, description, and so forth. See Permission Control for additional context.
Back To LinksCloudCenter Platform 4x APIWorkload Manager API

ESB Header

action: update.tenants.tenantId.clouds.cloudId.accounts.cloudAccountId

See the Enterprise Service Bus (ESB) section for additional context.

Not applicable

Sample Details before the Change

{
  "accountDescription": "CloudCenterQA Account",
  "accountProperties": [
    {
      "name": "QuantumEndpoint",
      "value": "http://<HOST>:<PORT>/v2.0/"
    },
    {
      "name": "Region",
      "value": "nova"
    },
    {
      "name": "TenantName",
      "value": "cloudCenterqa"
    },
    {
      "name": "NovaEndpoint",
      "value": "http://<HOST>:<PORT>/v2/3bb259dea2c8454bb987e5f04ef8ab5a"
    },
    {
      "name": "Endpoint",
      "value": "http://<HOST>:<PORT>/v2.0"
    },
    {
      "name": "PreferredNetwork",
      "value": ""
    }
  ]
}

Request Body

Request to change the accountDescription (from "CloudCenterQA Account" to "CloudCenter QA Account for the documentation group")

{
  "id": "3",
  "resource": "https://<HOST>:<PORT>/v1/tenants/1/clouds/3/accounts/3",
  "perms": [],
  "displayName": "CloudCenter",
  "cloudId": "3",
  "userId": "2",
  "accountName": "cloudCenterqa",
  "accountId": "CloudCenter",
  "accountPassword": "===redacted===",
  "accountDescription": "CloudCenter QA Account for the documentation group",
  "manageCost": true,
  "publicVisible": false,
  "allowedUsers": [],
  "accessPermission": "PRIVATE",
  "accountProperties": [
    {
      "name": "QuantumEndpoint",
      "value": "http://<HOST>:<PORT>/v2.0/"
    },
    {
      "name": "Region",
      "value": "nova"
    },
    {
      "name": "TenantName",
      "value": "cloudCenterqa"
    },
    {
      "name": "NovaEndpoint",
      "value": "http://<HOST>:<PORT>/v2/3bb259dea2c8454bb987e5f04ef8ab5a"
    },
    {
      "name": "Endpoint",
      "value": "http://<HOST>:<PORT>/v2.0"
    },
    {
      "name": "PreferredNetwork",
      "value": ""
    }
  ]
}

Response for this Request

{
  "operationId": "cfcbf255-8e10-4572-8118-08907978bf97",
  "status": "SUBMITTED",
  "msg": "Update cloud account",
  "progress": 0,
  "timestamp": 1434058718130,
  "additionalParameters": null,
  "operationHistory": [],
  "subtaskResults": null,
  "resourceUrl": "https://<HOST>:<PORT>/v1/operationStatus/cfcbf255-8e10-4572-8118-08907978bf97"
}

Get API after the Change

{
  "id": "3",
  "resource": "https://<HOST>:<PORT>/v1/tenants/1/clouds/3/accounts/3",
  "perms": [],
  "displayName": "CloudCenter",
  "cloudId": "3",
  "userId": "2",
  "accountName": "cloudCenterqa",
  "accountId": "CloudCenter",
  "accountPassword": "===redacted===",
  "accountDescription": "CloudCenter QA Account for the documentation group",
  "manageCost": true,
  "publicVisible": false,
  "allowedUsers": [],
  "accessPermission": "PRIVATE",
  "accountProperties": [
    {
      "name": "QuantumEndpoint",
      "value": "http://<HOST>:<PORT>/v2.0/"
    },
    {
      "name": "Region",
      "value": "nova"
    },
    {
      "name": "TenantName",
      "value": "cloudcenterqa"
    },
    {
      "name": "NovaEndpoint",
      "value": "http://<HOST>:<PORT>/v2/3bb259dea2c8454bb987e5f04ef8ab5a"
    },
    {
      "name": "Endpoint",
      "value": "http://<HOST>:<PORT>/v2.0"
    },
    {
      "name": "PreferredNetwork",
      "value": ""
    }
  ]
}


Request Attributes

tenantId
  • DescriptionUnique, system-generated identifier for the tenant organization. A tenant admin must belong to this tenant to invoke any APIs for this tenant. See the Tenant ID and Tenant Name Dependency section for the relevant release for additional context.

  • Type: String

Required

cloudId
  • Description: Unique, system-generated identifier for a cloud representation (see View Deployment Environments for additional details)

  • Type: String

Required

cloudAccountId
  • Description: Unique, system-generated identifier for the cloudAccount

  • Type: String

Required

accountDescription
  • Description:A brief description of this cloud account
  • Type: String
accountProperties
  • Description: Property information for this cloud account
  • Type: Name-Value Pair (array)

Response Attributes

id
  • DescriptionUnique, system-generated identifier for this CloudCenter Resource.

  • Type: String

resource
  • Description: Unique URL to access this resource.
  • Type: String
perms (click for additional details)

displayName
  • DescriptionA descriptive name for this CloudCenter resource.
  • Type: String

Required

cloudId
  • Description: Unique, system-generated identifier for a cloud representation (see View Deployment Environments for additional details)

  • Type: String

Required

userId
  • Description: Unique, system-generated identifier for a user
  • Type: String

Required

accountName
  • Description:The account name associated with this cloud account
  • Type: String 

Required

accountId
  • Description: Unique, system-generated identifier for the account of the cloud provider
  • Type: String

Required

accountPassword
  • Description:Password for the account of the cloud provider
  • Type: String

Required

accountDescription
  • Description:A brief description of this cloud account
  • Type: String

Required

manageCost
  • Description: Indicates whether the CloudCenter platform tracks your cloud account costs for billing purposes. See the Configure a Cloud and Cloud Account section for the relevant release for additional context.

    • true = The CloudCenter platform tracks your cloud account costs
    • false = Default. The CloudCenter platform does not track your cloud account costs
  • Type: Boolean
publicVisible
  • Description: Indicates whether this cloud publicly accessible. See the Supported Public Clouds section for the relevant release for additional context.

    • true = cloud is publicly accessible
    • false = cloud is not publicly accessible
  • Type: Boolean 
allowedUsers
  • Description: Indicates the IDs of the users who are authorized to access this cloud account
  • Type: Integer (array)
 accessPermission 
  • Description: Identifies who can access this cloud account. Once set you cannot change this attribute.

  • Type: Enumeration

    EnumerationDescription
    PRIVATEDefault. The cloud account is accessible only by the owner of the cloud account.
    USERSThe cloud account is accessible by all tenant users of the cloud account.
    USERS_AND_SUBTENANT_USERSThe cloud account is accessible by all tenant and sub-tenant users of the cloud account.

accountProperties
  • Description: Property information for this cloud account
  • Type: Name-Value Pair (array)

enableAccountFor
  • Description: Identifies tracking for billing and reporting purposes. Effective CloudCenter Suite 5.0.0 and later.

  • Type: Enumeration

    EnumerationDescription
    PROVISIONING_REPORTINGDefault. Account is used for both provisioning and reporting.
    REPORTINGCost Optimizer and Workload Manager will track cloud costs for this account. Typical usage: master cloud accounts which are used for billing aggregation.
    PROVISIONINGWorkload Manager can deploy jobs using this account.

enableReportingByOrg
  • Description: This filed only applies to AWS and Google clouds and if set to true, it saves the time of manually creating a comparable cost hierarchy within Cost Optimizer. See Cost Groups Configuration for more information on cost hierarchies in Cost Optimizer. Effective CloudCenter Suite 5.0.0 and later.

  • Type: Boolean

    • true = Causes Cost Optimizer to import the cost hierarchy created in the cloud provider portal.

    • false = Default. You must manually create a cost hierarchy, if required.

billingUnitIds
  • Description: A billing unit is the most granular level of cloud cost recording in CloudCenter Suite. This field identifies the number of billing units for this cloud account by listing each billing unit ID. Effective CloudCenter 5.0.0 and later.

  • Type: String

billingUnitNames
  • Description: A billing unit is the most granular level of cloud cost recording in CloudCenter Suite. This field identifies the number of billing units for this cloud account by listing each billing unit name. Effective CloudCenter 5.0.0 and later.

  • Type: String


© 2017-2019 Cisco Systems, Inc. All rights reserved