import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { ScalarSubjectRequest, SubjectDetailResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link GetSubjectCommand}. */ export interface GetSubjectCommandInput extends ScalarSubjectRequest { } /** * @public * * The output of {@link GetSubjectCommand}. */ export interface GetSubjectCommandOutput extends SubjectDetailResponse, __MetadataBearer { } declare const GetSubjectCommand_base: { new (input: GetSubjectCommandInput): import("@smithy/core/client").CommandImpl; new (input: GetSubjectCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Gets a subject, which associates a certificate identity with authentication attempts. The subject stores auditing information such as the status of the last authentication attempt, the certificate data used in the attempt, and the last time the associated identity attempted authentication.

Required permissions: rolesanywhere:GetSubject.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { RolesAnywhereClient, GetSubjectCommand } from "@aws-sdk/client-rolesanywhere"; // ES Modules import * // const { RolesAnywhereClient, GetSubjectCommand } = require("@aws-sdk/client-rolesanywhere"); // CommonJS import * // import type { RolesAnywhereClientConfig } from "@aws-sdk/client-rolesanywhere"; * const config = {}; // type is RolesAnywhereClientConfig * const client = new RolesAnywhereClient(config); * const input = { // ScalarSubjectRequest * subjectId: "STRING_VALUE", // required * }; * const command = new GetSubjectCommand(input); * const response = await client.send(command); * // { // SubjectDetailResponse * // subject: { // SubjectDetail * // subjectArn: "STRING_VALUE", * // subjectId: "STRING_VALUE", * // enabled: true || false, * // x509Subject: "STRING_VALUE", * // lastSeenAt: new Date("TIMESTAMP"), * // createdAt: new Date("TIMESTAMP"), * // updatedAt: new Date("TIMESTAMP"), * // credentials: [ // CredentialSummaries * // { // CredentialSummary * // seenAt: new Date("TIMESTAMP"), * // serialNumber: "STRING_VALUE", * // issuer: "STRING_VALUE", * // enabled: true || false, * // x509CertificateData: "STRING_VALUE", * // failed: true || false, * // }, * // ], * // instanceProperties: [ // InstanceProperties * // { // InstanceProperty * // seenAt: new Date("TIMESTAMP"), * // properties: { // InstancePropertyMap * // "": "STRING_VALUE", * // }, * // failed: true || false, * // }, * // ], * // }, * // }; * * ``` * * @param GetSubjectCommandInput - {@link GetSubjectCommandInput} * @returns {@link GetSubjectCommandOutput} * @see {@link GetSubjectCommandInput} for command's `input` shape. * @see {@link GetSubjectCommandOutput} for command's `response` shape. * @see {@link RolesAnywhereClientResolvedConfig | config} for RolesAnywhereClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

You do not have sufficient access to perform this action.

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

The resource could not be found.

* * @throws {@link RolesAnywhereServiceException} *

Base exception class for all service exceptions from RolesAnywhere service.

* * * @public */ export declare class GetSubjectCommand extends GetSubjectCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: ScalarSubjectRequest; output: SubjectDetailResponse; }; sdk: { input: GetSubjectCommandInput; output: GetSubjectCommandOutput; }; }; }