Introduction

The resource controller is the next-generation IBM Cloud platform provisioning layer that manages the lifecycle of IBM Cloud resources in a customer account. A resource is an instance of a service like Cloudant, a Cloud Foundry application, a virtual machine, a container, a software image, or a data set.

The resource controller provides APIs to help you manage the following elements of your resource lifecycle:

  • Catalog management
  • Provisioning (creating an instance)
  • Updating a resource instance
  • Binding (creating access credentials)
  • Resource keys
  • Unbinding (removing access credentials)
  • De-provisioning (deleting an instance)
  • Dashboard SSO

Resources are provisioned globally in an account scope. The resource controller supports both synchronous and asynchronous provisioning of resources.

Resources are created by the resource controller within resource groups. A resource group belongs to an account. All IBM Cloud resources must be provisioned within a resource group. If an account is suspended, the corresponding resource group is suspended as well, and all resources within the resource group are suspended.

Installing the Java SDK

Maven

<dependency>
    <groupId>com.ibm.cloud</groupId>
    <artifactId>resource-controller</artifactId>
    <version>{version}</version>
</dependency>

Gradle

'com.ibm.cloud:resource-controller:0.18.6'

Replace {version} in these examples with the release version.

View on GitHub

Installing the Go SDK

Go modules (recommended): Add the following import in your code, and then run go build or go mod tidy

import (
    "github.com/IBM/platform-services-go-sdk/resourcecontrollerv2"
)

Go get

go get -u github.com/IBM/platform-services-go-sdk/resourcecontrollerv2

View on GitHub

The code examples on this tab use the client library that is provided for Node.js. The API responses might have additional fields that are not documented, those are subject to change and should not be used.

Installation

npm install ibm-platform-services

For more installation options, view this project in GitHub. https://github.com/IBM/platform-services-node-sdk

The code examples on this tab use the client library that is provided for Python. The API responses might have additional fields that are not documented, those are subject to change and should not be used.

Installation

pip install --upgrade "ibm-platform-services"

For more installation options, view this project in GitHub. https://github.com/IBM/platform-services-python-sdk

Resource instances

The resource controller can provision or create an instance. Provisioning reserves a resource on a service, and the reserved resource is a service instance. A resource instance can vary by service. Examples include a single database on a multi-tenant server, a dedicated cluster, or an account on a web application.

Resource bindings and keys

A resource binding is the representation of an association between an application and a resource (service) instance. Often, resource bindings contain the credentials (keys) that the application uses to communicate with the resource instance. Keys are credentials that are used to connect (bind) a service to another application.

Resource aliases

You can think of an alias as a symlink in computing terms. It represents an entity that points back to a resource instance for you to define different access controls on it. Similar to symlinks, you can also create multiple aliases to a single resource instance and manage each one separately.

For example, you can create an instance of a service and then reuse that instance in both London and Dallas by creating aliases in both regions. This enables you to bind keys (credentials) to applications that run in those regions and use the same logical instance.

API endpoint

https://resource-controller.cloud.ibm.com/v2/

API endpoint

https://resource-controller.cloud.ibm.com/v2/

API endpoint

https://resource-controller.cloud.ibm.com/v2/

API endpoint

https://resource-controller.cloud.ibm.com/v2/

API endpoint

https://resource-controller.cloud.ibm.com/v2/

Using the SDK

With the Java SDK, you can build a service client for the Resource Controller by implementing the ResourceController class within the com.ibm.cloud.platform_services.resource_controller.v2 package. To construct the client, you can set your options programmatically, or you can define external configuration properties to be used by your application.

The examples that are provided on this page demonstrate how to build a service client by using these two options. For more information and detailed examples, check out the IBM Cloud SDK Common project on GitHub.

With the Go SDK, you can build a service client for the Resource Controller by implementing the ResourceControllerV2 class within the resourcecontrollerv2 package. To construct the client, you can set your options programmatically, or you can define external configuration properties to be used by your application.

The examples that are provided on this page demonstrate how to build a service client by using these two options. For more information and detailed examples, check out the IBM Cloud SDK Common project on GitHub.

With the Node.js SDK, you can build a service client for the Resource Controller by implementing the ResourceControllerV2 class within the resource-controller/v2 module. To construct the client, you can set your options programmatically, or you can define external configuration properties to be used by your application.

The examples that are provided on this page demonstrate how to build a service client by using these two options. For more information and detailed examples, check out the IBM Cloud SDK Common project on GitHub.

With the Python SDK, you can build a service client for the Resource Controller by implementing the ResourceControllerV2 class within the ibm-platform-services module. To construct the client, you can set your options programmatically, or you can define external configuration properties to be used by your application.

The examples that are provided on this page demonstrate how to build a service client by using these two options. For more information and detailed examples, check out the IBM Cloud SDK Common project on GitHub.

Endpoint URLs

The Resource Controller API uses the following global endpoint URL for all regions. When you call the API, add the path for each method to form the complete API endpoint for your requests.

https://resource-controller.cloud.ibm.com

If you enabled service endpoints in your account, you can send API requests over the IBM Cloud private network at the following base endpoint URLs. For more information, see Enabling VRF and service endpoints.

  • Private endpoint URL for VPC infrastructure: https://private.resource-controller.cloud.ibm.com
  • Private endpoint URLs for classic infrastructure:
    • Dallas: https://private.us-south.resource-controller.cloud.ibm.com
    • Washington DC: https://private.us-east.resource-controller.cloud.ibm.com

Example API request

curl -X {request_method} "https://resource-controller.test.cloud.ibm.com/{method_endpoint}"

Replace {request_method} and {method_endpoint} in this example with the values for your particular API call.

Authentication

To work with the API, you must use an IBM Cloud Identity and Access Management (IAM) access token. The token is used to determine the actions that a user or service ID has access to when they use the API.

Obtaining an IAM token for an authenticated user or service ID is described in the IAM Identity Services API documentation.

To use the API, add a valid IAM token to the HTTP Authorization request header, for example, -H 'Authorization: Bearer <TOKEN>'.

When you use the SDK, configure an IAM authenticator with the IAM API key. The authenticator automatically obtains the IAM access token for the API key and includes it with each request. You can construct an authenticator in either of two ways:

  • Programmatically by constructing an IAM authenticator instance and supplying your IAM API key
  • By defining the API key in external configuration properties and then using the SDK authenticator factory to construct an IAM authenticator that uses the configured IAM API key

In this example of using external configuration properties, an IAM authenticator instance is created with the configured API key, and then the service client is constructed with this authenticator instance and the configured service URL.

For more information, see the Authentication section of the IBM Cloud SDK Common documentation.

For more information, see IAM authentication with the SDK.

For more information, see IAM authentication with the SDK.

For more information, see IAM authentication with the SDK.

For more information, see IAM authentication with the SDK.

To retrieve your access token:

curl -X POST
https://iam.cloud.ibm.com/identity/token
  -H "Content-Type: application/x-www-form-urlencoded"
  -H "Accept: application/json"
  -d "grant_type=urn%3Aibm%3Aparams%3Aoauth%3Agrant-type%3Aapikey&apikey=<API_KEY>"

Replace <API_KEY> with your service credentials. Then, use the full IAM token value prefixed by the Bearer token type to authenticate your API requests.

To retrieve your instance ID:

ibmcloud resource service-instance <instance_name> --id

Replace <instance_name> with the unique alias that you assigned to your service instance.

Setting client options through external configuration

Example environment variables, where <SERVICE_URL> is the endpoint URL and <API_KEY> is your IAM API key

export RESOURCE_CONTROLLER_URL=<SERVICE_URL>
export RESOURCE_CONTROLLER_AUTHTYPE=iam
export RESOURCE_CONTROLLER_APIKEY=<API_KEY>

Example of constructing the service client

import com.ibm.cloud.platform_services.resource_controller.v2.ResourceController;
...
ResourceController serviceClient = ResourceController.newInstance();

Setting client options through external configuration

Example environment variables, where <SERVICE_URL> is the endpoint URL and <API_KEY> is your IAM API key

export RESOURCE_CONTROLLER_URL=<SERVICE_URL>
export RESOURCE_CONTROLLER_AUTHTYPE=iam
export RESOURCE_CONTROLLER_APIKEY=<API_KEY>

Example of constructing the service client

import {
    "github.com/IBM/platform-services-go-sdk/resourcecontrollerv2"
}
...
serviceClientOptions := &resourcecontrollerv2.ResourceControllerV2Options{}
serviceClient, err := resourcecontrollerv2.NewResourceControllerV2UsingExternalConfig(options)

## Python

Setting client options through external configuration

Example environment variables, where `<SERVICE_URL>` is the endpoint URL and `<API_KEY>` is your IAM API key
```sh
export RESOURCE_CONTROLLER_URL=<SERVICE_URL>
export RESOURCE_CONTROLLER_AUTHTYPE=iam
export RESOURCE_CONTROLLER_APIKEY=<API_KEY>

Example of constructing the service client

from ibm_platform_services import ResourceControllerV2
...
service_client = ResourceControllerV2.new_instance()

## Node.js

Setting client options through external configuration

Example environment variables, where `<SERVICE_URL>` is the endpoint URL and `<API_KEY>` is your IAM API key
```sh
export RESOURCE_CONTROLLER_URL=<SERVICE_URL>
export RESOURCE_CONTROLLER_AUTHTYPE=iam
export RESOURCE_CONTROLLER_APIKEY=<API_KEY>

Example of constructing the service client ```javascript const ResourceControllerV2 = require('ibm-platform-services/resource-controller/v2'); ... const serviceClient = ResourceControllerV2.newInstance({});

Error handling

This API uses standard HTTP response codes to indicate whether a method completed successfully. A 200 response indicates success. A 400 type response indicates a failure, and a 500 type response indicates an internal system error.

Additionally, each response includes a Transaction-Id header that can be referenced when you contact IBM Cloud support.

HTTP Error Code Description Recovery
200 Success The request was successful.
400 Bad Request The input parameters in the request body are either incomplete or in the wrong format. Be sure to include all required parameters in your request.
401 Unauthorized You are not authorized to make this request. Log in to IBM Cloud and try again. If this error persists, contact the account owner to check your permissions.
403 Forbidden The supplied authentication is not authorized to access '{namespace}'.
404 Not Found The requested resource could not be found.
409 Conflict The entity is already in the requested state.
410 Gone The resource is valid but was removed in a previous call.
500 Internal Server Error Offering_name is unavailable. Your request could not be processed. Wait a few minutes and try again.

Auditing

You can monitor API activity within your account by using the IBM Cloud Activity Tracker service. When an API method is called, an event is generated that you can then track and audit from within Activity Tracker. For methods that generate these events, the specific event type is listed with each individual method.

For more information about how to track Account and Billing activity, see Auditing events for account management.

Pagination

Some API requests might return a large number of results. To avoid performance issues, these results are returned one page at a time, with a limited number of results on each page. GET requests for the following resources use pagination:

  • /v2/resource_instances
  • /v2/resource_bindings
  • /v2/resource_keys
  • /v2/resource_aliases

The default page and max size is 100 objects. To use a different page size, use the limit query parameter.

For any request that uses pagination, the response includes a next_url object that specifies pagination information. next_url is the URL for requesting the next page of results. The next_url property is null if there are no more results, and retains the same limit parameter that is used for the initial request.

Rate limiting

Rate limits for API requests are enforced on a per-caller basis. If the number of requests for a particular method and endpoint reaches the request limit within the specified time window, no further requests are accepted until the timer expires. After the timer expires, a new time window begins with the next accepted request.

The response to each HTTP request includes headers you can use to determine whether you are close to the rate limit:

  • X-RateLimit-Reset: the time the current timer expires (in UNIX epoch time)
  • X-RateLimit-Remaining: the number of remaining requests in the current time window
  • X-RateLimit-Limit: the total number of requests allowed within the time window

An HTTP status code of 429 indicates that the rate limit was exceeded.

The number of allowed requests, and the length of the time window, vary by method and endpoint. The reference information for each endpoint specifies the rate limit that applies.

When you work with the resource controller endpoints, it might be helpful to be aware of the IBM Cloud OSB APIs used to create your service broker.

Methods

Get a list of all resource instances

View a list of all available resource instances. Resources is a broad term that could mean anything from a service instance to a virtual machine associated with the customer account.

View a list of all available resource instances. Resources is a broad term that could mean anything from a service instance to a virtual machine associated with the customer account.

View a list of all available resource instances. Resources is a broad term that could mean anything from a service instance to a virtual machine associated with the customer account.

View a list of all available resource instances. Resources is a broad term that could mean anything from a service instance to a virtual machine associated with the customer account.

View a list of all available resource instances. Resources is a broad term that could mean anything from a service instance to a virtual machine associated with the customer account.

GET /v2/resource_instances
(resourceController *ResourceControllerV2) ListResourceInstances(listResourceInstancesOptions *ListResourceInstancesOptions) (result *ResourceInstancesList, response *core.DetailedResponse, err error)
(resourceController *ResourceControllerV2) ListResourceInstancesWithContext(ctx context.Context, listResourceInstancesOptions *ListResourceInstancesOptions) (result *ResourceInstancesList, response *core.DetailedResponse, err error)
ServiceCall<ResourceInstancesList> listResourceInstances(ListResourceInstancesOptions listResourceInstancesOptions)
listResourceInstances(params)
list_resource_instances(self,
        *,
        guid: str = None,
        name: str = None,
        resource_group_id: str = None,
        resource_id: str = None,
        resource_plan_id: str = None,
        type: str = None,
        sub_type: str = None,
        limit: int = None,
        start: str = None,
        state: str = None,
        updated_from: str = None,
        updated_to: str = None,
        **kwargs
    ) -> DetailedResponse

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > name > Access policies.

  • resource-controller.instance.retrieve

Request

Instantiate the ListResourceInstancesOptions struct and set the fields to provide parameter values for the ListResourceInstances method.

Use the ListResourceInstancesOptions.Builder to create a ListResourceInstancesOptions object that contains the parameter values for the listResourceInstances method.

Query Parameters

  • The GUID of the instance.

  • The human-readable name of the instance.

  • The ID of the resource group.

  • The unique ID of the offering. This value is provided by and stored in the global catalog.

  • The unique ID of the plan associated with the offering. This value is provided by and stored in the global catalog.

  • The type of the instance, for example, service_instance.

  • The sub-type of instance, for example, kms.

  • Limit on how many items should be returned.

    Possible values: value ≤ 100

    Default: 100

  • An optional token that indicates the beginning of the page of results to be returned. Any additional query parameters are ignored if a page token is present. If omitted, the first page of results is returned. This value is obtained from the 'next_url' field of the operation response.

  • The state of the instance. If not specified, instances in state active and provisioning are returned.

    Allowable values: [active,provisioning,removed]

  • Start date inclusive filter.

    Example: 2021-01-01

  • End date inclusive filter.

    Example: 2021-01-01

WithContext method only

The ListResourceInstances options.

The listResourceInstances options.

parameters

  • When you provision a new resource in the specified location for the selected plan, a GUID (globally unique identifier) is created. This is a unique internal GUID managed by Resource controller that corresponds to the instance.

  • The human-readable name of the instance.

  • Short ID of a resource group.

  • The unique ID of the offering. This value is provided by and stored in the global catalog.

  • The unique ID of the plan associated with the offering. This value is provided by and stored in the global catalog.

  • The type of the instance, for example, service_instance.

  • The sub-type of instance, for example, cfaas.

  • Limit on how many items should be returned.

    Possible values: value ≤ 100

  • An optional token that indicates the beginning of the page of results to be returned. Any additional query parameters are ignored if a page token is present. If omitted, the first page of results is returned. This value is obtained from the 'next_url' field of the operation response.

  • The state of the instance. If not specified, instances in state active and provisioning are returned.

    Allowable values: [active,provisioning,removed]

  • Start date inclusive filter.

    Examples:
    value
    _source
    _lines
    _html
  • End date inclusive filter.

    Examples:
    value
    _source
    _lines
    _html

parameters

  • When you provision a new resource in the specified location for the selected plan, a GUID (globally unique identifier) is created. This is a unique internal GUID managed by Resource controller that corresponds to the instance.

  • The human-readable name of the instance.

  • Short ID of a resource group.

  • The unique ID of the offering. This value is provided by and stored in the global catalog.

  • The unique ID of the plan associated with the offering. This value is provided by and stored in the global catalog.

  • The type of the instance, for example, service_instance.

  • The sub-type of instance, for example, cfaas.

  • Limit on how many items should be returned.

    Possible values: value ≤ 100

  • An optional token that indicates the beginning of the page of results to be returned. Any additional query parameters are ignored if a page token is present. If omitted, the first page of results is returned. This value is obtained from the 'next_url' field of the operation response.

  • The state of the instance. If not specified, instances in state active and provisioning are returned.

    Allowable values: [active,provisioning,removed]

  • Start date inclusive filter.

    Examples:
    value
    _source
    _lines
    _html
  • End date inclusive filter.

    Examples:
    value
    _source
    _lines
    _html
  • curl -X GET   https://resource-controller.cloud.ibm.com/v2/resource_instances   -H "Authorization: Bearer <IAM token>"
  • listResourceInstancesOptions := resourceControllerService.NewListResourceInstancesOptions()
    listResourceInstancesOptions = listResourceInstancesOptions.SetName(resourceInstanceName)
    
    resourceInstancesList, response, err := resourceControllerService.ListResourceInstances(listResourceInstancesOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(resourceInstancesList, "", "  ")
    fmt.Printf("\nListResourceInstances() response:\n%s\n", string(b))
  • ListResourceInstancesOptions listResourceInstancesOptions = new ListResourceInstancesOptions.Builder()
      .name(resourceInstanceName)
      .build();
    
    Response<ResourceInstancesList> response = service.listResourceInstances(listResourceInstancesOptions).execute();
    ResourceInstancesList resourceInstancesList = response.getResult();
    
    System.out.printf("listResourceInstances() response:\n%s\n", resourceInstancesList.toString());
  • const params = {
      name: resourceInstanceName,
    };
    
    resourceControllerService.listResourceInstances(params)
      .then(res => {
        console.log('listResourceInstances() response:\n' + JSON.stringify(res.result, null, 2));
      })
      .catch(err => {
        console.warn(err)
      });
  • resource_instances_list = resource_controller_service.list_resource_instances(
        name=resource_instance_name
    ).get_result()
    
    print('\nlist_resource_instances() response:\n',
          json.dumps(resource_instances_list, indent=2))

Response

A list of resource instances.

A list of resource instances.

A list of resource instances.

A list of resource instances.

A list of resource instances.

Status Code

  • The list of resource instances was successfully retrieved.

  • Your access token is invalid or authenication of your token failed.

  • Your access token is valid but does not have the necessary permissions to access this resource.

  • Too many requests. Please wait a few minutes and try again.

  • Your request could not be processed. Please try again later. If the problem persists, note the transaction-id in the response header and contact IBM Cloud support.

Example responses
  • {
      "rows_count": 1,
      "next_url": "/v2/resource_instances?start=bmV4dF9kb2NpZD1nMUFBQUFGVGVKekxZV0JnWU1sZ1RtSFFTa2xLemk5S2RVaEpNdFZMeXRWTlR0Wk5TVTNKVEU0c1NVMHhNckRVUzg3SkwwMUp6Q3ZSeTBzdHlRSHFZVW9TQUpKSjh2X19fODhDODkyY1N0XzlxWGc5Z1NGeFJ4YXFlZWJFbWFjQU1rOGZ5Ynl5eE5Pdml6NHdKREV3YU5pUVoyUUF5TWg0WkNjLU43cTQ0UUxJU0QyMUxISjhuY2NDSkJrV0FDbWdxZXZoTGsxbTRGQUNHOXMtSnlzTEFONl9iU2cmbGltaXQ9NSZhY2NvdW50X2lkPTQzMjkwNzNkMTZkMmYzNjYzZjc0YmZhOTU1MjU5MTM5",
      "resources": [
        {
          "id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
          "guid": "8d7af921-b136-4078-9666-081bd8470d94",
          "url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
          "created_at": "2018-04-19T00:18:53.302077457Z",
          "updated_at": "2018-04-19T00:18:53.302077457Z",
          "deleted_at": null,
          "created_by": "IBMid-5500093BHN",
          "updated_by": "IBMid-5500093BHN",
          "deleted_by": "",
          "scheduled_reclaim_at": null,
          "restored_at": null,
          "scheduled_reclaim_by": "",
          "restored_by": "",
          "name": "my-instance",
          "region_id": "global",
          "account_id": "4329073d16d2f3663f74bfa955259139",
          "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
          "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
          "resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/4329073d16d2f3663f74bfa955259139::resource-group:0be5ad401ae913d8ff665d92680664ed",
          "target_crn": "crn:v1:bluemix:public:resource-catalog::a/9e16d1fed8aa7e1bd73e7a9d23434a5a::deployment:2fdf0c08-2d32-4f46-84b5-32e0c92fffd8%3Aglobal",
          "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
          "allow_cleanup": true,
          "state": "active",
          "type": "service_instance",
          "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
          "dashboard_url": "/objectstorage/crn%3Av1%3Abluemix%3Apublic%3Acloud-object-storage%3Aglobal%3Aa%2F4329073d16d2f3663f74bfa955259139%3A8d7af921-b136-4078-9666-081bd8470d94%3A%3A",
          "last_operation": null,
          "resource_aliases_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_aliases",
          "resource_bindings_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_bindings",
          "resource_keys_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_keys",
          "plan_history": [
            {
              "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
              "start_date": "2018-04-19T00:18:53.302077457Z"
            }
          ],
          "migrated": false,
          "controlled_by": ""
        }
      ]
    }
  • {
      "rows_count": 1,
      "next_url": "/v2/resource_instances?start=bmV4dF9kb2NpZD1nMUFBQUFGVGVKekxZV0JnWU1sZ1RtSFFTa2xLemk5S2RVaEpNdFZMeXRWTlR0Wk5TVTNKVEU0c1NVMHhNckRVUzg3SkwwMUp6Q3ZSeTBzdHlRSHFZVW9TQUpKSjh2X19fODhDODkyY1N0XzlxWGc5Z1NGeFJ4YXFlZWJFbWFjQU1rOGZ5Ynl5eE5Pdml6NHdKREV3YU5pUVoyUUF5TWg0WkNjLU43cTQ0UUxJU0QyMUxISjhuY2NDSkJrV0FDbWdxZXZoTGsxbTRGQUNHOXMtSnlzTEFONl9iU2cmbGltaXQ9NSZhY2NvdW50X2lkPTQzMjkwNzNkMTZkMmYzNjYzZjc0YmZhOTU1MjU5MTM5",
      "resources": [
        {
          "id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
          "guid": "8d7af921-b136-4078-9666-081bd8470d94",
          "url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
          "created_at": "2018-04-19T00:18:53.302077457Z",
          "updated_at": "2018-04-19T00:18:53.302077457Z",
          "deleted_at": null,
          "created_by": "IBMid-5500093BHN",
          "updated_by": "IBMid-5500093BHN",
          "deleted_by": "",
          "scheduled_reclaim_at": null,
          "restored_at": null,
          "scheduled_reclaim_by": "",
          "restored_by": "",
          "name": "my-instance",
          "region_id": "global",
          "account_id": "4329073d16d2f3663f74bfa955259139",
          "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
          "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
          "resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/4329073d16d2f3663f74bfa955259139::resource-group:0be5ad401ae913d8ff665d92680664ed",
          "target_crn": "crn:v1:bluemix:public:resource-catalog::a/9e16d1fed8aa7e1bd73e7a9d23434a5a::deployment:2fdf0c08-2d32-4f46-84b5-32e0c92fffd8%3Aglobal",
          "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
          "allow_cleanup": true,
          "state": "active",
          "type": "service_instance",
          "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
          "dashboard_url": "/objectstorage/crn%3Av1%3Abluemix%3Apublic%3Acloud-object-storage%3Aglobal%3Aa%2F4329073d16d2f3663f74bfa955259139%3A8d7af921-b136-4078-9666-081bd8470d94%3A%3A",
          "last_operation": null,
          "resource_aliases_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_aliases",
          "resource_bindings_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_bindings",
          "resource_keys_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_keys",
          "plan_history": [
            {
              "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
              "start_date": "2018-04-19T00:18:53.302077457Z"
            }
          ],
          "migrated": false,
          "controlled_by": ""
        }
      ]
    }

Create (provision) a new resource instance

When you provision a service you get an instance of that service. An instance represents the resource with which you create, and additionally, represents a chargeable record of which billing can occur.

When you provision a service you get an instance of that service. An instance represents the resource with which you create, and additionally, represents a chargeable record of which billing can occur.

When you provision a service you get an instance of that service. An instance represents the resource with which you create, and additionally, represents a chargeable record of which billing can occur.

When you provision a service you get an instance of that service. An instance represents the resource with which you create, and additionally, represents a chargeable record of which billing can occur.

When you provision a service you get an instance of that service. An instance represents the resource with which you create, and additionally, represents a chargeable record of which billing can occur.

POST /v2/resource_instances
(resourceController *ResourceControllerV2) CreateResourceInstance(createResourceInstanceOptions *CreateResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error)
(resourceController *ResourceControllerV2) CreateResourceInstanceWithContext(ctx context.Context, createResourceInstanceOptions *CreateResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error)
ServiceCall<ResourceInstance> createResourceInstance(CreateResourceInstanceOptions createResourceInstanceOptions)
createResourceInstance(params)
create_resource_instance(self,
        name: str,
        target: str,
        resource_group: str,
        resource_plan_id: str,
        *,
        tags: List[str] = None,
        allow_cleanup: bool = None,
        parameters: dict = None,
        entity_lock: bool = None,
        **kwargs
    ) -> DetailedResponse

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > name > Access policies.

  • resource-controller.instance.create

Auditing

Calling this method generates the following auditing event.

  • resource-controller.instance.create

Request

Instantiate the CreateResourceInstanceOptions struct and set the fields to provide parameter values for the CreateResourceInstance method.

Use the CreateResourceInstanceOptions.Builder to create a CreateResourceInstanceOptions object that contains the parameter values for the createResourceInstance method.

Custom Headers

  • Indicates if the resource instance is locked for further update or delete operations. It does not affect actions performed on child resources like aliases, bindings or keys. False by default.

    Default: false

Property values for the new resource instance.

WithContext method only

The CreateResourceInstance options.

The createResourceInstance options.

parameters

  • The name of the instance. Must be 180 characters or less and cannot include any special characters other than (space) - . _ :.

    Possible values: Value must match regular expression /^([^[:ascii:]]|[a-zA-Z0-9-._: ])+$/

    Examples:
    value
    _source
    _lines
    _html
  • The deployment location where the instance should be hosted.

    Examples:
    value
    _source
    _lines
    _html
  • Short or long ID of resource group.

    Examples:
    value
    _source
    _lines
    _html
  • The unique ID of the plan associated with the offering. This value is provided by and stored in the global catalog.

    Examples:
    value
    _source
    _lines
    _html
  • Tags that are attached to the instance after provisioning. These tags can be searched and managed through the Tagging API in IBM Cloud.

  • A boolean that dictates if the resource instance should be deleted (cleaned up) during the processing of a region instance delete call.

    Default: false

  • Configuration options represented as key-value pairs that are passed through to the target resource brokers.

  • Indicates if the resource instance is locked for further update or delete operations. It does not affect actions performed on child resources like aliases, bindings or keys. False by default.

    Default: false

parameters

  • The name of the instance. Must be 180 characters or less and cannot include any special characters other than (space) - . _ :.

    Possible values: Value must match regular expression /^([^[:ascii:]]|[a-zA-Z0-9-._: ])+$/

    Examples:
    value
    _source
    _lines
    _html
  • The deployment location where the instance should be hosted.

    Examples:
    value
    _source
    _lines
    _html
  • Short or long ID of resource group.

    Examples:
    value
    _source
    _lines
    _html
  • The unique ID of the plan associated with the offering. This value is provided by and stored in the global catalog.

    Examples:
    value
    _source
    _lines
    _html
  • Tags that are attached to the instance after provisioning. These tags can be searched and managed through the Tagging API in IBM Cloud.

  • A boolean that dictates if the resource instance should be deleted (cleaned up) during the processing of a region instance delete call.

    Default: false

  • Configuration options represented as key-value pairs that are passed through to the target resource brokers.

  • Indicates if the resource instance is locked for further update or delete operations. It does not affect actions performed on child resources like aliases, bindings or keys. False by default.

    Default: false

  • curl -X POST   https://resource-controller.cloud.ibm.com/v2/resource_instances   -H "Authorization: Bearer <IAM token>"   -H 'Content-Type: application/json'     -d '{
        "name": "my-instance",
        "target": "bluemix-global",
        "resource_group": "5g9f447903254bb58972a2f3f5a4c711",
        "resource_plan_id": "0be5ad401ae913d8ff665d92680664ed",
        "tags": [
          "my-tag"
        ]
      }'
  • createResourceInstanceOptions := resourceControllerService.NewCreateResourceInstanceOptions(
      resourceInstanceName,
      targetRegion,
      resourceGroup,
      resourcePlanID,
    )
    
    resourceInstance, response, err := resourceControllerService.CreateResourceInstance(createResourceInstanceOptions)
    if err != nil {
      panic(err)
    }
    
    b, _ := json.MarshalIndent(resourceInstance, "", "  ")
    fmt.Printf("\nCreateResourceInstance() response:\n%s\n", string(b))
  • CreateResourceInstanceOptions createResourceInstanceOptions = new CreateResourceInstanceOptions.Builder()
      .name(resourceInstanceName)
      .target(targetRegion)
      .resourceGroup(resourceGroup)
      .resourcePlanId(resourcePlanId)
      .build();
    
    Response<ResourceInstance> response = service.createResourceInstance(createResourceInstanceOptions).execute();
    ResourceInstance resourceInstance = response.getResult();
    
    System.out.printf("createResourceInstance() response:\n%s\n", resourceInstance.toString());
  • const params = {
      name: resourceInstanceName,
      target: targetRegion,
      resourceGroup: resourceGroupGuid,
      resourcePlanId: resourcePlanId,
    };
    
    resourceControllerService.createResourceInstance(params)
      .then(res => {
        instanceGuid = res.result.guid;
        console.log('createResourceInstance() response:\n' + JSON.stringify(res.result, null, 2));
      })
      .catch(err => {
        console.warn(err)
      });
  • resource_instance = resource_controller_service.create_resource_instance(
        name=resource_instance_name,
        target=target_region,
        resource_group=resource_group,
        resource_plan_id=resource_plan_id
    ).get_result()
    
    print('\ncreate_resource_instance() response:\n',
          json.dumps(resource_instance, indent=2))

Response

A resource instance.

A resource instance.

A resource instance.

A resource instance.

A resource instance.

Status Code

  • The resource instance was provisioned.

  • Request to provision a resource has been accepted by the broker, and provisioning is in progress. This triggers the platform to poll the service's broker for operation status. Users can call get_resource_instance to get the current state of the instance.

  • The request could not be understood due to malformed syntax.

  • Your access token is invalid or authenication of your token failed.

  • Your access token is valid but does not have the necessary permissions to access this resource.

  • The resource could not be found.

  • Too many requests. Please wait a few minutes and try again.

  • Your request could not be processed. Please try again later. If the problem persists, note the transaction-id in the response header and contact IBM Cloud support.

Example responses
  • {
      "id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "guid": "8d7af921-b136-4078-9666-081bd8470d94",
      "url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
      "created_at": "2018-04-19T00:18:53.302077457Z",
      "updated_at": "2018-04-19T00:18:53.302077457Z",
      "deleted_at": null,
      "created_by": "IBMid-5500093BHN",
      "updated_by": "IBMid-5500093BHN",
      "deleted_by": "",
      "scheduled_reclaim_at": null,
      "restored_at": null,
      "scheduled_reclaim_by": "",
      "restored_by": "",
      "name": "my-instance",
      "region_id": "global",
      "account_id": "4329073d16d2f3663f74bfa955259139",
      "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
      "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
      "resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/4329073d16d2f3663f74bfa955259139::resource-group:0be5ad401ae913d8ff665d92680664ed",
      "target_crn": "crn:v1:bluemix:public:resource-catalog::a/9e16d1fed8aa7e1bd73e7a9d23434a5a::deployment:2fdf0c08-2d32-4f46-84b5-32e0c92fffd8%3Aglobal",
      "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "allow_cleanup": false,
      "state": "active",
      "type": "service_instance",
      "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
      "dashboard_url": "/objectstorage/crn%3Av1%3Abluemix%3Apublic%3Acloud-object-storage%3Aglobal%3Aa%2F4329073d16d2f3663f74bfa955259139%3A8d7af921-b136-4078-9666-081bd8470d94%3A%3A",
      "last_operation": null,
      "resource_aliases_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_aliases",
      "resource_bindings_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_bindings",
      "resource_keys_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_keys",
      "plan_history": [
        {
          "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
          "start_date": "2018-04-19T00:18:53.302077457Z"
        }
      ],
      "migrated": false,
      "controlled_by": ""
    }
  • {
      "id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "guid": "8d7af921-b136-4078-9666-081bd8470d94",
      "url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
      "created_at": "2018-04-19T00:18:53.302077457Z",
      "updated_at": "2018-04-19T00:18:53.302077457Z",
      "deleted_at": null,
      "created_by": "IBMid-5500093BHN",
      "updated_by": "IBMid-5500093BHN",
      "deleted_by": "",
      "scheduled_reclaim_at": null,
      "restored_at": null,
      "scheduled_reclaim_by": "",
      "restored_by": "",
      "name": "my-instance",
      "region_id": "global",
      "account_id": "4329073d16d2f3663f74bfa955259139",
      "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
      "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
      "resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/4329073d16d2f3663f74bfa955259139::resource-group:0be5ad401ae913d8ff665d92680664ed",
      "target_crn": "crn:v1:bluemix:public:resource-catalog::a/9e16d1fed8aa7e1bd73e7a9d23434a5a::deployment:2fdf0c08-2d32-4f46-84b5-32e0c92fffd8%3Aglobal",
      "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "allow_cleanup": false,
      "state": "active",
      "type": "service_instance",
      "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
      "dashboard_url": "/objectstorage/crn%3Av1%3Abluemix%3Apublic%3Acloud-object-storage%3Aglobal%3Aa%2F4329073d16d2f3663f74bfa955259139%3A8d7af921-b136-4078-9666-081bd8470d94%3A%3A",
      "last_operation": null,
      "resource_aliases_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_aliases",
      "resource_bindings_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_bindings",
      "resource_keys_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_keys",
      "plan_history": [
        {
          "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
          "start_date": "2018-04-19T00:18:53.302077457Z"
        }
      ],
      "migrated": false,
      "controlled_by": ""
    }
  • {
      "id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "guid": "8d7af921-b136-4078-9666-081bd8470d94",
      "url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
      "created_at": "2018-04-19T00:18:53.302077457Z",
      "updated_at": "2018-04-19T00:18:53.302077457Z",
      "deleted_at": null,
      "created_by": "IBMid-5500093BHN",
      "updated_by": "IBMid-5500093BHN",
      "deleted_by": "",
      "scheduled_reclaim_at": null,
      "restored_at": null,
      "scheduled_reclaim_by": "",
      "restored_by": "",
      "name": "my-instance",
      "region_id": "global",
      "account_id": "4329073d16d2f3663f74bfa955259139",
      "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
      "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
      "resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/4329073d16d2f3663f74bfa955259139::resource-group:0be5ad401ae913d8ff665d92680664ed",
      "target_crn": "crn:v1:bluemix:public:resource-catalog::a/9e16d1fed8aa7e1bd73e7a9d23434a5a::deployment:2fdf0c08-2d32-4f46-84b5-32e0c92fffd8%3Aglobal",
      "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "allow_cleanup": false,
      "state": "provisioning",
      "type": "service_instance",
      "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
      "dashboard_url": "/objectstorage/crn%3Av1%3Abluemix%3Apublic%3Acloud-object-storage%3Aglobal%3Aa%2F4329073d16d2f3663f74bfa955259139%3A8d7af921-b136-4078-9666-081bd8470d94%3A%3A",
      "last_operation": {
        "type": "create",
        "state": "in progress",
        "async": true,
        "description": "Started create instance operation"
      },
      "resource_aliases_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_aliases",
      "resource_bindings_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_bindings",
      "resource_keys_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_keys",
      "plan_history": [
        {
          "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
          "start_date": "2018-04-19T00:18:53.302077457Z"
        }
      ],
      "migrated": false,
      "controlled_by": ""
    }
  • {
      "id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "guid": "8d7af921-b136-4078-9666-081bd8470d94",
      "url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
      "created_at": "2018-04-19T00:18:53.302077457Z",
      "updated_at": "2018-04-19T00:18:53.302077457Z",
      "deleted_at": null,
      "created_by": "IBMid-5500093BHN",
      "updated_by": "IBMid-5500093BHN",
      "deleted_by": "",
      "scheduled_reclaim_at": null,
      "restored_at": null,
      "scheduled_reclaim_by": "",
      "restored_by": "",
      "name": "my-instance",
      "region_id": "global",
      "account_id": "4329073d16d2f3663f74bfa955259139",
      "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
      "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
      "resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/4329073d16d2f3663f74bfa955259139::resource-group:0be5ad401ae913d8ff665d92680664ed",
      "target_crn": "crn:v1:bluemix:public:resource-catalog::a/9e16d1fed8aa7e1bd73e7a9d23434a5a::deployment:2fdf0c08-2d32-4f46-84b5-32e0c92fffd8%3Aglobal",
      "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "allow_cleanup": false,
      "state": "provisioning",
      "type": "service_instance",
      "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
      "dashboard_url": "/objectstorage/crn%3Av1%3Abluemix%3Apublic%3Acloud-object-storage%3Aglobal%3Aa%2F4329073d16d2f3663f74bfa955259139%3A8d7af921-b136-4078-9666-081bd8470d94%3A%3A",
      "last_operation": {
        "type": "create",
        "state": "in progress",
        "async": true,
        "description": "Started create instance operation"
      },
      "resource_aliases_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_aliases",
      "resource_bindings_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_bindings",
      "resource_keys_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_keys",
      "plan_history": [
        {
          "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
          "start_date": "2018-04-19T00:18:53.302077457Z"
        }
      ],
      "migrated": false,
      "controlled_by": ""
    }

Get a resource instance

Retrieve a resource instance by ID. Find more details on a particular instance, like when it was provisioned and who provisioned it.

Retrieve a resource instance by ID. Find more details on a particular instance, like when it was provisioned and who provisioned it.

Retrieve a resource instance by ID. Find more details on a particular instance, like when it was provisioned and who provisioned it.

Retrieve a resource instance by ID. Find more details on a particular instance, like when it was provisioned and who provisioned it.

Retrieve a resource instance by ID. Find more details on a particular instance, like when it was provisioned and who provisioned it.

GET /v2/resource_instances/{id}
(resourceController *ResourceControllerV2) GetResourceInstance(getResourceInstanceOptions *GetResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error)
(resourceController *ResourceControllerV2) GetResourceInstanceWithContext(ctx context.Context, getResourceInstanceOptions *GetResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error)
ServiceCall<ResourceInstance> getResourceInstance(GetResourceInstanceOptions getResourceInstanceOptions)
getResourceInstance(params)
get_resource_instance(self,
        id: str,
        **kwargs
    ) -> DetailedResponse

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > name > Access policies.

  • resource-controller.instance.retrieve

Request

Instantiate the GetResourceInstanceOptions struct and set the fields to provide parameter values for the GetResourceInstance method.

Use the GetResourceInstanceOptions.Builder to create a GetResourceInstanceOptions object that contains the parameter values for the getResourceInstance method.

Path Parameters

  • The ID of the instance.

WithContext method only

The GetResourceInstance options.

The getResourceInstance options.

parameters

  • The short or long ID of the instance.

parameters

  • The short or long ID of the instance.

  • curl -X GET   https://resource-controller.cloud.ibm.com/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94   -H "Authorization: Bearer <IAM token>" \
  • getResourceInstanceOptions := resourceControllerService.NewGetResourceInstanceOptions(
      instanceGUID,
    )
    
    resourceInstance, response, err := resourceControllerService.GetResourceInstance(getResourceInstanceOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(resourceInstance, "", "  ")
    fmt.Printf("\nGetResourceInstance() response:\n%s\n", string(b))
  • GetResourceInstanceOptions getResourceInstanceOptions = new GetResourceInstanceOptions.Builder()
      .id(instanceGuid)
      .build();
    
    Response<ResourceInstance> response = service.getResourceInstance(getResourceInstanceOptions).execute();
    ResourceInstance resourceInstance = response.getResult();
    
    System.out.printf("getResourceInstance() response:\n%s\n", resourceInstance.toString());
  • const params = {
      id: instanceGuid,
    };
    
    resourceControllerService.getResourceInstance(params)
      .then(res => {
        console.log('getResourceInstance() response:\n' + JSON.stringify(res.result, null, 2));
      })
      .catch(err => {
        console.warn(err)
      });
  • resource_instance = resource_controller_service.get_resource_instance(
        id=instance_guid
    ).get_result()
    
    print('\nget_resource_instance() response:\n',
          json.dumps(resource_instance, indent=2))

Response

A resource instance.

A resource instance.

A resource instance.

A resource instance.

A resource instance.

Status Code

  • The resource instance was successfully retrieved.

  • Your access token is invalid or authenication of your token failed.

  • Your access token is valid but does not have the necessary permissions to access this resource.

  • The resource could not be found.

  • Too many requests. Please wait a few minutes and try again.

  • Your request could not be processed. Please try again later. If the problem persists, note the transaction-id in the response header and contact IBM Cloud support.

Example responses
  • {
      "id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "guid": "8d7af921-b136-4078-9666-081bd8470d94",
      "url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
      "created_at": "2018-04-19T00:18:53.302077457Z",
      "updated_at": "2018-04-19T00:18:53.302077457Z",
      "deleted_at": null,
      "created_by": "IBMid-5500093BHN",
      "updated_by": "IBMid-5500093BHN",
      "deleted_by": "",
      "scheduled_reclaim_at": null,
      "restored_at": null,
      "scheduled_reclaim_by": "",
      "restored_by": "",
      "name": "my-instance",
      "region_id": "global",
      "account_id": "4329073d16d2f3663f74bfa955259139",
      "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
      "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
      "resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/4329073d16d2f3663f74bfa955259139::resource-group:0be5ad401ae913d8ff665d92680664ed",
      "target_crn": "crn:v1:bluemix:public:resource-catalog::a/9e16d1fed8aa7e1bd73e7a9d23434a5a::deployment:2fdf0c08-2d32-4f46-84b5-32e0c92fffd8%3Aglobal",
      "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "allow_cleanup": false,
      "state": "active",
      "type": "service_instance",
      "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
      "dashboard_url": "/objectstorage/crn%3Av1%3Abluemix%3Apublic%3Acloud-object-storage%3Aglobal%3Aa%2F4329073d16d2f3663f74bfa955259139%3A8d7af921-b136-4078-9666-081bd8470d94%3A%3A",
      "last_operation": null,
      "resource_aliases_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_aliases",
      "resource_bindings_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_bindings",
      "resource_keys_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_keys",
      "plan_history": [
        {
          "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
          "start_date": "2018-04-19T00:18:53.302077457Z"
        }
      ],
      "migrated": false,
      "controlled_by": ""
    }
  • {
      "id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "guid": "8d7af921-b136-4078-9666-081bd8470d94",
      "url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
      "created_at": "2018-04-19T00:18:53.302077457Z",
      "updated_at": "2018-04-19T00:18:53.302077457Z",
      "deleted_at": null,
      "created_by": "IBMid-5500093BHN",
      "updated_by": "IBMid-5500093BHN",
      "deleted_by": "",
      "scheduled_reclaim_at": null,
      "restored_at": null,
      "scheduled_reclaim_by": "",
      "restored_by": "",
      "name": "my-instance",
      "region_id": "global",
      "account_id": "4329073d16d2f3663f74bfa955259139",
      "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
      "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
      "resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/4329073d16d2f3663f74bfa955259139::resource-group:0be5ad401ae913d8ff665d92680664ed",
      "target_crn": "crn:v1:bluemix:public:resource-catalog::a/9e16d1fed8aa7e1bd73e7a9d23434a5a::deployment:2fdf0c08-2d32-4f46-84b5-32e0c92fffd8%3Aglobal",
      "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "allow_cleanup": false,
      "state": "active",
      "type": "service_instance",
      "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
      "dashboard_url": "/objectstorage/crn%3Av1%3Abluemix%3Apublic%3Acloud-object-storage%3Aglobal%3Aa%2F4329073d16d2f3663f74bfa955259139%3A8d7af921-b136-4078-9666-081bd8470d94%3A%3A",
      "last_operation": null,
      "resource_aliases_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_aliases",
      "resource_bindings_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_bindings",
      "resource_keys_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_keys",
      "plan_history": [
        {
          "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
          "start_date": "2018-04-19T00:18:53.302077457Z"
        }
      ],
      "migrated": false,
      "controlled_by": ""
    }

Delete a resource instance

Delete a resource instance by ID. If the resource instance has any resource keys or aliases associated with it, use the recursive=true parameter to delete it.

Delete a resource instance by ID. If the resource instance has any resource keys or aliases associated with it, use the recursive=true parameter to delete it.

Delete a resource instance by ID. If the resource instance has any resource keys or aliases associated with it, use the recursive=true parameter to delete it.

Delete a resource instance by ID. If the resource instance has any resource keys or aliases associated with it, use the recursive=true parameter to delete it.

Delete a resource instance by ID. If the resource instance has any resource keys or aliases associated with it, use the recursive=true parameter to delete it.

DELETE /v2/resource_instances/{id}
(resourceController *ResourceControllerV2) DeleteResourceInstance(deleteResourceInstanceOptions *DeleteResourceInstanceOptions) (response *core.DetailedResponse, err error)
(resourceController *ResourceControllerV2) DeleteResourceInstanceWithContext(ctx context.Context, deleteResourceInstanceOptions *DeleteResourceInstanceOptions) (response *core.DetailedResponse, err error)
ServiceCall<Void> deleteResourceInstance(DeleteResourceInstanceOptions deleteResourceInstanceOptions)
deleteResourceInstance(params)
delete_resource_instance(self,
        id: str,
        *,
        recursive: bool = None,
        **kwargs
    ) -> DetailedResponse

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > name > Access policies.

  • resource-controller.instance.delete

Auditing

Calling this method generates the following auditing event.

  • resource-controller.instance.delete

Request

Instantiate the DeleteResourceInstanceOptions struct and set the fields to provide parameter values for the DeleteResourceInstance method.

Use the DeleteResourceInstanceOptions.Builder to create a DeleteResourceInstanceOptions object that contains the parameter values for the deleteResourceInstance method.

Path Parameters

  • The ID of the instance.

Query Parameters

  • Will delete resource bindings, keys and aliases associated with the instance.

    Default: false

WithContext method only

The DeleteResourceInstance options.

The deleteResourceInstance options.

parameters

  • The short or long ID of the instance.

  • Will delete resource bindings, keys and aliases associated with the instance.

    Default: false

parameters

  • The short or long ID of the instance.

  • Will delete resource bindings, keys and aliases associated with the instance.

    Default: false

  • curl -X DELETE   https://resource-controller.cloud.ibm.com/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94   -H "Authorization: Bearer <IAM token>"
  • deleteResourceInstanceOptions := resourceControllerService.NewDeleteResourceInstanceOptions(
      instanceGUID,
    )
    deleteResourceInstanceOptions.SetRecursive(false)
    
    response, err := resourceControllerService.DeleteResourceInstance(deleteResourceInstanceOptions)
    if err != nil {
      panic(err)
    }
    fmt.Printf("\nDeleteResourceInstance() response status code: %d\n", response.StatusCode)
  • DeleteResourceInstanceOptions deleteResourceInstanceOptions = new DeleteResourceInstanceOptions.Builder()
      .id(instanceGuid)
      .recursive(false)
      .build();
    
    Response<Void> response = service.deleteResourceInstance(deleteResourceInstanceOptions).execute();
    
    System.out.printf("deleteResourceInstance() response status code: %d\n", response.getStatusCode());
  • const params = {
      id: instanceGuid,
      recursive: false,
    };
    
    resourceControllerService.deleteResourceInstance(params)
      .then(res => {
        console.log('deleteResourceInstance() response status code: ' + res.status);
      })
      .catch(err => {
        console.warn(err)
      });
  • response = resource_controller_service.delete_resource_instance(
        id=instance_guid,
        recursive=False
    )
    
    print('\ndelete_resource_instance() response status code: ',
          response.get_status_code())

Response

Status Code

  • Request to delete a resource has been accepted by the broker, and deletion is in progress. This triggers the platform to poll the service's broker for operation status. Users can call get_resource_instance to get the current state of the instance.

  • Deleted

  • The request could not be understood due to malformed syntax.

  • Your access token is invalid or authenication of your token failed.

  • Your access token is valid but does not have the necessary permissions to access this resource.

  • The resource could not be found.

  • The resource could was previously deleted and is no longer available.

  • Too many requests. Please wait a few minutes and try again.

  • Your request could not be processed. Please try again later. If the problem persists, note the transaction-id in the response header and contact IBM Cloud support.

No Sample Response

This method does not specify any sample responses.

Update a resource instance

You can use the ID to make updates to the resource instance, like changing the name or plan.

You can use the ID to make updates to the resource instance, like changing the name or plan.

You can use the ID to make updates to the resource instance, like changing the name or plan.

You can use the ID to make updates to the resource instance, like changing the name or plan.

You can use the ID to make updates to the resource instance, like changing the name or plan.

PATCH /v2/resource_instances/{id}
(resourceController *ResourceControllerV2) UpdateResourceInstance(updateResourceInstanceOptions *UpdateResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error)
(resourceController *ResourceControllerV2) UpdateResourceInstanceWithContext(ctx context.Context, updateResourceInstanceOptions *UpdateResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error)
ServiceCall<ResourceInstance> updateResourceInstance(UpdateResourceInstanceOptions updateResourceInstanceOptions)
updateResourceInstance(params)
update_resource_instance(self,
        id: str,
        *,
        name: str = None,
        parameters: dict = None,
        resource_plan_id: str = None,
        allow_cleanup: bool = None,
        **kwargs
    ) -> DetailedResponse

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > name > Access policies.

  • resource-controller.instance.update

Auditing

Calling this method generates the following auditing event.

  • resource-controller.instance.update

Request

Instantiate the UpdateResourceInstanceOptions struct and set the fields to provide parameter values for the UpdateResourceInstance method.

Use the UpdateResourceInstanceOptions.Builder to create a UpdateResourceInstanceOptions object that contains the parameter values for the updateResourceInstance method.

Path Parameters

  • The ID of the instance.

Updated property values for a resource instance.

WithContext method only

The UpdateResourceInstance options.

The updateResourceInstance options.

parameters

  • The short or long ID of the instance.

  • The new name of the instance. Must be 180 characters or less and cannot include any special characters other than (space) - . _ :.

    Possible values: Value must match regular expression /^([^[:ascii:]]|[a-zA-Z0-9-._: ])+$/

    Examples:
    value
    _source
    _lines
    _html
  • The new configuration options for the instance.

  • The unique ID of the plan associated with the offering. This value is provided by and stored in the global catalog.

    Examples:
    value
    _source
    _lines
    _html
  • A boolean that dictates if the resource instance should be deleted (cleaned up) during the processing of a region instance delete call.

parameters

  • The short or long ID of the instance.

  • The new name of the instance. Must be 180 characters or less and cannot include any special characters other than (space) - . _ :.

    Possible values: Value must match regular expression /^([^[:ascii:]]|[a-zA-Z0-9-._: ])+$/

    Examples:
    value
    _source
    _lines
    _html
  • The new configuration options for the instance.

  • The unique ID of the plan associated with the offering. This value is provided by and stored in the global catalog.

    Examples:
    value
    _source
    _lines
    _html
  • A boolean that dictates if the resource instance should be deleted (cleaned up) during the processing of a region instance delete call.

  • curl -X PATCH   https://resource-controller.cloud.ibm.com/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94   -H "Authorization: Bearer <IAM token>"   -H 'Content-Type: application/json'     -d '{
        "name": "my-instance-new-binding-1",
        "resource_plan_id": "744bfc56-d12c-4866-88d5-dac9139e0e5d"
      }'
  • parameters := map[string]interface{}{"exampleProperty": "exampleValue"}
    updateResourceInstanceOptions := resourceControllerService.NewUpdateResourceInstanceOptions(
      instanceGUID,
    )
    updateResourceInstanceOptions = updateResourceInstanceOptions.SetName(resourceInstanceUpdateName)
    updateResourceInstanceOptions = updateResourceInstanceOptions.SetParameters(parameters)
    
    resourceInstance, response, err := resourceControllerService.UpdateResourceInstance(updateResourceInstanceOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(resourceInstance, "", "  ")
    fmt.Printf("\nUpdateResourceInstance() response:\n%s\n", string(b))
  • Map<String, Object> parameters = new HashMap<String, Object>();
    parameters.put("exampleProperty", "exampleValue");
    
    UpdateResourceInstanceOptions updateResourceInstanceOptions = new UpdateResourceInstanceOptions.Builder()
      .id(instanceGuid)
      .name(resourceInstanceUpdateName)
      .parameters(parameters)
      .build();
    
    Response<ResourceInstance> response = service.updateResourceInstance(updateResourceInstanceOptions).execute();
    ResourceInstance resourceInstance = response.getResult();
    
    System.out.printf("updateResourceInstance() response:\n%s\n", resourceInstance.toString());
  • const parameters = {
      'exampleParameter': 'exampleValue',
    };
    
    const params = {
      id: instanceGuid,
      name: resourceInstanceUpdateName,
      parameters: parameters,
    };
    
    resourceControllerService.updateResourceInstance(params)
      .then(res => {
        console.log('updateResourceInstance() response:\n' + JSON.stringify(res.result, null, 2));
      })
      .catch(err => {
        console.warn(err)
      });
  • parameters = {
        'exampleProperty': 'exampleValue'
    }
    resource_instance = resource_controller_service.update_resource_instance(
        id=instance_guid,
        name=resource_instance_update_name,
        parameters=parameters
    ).get_result()
    
    print('\nupdate_resource_instance() response:\n',
          json.dumps(resource_instance, indent=2))

Response

A resource instance.

A resource instance.

A resource instance.

A resource instance.

A resource instance.

Status Code

  • The requested changes have been applied

  • Request to update a resource has been accepted by the broker, and update is in progress. This triggers the platform to poll the service's broker for operation status. Users can call get_resource_instance to get the current state of the instance.

  • The request could not be understood due to malformed syntax.

  • Your access token is invalid or authenication of your token failed.

  • Your access token is valid but does not have the necessary permissions to access this resource.

  • The resource could not be found.

  • The request could not be processed.

  • Too many requests. Please wait a few minutes and try again.

  • Your request could not be processed. Please try again later. If the problem persists, note the transaction-id in the response header and contact IBM Cloud support.

Example responses
  • {
      "id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "guid": "8d7af921-b136-4078-9666-081bd8470d94",
      "url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
      "created_at": "2018-04-19T00:18:53.302077457Z",
      "updated_at": "2018-04-19T00:18:53.302077457Z",
      "deleted_at": null,
      "created_by": "IBMid-5500093BHN",
      "updated_by": "IBMid-5500093BHN",
      "deleted_by": "",
      "scheduled_reclaim_at": null,
      "restored_at": null,
      "scheduled_reclaim_by": "",
      "restored_by": "",
      "name": "my-instance",
      "region_id": "global",
      "account_id": "4329073d16d2f3663f74bfa955259139",
      "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
      "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
      "resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/4329073d16d2f3663f74bfa955259139::resource-group:0be5ad401ae913d8ff665d92680664ed",
      "target_crn": "crn:v1:bluemix:public:resource-catalog::a/9e16d1fed8aa7e1bd73e7a9d23434a5a::deployment:2fdf0c08-2d32-4f46-84b5-32e0c92fffd8%3Aglobal",
      "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "allow_cleanup": false,
      "state": "active",
      "type": "service_instance",
      "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
      "dashboard_url": "/objectstorage/crn%3Av1%3Abluemix%3Apublic%3Acloud-object-storage%3Aglobal%3Aa%2F4329073d16d2f3663f74bfa955259139%3A8d7af921-b136-4078-9666-081bd8470d94%3A%3A",
      "last_operation": null,
      "resource_aliases_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_aliases",
      "resource_bindings_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_bindings",
      "resource_keys_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_keys",
      "plan_history": [
        {
          "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
          "start_date": "2018-04-19T00:18:53.302077457Z"
        }
      ],
      "migrated": false,
      "controlled_by": ""
    }
  • {
      "id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "guid": "8d7af921-b136-4078-9666-081bd8470d94",
      "url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
      "created_at": "2018-04-19T00:18:53.302077457Z",
      "updated_at": "2018-04-19T00:18:53.302077457Z",
      "deleted_at": null,
      "created_by": "IBMid-5500093BHN",
      "updated_by": "IBMid-5500093BHN",
      "deleted_by": "",
      "scheduled_reclaim_at": null,
      "restored_at": null,
      "scheduled_reclaim_by": "",
      "restored_by": "",
      "name": "my-instance",
      "region_id": "global",
      "account_id": "4329073d16d2f3663f74bfa955259139",
      "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
      "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
      "resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/4329073d16d2f3663f74bfa955259139::resource-group:0be5ad401ae913d8ff665d92680664ed",
      "target_crn": "crn:v1:bluemix:public:resource-catalog::a/9e16d1fed8aa7e1bd73e7a9d23434a5a::deployment:2fdf0c08-2d32-4f46-84b5-32e0c92fffd8%3Aglobal",
      "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "allow_cleanup": false,
      "state": "active",
      "type": "service_instance",
      "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
      "dashboard_url": "/objectstorage/crn%3Av1%3Abluemix%3Apublic%3Acloud-object-storage%3Aglobal%3Aa%2F4329073d16d2f3663f74bfa955259139%3A8d7af921-b136-4078-9666-081bd8470d94%3A%3A",
      "last_operation": null,
      "resource_aliases_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_aliases",
      "resource_bindings_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_bindings",
      "resource_keys_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_keys",
      "plan_history": [
        {
          "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
          "start_date": "2018-04-19T00:18:53.302077457Z"
        }
      ],
      "migrated": false,
      "controlled_by": ""
    }
  • {
      "id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "guid": "8d7af921-b136-4078-9666-081bd8470d94",
      "url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
      "created_at": "2018-04-19T00:18:53.302077457Z",
      "updated_at": "2018-04-19T00:18:53.302077457Z",
      "deleted_at": null,
      "created_by": "IBMid-5500093BHN",
      "updated_by": "IBMid-5500093BHN",
      "deleted_by": "",
      "scheduled_reclaim_at": null,
      "restored_at": null,
      "scheduled_reclaim_by": "",
      "restored_by": "",
      "name": "my-instance",
      "region_id": "global",
      "account_id": "4329073d16d2f3663f74bfa955259139",
      "resource_plan_id": "744bfc56-d12c-4866-88d5-dac9139e0e5d",
      "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
      "resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/4329073d16d2f3663f74bfa955259139::resource-group:0be5ad401ae913d8ff665d92680664ed",
      "target_crn": "crn:v1:bluemix:public:resource-catalog::a/9e16d1fed8aa7e1bd73e7a9d23434a5a::deployment:2fdf0c08-2d32-4f46-84b5-32e0c92fffd8%3Aglobal",
      "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "allow_cleanup": false,
      "state": "active",
      "type": "service_instance",
      "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
      "dashboard_url": "/objectstorage/crn%3Av1%3Abluemix%3Apublic%3Acloud-object-storage%3Aglobal%3Aa%2F4329073d16d2f3663f74bfa955259139%3A8d7af921-b136-4078-9666-081bd8470d94%3A%3A",
      "last_operation": {
        "type": "update",
        "state": "in progress",
        "async": true,
        "description": "Started update instance operation"
      },
      "resource_aliases_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_aliases",
      "resource_bindings_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_bindings",
      "resource_keys_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_keys",
      "plan_history": [
        {
          "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
          "start_date": "2018-04-19T00:18:53.302077457Z"
        }
      ],
      "migrated": false,
      "controlled_by": ""
    }
  • {
      "id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "guid": "8d7af921-b136-4078-9666-081bd8470d94",
      "url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
      "created_at": "2018-04-19T00:18:53.302077457Z",
      "updated_at": "2018-04-19T00:18:53.302077457Z",
      "deleted_at": null,
      "created_by": "IBMid-5500093BHN",
      "updated_by": "IBMid-5500093BHN",
      "deleted_by": "",
      "scheduled_reclaim_at": null,
      "restored_at": null,
      "scheduled_reclaim_by": "",
      "restored_by": "",
      "name": "my-instance",
      "region_id": "global",
      "account_id": "4329073d16d2f3663f74bfa955259139",
      "resource_plan_id": "744bfc56-d12c-4866-88d5-dac9139e0e5d",
      "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
      "resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/4329073d16d2f3663f74bfa955259139::resource-group:0be5ad401ae913d8ff665d92680664ed",
      "target_crn": "crn:v1:bluemix:public:resource-catalog::a/9e16d1fed8aa7e1bd73e7a9d23434a5a::deployment:2fdf0c08-2d32-4f46-84b5-32e0c92fffd8%3Aglobal",
      "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "allow_cleanup": false,
      "state": "active",
      "type": "service_instance",
      "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
      "dashboard_url": "/objectstorage/crn%3Av1%3Abluemix%3Apublic%3Acloud-object-storage%3Aglobal%3Aa%2F4329073d16d2f3663f74bfa955259139%3A8d7af921-b136-4078-9666-081bd8470d94%3A%3A",
      "last_operation": {
        "type": "update",
        "state": "in progress",
        "async": true,
        "description": "Started update instance operation"
      },
      "resource_aliases_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_aliases",
      "resource_bindings_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_bindings",
      "resource_keys_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_keys",
      "plan_history": [
        {
          "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
          "start_date": "2018-04-19T00:18:53.302077457Z"
        }
      ],
      "migrated": false,
      "controlled_by": ""
    }

Get a list of all resource aliases for the instance.

Retrieving a list of all resource aliases can help you find out who's using the resource instance.

Retrieving a list of all resource aliases can help you find out who's using the resource instance.

Retrieving a list of all resource aliases can help you find out who's using the resource instance.

Retrieving a list of all resource aliases can help you find out who's using the resource instance.

Retrieving a list of all resource aliases can help you find out who's using the resource instance.

GET /v2/resource_instances/{id}/resource_aliases
(resourceController *ResourceControllerV2) ListResourceAliasesForInstance(listResourceAliasesForInstanceOptions *ListResourceAliasesForInstanceOptions) (result *ResourceAliasesList, response *core.DetailedResponse, err error)
(resourceController *ResourceControllerV2) ListResourceAliasesForInstanceWithContext(ctx context.Context, listResourceAliasesForInstanceOptions *ListResourceAliasesForInstanceOptions) (result *ResourceAliasesList, response *core.DetailedResponse, err error)
ServiceCall<ResourceAliasesList> listResourceAliasesForInstance(ListResourceAliasesForInstanceOptions listResourceAliasesForInstanceOptions)
listResourceAliasesForInstance(params)
list_resource_aliases_for_instance(self,
        id: str,
        *,
        limit: int = None,
        start: str = None,
        **kwargs
    ) -> DetailedResponse

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > name > Access policies.

  • resource-controller.alias.retrieve

Auditing

Calling this method generates the following auditing event.

  • resource-controller.alias.retrieve

Request

Instantiate the ListResourceAliasesForInstanceOptions struct and set the fields to provide parameter values for the ListResourceAliasesForInstance method.

Use the ListResourceAliasesForInstanceOptions.Builder to create a ListResourceAliasesForInstanceOptions object that contains the parameter values for the listResourceAliasesForInstance method.

Path Parameters

  • The ID of the instance.

Query Parameters

  • Limit on how many items should be returned.

    Possible values: value ≤ 100

    Default: 100

  • An optional token that indicates the beginning of the page of results to be returned. Any additional query parameters are ignored if a page token is present. If omitted, the first page of results is returned. This value is obtained from the 'next_url' field of the operation response.

WithContext method only

The ListResourceAliasesForInstance options.

The listResourceAliasesForInstance options.

parameters

  • The short or long ID of the instance.

  • Limit on how many items should be returned.

    Possible values: value ≤ 100

  • An optional token that indicates the beginning of the page of results to be returned. Any additional query parameters are ignored if a page token is present. If omitted, the first page of results is returned. This value is obtained from the 'next_url' field of the operation response.

parameters

  • The short or long ID of the instance.

  • Limit on how many items should be returned.

    Possible values: value ≤ 100

  • An optional token that indicates the beginning of the page of results to be returned. Any additional query parameters are ignored if a page token is present. If omitted, the first page of results is returned. This value is obtained from the 'next_url' field of the operation response.

  • curl -X GET   https://resource-controller.cloud.ibm.com/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_aliases   -H "Authorization: Bearer <IAM token>"
  • listResourceAliasesForInstanceOptions := resourceControllerService.NewListResourceAliasesForInstanceOptions(
      instanceGUID,
    )
    
    resourceAliasesList, response, err := resourceControllerService.ListResourceAliasesForInstance(listResourceAliasesForInstanceOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(resourceAliasesList, "", "  ")
    fmt.Printf("\nListResourceAliasesForInstance() response:\n%s\n", string(b))
  • ListResourceAliasesForInstanceOptions listResourceAliasesForInstanceOptions = new ListResourceAliasesForInstanceOptions.Builder()
      .id(instanceGuid)
      .build();
    
    Response<ResourceAliasesList> response = service.listResourceAliasesForInstance(listResourceAliasesForInstanceOptions).execute();
    ResourceAliasesList resourceAliasesList = response.getResult();
    
    System.out.printf("listResourceAliasesForInstance() response:\n%s\n", resourceAliasesList.toString());
  • const params = {
      id: instanceGuid,
    };
    
    resourceControllerService.listResourceAliasesForInstance(params)
      .then(res => {
        console.log('listResourceAliasesForInstance() response:\n' + JSON.stringify(res.result, null, 2));
      })
      .catch(err => {
        console.warn(err)
      });
  • resource_aliases_list = resource_controller_service.list_resource_aliases_for_instance(
        id=instance_guid
    ).get_result()
    
    print('\nlist_resource_aliases_for_instance() response:\n',
          json.dumps(resource_aliases_list, indent=2))

Response

A list of resource aliases.

A list of resource aliases.

A list of resource aliases.

A list of resource aliases.

A list of resource aliases.

Status Code

  • The list of aliases was successfully retrieved.

  • Your access token is invalid or authenication of your token failed.

  • Your access token is valid but does not have the necessary permissions to access this resource.

  • The resource could not be found.

  • Too many requests. Please wait a few minutes and try again.

  • Your request could not be processed. Please try again later. If the problem persists, note the transaction-id in the response header and contact IBM Cloud support.

Example responses
  • {
      "rows_count": 1,
      "next_url": null,
      "resources": [
        {
          "id": "crn:v1:bluemix:public:cloud-object-storage:eu-gb:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94:resource-alias:267bf377-7fa2-43f6-94ec-09103a8e89d4",
          "guid": "267bf377-7fa2-43f6-94ec-09103a8e89d4",
          "url": "/v2/resource_aliases/267bf377-7fa2-43f6-94ec-09103a8e89d4",
          "created_at": "2018-04-19T00:21:02.735586861Z",
          "updated_at": "2018-04-26T18:05:58.851303427Z",
          "deleted_at": null,
          "created_by": "IBMid-5500093BHN",
          "updated_by": "IBMid-5500093BHN",
          "deleted_by": "",
          "name": "my-instance-alias-1",
          "resource_instance_id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
          "target_crn": "crn:v1:bluemix:public:cf:eu-gb:o/e242c7f0-9eb7-4541-ad3e-b5f5a45a1498::cf-space:f5038ca8-9d28-42a1-9e57-9b9fdd66bf8e",
          "account_id": "4329073d16d2f3663f74bfa955259139",
          "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
          "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
          "crn": "crn:v1:bluemix:public:cloud-object-storage:eu-gb:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94:resource-alias:267bf377-7fa2-43f6-94ec-09103a8e89d4",
          "region_instance_id": "3ea43c9c-c987-481e-9fff-283dcec927a3",
          "region_instance_crn": "crn:v1:bluemix:public:cloud-object-storage:eu-gb:s/f5038ca8-9d28-42a1-9e57-9b9fdd66bf8e:3ea43c9c-c987-481e-9fff-283dcec927a3:cf-service-instance:",
          "state": "active",
          "migrated": false,
          "resource_instance_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
          "resource_bindings_url": "/v2/resource_aliases/267bf377-7fa2-43f6-94ec-09103a8e89d4/resource_bindings",
          "resource_keys_url": "/v2/resource_aliases/267bf377-7fa2-43f6-94ec-09103a8e89d4/resource_keys"
        }
      ]
    }
  • {
      "rows_count": 1,
      "next_url": null,
      "resources": [
        {
          "id": "crn:v1:bluemix:public:cloud-object-storage:eu-gb:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94:resource-alias:267bf377-7fa2-43f6-94ec-09103a8e89d4",
          "guid": "267bf377-7fa2-43f6-94ec-09103a8e89d4",
          "url": "/v2/resource_aliases/267bf377-7fa2-43f6-94ec-09103a8e89d4",
          "created_at": "2018-04-19T00:21:02.735586861Z",
          "updated_at": "2018-04-26T18:05:58.851303427Z",
          "deleted_at": null,
          "created_by": "IBMid-5500093BHN",
          "updated_by": "IBMid-5500093BHN",
          "deleted_by": "",
          "name": "my-instance-alias-1",
          "resource_instance_id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
          "target_crn": "crn:v1:bluemix:public:cf:eu-gb:o/e242c7f0-9eb7-4541-ad3e-b5f5a45a1498::cf-space:f5038ca8-9d28-42a1-9e57-9b9fdd66bf8e",
          "account_id": "4329073d16d2f3663f74bfa955259139",
          "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
          "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
          "crn": "crn:v1:bluemix:public:cloud-object-storage:eu-gb:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94:resource-alias:267bf377-7fa2-43f6-94ec-09103a8e89d4",
          "region_instance_id": "3ea43c9c-c987-481e-9fff-283dcec927a3",
          "region_instance_crn": "crn:v1:bluemix:public:cloud-object-storage:eu-gb:s/f5038ca8-9d28-42a1-9e57-9b9fdd66bf8e:3ea43c9c-c987-481e-9fff-283dcec927a3:cf-service-instance:",
          "state": "active",
          "migrated": false,
          "resource_instance_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
          "resource_bindings_url": "/v2/resource_aliases/267bf377-7fa2-43f6-94ec-09103a8e89d4/resource_bindings",
          "resource_keys_url": "/v2/resource_aliases/267bf377-7fa2-43f6-94ec-09103a8e89d4/resource_keys"
        }
      ]
    }

Get a list of all the resource keys for the instance.

You may have many resource keys for one resource instance. For example, you may have a different resource key for each user or each role.

You may have many resource keys for one resource instance. For example, you may have a different resource key for each user or each role.

You may have many resource keys for one resource instance. For example, you may have a different resource key for each user or each role.

You may have many resource keys for one resource instance. For example, you may have a different resource key for each user or each role.

You may have many resource keys for one resource instance. For example, you may have a different resource key for each user or each role.

GET /v2/resource_instances/{id}/resource_keys
(resourceController *ResourceControllerV2) ListResourceKeysForInstance(listResourceKeysForInstanceOptions *ListResourceKeysForInstanceOptions) (result *ResourceKeysList, response *core.DetailedResponse, err error)
(resourceController *ResourceControllerV2) ListResourceKeysForInstanceWithContext(ctx context.Context, listResourceKeysForInstanceOptions *ListResourceKeysForInstanceOptions) (result *ResourceKeysList, response *core.DetailedResponse, err error)
ServiceCall<ResourceKeysList> listResourceKeysForInstance(ListResourceKeysForInstanceOptions listResourceKeysForInstanceOptions)
listResourceKeysForInstance(params)
list_resource_keys_for_instance(self,
        id: str,
        *,
        limit: int = None,
        start: str = None,
        **kwargs
    ) -> DetailedResponse

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > name > Access policies.

  • resource-controller.key.retrieve

Auditing

Calling this method generates the following auditing event.

  • resource-controller.key.retrieve

Request

Instantiate the ListResourceKeysForInstanceOptions struct and set the fields to provide parameter values for the ListResourceKeysForInstance method.

Use the ListResourceKeysForInstanceOptions.Builder to create a ListResourceKeysForInstanceOptions object that contains the parameter values for the listResourceKeysForInstance method.

Path Parameters

  • The ID of the instance.

Query Parameters

  • Limit on how many items should be returned.

    Possible values: value ≤ 100

    Default: 100

  • An optional token that indicates the beginning of the page of results to be returned. Any additional query parameters are ignored if a page token is present. If omitted, the first page of results is returned. This value is obtained from the 'next_url' field of the operation response.

WithContext method only

The ListResourceKeysForInstance options.

The listResourceKeysForInstance options.

parameters

  • The short or long ID of the instance.

  • Limit on how many items should be returned.

    Possible values: value ≤ 100

  • An optional token that indicates the beginning of the page of results to be returned. Any additional query parameters are ignored if a page token is present. If omitted, the first page of results is returned. This value is obtained from the 'next_url' field of the operation response.

parameters

  • The short or long ID of the instance.

  • Limit on how many items should be returned.

    Possible values: value ≤ 100

  • An optional token that indicates the beginning of the page of results to be returned. Any additional query parameters are ignored if a page token is present. If omitted, the first page of results is returned. This value is obtained from the 'next_url' field of the operation response.

  • curl -X GET   https://resource-controller.cloud.ibm.com/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_keys   -H "Authorization: Bearer <IAM token>"
  • listResourceKeysForInstanceOptions := resourceControllerService.NewListResourceKeysForInstanceOptions(
      instanceGUID,
    )
    
    resourceKeysList, response, err := resourceControllerService.ListResourceKeysForInstance(listResourceKeysForInstanceOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(resourceKeysList, "", "  ")
    fmt.Printf("\nListResourceKeysForInstance() response:\n%s\n", string(b))
  • ListResourceKeysForInstanceOptions listResourceKeysForInstanceOptions = new ListResourceKeysForInstanceOptions.Builder()
      .id(instanceGuid)
      .build();
    
    Response<ResourceKeysList> response = service.listResourceKeysForInstance(listResourceKeysForInstanceOptions).execute();
    ResourceKeysList resourceKeysList = response.getResult();
    
    System.out.printf("listResourceKeysForInstance() response:\n%s\n", resourceKeysList.toString());
  • const params = {
      id: instanceGuid,
    };
    
    resourceControllerService.listResourceKeysForInstance(params)
      .then(res => {
        console.log('listResourceKeysForInstance() response:\n' + JSON.stringify(res.result, null, 2));
      })
      .catch(err => {
        console.warn(err)
      });
  • resource_keys_list = resource_controller_service.list_resource_keys_for_instance(
        id=instance_guid
    ).get_result()
    
    print('\nlist_resource_keys_for_instance() response:\n',
          json.dumps(resource_keys_list, indent=2))

Response

A list of resource keys.

A list of resource keys.

A list of resource keys.

A list of resource keys.

A list of resource keys.

Status Code

  • The list of resource keys was successfully retrieved.

  • Your access token is invalid or authenication of your token failed.

  • Your access token is valid but does not have the necessary permissions to access this resource.

  • Too many requests. Please wait a few minutes and try again.

  • Your request could not be processed. Please try again later. If the problem persists, note the transaction-id in the response header and contact IBM Cloud support.

Example responses
  • {
      "rows_count": 1,
      "next_url": null,
      "resources": [
        {
          "id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94:resource-key:23693f48-aaa2-4079-b0c7-334846eff8d0",
          "guid": "23693f48-aaa2-4079-b0c7-334846eff8d0",
          "url": "/v2/resource_keys/23693f48-aaa2-4079-b0c7-334846eff8d0",
          "created_at": "2018-07-02T22:03:43.837979455Z",
          "updated_at": "2018-07-02T22:03:43.837979455Z",
          "deleted_at": null,
          "created_by": "IBMid-5500093BHN",
          "updated_by": "IBMid-5500093BHN",
          "deleted_by": "",
          "source_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
          "role": "crn:v1:bluemix:public:iam::::serviceRole:Writer",
          "name": "my-instance-key-1",
          "parameters": {
            "role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Writer"
          },
          "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94:resource-key:23693f48-aaa2-4079-b0c7-334846eff8d0",
          "state": "active",
          "account_id": "4329073d16d2f3663f74bfa955259139",
          "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
          "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
          "credentials": {
            "apikey": "XXXX-YYYY-ZZZZ\"",
            "endpoints": "https://cos-service-armada-s.us-south.containers.mybluemix.net/endpoints",
            "iam_apikey_description": "Auto generated apikey during resource-key operation for Instance - crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
            "iam_apikey_name": "auto-generated-apikey-23693f48-aaa2-4079-b0c7-334846eff8d0",
            "iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Writer",
            "iam_serviceid_crn": "crn:v1:bluemix:public:iam-identity::a/4329073d16d2f3663f74bfa955259139::serviceid:ServiceId-64c29e4f-422d-468c-a11b-1a8f671b5c89",
            "resource_instance_id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::"
          },
          "iam_compatible": true,
          "migrated": false,
          "resource_instance_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
          "resource_alias_url": null
        }
      ]
    }
  • {
      "rows_count": 1,
      "next_url": null,
      "resources": [
        {
          "id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94:resource-key:23693f48-aaa2-4079-b0c7-334846eff8d0",
          "guid": "23693f48-aaa2-4079-b0c7-334846eff8d0",
          "url": "/v2/resource_keys/23693f48-aaa2-4079-b0c7-334846eff8d0",
          "created_at": "2018-07-02T22:03:43.837979455Z",
          "updated_at": "2018-07-02T22:03:43.837979455Z",
          "deleted_at": null,
          "created_by": "IBMid-5500093BHN",
          "updated_by": "IBMid-5500093BHN",
          "deleted_by": "",
          "source_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
          "role": "crn:v1:bluemix:public:iam::::serviceRole:Writer",
          "name": "my-instance-key-1",
          "parameters": {
            "role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Writer"
          },
          "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94:resource-key:23693f48-aaa2-4079-b0c7-334846eff8d0",
          "state": "active",
          "account_id": "4329073d16d2f3663f74bfa955259139",
          "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
          "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
          "credentials": {
            "apikey": "XXXX-YYYY-ZZZZ\"",
            "endpoints": "https://cos-service-armada-s.us-south.containers.mybluemix.net/endpoints",
            "iam_apikey_description": "Auto generated apikey during resource-key operation for Instance - crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
            "iam_apikey_name": "auto-generated-apikey-23693f48-aaa2-4079-b0c7-334846eff8d0",
            "iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Writer",
            "iam_serviceid_crn": "crn:v1:bluemix:public:iam-identity::a/4329073d16d2f3663f74bfa955259139::serviceid:ServiceId-64c29e4f-422d-468c-a11b-1a8f671b5c89",
            "resource_instance_id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::"
          },
          "iam_compatible": true,
          "migrated": false,
          "resource_instance_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
          "resource_alias_url": null
        }
      ]
    }

Lock a resource instance

Locks a resource instance by ID. A locked instance can not be updated or deleted. It does not affect actions performed on child resources like aliases, bindings or keys.

Locks a resource instance by ID. A locked instance can not be updated or deleted. It does not affect actions performed on child resources like aliases, bindings or keys.

Locks a resource instance by ID. A locked instance can not be updated or deleted. It does not affect actions performed on child resources like aliases, bindings or keys.

Locks a resource instance by ID. A locked instance can not be updated or deleted. It does not affect actions performed on child resources like aliases, bindings or keys.

Locks a resource instance by ID. A locked instance can not be updated or deleted. It does not affect actions performed on child resources like aliases, bindings or keys.

POST /v2/resource_instances/{id}/lock
(resourceController *ResourceControllerV2) LockResourceInstance(lockResourceInstanceOptions *LockResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error)
(resourceController *ResourceControllerV2) LockResourceInstanceWithContext(ctx context.Context, lockResourceInstanceOptions *LockResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error)
ServiceCall<ResourceInstance> lockResourceInstance(LockResourceInstanceOptions lockResourceInstanceOptions)
lockResourceInstance(params)
lock_resource_instance(self,
        id: str,
        **kwargs
    ) -> DetailedResponse

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > name > Access policies.

  • resource-controller.instance.update

Auditing

Calling this method generates the following auditing event.

  • resource-controller.instance.update

Request

Instantiate the LockResourceInstanceOptions struct and set the fields to provide parameter values for the LockResourceInstance method.

Use the LockResourceInstanceOptions.Builder to create a LockResourceInstanceOptions object that contains the parameter values for the lockResourceInstance method.

Path Parameters

  • The ID of the instance.

WithContext method only

The LockResourceInstance options.

The lockResourceInstance options.

parameters

  • The short or long ID of the instance.

parameters

  • The short or long ID of the instance.

  • curl -X POST   https://resource-controller.cloud.ibm.com/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/lock   -H "Authorization: Bearer <IAM token>"
  • lockResourceInstanceOptions := resourceControllerService.NewLockResourceInstanceOptions(
      instanceGUID,
    )
    
    resourceInstance, response, err := resourceControllerService.LockResourceInstance(lockResourceInstanceOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(resourceInstance, "", "  ")
    fmt.Printf("\nLockResourceInstance() response:\n%s\n", string(b))
  • LockResourceInstanceOptions lockResourceInstanceOptions = new LockResourceInstanceOptions.Builder()
      .id(instanceGuid)
      .build();
    
    Response<ResourceInstance> response = service.lockResourceInstance(lockResourceInstanceOptions).execute();
    ResourceInstance resourceInstance = response.getResult();
    
    System.out.printf("lockResourceInstance() response:\n%s\n", resourceInstance.toString());
  • const params = {
      id: instanceGuid,
    };
    
    resourceControllerService.lockResourceInstance(params)
      .then(res => {
        console.log('lockResourceInstance() response:\n' + JSON.stringify(res.result, null, 2));
      })
      .catch(err => {
        console.warn(err)
      });
  • resource_instance = resource_controller_service.lock_resource_instance(
        id=instance_guid
    ).get_result()
    
    print('\nlock_resource_instance() response:\n',
          json.dumps(resource_instance, indent=2))

Response

A resource instance.

A resource instance.

A resource instance.

A resource instance.

A resource instance.

Status Code

  • Successfully locked the instance.

  • The request could not be understood due to malformed syntax.

  • Your access token is invalid or authenication of your token failed.

  • Your access token is valid but does not have the necessary permissions to access this resource.

  • The resource could not be found.

  • The request could not be processed.

  • Too many requests. Please wait a few minutes and try again.

  • Your request could not be processed. Please try again later. If the problem persists, note the transaction-id in the response header and contact IBM Cloud support.

Example responses
  • {
      "id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "guid": "8d7af921-b136-4078-9666-081bd8470d94",
      "url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
      "created_at": "2018-04-19T00:18:53.302077457Z",
      "updated_at": "2018-04-19T00:18:53.302077457Z",
      "deleted_at": null,
      "created_by": "IBMid-5500093BHN",
      "updated_by": "IBMid-5500093BHN",
      "deleted_by": "",
      "scheduled_reclaim_at": null,
      "restored_at": null,
      "scheduled_reclaim_by": "",
      "restored_by": "",
      "name": "my-instance",
      "region_id": "global",
      "account_id": "4329073d16d2f3663f74bfa955259139",
      "resource_plan_id": "744bfc56-d12c-4866-88d5-dac9139e0e5d",
      "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
      "resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/4329073d16d2f3663f74bfa955259139::resource-group:0be5ad401ae913d8ff665d92680664ed",
      "target_crn": "crn:v1:bluemix:public:resource-catalog::a/9e16d1fed8aa7e1bd73e7a9d23434a5a::deployment:2fdf0c08-2d32-4f46-84b5-32e0c92fffd8%3Aglobal",
      "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "allow_cleanup": false,
      "state": "active",
      "type": "service_instance",
      "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
      "dashboard_url": "/objectstorage/crn%3Av1%3Abluemix%3Apublic%3Acloud-object-storage%3Aglobal%3Aa%2F4329073d16d2f3663f74bfa955259139%3A8d7af921-b136-4078-9666-081bd8470d94%3A%3A",
      "last_operation": null,
      "resource_aliases_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_aliases",
      "resource_bindings_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_bindings",
      "resource_keys_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_keys",
      "plan_history": [
        {
          "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
          "start_date": "2018-04-19T00:18:53.302077457Z"
        }
      ],
      "migrated": false,
      "controlled_by": "",
      "locked": true
    }
  • {
      "id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "guid": "8d7af921-b136-4078-9666-081bd8470d94",
      "url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
      "created_at": "2018-04-19T00:18:53.302077457Z",
      "updated_at": "2018-04-19T00:18:53.302077457Z",
      "deleted_at": null,
      "created_by": "IBMid-5500093BHN",
      "updated_by": "IBMid-5500093BHN",
      "deleted_by": "",
      "scheduled_reclaim_at": null,
      "restored_at": null,
      "scheduled_reclaim_by": "",
      "restored_by": "",
      "name": "my-instance",
      "region_id": "global",
      "account_id": "4329073d16d2f3663f74bfa955259139",
      "resource_plan_id": "744bfc56-d12c-4866-88d5-dac9139e0e5d",
      "resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
      "resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/4329073d16d2f3663f74bfa955259139::resource-group:0be5ad401ae913d8ff665d92680664ed",
      "target_crn": "crn:v1:bluemix:public:resource-catalog::a/9e16d1fed8aa7e1bd73e7a9d23434a5a::deployment:2fdf0c08-2d32-4f46-84b5-32e0c92fffd8%3Aglobal",
      "crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
      "allow_cleanup": false,
      "state": "active",
      "type": "service_instance",
      "resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
      "dashboard_url": "/objectstorage/crn%3Av1%3Abluemix%3Apublic%3Acloud-object-storage%3Aglobal%3Aa%2F4329073d16d2f3663f74bfa955259139%3A8d7af921-b136-4078-9666-081bd8470d94%3A%3A",
      "last_operation": null,
      "resource_aliases_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_aliases",
      "resource_bindings_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_bindings",
      "resource_keys_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/resource_keys",
      "plan_history": [
        {
          "resource_plan_id": "2fdf0c08-2d32-4f46-84b5-32e0c92fffd8",
          "start_date": "2018-04-19T00:18:53.302077457Z"
        }
      ],
      "migrated": false,
      "controlled_by": "",
      "locked": true
    }

Unlock a resource instance

Unlock a resource instance to update or delete it. Unlocking a resource instance does not affect child resources like aliases, bindings or keys.

Unlock a resource instance to update or delete it. Unlocking a resource instance does not affect child resources like aliases, bindings or keys.

Unlock a resource instance to update or delete it. Unlocking a resource instance does not affect child resources like aliases, bindings or keys.

Unlock a resource instance to update or delete it. Unlocking a resource instance does not affect child resources like aliases, bindings or keys.

Unlock a resource instance to update or delete it. Unlocking a resource instance does not affect child resources like aliases, bindings or keys.

DELETE /v2/resource_instances/{id}/lock
(resourceController *ResourceControllerV2) UnlockResourceInstance(unlockResourceInstanceOptions *UnlockResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error)
(resourceController *ResourceControllerV2) UnlockResourceInstanceWithContext(ctx context.Context, unlockResourceInstanceOptions *UnlockResourceInstanceOptions) (result *ResourceInstance, response *core.DetailedResponse, err error)
ServiceCall<ResourceInstance> unlockResourceInstance(UnlockResourceInstanceOptions unlockResourceInstanceOptions)
unlockResourceInstance(params)
unlock_resource_instance(self,
        id: str,
        **kwargs
    ) -> DetailedResponse

Authorization

To call this method, you must be assigned one or more IAM access roles that include the following action. You can check your access by going to Users > name > Access policies.

  • resource-controller.instance.update

Auditing

Calling this method generates the following auditing event.

  • resource-controller.instance.update

Request

Instantiate the UnlockResourceInstanceOptions struct and set the fields to provide parameter values for the UnlockResourceInstance method.

Use the UnlockResourceInstanceOptions.Builder to create a UnlockResourceInstanceOptions object that contains the parameter values for the unlockResourceInstance method.

Path Parameters

  • The ID of the instance.

WithContext method only

The UnlockResourceInstance options.

The unlockResourceInstance options.

parameters

  • The short or long ID of the instance.

parameters

  • The short or long ID of the instance.

  • curl -X DELETE   https://resource-controller.cloud.ibm.com/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94/lock   -H "Authorization: Bearer <IAM token>"
  • unlockResourceInstanceOptions := resourceControllerService.NewUnlockResourceInstanceOptions(
      instanceGUID,
    )
    
    resourceInstance, response, err := resourceControllerService.UnlockResourceInstance(unlockResourceInstanceOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(resourceInstance, "", "  ")
    fmt.Printf("\nUnlockResourceInstance() response:\n%s\n", string(b))
  • UnlockResourceInstanceOptions unlockResourceInstanceOptions = new UnlockResourceInstanceOptions.Builder()
      .id(instanceGuid)
      .build();
    
    Response<ResourceInstance> response = service.unlockResourceInstance(unlockResourceInstanceOptions).execute();
    ResourceInstance resourceInstance = response.getResult();
    
    System.out.printf("unlockResourceInstance() response:\n%s\n", resourceInstance.toString());
  • const params = {
      id: instanceGuid,
    };
    
    resourceControllerService.unlockResourceInstance(params)
      .then(res => {
        console.log('unlockResourceInstance() response:\n' + JSON.stringify(res.result, null, 2));
      })
      .catch(err => {
        console.warn(err)
      });
  • resource_instance = resource_controller_service.unlock_resource_instance(
        id=instance_guid
    ).get_result()
    
    print('\nunlock_resource_instance() response:\n',
          json.dumps(resource_instance, indent=2))

Response

A resource instance.