UNPKG

@autorest/powershell

Version:
123 lines 4.79 kB
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