import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { GrafanaClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GrafanaClient"; import type { UpdateWorkspaceAuthenticationRequest, UpdateWorkspaceAuthenticationResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link UpdateWorkspaceAuthenticationCommand}. */ export interface UpdateWorkspaceAuthenticationCommandInput extends UpdateWorkspaceAuthenticationRequest { } /** * @public * * The output of {@link UpdateWorkspaceAuthenticationCommand}. */ export interface UpdateWorkspaceAuthenticationCommandOutput extends UpdateWorkspaceAuthenticationResponse, __MetadataBearer { } declare const UpdateWorkspaceAuthenticationCommand_base: { new (input: UpdateWorkspaceAuthenticationCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: UpdateWorkspaceAuthenticationCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Use this operation to define the identity provider (IdP) that this workspace authenticates users from, using SAML. You can also map SAML assertion attributes to workspace user information and define which groups in the assertion attribute are to have the Admin and Editor roles in the workspace.

Changes to the authentication method for a workspace may take a few minutes to take effect.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { GrafanaClient, UpdateWorkspaceAuthenticationCommand } from "@aws-sdk/client-grafana"; // ES Modules import * // const { GrafanaClient, UpdateWorkspaceAuthenticationCommand } = require("@aws-sdk/client-grafana"); // CommonJS import * // import type { GrafanaClientConfig } from "@aws-sdk/client-grafana"; * const config = {}; // type is GrafanaClientConfig * const client = new GrafanaClient(config); * const input = { // UpdateWorkspaceAuthenticationRequest * workspaceId: "STRING_VALUE", // required * authenticationProviders: [ // AuthenticationProviders // required * "STRING_VALUE", * ], * samlConfiguration: { // SamlConfiguration * idpMetadata: { // IdpMetadata Union: only one key present * url: "STRING_VALUE", * xml: "STRING_VALUE", * }, * assertionAttributes: { // AssertionAttributes * name: "STRING_VALUE", * login: "STRING_VALUE", * email: "STRING_VALUE", * groups: "STRING_VALUE", * role: "STRING_VALUE", * org: "STRING_VALUE", * }, * roleValues: { // RoleValues * editor: [ // RoleValueList * "STRING_VALUE", * ], * admin: [ * "STRING_VALUE", * ], * }, * allowedOrganizations: [ // AllowedOrganizations * "STRING_VALUE", * ], * loginValidityDuration: Number("int"), * }, * }; * const command = new UpdateWorkspaceAuthenticationCommand(input); * const response = await client.send(command); * // { // UpdateWorkspaceAuthenticationResponse * // authentication: { // AuthenticationDescription * // providers: [ // AuthenticationProviders // required * // "STRING_VALUE", * // ], * // saml: { // SamlAuthentication * // status: "STRING_VALUE", // required * // configuration: { // SamlConfiguration * // idpMetadata: { // IdpMetadata Union: only one key present * // url: "STRING_VALUE", * // xml: "STRING_VALUE", * // }, * // assertionAttributes: { // AssertionAttributes * // name: "STRING_VALUE", * // login: "STRING_VALUE", * // email: "STRING_VALUE", * // groups: "STRING_VALUE", * // role: "STRING_VALUE", * // org: "STRING_VALUE", * // }, * // roleValues: { // RoleValues * // editor: [ // RoleValueList * // "STRING_VALUE", * // ], * // admin: [ * // "STRING_VALUE", * // ], * // }, * // allowedOrganizations: [ // AllowedOrganizations * // "STRING_VALUE", * // ], * // loginValidityDuration: Number("int"), * // }, * // }, * // awsSso: { // AwsSsoAuthentication * // ssoClientId: "STRING_VALUE", * // }, * // }, * // }; * * ``` * * @param UpdateWorkspaceAuthenticationCommandInput - {@link UpdateWorkspaceAuthenticationCommandInput} * @returns {@link UpdateWorkspaceAuthenticationCommandOutput} * @see {@link UpdateWorkspaceAuthenticationCommandInput} for command's `input` shape. * @see {@link UpdateWorkspaceAuthenticationCommandOutput} for command's `response` shape. * @see {@link GrafanaClientResolvedConfig | config} for GrafanaClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

You do not have sufficient permissions to perform this action.

* * @throws {@link ConflictException} (client fault) *

A resource was in an inconsistent state during an update or a deletion.

* * @throws {@link InternalServerException} (server fault) *

Unexpected error while processing the request. Retry the request.

* * @throws {@link ResourceNotFoundException} (client fault) *

The request references a resource that does not exist.

* * @throws {@link ThrottlingException} (client fault) *

The request was denied because of request throttling. Retry the request.

* * @throws {@link ValidationException} (client fault) *

The value of a parameter in the request caused an error.

* * @throws {@link GrafanaServiceException} *

Base exception class for all service exceptions from Grafana service.

* * * @public */ export declare class UpdateWorkspaceAuthenticationCommand extends UpdateWorkspaceAuthenticationCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: UpdateWorkspaceAuthenticationRequest; output: UpdateWorkspaceAuthenticationResponse; }; sdk: { input: UpdateWorkspaceAuthenticationCommandInput; output: UpdateWorkspaceAuthenticationCommandOutput; }; }; }