diff --git a/schemas/2018-05-01/subscriptionDeploymentTemplate.json b/schemas/2018-05-01/subscriptionDeploymentTemplate.json index f44a37bd91..9b36b6f456 100644 --- a/schemas/2018-05-01/subscriptionDeploymentTemplate.json +++ b/schemas/2018-05-01/subscriptionDeploymentTemplate.json @@ -342,6 +342,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2021-01-01/Microsoft.Peering.json#/subscription_resourceDefinitions/peerAsns" }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Peering.json#/subscription_resourceDefinitions/peerAsns" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-07-01-preview/Microsoft.PolicyInsights.json#/subscription_resourceDefinitions/remediations" }, diff --git a/schemas/2021-06-01/Microsoft.Peering.json b/schemas/2021-06-01/Microsoft.Peering.json new file mode 100644 index 0000000000..86940f109e --- /dev/null +++ b/schemas/2021-06-01/Microsoft.Peering.json @@ -0,0 +1,1030 @@ +{ + "id": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Peering.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Peering", + "description": "Microsoft Peering Resource Types", + "resourceDefinitions": { + "peerings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Direct", + "Exchange" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The kind of the peering." + }, + "location": { + "type": "string", + "description": "The location of the resource." + }, + "name": { + "type": "string", + "description": "The name of the peering." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PeeringProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties that define connectivity to the Microsoft Cloud Edge." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/peerings_registeredAsns_childResource" + }, + { + "$ref": "#/definitions/peerings_registeredPrefixes_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/PeeringSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU that defines the tier and kind of the peering." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Peering/peerings" + ] + } + }, + "required": [ + "apiVersion", + "kind", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.Peering/peerings" + }, + "peeringServices": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource." + }, + "name": { + "type": "string", + "description": "The name of the peering service." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PeeringServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties that define connectivity to the Peering Service." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/peeringServices_connectionMonitorTests_childResource" + }, + { + "$ref": "#/definitions/peeringServices_prefixes_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/PeeringServiceSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU that defines the type of the peering service." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Peering/peeringServices" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Peering/peeringServices" + }, + "peeringServices_connectionMonitorTests": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the connection monitor test" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionMonitorTestProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties that define a Connection Monitor Test." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Peering/peeringServices/connectionMonitorTests" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Peering/peeringServices/connectionMonitorTests" + }, + "peeringServices_prefixes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the prefix." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PeeringServicePrefixProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The peering service prefix properties class." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Peering/peeringServices/prefixes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Peering/peeringServices/prefixes" + }, + "peerings_registeredAsns": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the ASN." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PeeringRegisteredAsnProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties that define a registered ASN." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Peering/peerings/registeredAsns" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Peering/peerings/registeredAsns" + }, + "peerings_registeredPrefixes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the registered prefix." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PeeringRegisteredPrefixProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties that define a registered prefix." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Peering/peerings/registeredPrefixes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Peering/peerings/registeredPrefixes" + } + }, + "subscription_resourceDefinitions": { + "peerAsns": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "The peer ASN name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PeerAsnProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties that define a peer's ASN." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Peering/peerAsns" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Peering/peerAsns" + } + }, + "definitions": { + "BgpSession": { + "type": "object", + "properties": { + "maxPrefixesAdvertisedV4": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum number of prefixes advertised over the IPv4 session." + }, + "maxPrefixesAdvertisedV6": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum number of prefixes advertised over the IPv6 session." + }, + "md5AuthenticationKey": { + "type": "string", + "description": "The MD5 authentication key of the session." + }, + "microsoftSessionIPv4Address": { + "type": "string", + "description": "The IPv4 session address on Microsoft's end." + }, + "microsoftSessionIPv6Address": { + "type": "string", + "description": "The IPv6 session address on Microsoft's end." + }, + "peerSessionIPv4Address": { + "type": "string", + "description": "The IPv4 session address on peer's end." + }, + "peerSessionIPv6Address": { + "type": "string", + "description": "The IPv6 session address on peer's end." + }, + "sessionPrefixV4": { + "type": "string", + "description": "The IPv4 prefix that contains both ends' IPv4 addresses." + }, + "sessionPrefixV6": { + "type": "string", + "description": "The IPv4 prefix that contains both ends' IPv4 addresses." + } + }, + "description": "The properties that define a BGP session." + }, + "ConnectionMonitorTestProperties": { + "type": "object", + "properties": { + "destination": { + "type": "string", + "description": "The Connection Monitor test destination" + }, + "destinationPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Connection Monitor test destination port" + }, + "sourceAgent": { + "type": "string", + "description": "The Connection Monitor test source agent" + }, + "testFrequencyInSec": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Connection Monitor test frequency in seconds" + } + }, + "description": "The properties that define a Connection Monitor Test." + }, + "ContactDetail": { + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "The e-mail address of the contact." + }, + "phone": { + "type": "string", + "description": "The phone number of the contact." + }, + "role": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Noc", + "Policy", + "Technical", + "Service", + "Escalation", + "Other" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The role of the contact." + } + }, + "description": "The contact detail class." + }, + "DirectConnection": { + "type": "object", + "properties": { + "bandwidthInMbps": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The bandwidth of the connection." + }, + "bgpSession": { + "oneOf": [ + { + "$ref": "#/definitions/BgpSession" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties that define a BGP session." + }, + "connectionIdentifier": { + "type": "string", + "description": "The unique identifier (GUID) for the connection." + }, + "peeringDBFacilityId": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The PeeringDB.com ID of the facility at which the connection has to be set up." + }, + "sessionAddressProvider": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Microsoft", + "Peer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The field indicating if Microsoft provides session ip addresses." + }, + "useForPeeringService": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The flag that indicates whether or not the connection is used for peering service." + } + }, + "description": "The properties that define a direct connection." + }, + "ExchangeConnection": { + "type": "object", + "properties": { + "bgpSession": { + "oneOf": [ + { + "$ref": "#/definitions/BgpSession" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties that define a BGP session." + }, + "connectionIdentifier": { + "type": "string", + "description": "The unique identifier (GUID) for the connection." + }, + "peeringDBFacilityId": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The PeeringDB.com ID of the facility at which the connection has to be set up." + } + }, + "description": "The properties that define an exchange connection." + }, + "LogAnalyticsWorkspaceProperties": { + "type": "object", + "properties": {}, + "description": "The properties that define a Log Analytics Workspace." + }, + "PeerAsnProperties": { + "type": "object", + "properties": { + "peerAsn": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Autonomous System Number (ASN) of the peer." + }, + "peerContactDetail": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ContactDetail" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The contact details of the peer." + }, + "peerName": { + "type": "string", + "description": "The name of the peer." + } + }, + "description": "The properties that define a peer's ASN." + }, + "PeeringProperties": { + "type": "object", + "properties": { + "direct": { + "oneOf": [ + { + "$ref": "#/definitions/PeeringPropertiesDirect" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties that define a direct peering." + }, + "exchange": { + "oneOf": [ + { + "$ref": "#/definitions/PeeringPropertiesExchange" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties that define an exchange peering." + }, + "peeringLocation": { + "type": "string", + "description": "The location of the peering." + } + }, + "description": "The properties that define connectivity to the Microsoft Cloud Edge." + }, + "PeeringPropertiesDirect": { + "type": "object", + "properties": { + "connections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DirectConnection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of connections that constitute a direct peering." + }, + "directPeeringType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Edge", + "Transit", + "Cdn", + "Internal", + "Ix", + "IxRs", + "Voice" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of direct peering." + }, + "peerAsn": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sub resource." + } + }, + "description": "The properties that define a direct peering." + }, + "PeeringPropertiesExchange": { + "type": "object", + "properties": { + "connections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ExchangeConnection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of connections that constitute an exchange peering." + }, + "peerAsn": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sub resource." + } + }, + "description": "The properties that define an exchange peering." + }, + "PeeringRegisteredAsnProperties": { + "type": "object", + "properties": { + "asn": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The customer's ASN from which traffic originates." + } + }, + "description": "The properties that define a registered ASN." + }, + "PeeringRegisteredPrefixProperties": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "description": "The customer's prefix from which traffic originates." + } + }, + "description": "The properties that define a registered prefix." + }, + "PeeringServicePrefixProperties": { + "type": "object", + "properties": { + "peeringServicePrefixKey": { + "type": "string", + "description": "The peering service prefix key" + }, + "prefix": { + "type": "string", + "description": "The prefix from which your traffic originates." + } + }, + "description": "The peering service prefix properties class." + }, + "PeeringServiceProperties": { + "type": "object", + "properties": { + "logAnalyticsWorkspaceProperties": { + "oneOf": [ + { + "$ref": "#/definitions/LogAnalyticsWorkspaceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties that define a Log Analytics Workspace." + }, + "peeringServiceLocation": { + "type": "string", + "description": "The location (state/province) of the customer." + }, + "peeringServiceProvider": { + "type": "string", + "description": "The name of the service provider." + }, + "providerBackupPeeringLocation": { + "type": "string", + "description": "The backup peering (Microsoft/service provider) location to be used for customer traffic." + }, + "providerPrimaryPeeringLocation": { + "type": "string", + "description": "The primary peering (Microsoft/service provider) location to be used for customer traffic." + } + }, + "description": "The properties that define connectivity to the Peering Service." + }, + "PeeringServiceSku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the peering service SKU." + } + }, + "description": "The SKU that defines the type of the peering service." + }, + "peeringServices_connectionMonitorTests_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the connection monitor test" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionMonitorTestProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties that define a Connection Monitor Test." + }, + "type": { + "type": "string", + "enum": [ + "connectionMonitorTests" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Peering/peeringServices/connectionMonitorTests" + }, + "peeringServices_prefixes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the prefix." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PeeringServicePrefixProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The peering service prefix properties class." + }, + "type": { + "type": "string", + "enum": [ + "prefixes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Peering/peeringServices/prefixes" + }, + "PeeringSku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the peering SKU." + } + }, + "description": "The SKU that defines the tier and kind of the peering." + }, + "peerings_registeredAsns_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the ASN." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PeeringRegisteredAsnProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties that define a registered ASN." + }, + "type": { + "type": "string", + "enum": [ + "registeredAsns" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Peering/peerings/registeredAsns" + }, + "peerings_registeredPrefixes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the registered prefix." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PeeringRegisteredPrefixProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties that define a registered prefix." + }, + "type": { + "type": "string", + "enum": [ + "registeredPrefixes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Peering/peerings/registeredPrefixes" + }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier of the referenced resource." + } + }, + "description": "The sub resource." + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 7df7b1fc0a..68ee84888c 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -7129,6 +7129,24 @@ { "$ref": "https://schema.management.azure.com/schemas/2021-01-01/Microsoft.Peering.json#/resourceDefinitions/peeringServices_prefixes" }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Peering.json#/resourceDefinitions/peerings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Peering.json#/resourceDefinitions/peerings_registeredAsns" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Peering.json#/resourceDefinitions/peerings_registeredPrefixes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Peering.json#/resourceDefinitions/peeringServices" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Peering.json#/resourceDefinitions/peeringServices_connectionMonitorTests" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Peering.json#/resourceDefinitions/peeringServices_prefixes" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-07-01-preview/Microsoft.PolicyInsights.json#/resourceDefinitions/remediations" },