import { ArmResource } from '@yetics/armkit-core' ; import { Construct } from 'constructs' ; schema export class Peerings extends ArmResource { param scope param name param options public constructor ( scope , name , options ) { super ( scope , name , { ... options , armResourceType : 'peerings' , } ) ; } } schema export class PeeringServices extends ArmResource { param scope param name param options public constructor ( scope , name , options ) { super ( scope , name , { ... options , armResourceType : 'peeringServices' , } ) ; } } schema export class PeeringServicesPrefixes extends ArmResource { param scope param name param options public constructor ( scope , name , options ) { super ( scope , name , { ... options , armResourceType : 'peeringServices_prefixes' , } ) ; } } schema export class PeeringsRegisteredAsns extends ArmResource { param scope param name param options public constructor ( scope , name , options ) { super ( scope , name , { ... options , armResourceType : 'peerings_registeredAsns' , } ) ; } } schema export class PeeringsRegisteredPrefixes extends ArmResource { param scope param name param options public constructor ( scope , name , options ) { super ( scope , name , { ... options , armResourceType : 'peerings_registeredPrefixes' , } ) ; } } schema export interface PeeringsOptions { schema readonly apiVersion ? : MicrosoftPeeringPeeringsApiVersion ; schema readonly kind ? : MicrosoftPeeringPeeringsKind ; schema readonly location : string ; schema readonly name : string ; schema readonly properties : PeeringProperties ; schema readonly resources ? : MicrosoftPeeringPeeringsResources [ ] ; schema readonly sku : PeeringSku ; schema readonly tags ? : MicrosoftPeeringPeeringsTags ; schema readonly type : MicrosoftPeeringPeeringsType ; } schema export interface PeeringServicesOptions { schema readonly apiVersion ? : MicrosoftPeeringPeeringServicesApiVersion ; schema readonly location : string ; schema readonly name : string ; schema readonly properties : PeeringServiceProperties ; schema readonly resources ? : PeeringServicesPrefixesChildResource [ ] ; schema readonly sku ? : PeeringServiceSku ; schema readonly tags ? : MicrosoftPeeringPeeringServicesTags ; schema readonly type : MicrosoftPeeringPeeringServicesType ; } schema export interface PeeringServicesPrefixesOptions { schema readonly apiVersion ? : MicrosoftPeeringPeeringServicesPrefixesApiVersion ; schema readonly name : string ; schema readonly properties : PeeringServicePrefixProperties ; schema readonly type : MicrosoftPeeringPeeringServicesPrefixesType ; } schema export interface PeeringsRegisteredAsnsOptions { schema readonly apiVersion ? : MicrosoftPeeringPeeringsRegisteredAsnsApiVersion ; schema readonly name : string ; schema readonly properties : PeeringRegisteredAsnProperties ; schema readonly type : MicrosoftPeeringPeeringsRegisteredAsnsType ; } schema export interface PeeringsRegisteredPrefixesOptions { schema readonly apiVersion ? : MicrosoftPeeringPeeringsRegisteredPrefixesApiVersion ; schema readonly name : string ; schema readonly properties : PeeringRegisteredPrefixProperties ; schema readonly type : MicrosoftPeeringPeeringsRegisteredPrefixesType ; } export enum MicrosoftPeeringPeeringsApiVersion { "MicrosoftPeeringPeeringsApiVersion_2021_01_01" = '2021-01-01' } export enum MicrosoftPeeringPeeringsKind { DIRECT = 'Direct' , EXCHANGE = 'Exchange' } schema export interface PeeringProperties { schema readonly direct ? : PeeringPropertiesDirect ; schema readonly exchange ? : PeeringPropertiesExchange ; schema readonly peeringLocation ? : string ; } schema export class MicrosoftPeeringPeeringsResources { public static fromPeeringsRegisteredAsnsChildResource ( value ) { return new MicrosoftPeeringPeeringsResources ( value ) ; } public static fromPeeringsRegisteredPrefixesChildResource ( value ) { return new MicrosoftPeeringPeeringsResources ( value ) ; } private constructor ( value ) { Object . defineProperty ( this , 'resolve' , { value : ( ) => value } ) ; } } schema export interface PeeringSku { schema readonly family ? : PeeringSkuFamily ; schema readonly name ? : string ; schema readonly size ? : PeeringSkuSize ; schema readonly tier ? : PeeringSkuTier ; } schema export interface MicrosoftPeeringPeeringsTags { } export enum MicrosoftPeeringPeeringsType { "MicrosoftPeeringPeeringsType_MICROSOFT_PEERING_PEERINGS" = 'Microsoft.Peering/peerings' } export enum MicrosoftPeeringPeeringServicesApiVersion { "MicrosoftPeeringPeeringServicesApiVersion_2021_01_01" = '2021-01-01' } schema export interface PeeringServiceProperties { schema readonly peeringServiceLocation ? : string ; schema readonly peeringServiceProvider ? : string ; schema readonly providerBackupPeeringLocation ? : string ; schema readonly providerPrimaryPeeringLocation ? : string ; } schema export interface PeeringServicesPrefixesChildResource { schema readonly apiVersion : PeeringServicesPrefixesChildResourceApiVersion ; schema readonly name : string ; schema readonly properties : PeeringServicePrefixProperties ; schema readonly type : PeeringServicesPrefixesChildResourceType ; } schema export interface PeeringServiceSku { schema readonly name ? : string ; } schema export interface MicrosoftPeeringPeeringServicesTags { } export enum MicrosoftPeeringPeeringServicesType { "MicrosoftPeeringPeeringServicesType_MICROSOFT_PEERING_PEERING_SERVICES" = 'Microsoft.Peering/peeringServices' } export enum MicrosoftPeeringPeeringServicesPrefixesApiVersion { "MicrosoftPeeringPeeringServicesPrefixesApiVersion_2021_01_01" = '2021-01-01' } schema export interface PeeringServicePrefixProperties { schema readonly peeringServicePrefixKey ? : string ; schema readonly prefix ? : string ; } export enum MicrosoftPeeringPeeringServicesPrefixesType { "MicrosoftPeeringPeeringServicesPrefixesType_MICROSOFT_PEERING_PEERING_SERVICES_PREFIXES" = 'Microsoft.Peering/peeringServices/prefixes' } export enum MicrosoftPeeringPeeringsRegisteredAsnsApiVersion { "MicrosoftPeeringPeeringsRegisteredAsnsApiVersion_2021_01_01" = '2021-01-01' } schema export interface PeeringRegisteredAsnProperties { schema readonly asn ? : number ; } export enum MicrosoftPeeringPeeringsRegisteredAsnsType { "MicrosoftPeeringPeeringsRegisteredAsnsType_MICROSOFT_PEERING_PEERINGS_REGISTERED_ASNS" = 'Microsoft.Peering/peerings/registeredAsns' } export enum MicrosoftPeeringPeeringsRegisteredPrefixesApiVersion { "MicrosoftPeeringPeeringsRegisteredPrefixesApiVersion_2021_01_01" = '2021-01-01' } schema export interface PeeringRegisteredPrefixProperties { schema readonly prefix ? : string ; } export enum MicrosoftPeeringPeeringsRegisteredPrefixesType { "MicrosoftPeeringPeeringsRegisteredPrefixesType_MICROSOFT_PEERING_PEERINGS_REGISTERED_PREFIXES" = 'Microsoft.Peering/peerings/registeredPrefixes' } schema export interface PeeringPropertiesDirect { schema readonly connections ? : DirectConnection [ ] ; schema readonly directPeeringType ? : PeeringPropertiesDirectDirectPeeringType ; schema readonly peerAsn ? : SubResource ; } schema export interface PeeringPropertiesExchange { schema readonly connections ? : ExchangeConnection [ ] ; schema readonly peerAsn ? : SubResource ; } schema export interface PeeringsRegisteredAsnsChildResource { schema readonly apiVersion : PeeringsRegisteredAsnsChildResourceApiVersion ; schema readonly name : string ; schema readonly properties : PeeringRegisteredAsnProperties ; schema readonly type : PeeringsRegisteredAsnsChildResourceType ; } schema export interface PeeringsRegisteredPrefixesChildResource { schema readonly apiVersion : PeeringsRegisteredPrefixesChildResourceApiVersion ; schema readonly name : string ; schema readonly properties : PeeringRegisteredPrefixProperties ; schema readonly type : PeeringsRegisteredPrefixesChildResourceType ; } export enum PeeringSkuFamily { DIRECT = 'Direct' , EXCHANGE = 'Exchange' } export enum PeeringSkuSize { FREE = 'Free' , METERED = 'Metered' , UNLIMITED = 'Unlimited' } export enum PeeringSkuTier { BASIC = 'Basic' , PREMIUM = 'Premium' } export enum PeeringServicesPrefixesChildResourceApiVersion { "PeeringServicesPrefixesChildResourceApiVersion_2021_01_01" = '2021-01-01' } export enum PeeringServicesPrefixesChildResourceType { PREFIXES = 'prefixes' } schema export interface DirectConnection { schema readonly bandwidthInMbps ? : number ; schema readonly bgpSession ? : BgpSession ; schema readonly connectionIdentifier ? : string ; schema readonly peeringDBFacilityId ? : number ; schema readonly sessionAddressProvider ? : DirectConnectionSessionAddressProvider ; schema readonly useForPeeringService ? : boolean ; } export enum PeeringPropertiesDirectDirectPeeringType { EDGE = 'Edge' , TRANSIT = 'Transit' , CDN = 'Cdn' , INTERNAL = 'Internal' , IX = 'Ix' , IX_RS = 'IxRs' } schema export interface SubResource { schema readonly id ? : string ; } schema export interface ExchangeConnection { schema readonly bgpSession ? : BgpSession ; schema readonly connectionIdentifier ? : string ; schema readonly peeringDBFacilityId ? : number ; } export enum PeeringsRegisteredAsnsChildResourceApiVersion { "PeeringsRegisteredAsnsChildResourceApiVersion_2021_01_01" = '2021-01-01' } export enum PeeringsRegisteredAsnsChildResourceType { REGISTERED_ASNS = 'registeredAsns' } export enum PeeringsRegisteredPrefixesChildResourceApiVersion { "PeeringsRegisteredPrefixesChildResourceApiVersion_2021_01_01" = '2021-01-01' } export enum PeeringsRegisteredPrefixesChildResourceType { REGISTERED_PREFIXES = 'registeredPrefixes' } schema export interface BgpSession { schema readonly maxPrefixesAdvertisedV4 ? : number ; schema readonly maxPrefixesAdvertisedV6 ? : number ; schema readonly md5AuthenticationKey ? : string ; schema readonly microsoftSessionIPv4Address ? : string ; schema readonly microsoftSessionIPv6Address ? : string ; schema readonly peerSessionIPv4Address ? : string ; schema readonly peerSessionIPv6Address ? : string ; schema readonly sessionPrefixV4 ? : string ; schema readonly sessionPrefixV6 ? : string ; } export enum DirectConnectionSessionAddressProvider { MICROSOFT = 'Microsoft' , PEER = 'Peer' }