Create and Delete Tag Assignments

put

/paas/api/v1.1/tags/{identityDomainId}/assignments

Creates and deletes tag assignments in the same request.

Set the ?createTagsIfNeeded query parameter to true to create new tags if the tag assignments in the payload contain tags that do not yet exist.

Set the optional ?force query parameter to true to force the request to complete even if any specified tags, service resources, or tag assignments are not found.

Request

Supported Media Types
Path Parameters
Query Parameters
Header Parameters
Body ()
The request body defines the tag assignments to create and delete.

Alternatively, you can omit TagsToUnassign and deleteAssignmentsFrom to just create tag assignments. Or you can omit TagsToAssign and createAssignmentsTo to just delete tag assignments.

Root Schema : createdeleteassignments-request
Type: object
Show Source
Nested Schema : createAssignmentsTo
Type: object
Groups the resources for tag assignments.

Note: The maximum number of tags allowed for a service instance is 50.

Show Source
Nested Schema : deleteAssignmentsFrom
Type: object
Groups the resources for tag unassignments.
Show Source
Nested Schema : tagsToAssign
Type: array
Groups the tags to assign. Each tag object is a key/value pair.
Show Source
Nested Schema : tagsToUnassign
Type: array
Groups the tags to unassign. Each tag object is a key/value pair.
Show Source
Nested Schema : services
Type: array
Groups the service resources to assign tags to. The tags are specified in tagsToAssign.
Show Source
Nested Schema : assign-request
Type: object
Show Source
Nested Schema : services
Type: array
Groups the service resources to unassign tags from. The tags are specified in tagsToUnassign.
Show Source
Nested Schema : tagscreate-request
Type: object
Each tag is a key/value pair.

For account non-metering tags, specify the existing tag key and value for assignment.

Show Source
  • Specify the key for this tag to create. A tag key can contain letters, numbers, dashes (-), and underscores ( _ ), and it can contain up to 128 characters.
  • Specify the value for this tag to create. A tag value can contain up to 256 characters and is case-sensitive.

    Default value is an empty string (if you do not provide a specific value).

Nested Schema : tagsdelete-request
Type: object
Show Source
Back to Top

Response

Supported Media Types

200 Response

OK.

The response body contains information about all tags and their assignments.

Body ()
Root Schema : tagsassignments-response
Type: array
Show Source
Nested Schema : tagsassignments-details
Type: object
Each object describes a tag and its assignments.
Show Source
Nested Schema : assignmentCounts
Type: object
Tag assignments count.
Show Source
Nested Schema : assignments
Type: object
Groups assignment details for this tag.
Show Source
Nested Schema : services
Type: array
Groups the service resources assigned with this tag.
Show Source
Nested Schema : serviceassignment-details
Type: object
Each object describes a service resource.
Show Source

400 Response

Bad request.
Body ()
Root Schema : failed-response
Type: object
Show Source
Nested Schema : details
Type: object
Groups details of a bad request, not found response, or conflict response.
Show Source
Nested Schema : issues
Type: array
List of operation issues found.
Show Source
Back to Top

Examples

The following example shows how to create and delete tag assignments in the same PUT request using cURL.

Note: The command in this example uses the URL structure https://rest_server_url/resource-path, where rest_server_url is the REST server to contact for your identity domain (or Cloud Account). See Send Requests.

cURL Command

curl -i -X PUT -u username:password -d @createdeleteassignments.json -H "Content-Type:application/json" -H "X-ID-TENANT-NAME:ExampleIdentityDomain" "https://rest_server_url/paas/api/v1.1/tags/ExampleIdentityDomain/assignments?createTagsIfNeeded=true"

Example of Request Body

The following shows an example of the request body in JSON format.

{
  "tagsToAssign": [
    {
      "key": "environment",
      "value": "qa"
    },
    {
      "key": "environment",
      "value": "development"
    }
  ],
  "tagsToUnassign": [
    {
      "key": "environment",
      "value": "qa-other"
    }
  ],
  "createAssignmentsTo": {
    "services": [
      {
        "serviceType": "JaaS",
        "serviceName": "MyJCSExample"
      }
    ]
  },
  "deleteAssignmentsFrom": {
    "services": [
      {
        "serviceType": "JaaS",
        "serviceName": "MyJCS01"
      }
    ]
  }
}

Example of Response Header

The following shows an example of the response header.

HTTP/1.1 200 OK
Date: Fri, 05 Jan 2018 19:20:00 GMT
Content-Length: 312
Content-Type: application/vnd.com.oracle.oracloud.provisioning.Service+json
X-ORACLE-DMS-ECID: 1bcaf164-c5b5-4c70-b7d8-5a24c1e19493-00000bdf
X-Frame-Options: DENY
Access-Control-Allow-Methods: GET, POST, DELETE, PUT, OPTIONS, HEAD
Access-Control-Allow-Headers: Content-Type, api_key, Authorization, X-ID-TENANT-NAME, X-USER-IDENTITY-DOMAIN-NAME
Access-Control-Allow-Origin: *

Example of Response Body

The following shows an example of a 200 response returned in JSON format.

[
   {
      "key":"environment",
      "value":"qa-other",
      "assignments":{
         "services":[]
      }
   },
   {
      "key":"environment",
      "value":"qa",
      "assignments":{
         "services":[
            {
               "serviceType":"JaaS",
               "serviceName":"MyJCSExample"
            }
         ]
      }
   },
   {
      "key":"environment",
      "value":"development",
      "assignments":{
         "services":[
            {
               "serviceType":"JaaS",
               "serviceName":"MyJCSExample"
            }
         ]
      }
   }
]

The following shows an example of a 400 response.

{
    "details": {
        "message": "Assignment modification failed",
        "issues": [
            "[PSM-TAG-00018 A tag with key [helloworld] and value [production] does not exist]",
            "[PSM-TAG-00018 A tag with key [helloworld] and value [development] does not exist]",
            "[PSM-TAG-00015 The service with type [JaaS], name [ExampleService01] does not exist]",
            "[PSM-TAG-00015 The service with type [JaaS], name [Example02Service] does not exist]"
        ]
    }
}
Back to Top