MICROSOFT.PEERING

CdnPeeringPrefixes_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.peeringLocation == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

CheckServiceProviderAvailability

valid {
    input.Body.peeringServiceLocation == STRING
    input.Body.peeringServiceProvider == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ConnectionMonitorTests_CreateOrUpdate

valid {
    input.Body.properties.sourceAgent == STRING
    input.Body.properties.destination == STRING
    input.Body.properties.destinationPort == INTEGER
    input.Body.properties.testFrequencyInSec == INTEGER
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringServiceName == STRING
    input.ReqMap.connectionMonitorTestName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ConnectionMonitorTests_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringServiceName == STRING
    input.ReqMap.connectionMonitorTestName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ConnectionMonitorTests_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringServiceName == STRING
    input.ReqMap.connectionMonitorTestName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ConnectionMonitorTests_ListByPeeringService

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LegacyPeerings_List

enum_DirectPeeringTypeParameter := [ "Edge", "Transit", "Cdn", "Internal", "Ix", "IxRs", "Voice", "EdgeZoneForOperators" ]
enum_KindParameter := [ "Direct", "Exchange" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.peeringLocation == STRING
    input.Qs.kind == enum_KindParameter[_]
    input.Qs.asn == INTEGER
    input.Qs.directPeeringType == enum_DirectPeeringTypeParameter[_]
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

LookingGlass_Invoke

enum_CommandParameter := [ "Traceroute", "Ping", "BgpRoute" ]
enum_SourceTypeParameter := [ "EdgeSite", "AzureRegion" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.command == enum_CommandParameter[_]
    input.Qs.sourceType == enum_SourceTypeParameter[_]
    input.Qs.sourceLocation == STRING
    input.Qs.destinationIP == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Operations_List

valid {
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

PeerAsns_CreateOrUpdate

enum_ContactDetailRole := [ "Noc", "Policy", "Technical", "Service", "Escalation", "Other" ]

valid {
    input.Body.properties.peerAsn == INTEGER
    input.Body.properties.peerContactDetail[_].role == enum_ContactDetailRole[_]
    input.Body.properties.peerContactDetail[_].email == STRING
    input.Body.properties.peerContactDetail[_].phone == STRING
    input.Body.properties.peerName == STRING
    input.ReqMap.peerAsnName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PeerAsns_Delete

valid {
    input.ReqMap.peerAsnName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PeerAsns_Get

valid {
    input.ReqMap.peerAsnName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PeerAsns_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PeeringLocations_List

enum_DirectPeeringTypeParameter := [ "Edge", "Transit", "Cdn", "Internal", "Ix", "IxRs", "Voice", "EdgeZoneForOperators" ]
enum_KindParameter := [ "Direct", "Exchange" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.kind == enum_KindParameter[_]
    input.Qs.directPeeringType == enum_DirectPeeringTypeParameter[_]
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PeeringServiceCountries_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PeeringServiceLocations_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.country == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PeeringServiceProviders_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PeeringServices_CreateOrUpdate

valid {
    input.Body.sku.name == STRING
    input.Body.properties.peeringServiceLocation == STRING
    input.Body.properties.peeringServiceProvider == STRING
    input.Body.properties.providerPrimaryPeeringLocation == STRING
    input.Body.properties.providerBackupPeeringLocation == STRING
    input.Body.properties.logAnalyticsWorkspaceProperties == {}
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PeeringServices_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PeeringServices_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PeeringServices_InitializeConnectionMonitor

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PeeringServices_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PeeringServices_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PeeringServices_Update

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Peerings_CreateOrUpdate

enum_DirectConnectionSessionAddressProvider := [ "Microsoft", "Peer" ]
enum_PeeringKind := [ "Direct", "Exchange" ]
enum_PeeringPropertiesDirectDirectPeeringType := [ "Edge", "Transit", "Cdn", "Internal", "Ix", "IxRs", "Voice", "EdgeZoneForOperators" ]

valid {
    input.Body.sku.name == STRING
    input.Body.kind == enum_PeeringKind[_]
    input.Body.properties.direct.connections[_].bandwidthInMbps == INTEGER
    input.Body.properties.direct.connections[_].sessionAddressProvider == enum_DirectConnectionSessionAddressProvider[_]
    input.Body.properties.direct.connections[_].useForPeeringService == BOOLEAN
    input.Body.properties.direct.connections[_].peeringDBFacilityId == INTEGER
    input.Body.properties.direct.connections[_].bgpSession.sessionPrefixV4 == STRING
    input.Body.properties.direct.connections[_].bgpSession.sessionPrefixV6 == STRING
    input.Body.properties.direct.connections[_].bgpSession.microsoftSessionIPv4Address == STRING
    input.Body.properties.direct.connections[_].bgpSession.microsoftSessionIPv6Address == STRING
    input.Body.properties.direct.connections[_].bgpSession.peerSessionIPv4Address == STRING
    input.Body.properties.direct.connections[_].bgpSession.peerSessionIPv6Address == STRING
    input.Body.properties.direct.connections[_].bgpSession.maxPrefixesAdvertisedV4 == INTEGER
    input.Body.properties.direct.connections[_].bgpSession.maxPrefixesAdvertisedV6 == INTEGER
    input.Body.properties.direct.connections[_].bgpSession.md5AuthenticationKey == STRING
    input.Body.properties.direct.connections[_].connectionIdentifier == STRING
    input.Body.properties.direct.peerAsn.id == STRING
    input.Body.properties.direct.directPeeringType == enum_PeeringPropertiesDirectDirectPeeringType[_]
    input.Body.properties.exchange.connections[_].peeringDBFacilityId == INTEGER
    input.Body.properties.exchange.connections[_].bgpSession.sessionPrefixV4 == STRING
    input.Body.properties.exchange.connections[_].bgpSession.sessionPrefixV6 == STRING
    input.Body.properties.exchange.connections[_].bgpSession.microsoftSessionIPv4Address == STRING
    input.Body.properties.exchange.connections[_].bgpSession.microsoftSessionIPv6Address == STRING
    input.Body.properties.exchange.connections[_].bgpSession.peerSessionIPv4Address == STRING
    input.Body.properties.exchange.connections[_].bgpSession.peerSessionIPv6Address == STRING
    input.Body.properties.exchange.connections[_].bgpSession.maxPrefixesAdvertisedV4 == INTEGER
    input.Body.properties.exchange.connections[_].bgpSession.maxPrefixesAdvertisedV6 == INTEGER
    input.Body.properties.exchange.connections[_].bgpSession.md5AuthenticationKey == STRING
    input.Body.properties.exchange.connections[_].connectionIdentifier == STRING
    input.Body.properties.exchange.peerAsn.id == STRING
    input.Body.properties.peeringLocation == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Peerings_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Peerings_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Peerings_ListByResourceGroup

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Peerings_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Peerings_Update

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Prefixes_CreateOrUpdate

valid {
    input.Body.properties.prefix == STRING
    input.Body.properties.peeringServicePrefixKey == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringServiceName == STRING
    input.ReqMap.prefixName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Prefixes_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringServiceName == STRING
    input.ReqMap.prefixName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Prefixes_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringServiceName == STRING
    input.ReqMap.prefixName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.$expand == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Prefixes_ListByPeeringService

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.$expand == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ReceivedRoutes_ListByPeering

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.prefix == STRING
    input.Qs.asPath == STRING
    input.Qs.originAsValidationState == STRING
    input.Qs.rpkiValidationState == STRING
    input.Qs.$skipToken == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RegisteredAsns_CreateOrUpdate

valid {
    input.Body.properties.asn == INTEGER
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.registeredAsnName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RegisteredAsns_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.registeredAsnName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RegisteredAsns_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.registeredAsnName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RegisteredAsns_ListByPeering

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RegisteredPrefixes_CreateOrUpdate

valid {
    input.Body.properties.prefix == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.registeredPrefixName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RegisteredPrefixes_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.registeredPrefixName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RegisteredPrefixes_Get

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.registeredPrefixName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RegisteredPrefixes_ListByPeering

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RegisteredPrefixes_Validate

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.registeredPrefixName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RpUnbilledPrefixes_List

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.peeringName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.consolidate == BOOLEAN
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}