Crusoe Roles API
The Roles API from Crusoe — 3 operation(s) for roles.
The Roles API from Crusoe — 3 operation(s) for roles.
swagger: '2.0'
info:
description: The API Gateway exposes all publicly available API endpoints for Crusoe Cloud products.
title: Crusoe Cloud API Gateway Audit Logs Roles API
version: v1alpha5
host: api.crusoecloud.com
basePath: /v1alpha5
schemes:
- https
consumes:
- application/json
produces:
- application/json
tags:
- name: Roles
paths:
/iam/role-bindings:
get:
tags:
- Roles
summary: Lists role bindings visible to the caller.
operationId: listRoleBindings
parameters:
- type: string
x-go-name: UserID
name: user_id
in: query
- type: string
x-go-name: RoleID
name: role_id
in: query
- enum:
- org
- project
type: string
x-go-name: ScopeType
name: scope_type
in: query
- type: string
x-go-name: ScopeObjectID
name: scope_object_id
in: query
responses:
'200':
$ref: '#/responses/listRoleBindingsResponse'
'400':
$ref: '#/responses/badReqError'
'403':
$ref: '#/responses/permissionsError'
'404':
$ref: '#/responses/notFoundError'
'500':
$ref: '#/responses/serverError'
/iam/roles:
get:
tags:
- Roles
summary: Lists role associated with the caller's organization.
operationId: listRoles
responses:
'200':
$ref: '#/responses/listRolesResponse'
'400':
$ref: '#/responses/badReqError'
'403':
$ref: '#/responses/permissionsError'
'500':
$ref: '#/responses/serverError'
/iam/users/{user_id}/role-bindings:
post:
description: If any creation or deletion fails, no changes are applied.
tags:
- Roles
summary: Creates and deletes role bindings for a user in a single atomic operation.
operationId: applyRoleBindings
parameters:
- type: string
example: ab4a6b00-aa5f-408e-a9fb-ac6de5eb45ab
x-go-name: UserID
name: user_id
in: path
required: true
- name: Body
in: body
required: true
schema:
$ref: '#/definitions/ApplyRoleBindingRequest'
responses:
'200':
$ref: '#/responses/emptyResponse'
'400':
$ref: '#/responses/badReqError'
'403':
$ref: '#/responses/permissionsError'
'404':
$ref: '#/responses/notFoundError'
'500':
$ref: '#/responses/serverError'
definitions:
ApplyRoleBindingRequest:
type: object
required:
- bindings_to_create
- bindings_to_delete
properties:
bindings_to_create:
type: array
items:
$ref: '#/definitions/RoleBindingInput'
x-go-name: BindingsToCreate
bindings_to_delete:
type: array
items:
type: string
x-go-name: BindingsToDelete
x-go-package: gitlab.com/crusoeenergy/island/rest-gateway/internal/handlers
Role:
type: object
required:
- id
- role_name
- allowed_scopes
- org_id
- description
properties:
allowed_scopes:
type: array
items:
type: string
x-go-name: AllowedScopes
description:
type: string
x-go-name: Description
id:
type: string
x-go-name: ID
org_id:
type: string
x-go-name: OrgID
role_name:
type: string
x-go-name: RoleName
x-go-package: gitlab.com/crusoeenergy/island/rest-gateway/internal/handlers
RoleBindingInput:
type: object
required:
- customer_id
- role_id
- scope_type
- scope_object_id
properties:
customer_id:
type: string
x-go-name: CustomerID
role_id:
type: string
x-go-name: RoleID
scope_object_id:
type: string
x-go-name: ScopeObjectID
scope_type:
type: string
enum:
- org
- project
x-go-name: ScopeType
x-go-package: gitlab.com/crusoeenergy/island/rest-gateway/internal/handlers
RoleBinding:
type: object
required:
- id
- customer_id
- role_id
- scope_type
- scope_object_id
- role_name
properties:
customer_id:
type: string
x-go-name: CustomerID
id:
type: string
x-go-name: ID
role_id:
type: string
x-go-name: RoleID
role_name:
type: string
x-go-name: RoleName
scope_object_id:
type: string
x-go-name: ScopeObjectID
scope_type:
type: string
x-go-name: ScopeType
x-go-package: gitlab.com/crusoeenergy/island/rest-gateway/internal/handlers
ListRoleBindingsResponse:
type: object
required:
- role_bindings
properties:
role_bindings:
type: array
items:
$ref: '#/definitions/RoleBinding'
x-go-name: RoleBindings
x-go-package: gitlab.com/crusoeenergy/island/rest-gateway/internal/handlers
ListRolesResponse:
type: object
required:
- roles
properties:
roles:
type: array
items:
$ref: '#/definitions/Role'
x-go-name: Roles
x-go-package: gitlab.com/crusoeenergy/island/rest-gateway/internal/handlers
responses:
emptyResponse:
description: Empty Response
permissionsError:
description: Error Permissions
schema:
type: object
required:
- code
- message
properties:
code:
type: string
x-go-name: Code
example: '403'
message:
type: string
x-go-name: Message
example: unauthorized
serverError:
description: Error Internal Server
schema:
type: object
required:
- code
- message
properties:
code:
type: string
x-go-name: Code
example: '500'
message:
type: string
x-go-name: Message
example: internal_error
listRoleBindingsResponse:
description: ''
schema:
$ref: '#/definitions/ListRoleBindingsResponse'
notFoundError:
description: Error Not Found
schema:
type: object
required:
- code
- message
properties:
code:
type: string
x-go-name: Code
example: '404'
message:
type: string
x-go-name: Message
example: not_found
badReqError:
description: Error Bad Request
schema:
type: object
required:
- code
- message
properties:
code:
type: string
x-go-name: Code
example: '400'
message:
type: string
x-go-name: Message
example: bad_request
listRolesResponse:
description: ''
schema:
$ref: '#/definitions/ListRolesResponse'
x-tagGroups:
- name: Compute
tags:
- VMs
- VM Operations
- Images
- Instance Templates
- Custom Images
- Custom Image Operations
- name: Organizations
tags:
- Projects
- Entities
- Prospects
- Billing
- Usage
- Quotas
- Audit Logs
- Reservations
- name: Users
tags:
- Identities
- Roles
- SSH Keys
- Tokens
- name: Storage
tags:
- Disks
- Disk Operations
- Snapshots
- Snapshot Operations
- name: Networking
tags:
- VPC Firewall Rules
- VPC Firewall Rule Operations
- VPC Networks
- VPC Subnets
- IB Partitions
- Load Balancers
- name: Orchestration
tags:
- Kubernetes Clusters
- Kubernetes Cluster Operations
- Kubernetes Node Pools
- Kubernetes Node Pool Operations
- Kubernetes Versions
- AutoClusters
- AutoCluster Operations
- name: Locations
tags:
- Locations
- name: Capacities
tags:
- Capacities