import { Value } from '../../cloudformation/Value';
import { SamlConfigurationProps } from './workspace/SamlConfigurationProps';
import { VpcConfigurationProps } from './workspace/VpcConfigurationProps';
import { NetworkAccessControlProps } from './workspace/NetworkAccessControlProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type WorkspaceAttributes = {
    Status: Attribute<string>;
    GrafanaVersion: Attribute<string>;
    CreationTimestamp: Attribute<string>;
    Endpoint: Attribute<string>;
    SsoClientId: Attribute<string>;
    Id: Attribute<string>;
    SamlConfigurationStatus: Attribute<string>;
    ModificationTimestamp: Attribute<string>;
};
export type Workspace = AwsResource<'AWS::Grafana::Workspace', WorkspaceProperties, WorkspaceAttributes>;
/**
  Specifies a <em>workspace</em>. 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.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-grafana-workspace.html">the AWS Docs</a>
*/
export declare function workspace(workspaceProps: WorkspaceProperties): Workspace;
/**
  Specifies a <em>workspace</em>. 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.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-grafana-workspace.html">the AWS Docs</a>
*/
export interface WorkspaceProperties {
    /** <code>NotificationDestinations</code>  <a name="cfn-grafana-workspace-notificationdestinations"></a>
  The AWS notification channels that Amazon Managed Grafana can automatically create IAM roles and permissions for, to allow Amazon Managed Grafana to use these channels.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    notificationDestinations?: Value<Value<string>[]>;
    /** <code>Description</code>  <a name="cfn-grafana-workspace-description"></a>
  The user-defined description of the workspace.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>2048</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    description?: Value<string>;
    /** <code>PermissionType</code>  <a name="cfn-grafana-workspace-permissiontype"></a>
  If this is <code>SERVICE_MANAGED</code>, and the workplace was created through the Amazon Managed Grafana console, then Amazon Managed Grafana automatically creates the IAM roles and provisions the permissions that the workspace needs to use AWS data sources and notification channels.<br />
  If this is <code>CUSTOMER_MANAGED</code>, you must manage those roles and permissions yourself.<br />
  If you are working with a workspace in a member account of an organization and that account is not a delegated administrator account, and you want the workspace to access data sources in other AWS accounts in the organization, this parameter must be set to <code>CUSTOMER_MANAGED</code>.<br />
  For more information about converting between customer and service managed, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/AMG-datasource-and-notification.html">Managing permissions for data sources and notification channels</a>. For more information about the roles and permissions that must be managed for customer managed workspaces, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html">Amazon Managed Grafana permissions and policies for AWS data sources and notification channels</a><br />
  
  Required: Yes<br />
  
  Allowed values: <code>CUSTOMER_MANAGED | SERVICE_MANAGED</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    permissionType: Value<'CUSTOMER_MANAGED' | 'SERVICE_MANAGED'>;
    /** <code>AccountAccessType</code>  <a name="cfn-grafana-workspace-accountaccesstype"></a>
  Specifies whether the workspace can access AWS resources in this AWS account only, or whether it can also access AWS resources in other accounts in the same organization. If this is <code>ORGANIZATION</code>, the <code>OrganizationalUnits</code> parameter specifies which organizational units the workspace can access.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>CURRENT_ACCOUNT | ORGANIZATION</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    accountAccessType: Value<'CURRENT_ACCOUNT' | 'ORGANIZATION'>;
    /** <code>StackSetName</code>  <a name="cfn-grafana-workspace-stacksetname"></a>
  The name of the AWS CloudFormation stack set that is used to generate IAM roles to be used for this workspace.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    stackSetName?: Value<string>;
    /** <code>SamlConfiguration</code>  <a name="cfn-grafana-workspace-samlconfiguration"></a>
  If the workspace uses SAML, use this structure to map SAML assertion attributes to workspace user information and define which groups in the assertion attribute are to have the <code>Admin</code> and <code>Editor</code> roles in the workspace.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    samlConfiguration?: SamlConfigurationProps;
    /** <code>OrganizationalUnits</code>  <a name="cfn-grafana-workspace-organizationalunits"></a>
  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.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    organizationalUnits?: Value<Value<string>[]>;
    /** <code>RoleArn</code>  <a name="cfn-grafana-workspace-rolearn"></a>
  The IAM role that grants permissions to the AWS resources that the workspace will view data from. This role must already exist.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>2048</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    roleArn?: Value<string>;
    /** <code>Name</code>  <a name="cfn-grafana-workspace-name"></a>
  The name of the workspace.<br />
  
  Required: No<br />
  
  Pattern: <code>^[a-zA-Z0-9-._~]{1,255}$</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    name?: Value<string>;
    /** <code>GrafanaVersion</code>  <a name="cfn-grafana-workspace-grafanaversion"></a>
  Specifies the version of Grafana to support in the workspace. Defaults to the latest version on create (for example, 9.4), or the current version of the workspace on update.<br />
  Can only be used to upgrade (for example, from 8.4 to 9.4), not downgrade (for example, from 9.4 to 8.4).<br />
  To know what versions are available to upgrade to for a specific workspace, see the <a href="https://docs.aws.amazon.com/grafana/latest/APIReference/API_ListVersions.html">ListVersions</a> operation.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>255</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    grafanaVersion?: Value<string>;
    /** <code>DataSources</code>  <a name="cfn-grafana-workspace-datasources"></a>
  Specifies the AWS data sources that have been configured to have IAM roles and permissions created to allow Amazon Managed Grafana to read data from these sources.<br />
  This list is only used when the workspace was created through the AWS console, and the <code>permissionType</code> is <code>SERVICE_MANAGED</code>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    dataSources?: Value<Value<string>[]>;
    /** <code>AuthenticationProviders</code>  <a name="cfn-grafana-workspace-authenticationproviders"></a>
  Specifies whether this workspace uses SAML 2.0, AWS IAM Identity Center (successor to AWS 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>.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    authenticationProviders: Value<Value<string>[]>;
    /** <code>OrganizationRoleName</code>  <a name="cfn-grafana-workspace-organizationrolename"></a>
  The name of the IAM role that is used to access resources through Organizations.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>2048</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    organizationRoleName?: Value<string>;
    /** <code>VpcConfiguration</code>  <a name="cfn-grafana-workspace-vpcconfiguration"></a>
  The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to.<br />
  Connecting to a private VPC is not yet available in the Asia Pacific (Seoul) Region (ap-northeast-2).
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    vpcConfiguration?: VpcConfigurationProps;
    /** <code>NetworkAccessControl</code>  <a name="cfn-grafana-workspace-networkaccesscontrol"></a>
  The configuration settings for network access to your workspace.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    networkAccessControl?: NetworkAccessControlProps;
    /** <code>ClientToken</code>  <a name="cfn-grafana-workspace-clienttoken"></a>
  A unique, case-sensitive, user-provided identifier to ensure the idempotency of the request.<br />
  
  Required: No<br />
  
  Pattern: <code>^[!-~]{1,64}$</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    clientToken?: Value<string>;
}
