UNPKG

armpit

Version:

Another resource manager programming interface toolkit.

115 lines 7.49 kB
import type { NetworkManagementClientOptionalParams, NetworkSecurityGroup, SecurityRule, VirtualNetwork, VirtualNetworkBgpCommunities, Subnet, Delegation, KnownSecurityRuleDirection, KnownSecurityRuleAccess, KnownSecurityRuleProtocol, KnownVirtualNetworkPrivateEndpointNetworkPolicies, KnownVirtualNetworkPrivateLinkServiceNetworkPolicies, KnownSharingScope, KnownPrivateEndpointVNetPolicies, PublicIPAddress, KnownIPAllocationMethod, KnownIPVersion, KnownPublicIPAddressSkuName, ApplicationSecurityGroup, NatGateway, KnownNatGatewaySkuName, NetworkInterface, KnownNetworkInterfaceNicType, KnownNetworkInterfaceAuxiliaryMode, KnownNetworkInterfaceAuxiliarySku, NetworkInterfaceIPConfiguration, SubResource as NetworkSubResource } from "@azure/arm-network"; import { NetworkManagementClient } from "@azure/arm-network"; import type { PrivateDnsManagementClientOptionalParams, PrivateZone, VirtualNetworkLink, KnownResolutionPolicy } from "@azure/arm-privatedns"; import { PrivateDnsManagementClient } from "@azure/arm-privatedns"; import { type SubscriptionId } from "./azureUtils.js"; import { ManagementClientFactory } from "./azureSdkUtils.js"; import type { AzCliInvoker } from "./azCliInvoker.js"; interface NetworkToolsOptions { groupName?: string | null; location?: string | null; subscriptionId?: SubscriptionId | null; abortSignal?: AbortSignal; } interface PrivateDnsToolsOptions { groupName?: string | null; subscriptionId?: SubscriptionId | null; abortSignal?: AbortSignal; } interface PrivateZoneVnetLinkDescriptor { virtualNetwork: { id?: string; } | string; registrationEnabled?: boolean; resolutionPolicy?: `${KnownResolutionPolicy}`; } type DelegationDescriptor = Pick<Delegation, "name" | "serviceName">; interface SubnetDescriptor extends Pick<Subnet, "name" | "addressPrefix" | "addressPrefixes"> { defaultOutboundAccess?: boolean; delegations?: DelegationDescriptor | string | (DelegationDescriptor | string)[]; ipAllocations?: NetworkSubResource[]; natGateway?: NetworkSubResource; networkSecurityGroup?: NetworkSubResource; privateEndpointNetworkPolicies?: `${KnownVirtualNetworkPrivateEndpointNetworkPolicies}`; privateLinkServiceNetworkPolicies?: `${KnownVirtualNetworkPrivateLinkServiceNetworkPolicies}`; routeTable?: NetworkSubResource; sharingScope?: `${KnownSharingScope}`; } interface VnetDescriptor extends Pick<VirtualNetwork, "flowTimeoutInMinutes" | "dhcpOptions" | "enableDdosProtection" | "enableVmProtection" | "ddosProtectionPlan" | "encryption" | "ipAllocations"> { addressSpace?: { addressPrefixes?: string[]; }; addressPrefix?: string; bgpCommunities?: Pick<VirtualNetworkBgpCommunities, "virtualNetworkCommunity">; privateEndpointVNetPolicies?: `${KnownPrivateEndpointVNetPolicies}`; subnets?: SubnetDescriptor[]; } interface VnetDescriptorWithOptions extends VnetDescriptor { deleteUnknownSubnets?: boolean; } interface SecurityRuleDescriptor extends Omit<SecurityRule, "id" | "etag" | "type" | "provisioningState"> { priority: number; direction: `${KnownSecurityRuleDirection}`; access: `${KnownSecurityRuleAccess}`; protocol: `${KnownSecurityRuleProtocol}`; } interface NsgDescriptor { securityRules?: SecurityRuleDescriptor[]; } interface NsgDescriptorWithOptions extends NsgDescriptor { deleteUnknownRules?: boolean; } interface PublicIpDescriptor extends Pick<PublicIPAddress, "zones" | "dnsSettings" | "ddosSettings" | "ipAddress" | "publicIPPrefix" | "idleTimeoutInMinutes" | "deleteOption"> { servicePublicIPAddress?: NetworkSubResource; natGateway?: NetworkSubResource; linkedPublicIPAddress?: NetworkSubResource; publicIPAllocationMethod?: `${KnownIPAllocationMethod}`; publicIPAddressVersion?: `${KnownIPVersion}`; sku?: `${KnownPublicIPAddressSkuName}` | PublicIPAddress["sku"]; } interface NatGatewayDescriptor extends Pick<NatGateway, "zones" | "idleTimeoutInMinutes" | "publicIpAddresses" | "publicIpAddressesV6" | "publicIpPrefixes" | "publicIpPrefixesV6" | "sourceVirtualNetwork"> { sku: `${KnownNatGatewaySkuName}` | NatGateway["sku"]; } interface NetworkInterfaceIPConfigurationDescriptor extends Omit<NetworkInterfaceIPConfiguration, "id" | "etag" | "type" | "privateIPAllocationMethod" | "privateIPAddressVersion" | "provisioningState" | "privateLinkConnectionProperties"> { privateIPAllocationMethod?: `${KnownIPAllocationMethod}`; privateIPAddressVersion?: `${KnownIPVersion}`; } interface NetworkInterfaceDescriptor extends Pick<NetworkInterface, "enableAcceleratedNetworking" | "disableTcpStateTracking" | "enableIPForwarding" | "workloadType"> { networkSecurityGroup?: NetworkSubResource; nicType?: `${KnownNetworkInterfaceNicType}`; auxiliaryMode?: `${KnownNetworkInterfaceAuxiliaryMode}`; auxiliarySku?: `${KnownNetworkInterfaceAuxiliarySku}`; ipConfigurations: NetworkInterfaceIPConfigurationDescriptor[]; } export declare class NetworkTools { #private; constructor(dependencies: { invoker: AzCliInvoker; managementClientFactory: ManagementClientFactory; }, options: NetworkToolsOptions); asgGet(name: string, options?: NetworkToolsOptions): Promise<ApplicationSecurityGroup | null>; asgMultiUpsert<TDescriptor extends { [key: string]: string; }>(descriptor: TDescriptor, options?: NetworkToolsOptions): Promise<{ [K in keyof TDescriptor]: ApplicationSecurityGroup; }>; asgUpsert(name: string, options?: NetworkToolsOptions): Promise<ApplicationSecurityGroup>; natGatewayGet(name: string, options?: NetworkToolsOptions): Promise<NatGateway | null>; natGatewayUpsert(name: string, descriptorOptions: NatGatewayDescriptor & NetworkToolsOptions): Promise<NatGateway>; nicGet(name: string, options?: NetworkToolsOptions): Promise<NetworkInterface | null>; nicUpsert(name: string, descriptorOptions: NetworkInterfaceDescriptor & NetworkToolsOptions): Promise<NetworkInterface>; nsgGet(name: string, options?: NetworkToolsOptions): Promise<NetworkSecurityGroup | null>; nsgUpsert(name: string, descriptorOptions?: NsgDescriptorWithOptions & NetworkToolsOptions): Promise<NetworkSecurityGroup>; pipGet(name: string, options?: NetworkToolsOptions): Promise<PublicIPAddress | null>; pipUpsert(name: string, descriptorOptions?: PublicIpDescriptor & NetworkToolsOptions): Promise<PublicIPAddress>; privateZoneGet(name: string, options?: PrivateDnsToolsOptions): Promise<PrivateZone | null>; privateZoneUpsert(name: string, options?: PrivateDnsToolsOptions): Promise<PrivateZone>; privateZoneVnetLinkGet(zoneName: string, name: string, options?: NetworkToolsOptions): Promise<VirtualNetworkLink | null>; privateZoneVnetLinkUpsert(zoneName: string, name: string, descriptorOptions: PrivateZoneVnetLinkDescriptor & PrivateDnsToolsOptions): Promise<VirtualNetworkLink>; vnetGet(name: string, options?: NetworkToolsOptions): Promise<VirtualNetwork | null>; vnetUpsert(name: string, optionsDescriptor?: VnetDescriptorWithOptions & NetworkToolsOptions): Promise<VirtualNetwork>; getClient(subscriptionId?: SubscriptionId | null, options?: NetworkManagementClientOptionalParams): NetworkManagementClient; getPrivateDnsClient(subscriptionId?: SubscriptionId | null, options?: PrivateDnsManagementClientOptionalParams): PrivateDnsManagementClient; } export {}; //# sourceMappingURL=networkTools.d.ts.map