openapi: 3.2.0 info: description: VAST Management API definition title: VAST API Swagger Schema Iamroles API version: '1.0' security: - ApiToken: [] tags: - name: IAM Roles paths: /iamroles/: get: description: This endpoint lists IAM Roles operationId: iamroles_list parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PageSize' - in: query name: qos_policies__id schema: type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/IAMRole' title: IAM Role type: array description: IAMRole information summary: List Identity and Access Management Roles tags: - IAM Roles post: description: This endpoint creates an IAM Role. operationId: iamroles_create requestBody: content: application/json: schema: properties: description: type: string max_session_duration: description: Maximum session duration for temporary access keys (seconds). Default - 129600 (36 hours). type: integer name: type: string s3_policies: description: List of Identity Policy IDs items: type: integer type: array tenant_id: type: integer trust_policy: description: JSON Policy type: string required: - name - trust_policy type: object x-originalParamName: IAMRoleCreateParams responses: '201': content: application/json: schema: $ref: '#/components/schemas/IAMRole' description: '' summary: Create IAM Role tags: - IAM Roles /iamroles/{id}/: delete: description: This endpoint deletes a specified IAM Role. operationId: iamroles_delete parameters: - description: IAM Role ID in: path name: id required: true schema: type: integer responses: '204': description: '' summary: Delete IAM Role tags: - IAM Roles get: description: This endpoint returns details of a specified IAM Role. operationId: iamroles_read parameters: - description: IAM Role ID in: path name: id required: true schema: type: integer responses: '200': content: application/json: schema: $ref: '#/components/schemas/IAMRole' description: IAM Role information summary: Return Details of a IAM Role tags: - IAM Roles patch: description: This endpoint modifies a specified IAM Role. operationId: iamroles_partial_update parameters: - description: IAM Role ID in: path name: id required: true schema: type: integer requestBody: content: application/json: schema: properties: description: type: string max_session_duration: description: Maximum session duration for temporary access keys (seconds). Default - 129600 (36 hours). type: integer s3_policies: description: List of Identity Policy IDs items: type: integer type: array trust_policy: description: JSON Policy type: string type: object x-originalParamName: IAMRoleModifyParams responses: '200': content: application/json: schema: $ref: '#/components/schemas/IAMRole' description: '' summary: Modify IAM Role tags: - IAM Roles /iamroles/{id}/credentials: get: description: This endpoint returns information about STS credentials of specified IAM Role. operationId: iamroles_get_credentials parameters: - $ref: '#/components/parameters/PathId' - in: query name: access_key required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/IAMRoleCredentialsInfo' description: IAM Role information summary: Get STS credentials of specified IAM Role tags: - IAM Roles /iamroles/{id}/revoke_access_keys: patch: description: This endpoint revoke access keys of a specified IAM Role. operationId: iamroles_revoke_access_keys parameters: - $ref: '#/components/parameters/PathId' responses: '204': description: '' summary: Revoke access keys of specified IAM Role. tags: - IAM Roles components: schemas: PartialTenantInfo: properties: id: description: Tenant ID type: integer name: description: Tenant Name type: string type: object IAMRoleCredentialsInfo: properties: key_expiration_sec: type: integer x-cli-header: Key Expiration Datetime x-format: timestamp2datetime session_policy: type: string username: type: string type: object IAMRole: description: Identity and Access Management Role properties: description: type: string guid: type: string id: type: integer x-cli-header: ID max_session_duration: description: Maximum session duration for temporary access keys (seconds). Default - 129600 (36 hours). type: integer x-cli-header: Max Session Duration (seconds) x-format: display_time name: type: string tenant: $ref: '#/components/schemas/PartialTenantInfo' trust_policy: type: string vid: type: integer type: object parameters: Page: in: query name: page schema: minimum: 1 type: integer PageSize: in: query name: page_size schema: minimum: 1 type: integer PathId: in: path name: id required: true schema: minimum: 1 type: integer securitySchemes: ApiToken: description: Send current valid API token in an Authorization header with format Api-Token . in: header name: ApiToken type: apiKey basicAuth: description: Basic authentication using VMS user name and password scheme: basic type: http