import { NodeRequestOptions } from '../../data/node-connection'; import { RpcBaseData } from '../rpc-base'; /** * CredSSP request Rpc call name and version. */ export declare class RpcCredSspRequestKey { static command: string; static version: string; } /** * CredSSP response Rpc call name and version */ export declare class RpcCredSspResponseKey { static command: string; static version: string; } export interface ServerRoleConfiguration { ServerName: string; IsServerConfiguredAsServerRole: boolean; } export interface ClientRoleConfiguration { IsGatewayConfiguredAsClientRole: boolean; AllowFreshCredentialsKeyPresent: boolean; AllowFreshCredentialsWhenNTLMOnlyKeyPresent: boolean; AllowFreshCredentialsDelegatableServers: string[]; AllowFreshCredentialsWhenNTLMOnlyDelegatableServers: string[]; NotDelegatableServers: string[]; } export interface ConfigurationStatus { client?: ClientRoleConfiguration; servers?: ServerRoleConfiguration[]; } export interface GatewayLocalPowerShellConfig { /** * Server configured for executing cluster operations. */ configuredServerConnectionString: string; /** * PowerShell session options to run with cluster operations. */ powerShellOptions: NodeRequestOptions; } /** * Identifies the CredSSP operation type to preform */ export declare enum RpcCredSSPOperationType { /** * Enable CredSSP Server role on the managed server. */ EnableManagedServer = 0, /** * Disable CredSSP Server role on the managed server. */ DisableManagedServer = 1, /** * Enable CredSSP client role on the gateway and delegate to the list ot servers. */ EnableClientRole = 2, /** * Disable CredSSP client role on the gateway and remove all delegated servers. */ DisableClientRole = 3, /** * Enable CredSSP Server role on the managed server, and enable the gateway to * delegate to the managed server. */ EnableDelegation = 4, /** * Test that CredSSP connection from gateway to server(s) is enabled. To function as verification mechanism * that CredSSP is bound to work. */ TestCredSSP = 5, /** * Confirm the CredSSP client configuration on the gateway machine and the list of servers * that can be delegated fresh credentials from the gateway. */ ConfirmClientConfiguration = 6, /** * Confirm the CredSSP server configuration on the managed server. */ ConfirmManagedServerConfiguration = 7, /** * Confirm the CredSSP client configuration on the gateway, and confirm the CredSSP server * configuration to the managed server. */ ConfirmDelegation = 8, /** * Configure CredSSP server role on a given server and enable gateway to delegate to managed server * if gateway machine is not given. Otherwise, do nothing. Return configured server name and * PowerShell options needed for proceeding invoke PowerShell calls. */ TryGatewayLocalPowerShellConfig = 9 } /** * Explicit credentials i.e username andd password */ export interface Credentials { username: string; password: string; } /** * CredSSP Manager operation/action RPC message. */ export interface RpcCredSSPOperation extends RpcBaseData { /** * Request specific Id to track completion. */ requestId: string; /** * Type of CredSSP operation to perform */ operation: RpcCredSSPOperationType; /** * @deprecated * The contextual scenario title to be used when showing notifications. */ notificationTitle: string; /** * The server names to use in this request. Can be a single server for role server * or a list of servers for role client. */ serverNames: string[]; /*** * Authentication options, need the username and password here */ credentials?: Credentials; /** * @deprecated * Optional notification Id to be used when showing notifications. This will allow notifications * from the caller and from CredSSP to be merged in the notification center. */ notificationId?: string; } /** * CredSSP Manager operation/action RPC message result. */ export interface RpcCredSSPOperationResult { /** * Request specific Id to track completion. */ requestId: string; /** * Did the requested operation succeed or not? */ succeeded: boolean; /** * Error message if any. */ error?: string; /** * Solution to error if any. */ solutionMessage?: string; /** * Data to return if any. */ data?: GatewayLocalPowerShellConfig; /** * CredSSP configuration information of the client/server. */ configurationStatus?: ConfigurationStatus; } /** * CredSSP operation result returnable members. */ export declare enum RpcCredSSPOperationResultMember { /** * "Succeeded" member of operation result interface. */ Succeeded = "succeeded", /** * "configurationData" member of operation result interface. */ ConfigurationStatus = "configurationStatus", /** * "data" member of operation result interface. */ Data = "data" }