@autorest/powershell
Version:
AutoRest PowerShell Cmdlet Generator
123 lines • 4.79 kB
TypeScript
import { Extensions } from './extensions';
import { ParameterLocation } from './http-operation';
import { Dictionary } from '@azure-tools/linq';
import { DeepPartial } from '@azure-tools/codegen';
export declare enum Scheme {
Bearer = "bearer"
}
export declare enum SecurityType {
ApiKey = "apiKey",
Http = "http",
OAuth2 = "oauth2",
OpenIDConnect = "openIdConnect"
}
export declare class APIKeySecurityScheme extends Extensions implements APIKeySecurityScheme {
name: string;
extensions: Dictionary<any>;
constructor(name: string, inWhere: ParameterLocation, initializer?: DeepPartial<APIKeySecurityScheme>);
}
export declare class BearerHTTPSecurityScheme extends Extensions implements BearerHTTPSecurityScheme {
extensions: Dictionary<any>;
scheme: Scheme;
constructor(initializer?: DeepPartial<BearerHTTPSecurityScheme>);
}
export declare class ImplicitOAuthFlow extends Extensions implements ImplicitOAuthFlow {
authorizationUrl: string;
extensions: Dictionary<any>;
scopes: Dictionary<string>;
constructor(authorizationUrl: string, initializer?: DeepPartial<ImplicitOAuthFlow>);
}
export declare class NonBearerHTTPSecurityScheme extends Extensions implements NonBearerHTTPSecurityScheme {
scheme: string;
extensions: Dictionary<any>;
constructor(scheme: string, initializer?: DeepPartial<NonBearerHTTPSecurityScheme>);
}
export declare class OAuth2SecurityScheme extends Extensions implements OAuth2SecurityScheme {
flows: OAuthFlows;
extensions: Dictionary<any>;
constructor(flows: OAuthFlows, initializer?: DeepPartial<OAuth2SecurityScheme>);
}
export declare class OAuthFlows extends Extensions implements OAuthFlows {
extensions: Dictionary<any>;
constructor(initializer?: DeepPartial<OAuthFlows>);
}
export interface OpenIdConnectSecurityScheme extends Extensions {
type: SecurityType.OpenIDConnect;
openIdConnectUrl: string;
description?: string;
}
export declare class OpenIdConnectSecurityScheme extends Extensions implements OpenIdConnectSecurityScheme {
openIdConnectUrl: string;
extensions: Dictionary<any>;
constructor(openIdConnectUrl: string, initializer?: DeepPartial<OpenIdConnectSecurityScheme>);
}
export interface PasswordOAuthFlow extends Extensions {
tokenUrl: string;
refreshUrl?: string;
scopes: Dictionary<string>;
}
export declare class PasswordOAuthFlow extends Extensions implements PasswordOAuthFlow {
tokenUrl: string;
extensions: Dictionary<any>;
scopes: Dictionary<string>;
constructor(tokenUrl: string, initializer?: DeepPartial<PasswordOAuthFlow>);
}
export type HTTPSecurityScheme = NonBearerHTTPSecurityScheme | BearerHTTPSecurityScheme;
export type SecurityScheme = APIKeySecurityScheme | HTTPSecurityScheme | OAuth2SecurityScheme | OpenIdConnectSecurityScheme;
export interface APIKeySecurityScheme extends Extensions {
type: SecurityType.ApiKey;
name: string;
in: ParameterLocation;
description?: string;
}
export declare class AuthorizationCodeOAuthFlow extends Extensions implements AuthorizationCodeOAuthFlow {
authorizationUrl: string;
extensions: Dictionary<any>;
scopes: Dictionary<string>;
constructor(authorizationUrl: string, tokenUrl: string, initializer?: DeepPartial<AuthorizationCodeOAuthFlow>);
}
export declare class ClientCredentialsFlow extends Extensions implements ClientCredentialsFlow {
tokenUrl: string;
extensions: Dictionary<any>;
scopes: Dictionary<string>;
constructor(tokenUrl: string, initializer?: DeepPartial<ClientCredentialsFlow>);
}
export interface AuthorizationCodeOAuthFlow extends Extensions {
authorizationUrl: string;
tokenUrl: string;
refreshUrl?: string;
scopes: Dictionary<string>;
}
export interface BearerHTTPSecurityScheme extends Extensions {
scheme: Scheme.Bearer;
bearerFormat?: string;
type: SecurityType.Http;
description?: string;
}
export interface ClientCredentialsFlow extends Extensions {
tokenUrl: string;
refreshUrl?: string;
scopes: Dictionary<string>;
}
export interface ImplicitOAuthFlow extends Extensions {
authorizationUrl: string;
refreshUrl?: string;
scopes: Dictionary<string>;
}
export interface NonBearerHTTPSecurityScheme extends Extensions {
scheme: string;
description?: string;
type: SecurityType.Http;
}
export interface OAuth2SecurityScheme extends Extensions {
type: SecurityType.OAuth2;
flows: OAuthFlows;
description?: string;
}
export interface OAuthFlows extends Extensions {
implicit?: ImplicitOAuthFlow;
password?: PasswordOAuthFlow;
clientCredentials?: ClientCredentialsFlow;
authorizationCode?: AuthorizationCodeOAuthFlow;
}
//# sourceMappingURL=security-scheme.d.ts.map