import { ExtendedLocation, VirtualMachineNetworkInterface } from '../index.js'; import { ApplicationSecurityGroup } from './application-security-group.js'; import { FrontendIPConfiguration } from './fronted-ip-configuration.js'; import { PrivateEndpointIPConfiguration } from './ip-configuration.js'; import { CustomDnsConfig } from './network-interface-ip-config.js'; import { Subnet } from './subnet.js'; export type PrivateLinkServiceIpConfiguration = { etag: string; id: string; name: string; properties: { primary: boolean; privateIPAddress: string; privateIPAddressVersion: string; privateIPAllocationMethod: string; provisioningState: string; subnet: Subnet; }; type: string; }; export type NetworkPrivateEndpointConnection = { etag: string; id: string; name: string; properties: { linkIdentifier: string; privateEndpoint: PrivateEndpoint; privateLinkServiceConnectionState: PrivateLinkServiceConnectionState; provisioningState: string; }; type: string; }; export type Visibility = { subscriptions: string[]; }; export type PrivateLinkService = { id: string; etag: string; extendedLocation: ExtendedLocation; location: string; name: string; properties: { alias: string; autoApproval: { subscriptions: string[]; }; enableProxyProtocol: boolean; fqdns: string[]; ipConfigurations: PrivateLinkServiceIpConfiguration[]; loadBalancerFrontendIpConfigurations: FrontendIPConfiguration[]; networkInterfaces: VirtualMachineNetworkInterface[]; privateEndpointConnections: NetworkPrivateEndpointConnection[]; provisioningState: string; visibility: Visibility; }; type: string; tags: Record; }; export type PrivateLinkServiceConnectionState = { actionsRequired: string; description: string; status: string; }; export type PrivateLinkServiceConnection = { etag: string; id: string; name: string; properties: { groupIds: string[]; privateLinkServiceConnectionState: PrivateLinkServiceConnectionState; privateLinkServiceId: string; provisioningState: string; requestMessage: string; }; type: string; }; export type PrivateEndpoint = { etag: string; extendedLocation: ExtendedLocation; id: string; location: string; name: string; properties: { applicationSecurityGroups: ApplicationSecurityGroup[]; customDnsConfigs: CustomDnsConfig[]; customNetworkInterfaceName: string; ipConfigurations: PrivateEndpointIPConfiguration[]; manualPrivateLinkServiceConnections: PrivateLinkServiceConnection[]; provisioningState: string; subnet: Subnet; }; type: string; tags: Record; };