var $schema = "../schema.json";
var schemaVersion = "v1";
var pluginType = "grafana-redshift-datasource";
var pluginName = "Amazon Redshift";
var docURL = "https://grafana.com/grafana/plugins/grafana-redshift-datasource/";
var fields = [
	{
		id: "jsonData.authType",
		key: "authType",
		label: "Authentication Provider",
		description: "AWS authentication method.",
		valueType: "string",
		target: "jsonData",
		defaultValue: "default"
	},
	{
		id: "jsonData.defaultRegion",
		key: "defaultRegion",
		label: "Default Region",
		description: "AWS region.",
		valueType: "string",
		target: "jsonData"
	},
	{
		id: "jsonData.assumeRoleArn",
		key: "assumeRoleArn",
		label: "Assume Role ARN",
		description: "ARN of the IAM role to assume.",
		valueType: "string",
		target: "jsonData"
	},
	{
		id: "jsonData.externalId",
		key: "externalId",
		label: "External ID",
		description: "External ID for cross-account role assumption.",
		valueType: "string",
		target: "jsonData"
	},
	{
		id: "jsonData.profile",
		key: "profile",
		label: "Credentials Profile Name",
		description: "AWS credentials profile name.",
		valueType: "string",
		target: "jsonData"
	},
	{
		id: "jsonData.endpoint",
		key: "endpoint",
		label: "Endpoint",
		description: "Optional custom endpoint.",
		valueType: "string",
		target: "jsonData"
	},
	{
		id: "jsonData.withEvent",
		key: "withEvent",
		label: "With Event",
		description: "Include events in query results.",
		valueType: "boolean",
		target: "jsonData",
		ui: {
			component: "switch"
		}
	},
	{
		id: "jsonData.useManagedSecret",
		key: "useManagedSecret",
		label: "Use Managed Secret",
		description: "Use AWS Secrets Manager for authentication.",
		valueType: "boolean",
		target: "jsonData",
		ui: {
			component: "switch"
		}
	},
	{
		id: "jsonData.useServerless",
		key: "useServerless",
		label: "Use Serverless",
		description: "Connect to Redshift Serverless.",
		valueType: "boolean",
		target: "jsonData",
		ui: {
			component: "switch"
		}
	},
	{
		id: "jsonData.workgroupName",
		key: "workgroupName",
		label: "Workgroup Name",
		description: "Redshift Serverless workgroup name.",
		valueType: "string",
		target: "jsonData",
		dependsOn: "jsonData.useServerless == true"
	},
	{
		id: "jsonData.clusterIdentifier",
		key: "clusterIdentifier",
		label: "Cluster Identifier",
		description: "Redshift cluster identifier.",
		valueType: "string",
		target: "jsonData"
	},
	{
		id: "jsonData.database",
		key: "database",
		label: "Database",
		description: "Redshift database name.",
		valueType: "string",
		target: "jsonData"
	},
	{
		id: "jsonData.dbUser",
		key: "dbUser",
		label: "Database User",
		description: "Database user for temporary credentials.",
		valueType: "string",
		target: "jsonData"
	},
	{
		id: "jsonData.managedSecret",
		key: "managedSecret",
		label: "Managed Secret",
		description: "AWS Secrets Manager secret for authentication.",
		valueType: "object",
		target: "jsonData",
		dependsOn: "jsonData.useManagedSecret == true"
	},
	{
		id: "secureJsonData.accessKey",
		key: "accessKey",
		label: "Access Key ID",
		description: "AWS access key ID.",
		valueType: "string",
		semanticType: "token",
		target: "secureJsonData"
	},
	{
		id: "secureJsonData.secretKey",
		key: "secretKey",
		label: "Secret Access Key",
		description: "AWS secret access key.",
		valueType: "string",
		semanticType: "token",
		target: "secureJsonData"
	},
	{
		id: "secureJsonData.sessionToken",
		key: "sessionToken",
		label: "Session Token",
		description: "AWS temporary session token.",
		valueType: "string",
		semanticType: "token",
		target: "secureJsonData"
	}
];
var groups = [
	{
		id: "auth",
		title: "Authentication",
		fieldRefs: [
			"jsonData.authType",
			"jsonData.defaultRegion",
			"jsonData.profile",
			"jsonData.assumeRoleArn",
			"jsonData.externalId",
			"jsonData.endpoint",
			"secureJsonData.accessKey",
			"secureJsonData.secretKey",
			"secureJsonData.sessionToken"
		]
	},
	{
		id: "redshift-details",
		title: "Redshift details",
		fieldRefs: [
			"jsonData.clusterIdentifier",
			"jsonData.database",
			"jsonData.dbUser",
			"jsonData.useServerless",
			"jsonData.workgroupName",
			"jsonData.useManagedSecret",
			"jsonData.managedSecret",
			"jsonData.withEvent"
		]
	}
];
var grafanaRedshiftDatasourceSchema = {
	$schema: $schema,
	schemaVersion: schemaVersion,
	pluginType: pluginType,
	pluginName: pluginName,
	docURL: docURL,
	fields: fields,
	groups: groups
};

export { $schema, grafanaRedshiftDatasourceSchema as default, docURL, fields, groups, pluginName, pluginType, schemaVersion };
//# sourceMappingURL=grafana-redshift-datasource.schema.json.js.map
