armpit
Version:
Another resource manager programming interface toolkit.
38 lines • 2.41 kB
TypeScript
import type { ComputeManagementClientOptionalParams, Disk, KnownVirtualMachineEvictionPolicyTypes, KnownVirtualMachinePriorityTypes, VirtualMachine, VirtualMachineIdentity } from "@azure/arm-compute";
import { ComputeManagementClient } from "@azure/arm-compute";
import { type SubscriptionId } from "./azureUtils.js";
import { ManagementClientFactory } from "./azureSdkUtils.js";
interface ComputeToolsOptions {
groupName?: string | null;
location?: string | null;
subscriptionId?: SubscriptionId | null;
abortSignal?: AbortSignal;
}
type UserAssignedIdentitiesValueDescriptor = object;
interface VirtualMachineIdentityDescriptor extends Pick<VirtualMachineIdentity, "type"> {
userAssignedIdentities?: {
[propertyName: string]: UserAssignedIdentitiesValueDescriptor;
};
}
interface DiskDescriptor extends Omit<Disk, "id" | "name" | "location" | "type" | "managedBy" | "managedByExtended" | "timeCreated" | "diskSizeBytes" | "uniqueId" | "provisioningState" | "diskState" | "shareInfo" | "burstingEnabledTime" | "propertyUpdatesInProgress" | "lastOwnershipUpdateTime" | "sku" | "creationData"> {
sku?: Omit<Disk["sku"], "tier">;
creationData?: Omit<Disk["creationData"], "sourceUniqueId">;
}
interface VirtualMachineDescriptor extends Omit<VirtualMachine, "id" | "name" | "type" | "etag" | "location" | "tags" | "resources" | "managedBy" | "provisioningState" | "instanceView" | "vmId" | "timeCreated" | "evictionPolicy" | "identity" | "priority"> {
evictionPolicy?: `${KnownVirtualMachineEvictionPolicyTypes}`;
identity?: VirtualMachineIdentityDescriptor;
priority?: `${KnownVirtualMachinePriorityTypes}`;
}
export declare class ComputeTools {
#private;
constructor(dependencies: {
managementClientFactory: ManagementClientFactory;
}, options: ComputeToolsOptions);
diskGet(name: string, options?: ComputeToolsOptions): Promise<Disk | null>;
diskUpsert(name: string, optionsDescriptor: DiskDescriptor & ComputeToolsOptions): Promise<Disk>;
vmGet(name: string, options?: ComputeToolsOptions): Promise<VirtualMachine | null>;
vmUpsert(name: string, optionsDescriptor: VirtualMachineDescriptor & ComputeToolsOptions): Promise<VirtualMachine>;
getClient(subscriptionId?: SubscriptionId | null, options?: ComputeManagementClientOptionalParams): ComputeManagementClient;
}
export {};
//# sourceMappingURL=computeTools.d.ts.map