armpit
Version:
Another resource manager programming interface toolkit.
35 lines • 2.69 kB
TypeScript
import type { AppServicePlan, HostingEnvironmentProfile, ManagedServiceIdentity, Site, SiteConfig, SiteDnsConfig, WebSiteManagementClientOptionalParams } from "@azure/arm-appservice";
import { WebSiteManagementClient } from "@azure/arm-appservice";
import { type SubscriptionId } from "./azureUtils.js";
import { ManagementClientFactory } from "./azureSdkUtils.js";
interface AppServiceToolsOptions {
groupName?: string | null;
location?: string | null;
subscriptionId?: SubscriptionId | null;
abortSignal?: AbortSignal;
}
type HostingEnvironmentProfileDescriptor = Pick<HostingEnvironmentProfile, "id">;
interface AppServicePlanDescriptor extends Omit<AppServicePlan, "id" | "name" | "location" | "type" | "status" | "subscription" | "maximumNumberOfWorkers" | "numberOfWorkers" | "geoRegion" | "numberOfSites" | "resourceGroup" | "provisioningState" | "hostingEnvironmentProfile"> {
hostingEnvironmentProfile?: HostingEnvironmentProfileDescriptor;
}
type ManagedServiceIdentityDescriptor = Pick<ManagedServiceIdentity, "type" | "userAssignedIdentities">;
type SiteConfigDescriptor = Omit<SiteConfig, "machineKey">;
interface SiteDescriptor extends Omit<Site, "id" | "name" | "location" | "type" | "state" | "hostNames" | "repositorySiteName" | "usageState" | "enabledHostNames" | "availabilityState" | "lastModifiedTimeUtc" | "trafficManagerHostNames" | "targetSwapSlot" | "outboundIpAddresses" | "possibleOutboundIpAddresses" | "suspendedTill" | "maxNumberOfWorkers" | "resourceGroup" | "isDefaultContainer" | "defaultHostName" | "slotSwapStatus" | "inProgressOperationId" | "sku" | "identity" | "dnsConfiguration" | "siteConfig" | "hostingEnvironmentProfile"> {
dnsConfiguration?: Omit<SiteDnsConfig, "dnsLegacySortOrder">;
hostingEnvironmentProfile?: HostingEnvironmentProfileDescriptor;
identity?: ManagedServiceIdentityDescriptor;
siteConfig?: SiteConfigDescriptor;
}
export declare class AppServiceTools {
#private;
constructor(dependencies: {
managementClientFactory: ManagementClientFactory;
}, options: AppServiceToolsOptions);
planGet(name: string, options?: AppServiceToolsOptions): Promise<AppServicePlan | null>;
planUpsert(name: string, optionsDescriptor: AppServicePlanDescriptor & AppServiceToolsOptions): Promise<AppServicePlan>;
webAppGet(name: string, options?: AppServiceToolsOptions): Promise<Site | null>;
webAppUpsert(name: string, optionsDescriptor: SiteDescriptor & AppServiceToolsOptions): Promise<Site>;
getClient(subscriptionId?: SubscriptionId | null, options?: WebSiteManagementClientOptionalParams): WebSiteManagementClient;
}
export {};
//# sourceMappingURL=appServiceTools.d.ts.map