openapi: 3.0.0
info:
version: '2020-08-18'
x-release: v4
title: Amazon Managed Grafana
description: '<p>Amazon Managed Grafana is a fully managed and secure data visualization service that you can use to instantly query, correlate, and visualize operational metrics, logs, and traces from
multiple sources. Amazon Managed Grafana makes it easy to deploy, operate, and scale Grafana, a widely deployed data visualization tool that is popular for its extensible data support.</p> <p>With Amazon
Managed Grafana, you create logically isolated Grafana servers called <i>workspaces</i>. In a workspace, you can create Grafana dashboards and visualizations to analyze your metrics, logs, and traces
without having to build, package, or deploy any hardware to run Grafana servers. </p>'
x-logo:
url: 'https://twitter.com/awscloud/profile_image?size=original'
backgroundColor: '#FFFFFF'
termsOfService: 'https://aws.amazon.com/service-terms/'
contact:
name: Mike Ralphson
email: [email protected]
url: 'https://github.com/mermade/aws2openapi'
x-twitter: PermittedSoc
license:
name: Apache 2.0 License
url: 'http://www.apache.org/licenses/'
x-providerName: amazonaws.com
x-serviceName: grafana
x-aws-signingName: grafana
x-origin:
- contentType: application/json
url: 'https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/grafana-2020-08-18.normal.json'
converter:
url: 'https://github.com/mermade/aws2openapi'
version: 1.0.0
x-apisguru-driver: external
x-apiClientRegistration:
url: 'https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct'
x-apisguru-categories:
- cloud
x-preferred: true
externalDocs:
description: Amazon Web Services documentation
url: 'https://docs.aws.amazon.com/grafana/'
servers:
- url: 'http://grafana.{region}.amazonaws.com'
variables:
region:
description: The AWS region
enum:
- us-east-1
- us-east-2
- us-west-1
- us-west-2
- us-gov-west-1
- us-gov-east-1
- ca-central-1
- eu-north-1
- eu-west-1
- eu-west-2
- eu-west-3
- eu-central-1
- eu-south-1
- af-south-1
- ap-northeast-1
- ap-northeast-2
- ap-northeast-3
- ap-southeast-1
- ap-southeast-2
- ap-east-1
- ap-south-1
- sa-east-1
- me-south-1
default: us-east-1
description: The Amazon Managed Grafana multi-region endpoint
- url: 'https://grafana.{region}.amazonaws.com'
variables:
region:
description: The AWS region
enum:
- us-east-1
- us-east-2
- us-west-1
- us-west-2
- us-gov-west-1
- us-gov-east-1
- ca-central-1
- eu-north-1
- eu-west-1
- eu-west-2
- eu-west-3
- eu-central-1
- eu-south-1
- af-south-1
- ap-northeast-1
- ap-northeast-2
- ap-northeast-3
- ap-southeast-1
- ap-southeast-2
- ap-east-1
- ap-south-1
- sa-east-1
- me-south-1
default: us-east-1
description: The Amazon Managed Grafana multi-region endpoint
- url: 'http://grafana.{region}.amazonaws.com.cn'
variables:
region:
description: The AWS region
enum:
- cn-north-1
- cn-northwest-1
default: cn-north-1
description: The Amazon Managed Grafana endpoint for China (Beijing) and China (Ningxia)
- url: 'https://grafana.{region}.amazonaws.com.cn'
variables:
region:
description: The AWS region
enum:
- cn-north-1
- cn-northwest-1
default: cn-north-1
description: The Amazon Managed Grafana endpoint for China (Beijing) and China (Ningxia)
x-hasEquivalentPaths: true
paths:
'/workspaces/{workspaceId}/licenses/{licenseType}':
post:
operationId: AssociateLicense
description: 'Assigns a Grafana Enterprise license to a workspace. Upgrading to Grafana Enterprise incurs additional fees. For more information, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/upgrade-to-Grafana-Enterprise.html">Upgrade
a workspace to Grafana Enterprise</a>.'
responses:
'202':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AssociateLicenseResponse'
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/ThrottlingException'
'482':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
'483':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'484':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
parameters:
- name: licenseType
in: path
required: true
description: The type of license to associate with the workspace.
schema:
type: string
enum:
- ENTERPRISE
- ENTERPRISE_FREE_TRIAL
- name: workspaceId
in: path
required: true
description: The ID of the workspace to associate the license with.
schema:
type: string
pattern: '^g-[0-9a-f]{10}$'
summary: Amazon Managed Grafana Associate License
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
delete:
operationId: DisassociateLicense
description: Removes the Grafana Enterprise license from a workspace.
responses:
'202':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DisassociateLicenseResponse'
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/ThrottlingException'
'482':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
'483':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'484':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
parameters:
- name: licenseType
in: path
required: true
description: The type of license to remove from the workspace.
schema:
type: string
enum:
- ENTERPRISE
- ENTERPRISE_FREE_TRIAL
- name: workspaceId
in: path
required: true
description: The ID of the workspace to remove the Grafana Enterprise license from.
schema:
type: string
pattern: '^g-[0-9a-f]{10}$'
summary: Amazon Managed Grafana Disassociate License
/workspaces:
post:
operationId: CreateWorkspace
description: '<p>Creates a <i>workspace</i>. In a workspace, you can create Grafana dashboards and visualizations to analyze your metrics, logs, and traces. You don''t have to build, package, or deploy
any hardware to run the Grafana server.</p> <p>Don''t use <code>CreateWorkspace</code> to modify an existing workspace. Instead, use <a href="https://docs.aws.amazon.com/grafana/latest/APIReference/API_UpdateWorkspace.html">UpdateWorkspace</a>.</p>'
responses:
'202':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkspaceResponse'
'480':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/ThrottlingException'
'481':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
'482':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
'483':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'484':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
'485':
description: ServiceQuotaExceededException
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceQuotaExceededException'
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- accountAccessType
- authenticationProviders
- permissionType
properties:
accountAccessType:
description: 'Specifies whether the workspace can access Amazon Web Services resources in this Amazon Web Services account only, or whether it can also access Amazon Web Services resources
in other accounts in the same organization. If you specify <code>ORGANIZATION</code>, you must specify which organizational units the workspace can access in the <code>workspaceOrganizationalUnits</code>
parameter.'
type: string
enum:
- CURRENT_ACCOUNT
- ORGANIZATION
authenticationProviders:
description: 'Specifies whether this workspace uses SAML 2.0, IAM Identity Center (successor to Single Sign-On), or both to authenticate users for using the Grafana console within a workspace.
For more information, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/authentication-in-AMG.html">User authentication in Amazon Managed Grafana</a>.'
type: array
items:
$ref: '#/components/schemas/AuthenticationProviderTypes'
clientToken:
description: 'A unique, case-sensitive, user-provided identifier to ensure the idempotency of the request.'
type: string
pattern: '^[!-~]{1,64}$'
configuration:
description: 'The configuration string for the workspace that you create. For more information about the format and configuration options available, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/AMG-configure-workspace.html">Working
in your Grafana workspace</a>.'
type: string
minLength: 2
maxLength: 65536
grafanaVersion:
description: '<p>Specifies the version of Grafana to support in the new workspace.</p> <p>To get a list of supported version, use the <code>ListVersions</code> operation.</p>'
type: string
minLength: 1
maxLength: 255
networkAccessControl:
description: '<p>The configuration settings for in-bound network access to your workspace.</p> <p>When this is configured, only listed IP addresses and VPC endpoints will be able to access
your workspace. Standard Grafana authentication and authorization are still required.</p> <p>Access is granted to a caller that is in either the IP address list or the VPC endpoint list
- they do not need to be in both.</p> <p>If this is not configured, or is removed, then all IP addresses and VPC endpoints are allowed. Standard Grafana authentication and authorization
are still required.</p> <note> <p>While both <code>prefixListIds</code> and <code>vpceIds</code> are required, you can pass in an empty array of strings for either parameter if you do
not want to allow any of that type.</p> <p>If both are passed as empty arrays, no traffic is allowed to the workspace, because only <i>explicitly</i> allowed connections are accepted.</p>
</note>'
type: object
properties:
prefixListIds:
allOf:
- $ref: '#/components/schemas/PrefixListIds'
- description: '<p>An array of prefix list IDs. A prefix list is a list of CIDR ranges of IP addresses. The IP addresses specified are allowed to access your workspace. If the list
is not included in the configuration (passed an empty array) then no IP addresses are allowed to access the workspace. You create a prefix list using the Amazon VPC console.</p>
<p>Prefix list IDs have the format <code>pl-<i>1a2b3c4d</i> </code>.</p> <p>For more information about prefix lists, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html">Group
CIDR blocks using managed prefix lists</a>in the <i>Amazon Virtual Private Cloud User Guide</i>.</p>'
vpceIds:
allOf:
- $ref: '#/components/schemas/VpceIds'
- description: '<p>An array of Amazon VPC endpoint IDs for the workspace. You can create VPC endpoints to your Amazon Managed Grafana workspace for access from within a VPC. If a <code>NetworkAccessConfiguration</code>
is specified then only VPC endpoints specified here are allowed to access the workspace. If you pass in an empty array of strings, then no VPCs are allowed to access the workspace.</p>
<p>VPC endpoint IDs have the format <code>vpce-<i>1a2b3c4d</i> </code>.</p> <p>For more information about creating an interface VPC endpoint, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/VPC-endpoints">Interface
VPC endpoints</a> in the <i>Amazon Managed Grafana User Guide</i>.</p> <note> <p>The only VPC endpoints that can be specified here are interface VPC endpoints for Grafana workspaces
(using the <code>com.amazonaws.[region].grafana-workspace</code> service endpoint). Other VPC endpoints are ignored.</p> </note>'
organizationRoleName:
description: The name of an IAM role that already exists to use with Organizations to access Amazon Web Services data sources and notification channels in other accounts in an
organization.
type: string
minLength: 1
maxLength: 2048
format: password
permissionType:
description: '<p>When creating a workspace through the Amazon Web Services API, CLI or Amazon Web Services CloudFormation, you must manage IAM roles and provision the permissions that
the workspace needs to use Amazon Web Services data sources and notification channels.</p> <p>You must also specify a <code>workspaceRoleArn</code> for a role that you will manage for
the workspace to use when accessing those datasources and notification channels.</p> <p>The ability for Amazon Managed Grafana to create and update IAM roles on behalf of the user is
supported only in the Amazon Managed Grafana console, where this value may be set to <code>SERVICE_MANAGED</code>.</p> <note> <p>Use only the <code>CUSTOMER_MANAGED</code> permission
type when creating a workspace with the API, CLI or Amazon Web Services CloudFormation. </p> </note> <p>For more information, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html">Amazon
Managed Grafana permissions and policies for Amazon Web Services data sources and notification channels</a>.</p>'
type: string
enum:
- CUSTOMER_MANAGED
- SERVICE_MANAGED
stackSetName:
description: The name of the CloudFormation stack set to use to generate IAM roles to be used for this workspace.
type: string
tags:
description: The list of tags associated with the workspace.
type: object
minProperties: 0
maxProperties: 50
additionalProperties:
$ref: '#/components/schemas/TagValue'
vpcConfiguration:
description: <p>The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to.</p> <note> <p>Provided <code>securityGroupIds</code>
and <code>subnetIds</code> must be part of the same VPC.</p> <p>Connecting to a private VPC is not yet available in the Asia Pacific (Seoul) Region (ap-northeast-2).</p> </note>
type: object
properties:
securityGroupIds:
allOf:
- $ref: '#/components/schemas/SecurityGroupIds'
- description: The list of Amazon EC2 security group IDs attached to the Amazon VPC for your Grafana workspace to connect. Duplicates not allowed.
subnetIds:
allOf:
- $ref: '#/components/schemas/SubnetIds'
- description: The list of Amazon EC2 subnet IDs created in the Amazon VPC for your Grafana workspace to connect. Duplicates not allowed.
workspaceDataSources:
description: 'This parameter is for internal use only, and should not be used.'
type: array
items:
$ref: '#/components/schemas/DataSourceType'
workspaceDescription:
description: '<p>A description for the workspace. This is used only to help you identify this workspace.</p> <p>Pattern: <code>^[\\p{L}\\p{Z}\\p{N}\\p{P}]{0,2048}$</code> </p>'
type: string
minLength: 0
maxLength: 2048
format: password
workspaceName:
description: The name for the workspace. It does not have to be unique.
type: string
pattern: '^[a-zA-Z0-9-._~]{1,255}$'
format: password
workspaceNotificationDestinations:
description: Specify the Amazon Web Services notification channels that you plan to use in this workspace. Specifying these data sources here enables Amazon Managed Grafana to create
IAM roles and permissions that allow Amazon Managed Grafana to use these channels.
type: array
items:
$ref: '#/components/schemas/NotificationDestinationType'
workspaceOrganizationalUnits:
description: 'Specifies the organizational units that this workspace is allowed to use data sources from, if this workspace is in an account that is part of an organization.'
type: array
items:
$ref: '#/components/schemas/OrganizationalUnit'
workspaceRoleArn:
description: 'Specified the IAM role that grants permissions to the Amazon Web Services resources that the workspace will view data from, including both data sources and notification channels.
You are responsible for managing the permissions for this role as new data sources or notification channels are added. '
type: string
minLength: 1
maxLength: 2048
format: password
summary: Amazon Managed Grafana Create Workspace
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
get:
operationId: ListWorkspaces
description: 'Returns a list of Amazon Managed Grafana workspaces in the account, with some information about each workspace. For more complete information about one workspace, use <a href="https://docs.aws.amazon.com/AAMG/latest/APIReference/API_DescribeWorkspace.html">DescribeWorkspace</a>.'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ListWorkspacesResponse'
'480':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/ThrottlingException'
'481':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'482':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
parameters:
- name: maxResults
in: query
required: false
description: The maximum number of workspaces to include in the results.
schema:
type: integer
minimum: 1
maximum: 100
- name: nextToken
in: query
required: false
description: The token for the next set of workspaces to return. (You receive this token from a previous <code>ListWorkspaces</code> operation.)
schema:
type: string
summary: Amazon Managed Grafana List Workspaces
'/workspaces/{workspaceId}/apikeys':
post:
operationId: CreateWorkspaceApiKey
description: 'Creates a Grafana API key for the workspace. This key can be used to authenticate requests sent to the workspace''s HTTP API. See <a href="https://docs.aws.amazon.com/grafana/latest/userguide/Using-Grafana-APIs.html">https://docs.aws.amazon.com/grafana/latest/userguide/Using-Grafana-APIs.html</a>
for available APIs and example requests.'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkspaceApiKeyResponse'
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/ThrottlingException'
'482':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
'483':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
'484':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'485':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
'486':
description: ServiceQuotaExceededException
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceQuotaExceededException'
parameters:
- name: workspaceId
in: path
required: true
description: The ID of the workspace to create an API key.
schema:
type: string
pattern: '^g-[0-9a-f]{10}$'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- keyName
- keyRole
- secondsToLive
properties:
keyName:
description: Specifies the name of the key. Keynames must be unique to the workspace.
type: string
minLength: 1
maxLength: 100
keyRole:
description: '<p>Specifies the permission level of the key.</p> <p> Valid values: <code>VIEWER</code>|<code>EDITOR</code>|<code>ADMIN</code> </p>'
type: string
secondsToLive:
description: Specifies the time in seconds until the key expires. Keys can be valid for up to 30 days.
type: integer
minimum: 1
maximum: 2592000
summary: Amazon Managed Grafana Create Workspace Api Key
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
'/workspaces/{workspaceId}':
delete:
operationId: DeleteWorkspace
description: Deletes an Amazon Managed Grafana workspace.
responses:
'202':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteWorkspaceResponse'
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/ThrottlingException'
'482':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
'483':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
'484':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'485':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
parameters:
- name: workspaceId
in: path
required: true
description: The ID of the workspace to delete.
schema:
type: string
pattern: '^g-[0-9a-f]{10}$'
summary: Amazon Managed Grafana Delete Workspace
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
get:
operationId: DescribeWorkspace
description: Displays information about one Amazon Managed Grafana workspace.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeWorkspaceResponse'
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/ThrottlingException'
'482':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
'483':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'484':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
parameters:
- name: workspaceId
in: path
required: true
description: The ID of the workspace to display information about.
schema:
type: string
pattern: '^g-[0-9a-f]{10}$'
summary: Amazon Managed Grafana Describe Workspace
put:
operationId: UpdateWorkspace
description: '<p>Modifies an existing Amazon Managed Grafana workspace. If you use this operation and omit any optional parameters, the existing values of those parameters are not changed.</p> <p>To
modify the user authentication methods that the workspace uses, such as SAML or IAM Identity Center, use <a href="https://docs.aws.amazon.com/grafana/latest/APIReference/API_UpdateWorkspaceAuthentication.html">UpdateWorkspaceAuthentication</a>.</p>
<p>To modify which users in the workspace have the <code>Admin</code> and <code>Editor</code> Grafana roles, use <a href="https://docs.aws.amazon.com/grafana/latest/APIReference/API_UpdatePermissions.html">UpdatePermissions</a>.</p>'
responses:
'202':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkspaceResponse'
'480':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'481':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/ThrottlingException'
'482':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
'483':
description: ValidationException
con
# --- truncated at 32 KB (127 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amazon-managed-grafana/refs/heads/main/openapi/amazon-managed-grafana-openapi-original.yaml