Role

IAM roles lets you define logical sets of policies to grant to users and API keys.

Read more

create-iam-role

Create IAM Role

POST /iam-role

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
namestringyesIAM Role name
descriptionstringnoIAM Role description
editablebooleannoSets if the IAM Role Policy is editable or not (default: true). This setting cannot be changed after creation
labelsobjectnoIAM Role labels
permissionsarray[string]noIAM Role permissions
policyobjectnoPolicy schema details
Example
{
  "description": "string",
  "editable": true,
  "labels": {},
  "name": "string",
  "permissions": [
    "bypass-governance-retention"
  ],
  "policy": {
    "default-service-strategy": "allow",
    "services": {}
  }
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for create-iam-role: golang | Python | Java

CLI: exo api create-iam-role

get-iam-role

Retrieve IAM Role

GET /iam-role/{id}

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
descriptionstringIAM Role description
editablebooleanIAM Role mutability
idstringIAM Role ID
labelsobjectIAM Role Labels
namestringIAM Role name
permissionsarray[string]IAM Role permissions
policyobjectPolicy schema details
Example output
{
  "description": "string",
  "editable": true,
  "id": "string",
  "labels": {},
  "name": "string",
  "permissions": [
    "bypass-governance-retention"
  ],
  "policy": {
    "default-service-strategy": "allow",
    "services": {}
  }
}

SDK reference for get-iam-role: golang | Python | Java

CLI: exo api get-iam-role

update-iam-role

Update IAM Role

PUT /iam-role/{id}

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
descriptionstringnoIAM Role description
labelsobjectnoIAM Role labels
permissionsarray[string]noIAM Role permissions
Example
{
  "description": "string",
  "labels": {},
  "permissions": [
    "bypass-governance-retention"
  ]
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for update-iam-role: golang | Python | Java

CLI: exo api update-iam-role

delete-iam-role

Delete IAM Role

DELETE /iam-role/{id}

Path parameters

NameInDescription
idpath

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for delete-iam-role: golang | Python | Java

CLI: exo api delete-iam-role


Other Operations

update-iam-role-policy

Update IAM Role Policy

PUT /iam-role/{id}:policy

Path parameters

NameInDescription
idpath

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
default-service-strategystringyesIAM default service strategy

Allowed values: allow, deny.
servicesobjectyesIAM services
Example
{
  "default-service-strategy": "allow",
  "services": {}
}

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceobjectRelated resource reference schema details
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

SDK reference for update-iam-role-policy: golang | Python | Java

CLI: exo api update-iam-role-policy

list-iam-roles

List IAM Roles

GET /iam-role

Responses

Status: 200 - 200

Content-Type: application/json

PropertyTypeDescription
iam-rolesarray[object]schema details
Example output
{
  "iam-roles": [
    {
      "description": "string",
      "editable": true,
      "id": "string",
      "labels": {},
      "name": "string",
      "permissions": [
        "bypass-governance-retention"
      ],
      "policy": {
        "default-service-strategy": "allow",
        "services": {}
      }
    }
  ]
}

SDK reference for list-iam-roles: golang | Python | Java

CLI: exo api list-iam-roles

Last updated on