@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
180 lines (179 loc) • 5.28 kB
TypeScript
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"
}