diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterDelete.json new file mode 100644 index 000000000000..2db93a5b212a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterDelete.json @@ -0,0 +1,13 @@ +{ + "title": "Delete Network Security Perimeter", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "testNSP1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterGet.json new file mode 100644 index 000000000000..9e5eb77c0b3a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterGet.json @@ -0,0 +1,24 @@ +{ + "title": "Get Network Security Perimeter", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1" + }, + "responses": { + "200": { + "body": { + "name": "nsp1", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1", + "type": "Microsoft.Network/networkSecurityPerimeters", + "tags": {}, + "location": "East US 2 EUAP", + "properties": { + "perimeterGuid": "guid", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterList.json new file mode 100644 index 000000000000..f36e9253a8eb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterList.json @@ -0,0 +1,39 @@ +{ + "title": "List Network Security Perimeter", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testNSP1", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/testNSP1", + "type": "Microsoft.Network/networkSecurityPerimeters", + "tags": {}, + "location": "East US 2 EUAP", + "properties": { + "perimeterGuid": "guid", + "provisioningState": "Succeeded" + } + }, + { + "name": "testNSP2", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/testNSP2", + "type": "Microsoft.Network/networkSecurityPerimeters", + "tags": {}, + "location": "East US 2 EUAP", + "properties": { + "perimeterGuid": "guid", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters?api-version=2023-07-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterListAll.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterListAll.json new file mode 100644 index 000000000000..322b5cdce505 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterListAll.json @@ -0,0 +1,38 @@ +{ + "title": "List all the Network Security Perimeters in a Subscription", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testNSP1", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/testNSP1", + "type": "Microsoft.Network/networkSecurityPerimeters", + "tags": {}, + "location": "East US 2 EUAP", + "properties": { + "perimeterGuid": "guid", + "provisioningState": "Succeeded" + } + }, + { + "name": "testNSP2", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/testNSP2", + "type": "Microsoft.Network/networkSecurityPerimeters", + "tags": {}, + "location": "East US 2 EUAP", + "properties": { + "perimeterGuid": "guid", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/providers/Microsoft.Network/networkSecurityPerimeters?api-version=2023-07-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterPatch.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterPatch.json new file mode 100644 index 000000000000..ddae2d4f4bdd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterPatch.json @@ -0,0 +1,31 @@ +{ + "title": "Patch Network Security Perimeter", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "parameters": { + "tags": { + "description": "nsp1" + } + } + }, + "responses": { + "200": { + "body": { + "name": "TestNetworkSecurityPerimeter", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter", + "type": "Microsoft.Network/networkSecurityPerimeters", + "tags": { + "description": "nsp1" + }, + "location": "East US 2 EUAP", + "properties": { + "perimeterGuid": "guid", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterPut.json new file mode 100644 index 000000000000..5091728ccb6a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NetworkSecurityPerimeterPut.json @@ -0,0 +1,40 @@ +{ + "title": "Create/Update Network Security Perimeter", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "TestNetworkSecurityPerimeter", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter", + "type": "Microsoft.Network/networkSecurityPerimeters", + "tags": {}, + "location": "East US 2 EUAP", + "properties": { + "perimeterGuid": "guid", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "TestNetworkSecurityPerimeter", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter", + "type": "Microsoft.Network/networkSecurityPerimeters", + "tags": {}, + "location": "East US 2 EUAP", + "properties": { + "perimeterGuid": "guid", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleDelete.json new file mode 100644 index 000000000000..4b578ad8d6ad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleDelete.json @@ -0,0 +1,15 @@ +{ + "title": "Delete NSP access rule", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1", + "accessRuleName": "accessRule1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleGet.json new file mode 100644 index 000000000000..cb4562e65c5d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleGet.json @@ -0,0 +1,33 @@ +{ + "title": "Get NSP Access Rule", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1", + "accessRuleName": "accessRule1" + }, + "responses": { + "200": { + "body": { + "name": "accessRule1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules", + "properties": { + "provisioningState": "Succeeded", + "direction": "Outbound", + "addressPrefixes": [], + "fullyQualifiedDomainNames": [ + "paasrp1.contoso.org", + "paasrp2.contoso.org" + ], + "subscriptions": [], + "networkSecurityPerimeters": [], + "emailAddresses": [], + "phoneNumbers": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleList.json new file mode 100644 index 000000000000..014d5fd8ce82 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleList.json @@ -0,0 +1,55 @@ +{ + "title": "List NSP Access Rules", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "accessRule1", + "id": "/subscriptions/rg1/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules", + "properties": { + "provisioningState": "Succeeded", + "direction": "Inbound", + "addressPrefixes": [ + "10.11.0.0/16", + "10.10.1.0/24" + ], + "fullyQualifiedDomainNames": [], + "subscriptions": [], + "networkSecurityPerimeters": [], + "emailAddresses": [], + "phoneNumbers": [] + } + }, + { + "name": "accessRule2", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule2", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules", + "properties": { + "provisioningState": "Succeeded", + "direction": "Outbound", + "addressPrefixes": [], + "fullyQualifiedDomainNames": [ + "paasrp1.contoso.org", + "paasrp2.contoso.org" + ], + "subscriptions": [], + "networkSecurityPerimeters": [], + "emailAddresses": [], + "phoneNumbers": [] + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules?api-version=2023-07-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRulePut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRulePut.json new file mode 100644 index 000000000000..5a7695020a4c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRulePut.json @@ -0,0 +1,62 @@ +{ + "title": "Create/Update NSP access rule", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1", + "accessRuleName": "accessRule1", + "parameters": { + "properties": { + "direction": "Inbound", + "addressPrefixes": [ + "10.11.0.0/16", + "10.10.1.0/24" + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "accessRule1", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules", + "properties": { + "provisioningState": "Succeeded", + "direction": "Inbound", + "addressPrefixes": [ + "10.11.0.0/16", + "10.10.1.0/24" + ], + "fullyQualifiedDomainNames": [], + "subscriptions": [], + "networkSecurityPerimeters": [], + "emailAddresses": [], + "phoneNumbers": [] + } + } + }, + "201": { + "body": { + "name": "accessRule1", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules", + "properties": { + "provisioningState": "Succeeded", + "direction": "Inbound", + "addressPrefixes": [ + "10.11.0.0/16", + "10.10.1.0/24" + ], + "fullyQualifiedDomainNames": [], + "subscriptions": [], + "networkSecurityPerimeters": [], + "emailAddresses": [], + "phoneNumbers": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleReconcile.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleReconcile.json new file mode 100644 index 000000000000..24f9009f9ede --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAccessRuleReconcile.json @@ -0,0 +1,19 @@ +{ + "title": "Reconcile NSP access rule", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1", + "accessRuleName": "accessRuleName1", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationDelete.json new file mode 100644 index 000000000000..1fc619039041 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationDelete.json @@ -0,0 +1,20 @@ +{ + "title": "Delete NSP resource association", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "associationName": "association1", + "operationId": "operationId1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}/operationResults/{operationId}?api-version={api-version}" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationGet.json new file mode 100644 index 000000000000..d856a17237ca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationGet.json @@ -0,0 +1,30 @@ +{ + "title": "Get NSP resource association", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "associationName": "association1" + }, + "responses": { + "200": { + "body": { + "name": "association1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1", + "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "Enforced", + "hasProvisioningIssues": "no" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationList.json new file mode 100644 index 000000000000..8f8f42ef156d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationList.json @@ -0,0 +1,66 @@ +{ + "title": "List NSP resource associations", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "association1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1", + "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "Enforced", + "hasProvisioningIssues": "no" + } + }, + { + "name": "association2", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association2", + "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "Audit", + "hasProvisioningIssues": "no" + } + }, + { + "name": "association3", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association3", + "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations", + "properties": { + "provisioningState": "Failed", + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "Learning", + "hasProvisioningIssues": "yes" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations?api-version=2023-07-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationPut.json new file mode 100644 index 000000000000..b95be9452591 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationPut.json @@ -0,0 +1,59 @@ +{ + "title": "Create/Update NSP association", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "associationName": "association1", + "parameters": { + "properties": { + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "Enforced" + } + } + }, + "responses": { + "200": { + "body": { + "name": "association1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1", + "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "Enforced", + "hasProvisioningIssues": "no" + } + } + }, + "201": { + "body": { + "name": "association1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1", + "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "Enforced", + "hasProvisioningIssues": "no" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationReconcile.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationReconcile.json new file mode 100644 index 000000000000..3b76bad3e85d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspAssociationReconcile.json @@ -0,0 +1,18 @@ +{ + "title": "Reconcile NSP association", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "associationName": "association1", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkDelete.json new file mode 100644 index 000000000000..4a92393a1cbf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkDelete.json @@ -0,0 +1,19 @@ +{ + "title": "Delete NSP link", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "linkName": "link1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}/operationResults/{operationId}?api-version={api-version}" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkGet.json new file mode 100644 index 000000000000..9b19b7596946 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkGet.json @@ -0,0 +1,39 @@ +{ + "title": "Get NSP Link", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "linkName": "link1" + }, + "responses": { + "200": { + "body": { + "name": "link1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links/link1", + "type": "Microsoft.Network/networkSecurityPerimeters/links", + "properties": { + "provisioningState": "Succeeded", + "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2", + "remotePerimeterGuid": "guid", + "remotePerimeterLocation": "westus2", + "localInboundProfiles": [ + "*" + ], + "localOutboundProfiles": [ + "*" + ], + "remoteInboundProfiles": [ + "*" + ], + "remoteOutboundProfiles": [ + "*" + ], + "description": "Auto Approved", + "status": "Approved" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkList.json new file mode 100644 index 000000000000..98c3176e9456 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkList.json @@ -0,0 +1,43 @@ +{ + "title": "List NSP Links", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "link1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links/link1", + "type": "Microsoft.Network/networkSecurityPerimeters/links", + "properties": { + "provisioningState": "Succeeded", + "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2", + "remotePerimeterGuid": "guid", + "remotePerimeterLocation": "westus2", + "localInboundProfiles": [ + "*" + ], + "localOutboundProfiles": [ + "*" + ], + "remoteInboundProfiles": [ + "*" + ], + "remoteOutboundProfiles": [ + "*" + ], + "description": "Auto Approved", + "status": "Approved" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links?api-version=2023-07-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkPut.json new file mode 100644 index 000000000000..ead8047f63bb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkPut.json @@ -0,0 +1,71 @@ +{ + "title": "Create/Update NSP link", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "linkName": "link1", + "parameters": { + "properties": { + "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "link1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links/link1", + "type": "Microsoft.Network/networkSecurityPerimeters/links", + "properties": { + "provisioningState": "Succeeded", + "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2", + "remotePerimeterGuid": "guid", + "remotePerimeterLocation": "westus2", + "localInboundProfiles": [ + "*" + ], + "localOutboundProfiles": [ + "*" + ], + "remoteInboundProfiles": [ + "*" + ], + "remoteOutboundProfiles": [ + "*" + ], + "description": "Auto Approved", + "status": "Approved" + } + } + }, + "201": { + "body": { + "name": "link1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links/link1", + "type": "Microsoft.Network/networkSecurityPerimeters/links", + "properties": { + "provisioningState": "Succeeded", + "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2", + "remotePerimeterGuid": "guid", + "remotePerimeterLocation": "westus2", + "localInboundProfiles": [ + "*" + ], + "localOutboundProfiles": [ + "*" + ], + "remoteInboundProfiles": [ + "*" + ], + "remoteOutboundProfiles": [ + "*" + ], + "description": "Auto Approved", + "status": "Approved" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkReferenceDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkReferenceDelete.json new file mode 100644 index 000000000000..c937afbc14c8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkReferenceDelete.json @@ -0,0 +1,19 @@ +{ + "title": "Delete NSP linkReference", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp2", + "linkReferenceName": "link1-guid" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkreferences/{linkReferenceName}/operationResults/{operationId}?api-version={api-version}" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkReferenceGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkReferenceGet.json new file mode 100644 index 000000000000..c30039d4d9dd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkReferenceGet.json @@ -0,0 +1,39 @@ +{ + "title": "Get NSP LinkReference", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp2", + "linkReferenceName": "link1-guid" + }, + "responses": { + "200": { + "body": { + "name": "link1-guid", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2/linkreferences/link1-guid", + "type": "Microsoft.Network/networkSecurityPerimeters/linkreferences", + "properties": { + "provisioningState": "Succeeded", + "remotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1", + "remotePerimeterGuid": "guid", + "remotePerimeterLocation": "westus2", + "localInboundProfiles": [ + "*" + ], + "localOutboundProfiles": [ + "*" + ], + "remoteInboundProfiles": [ + "*" + ], + "remoteOutboundProfiles": [ + "*" + ], + "description": "Auto Approved", + "status": "Approved" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkReferenceList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkReferenceList.json new file mode 100644 index 000000000000..0fef1778216d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspLinkReferenceList.json @@ -0,0 +1,43 @@ +{ + "title": "List NSP LinkReferences", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "link1-guid", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2/linkreferences/link1-guid", + "type": "Microsoft.Network/networkSecurityPerimeters/linkreferences", + "properties": { + "provisioningState": "Succeeded", + "remotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1", + "remotePerimeterGuid": "guid", + "remotePerimeterLocation": "westus2", + "localInboundProfiles": [ + "*" + ], + "localOutboundProfiles": [ + "*" + ], + "remoteInboundProfiles": [ + "*" + ], + "remoteOutboundProfiles": [ + "*" + ], + "description": "Auto Approved", + "status": "Approved" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2/linkreferences?api-version=2023-07-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfileDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfileDelete.json new file mode 100644 index 000000000000..6da48f57d58d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfileDelete.json @@ -0,0 +1,14 @@ +{ + "title": "Delete NSP profile", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfileGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfileGet.json new file mode 100644 index 000000000000..8a8abb280a3e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfileGet.json @@ -0,0 +1,24 @@ +{ + "title": "Get NSP Profile", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "name": "nsp1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles", + "location": "resource location", + "properties": { + "accessRulesVersion": "0", + "diagnosticSettingsVersion": "0" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfileList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfileList.json new file mode 100644 index 000000000000..01827c37ad7e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfileList.json @@ -0,0 +1,38 @@ +{ + "title": "List NSP Profiles", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "profile1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles", + "location": "resource location", + "properties": { + "accessRulesVersion": "0", + "diagnosticSettingsVersion": "0" + } + }, + { + "name": "profile2", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile2", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles", + "location": "resource location", + "properties": { + "accessRulesVersion": "0", + "diagnosticSettingsVersion": "0" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles?api-version=2023-07-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfilePut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfilePut.json new file mode 100644 index 000000000000..2cec3df3e208 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/NspProfilePut.json @@ -0,0 +1,39 @@ +{ + "title": "Create/Update NSP profile", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "profile1", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles", + "location": "East US 2 EUAP", + "properties": { + "accessRulesVersion": "0", + "diagnosticSettingsVersion": "0" + } + } + }, + "201": { + "body": { + "name": "profile1", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles", + "location": "East US 2 EUAP", + "properties": { + "accessRulesVersion": "0", + "diagnosticSettingsVersion": "0" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/PerimeterAssociableResourcesList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/PerimeterAssociableResourcesList.json new file mode 100644 index 000000000000..c82245dfd3d2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/examples/PerimeterAssociableResourcesList.json @@ -0,0 +1,44 @@ +{ + "title": "List of resources onboarded for network security perimeter feature (perimeter associable resources).", + "parameters": { + "api-version": "2023-07-01-preview", + "subscriptionId": "subId", + "location": "westus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Sql.servers", + "id": "/subscriptions/{subscriptionID}/providers/Microsoft.Network/perimeterAssociableResourceTypes/Microsoft.Sql.servers", + "type": "Microsoft.Network/PerimeterAssociableResourceTypes", + "properties": { + "resourceType": "Microsoft.Sql/servers", + "displayName": "Microsoft.Sql/servers", + "publicDnsZones": [ + "database.windows.net" + ] + } + }, + { + "name": "Microsoft.Storage.accounts", + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Network/perimeterAssociableResourceTypes/Microsoft.Storage.storageAccounts", + "type": "Microsoft.Network/PerimeterAssociableResourceTypes", + "properties": { + "resourceType": "Microsoft.Storage/accounts", + "displayName": "Microsoft.Storage/accounts", + "publicDnsZones": [ + "blob.core.windows.net", + "table.core.windows.net", + "queue.core.windows.net", + "file.core.windows.net" + ] + } + } + ], + "nextLink": "{baseurl}/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/perimeterAssociableResourceTypes?api-version=2023-07-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/network.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/network.json new file mode 100644 index 000000000000..08278d92b720 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/network.json @@ -0,0 +1,438 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-07-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ErrorDetails": { + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "message": { + "type": "string", + "description": "Error message." + } + }, + "description": "Common error details representation." + }, + "Error": { + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetails" + }, + "description": "Error details." + }, + "innerError": { + "type": "string", + "description": "Inner error message." + } + }, + "description": "Common error representation." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Cloud error body." + } + }, + "description": "An error response from the service." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the service." + }, + "AzureAsyncOperationResult": { + "properties": { + "status": { + "type": "string", + "description": "Status of the Azure async operation.", + "enum": [ + "InProgress", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "NetworkOperationStatus", + "modelAsString": true + } + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Details of the error occurred during specified asynchronous operation." + } + }, + "description": "The response body contains the status of the specified asynchronous operation, indicating whether it has succeeded, is in progress, or has failed. Note that this status is distinct from the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous operation succeeded, the response body includes the HTTP status code for the successful request. If the asynchronous operation failed, the response body includes the HTTP status code for the failed request and error information regarding the failure." + }, + "Resource": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Common resource representation.", + "x-ms-azure-resource": true + }, + "ProxyResource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "description": "Proxy resource representation.", + "x-ms-azure-resource": true + }, + "SubResource": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + }, + "description": "Reference to another subresource.", + "x-ms-azure-resource": true + }, + "TagsObject": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The type of identity that last modified the resource." + } + } + }, + "ManagedServiceIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + }, + "description": "The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the resource." + }, + "ProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "Access": { + "type": "string", + "description": "Access to be allowed or denied.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "Access", + "modelAsString": true + } + }, + "AuthenticationMethod": { + "type": "string", + "description": "VPN client authentication method.", + "enum": [ + "EAPTLS", + "EAPMSCHAPv2" + ], + "x-ms-enum": { + "name": "AuthenticationMethod", + "modelAsString": true + } + }, + "IPAllocationMethod": { + "type": "string", + "description": "IP address allocation method.", + "enum": [ + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "IPAllocationMethod", + "modelAsString": true + } + }, + "IPVersion": { + "type": "string", + "description": "IP address version.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "IPVersion", + "modelAsString": true + } + }, + "ExtendedLocationType": { + "type": "string", + "description": "The supported ExtendedLocation types. Currently only EdgeZone is supported in Microsoft.Network resources.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "description": "ExtendedLocation complex type.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + }, + "ApiVersionVmssParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "2017-03-30" + ], + "x-ms-enum": { + "name": "ApiVersion", + "modelAsString": true + }, + "description": "Client API version." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/networkSecurityPerimeter.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/networkSecurityPerimeter.json new file mode 100644 index 000000000000..98530d9b7e6d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-07-01-preview/networkSecurityPerimeter.json @@ -0,0 +1,2069 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkSecurityPerimeter", + "description": "The Network Security Perimeter API provides a RESTful set of web services that interact with network security perimeter resource.", + "version": "2023-07-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "NetworkSecurityPerimeters" + ], + "operationId": "NetworkSecurityPerimeters_Get", + "description": "Gets the specified network security perimeter by the name.", + "responses": { + "200": { + "description": "Request is successful. Returns the resulting network security perimeter resource.", + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkSecurityPerimeterGet": { + "$ref": "./examples/NetworkSecurityPerimeterGet.json" + } + } + }, + "put": { + "tags": [ + "NetworkSecurityPerimeters" + ], + "operationId": "NetworkSecurityPerimeters_CreateOrUpdate", + "description": "Creates or updates a Network Security Perimeter.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeter" + }, + "description": "Parameter supplied to create or update the network security perimeter." + } + ], + "responses": { + "200": { + "description": "Resource Updated. Returns the network security perimeter.", + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeter" + } + }, + "201": { + "description": "Resource Created. Returns the network security perimeter.", + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Put Network Security Perimeter": { + "$ref": "./examples/NetworkSecurityPerimeterPut.json" + } + } + }, + "delete": { + "tags": [ + "NetworkSecurityPerimeters" + ], + "operationId": "NetworkSecurityPerimeters_Delete", + "description": "Deletes a network security perimeter.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkSecurityPerimeterDelete": { + "$ref": "./examples/NetworkSecurityPerimeterDelete.json" + } + } + }, + "patch": { + "tags": [ + "NetworkSecurityPerimeters" + ], + "operationId": "NetworkSecurityPerimeters_Patch", + "description": "Patch Tags for a Network Security Perimeter.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateTagsRequest" + }, + "description": "Parameter supplied to the network security perimeter." + } + ], + "responses": { + "200": { + "description": "Request is successful. Returns the resulting network security perimeter resource.", + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Patch Network Security Perimeter": { + "$ref": "./examples/NetworkSecurityPerimeterPatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityPerimeters": { + "get": { + "tags": [ + "NetworkSecurityPerimeters" + ], + "operationId": "NetworkSecurityPerimeters_ListBySubscription", + "description": "List all network security perimeters in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. Returns the list of the network security perimeters.", + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "NetworkSecurityPerimetersList": { + "$ref": "./examples/NetworkSecurityPerimeterListAll.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters": { + "get": { + "tags": [ + "NetworkSecurityPerimeters" + ], + "operationId": "NetworkSecurityPerimeters_List", + "description": "List network security perimeters in a resource group.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. Returns a list of network security perimeters.", + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Network Security Perimeter": { + "$ref": "./examples/NetworkSecurityPerimeterList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/ProfileNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "NspProfiles" + ], + "operationId": "NspProfiles_Get", + "description": "Gets the specified NSP profile.", + "responses": { + "200": { + "description": "OK - Returns information about the NSP profile.", + "schema": { + "$ref": "#/definitions/NspProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspProfilesGet": { + "$ref": "./examples/NspProfileGet.json" + } + } + }, + "put": { + "tags": [ + "NspProfiles" + ], + "operationId": "NspProfiles_CreateOrUpdate", + "description": "Creates or updates a network profile.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NspProfile" + }, + "description": "Parameters that hold the NspProfile resource to be created/updated." + } + ], + "responses": { + "200": { + "description": "Update - Profile is immutable resource. Returns the existing profile resource.", + "schema": { + "$ref": "#/definitions/NspProfile" + } + }, + "201": { + "description": "Create - Returns the NspProfile resource created.", + "schema": { + "$ref": "#/definitions/NspProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspProfilesPut": { + "$ref": "./examples/NspProfilePut.json" + } + } + }, + "delete": { + "tags": [ + "NspProfiles" + ], + "operationId": "NspProfiles_Delete", + "description": "Deletes an NSP profile.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspProfilesDelete": { + "$ref": "./examples/NspProfileDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles": { + "get": { + "tags": [ + "NspProfiles" + ], + "operationId": "NspProfiles_List", + "description": "Lists the NSP profiles in the specified network security perimeter.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the list of NSP profiles.", + "schema": { + "$ref": "#/definitions/NspProfileListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspProfilesList": { + "$ref": "./examples/NspProfileList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/ProfileNameParameter" + }, + { + "$ref": "#/parameters/AccessRuleNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "NspAccessRules" + ], + "operationId": "NspAccessRules_Get", + "description": "Gets the specified NSP access rule by name.", + "responses": { + "200": { + "description": "OK - Returns information about the NSP access rule.", + "schema": { + "$ref": "#/definitions/NspAccessRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAccessRuleGet": { + "$ref": "./examples/NspAccessRuleGet.json" + } + } + }, + "put": { + "tags": [ + "NspAccessRules" + ], + "operationId": "NspAccessRules_CreateOrUpdate", + "description": "Creates or updates a network access rule.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NspAccessRule" + }, + "description": "Parameters that hold the NspAccessRule resource to be created/updated." + } + ], + "responses": { + "200": { + "description": "Updated - Existing access rule is updated. Returns the resource.", + "schema": { + "$ref": "#/definitions/NspAccessRule" + } + }, + "201": { + "description": "Create - Returns the NspAccessRule resource created.", + "schema": { + "$ref": "#/definitions/NspAccessRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAccessRulePut": { + "$ref": "./examples/NspAccessRulePut.json" + } + } + }, + "delete": { + "tags": [ + "NspAccessRules" + ], + "operationId": "NspAccessRules_Delete", + "description": "Deletes an NSP access rule.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAccessRulesDelete": { + "$ref": "./examples/NspAccessRuleDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules": { + "get": { + "tags": [ + "NspAccessRules" + ], + "operationId": "NspAccessRules_List", + "description": "Lists the NSP access rules in the specified NSP profile.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/ProfileNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the list of NSP access rules.", + "schema": { + "$ref": "#/definitions/NspAccessRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAccessRulesList": { + "$ref": "./examples/NspAccessRuleList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/AssociationNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "NspAssociations" + ], + "operationId": "NspAssociations_Get", + "description": "Gets the specified NSP association by name.", + "responses": { + "200": { + "description": "OK - Returns information about the NSP resource association.", + "schema": { + "$ref": "#/definitions/NspAssociation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAssociationGet": { + "$ref": "./examples/NspAssociationGet.json" + } + } + }, + "put": { + "tags": [ + "NspAssociations" + ], + "operationId": "NspAssociations_CreateOrUpdate", + "description": "Creates or updates a NSP resource association.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NspAssociation" + }, + "description": "Parameters that hold the NspAssociation resource to be created/updated." + } + ], + "responses": { + "200": { + "description": "Updated - Existing resource association is updated. Returns the resource.", + "schema": { + "$ref": "#/definitions/NspAssociation" + } + }, + "201": { + "description": "Create - Returns the NspAssociation resource created.", + "schema": { + "$ref": "#/definitions/NspAssociation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAssociationPut": { + "$ref": "./examples/NspAssociationPut.json" + } + } + }, + "delete": { + "tags": [ + "NspAssociations" + ], + "operationId": "NspAssociations_Delete", + "description": "Deletes an NSP association resource.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "202": { + "description": "Delete in progress.", + "headers": { + "location": { + "description": "location header", + "type": "string" + } + } + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "NspAssociationDelete": { + "$ref": "./examples/NspAssociationDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations": { + "get": { + "tags": [ + "NspAssociations" + ], + "operationId": "NspAssociations_List", + "description": "Lists the NSP resource associations.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the list of NSP resource associations.", + "schema": { + "$ref": "#/definitions/NspAssociationsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAssociationList": { + "$ref": "./examples/NspAssociationList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}/reconcile": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/AssociationNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "NspAssociationReconcile" + ], + "operationId": "NspAssociationReconcile_Post", + "description": "Reconcile NSP association", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NspAssociationReconcile" + }, + "description": "Parameters for NSP association reconcile" + } + ], + "responses": { + "200": { + "description": "Reconcile NSP association.", + "schema": { + "$ref": "#/definitions/NspAssociationReconcile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAssociationReconcile": { + "$ref": "./examples/NspAssociationReconcile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/perimeterAssociableResourceTypes": { + "get": { + "operationId": "PerimeterAssociableResourceTypes_List", + "description": "Gets the list of resources that are onboarded with NSP. These resources can be associated with a network security perimeter", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the list of resources that are onboarded with network security perimeter feature.", + "schema": { + "$ref": "#/definitions/PerimeterAssociableResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Check Dns Name Availability": { + "$ref": "./examples/PerimeterAssociableResourcesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}/reconcile": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/ProfileNameParameter" + }, + { + "$ref": "#/parameters/AccessRuleNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "NspAccessRulesReconcile" + ], + "operationId": "NspAccessRulesReconcile_Post", + "description": "Reconcile NSP access rules", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NspAccessRuleReconcile" + }, + "description": "Parameters for NSP access rule reconcile" + } + ], + "responses": { + "200": { + "description": "Reconcile NSP access rule.", + "schema": { + "$ref": "#/definitions/NspAccessRuleReconcile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAccessRuleReconcile": { + "$ref": "./examples/NspAccessRuleReconcile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/LinkNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "NspLinks" + ], + "operationId": "NspLinks_Get", + "description": "Gets the specified NSP link resource.", + "responses": { + "200": { + "description": "OK - Returns NSP link resource.", + "schema": { + "$ref": "#/definitions/NspLink" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspLinksGet": { + "$ref": "./examples/NspLinkGet.json" + } + } + }, + "put": { + "tags": [ + "NspLinks" + ], + "operationId": "NspLinks_CreateOrUpdate", + "description": "Creates or updates NSP link resource.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NspLink" + }, + "description": "Parameters that hold the NspLink resource to be created/updated." + } + ], + "responses": { + "200": { + "description": "Updated - Existing NspLink resource is updated. Returns the resource.", + "schema": { + "$ref": "#/definitions/NspLink" + } + }, + "201": { + "description": "Create - Returns the NspLink resource created.", + "schema": { + "$ref": "#/definitions/NspLink" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspLinksPut": { + "$ref": "./examples/NspLinkPut.json" + } + } + }, + "delete": { + "tags": [ + "NspLinks" + ], + "operationId": "NspLinks_Delete", + "description": "Deletes an NSP Link resource.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "202": { + "description": "Delete in progress.", + "headers": { + "location": { + "description": "location header", + "type": "string" + } + } + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "NspLinkDelete": { + "$ref": "./examples/NspLinkDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links": { + "get": { + "tags": [ + "NspLinks" + ], + "operationId": "NspLinks_List", + "description": "Lists the NSP Link resources in the specified network security perimeter.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the list of NSP link resources.", + "schema": { + "$ref": "#/definitions/NspLinkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspLinkList": { + "$ref": "./examples/NspLinkList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences/{linkReferenceName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/LinkReferenceNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "NspLinkReferences" + ], + "operationId": "NspLinkReferences_Get", + "description": "Gets the specified NSP linkReference resource.", + "responses": { + "200": { + "description": "OK - Returns the NSP linkReference resource.", + "schema": { + "$ref": "#/definitions/NspLinkReference" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspLinkReferencesGet": { + "$ref": "./examples/NspLinkReferenceGet.json" + } + } + }, + "delete": { + "tags": [ + "NspLinkReferences" + ], + "operationId": "NspLinkReferences_Delete", + "description": "Deletes an NSP LinkReference resource.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "202": { + "description": "Delete in progress.", + "headers": { + "location": { + "description": "location header", + "type": "string" + } + } + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "NspLinkReferenceDelete": { + "$ref": "./examples/NspLinkReferenceDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences": { + "get": { + "tags": [ + "NspLinkReferences" + ], + "operationId": "NspLinkReferences_List", + "description": "Lists the NSP LinkReference resources in the specified network security perimeter.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the list of NSP linkReference resources.", + "schema": { + "$ref": "#/definitions/NspLinkReferenceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspLinkReferenceList": { + "$ref": "./examples/NspLinkReferenceList.json" + } + } + } + } + }, + "definitions": { + "NetworkSecurityPerimeter": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkSecurityPerimeterProperties", + "description": "The network security perimeter properties" + }, + "location": { + "type": "string", + "description": "The location in which NSP is created." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "Network security perimeter identifier." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "The Network Security Perimeter resource" + }, + "NetworkSecurityPerimeterListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityPerimeter" + }, + "description": "Gets a page of NetworkSecurityPerimeter" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list NetworkSecurityPerimeter. It contains a list of network security perimeters and a URL link to get the next set of results." + }, + "NetworkSecurityPerimeterProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/NSPProvisioningState", + "description": "The provisioning state of the scope assignment resource." + }, + "perimeterGuid": { + "readOnly": true, + "type": "string", + "description": "perimeter guid of the network security perimeter." + } + }, + "description": "Properties of network security perimeter." + }, + "UpdateTagsRequest": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Network security perimeter identifier." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "List of tags for Network Security Perimeter" + } + }, + "description": "Update tags request." + }, + "NspProfile": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NspProfileProperties", + "description": "Properties of the network security perimeter profile" + }, + "name": { + "type": "string", + "description": "The name of the profile resource that is unique within a perimeter. This name can be used to access the resource." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "Identifier of the network security perimeter profile in ARM id format." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "The network security perimeter profile resource" + }, + "NspProfileListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NspProfile" + }, + "description": "Gets a page of NSP profile" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list NSP profiles. Contains a list of NSP profiles and a URL link to get the next set of results." + }, + "NspProfileProperties": { + "type": "object", + "properties": { + "accessRulesVersion": { + "readOnly": true, + "type": "string", + "description": "Version number that increases with every update to access rules within the profile." + }, + "diagnosticSettingsVersion": { + "readOnly": true, + "type": "string", + "description": "Version number that increases with every update to diagnostic settings within the profile." + } + }, + "description": "Properties of NSP profile." + }, + "NspAccessRule": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NspAccessRuleProperties", + "description": "Properties of the NSP access rule." + }, + "name": { + "type": "string", + "description": "The name of the access rule that is unique within a profile. This name can be used to access the resource." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "NSP access rule identifier." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "The NSP access rule resource" + }, + "NspAccessRuleListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NspAccessRule" + }, + "description": "Gets a page of NSP access rule" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list NSP access rules. Contains a list of NSP access rules and a URL link to get the next set of results." + }, + "NspAccessRuleProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/NSPProvisioningState", + "description": "The provisioning state of the scope assignment resource." + }, + "direction": { + "type": "string", + "enum": [ + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "AccessRuleDirection", + "modelAsString": true + }, + "description": "Direction that specifies whether the access rules is inbound/outbound." + }, + "addressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Inbound address prefixes (IPv4/IPv6)" + }, + "fullyQualifiedDomainNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Outbound rules fully qualified domain name format." + }, + "subscriptions": { + "type": "array", + "items": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SubscriptionId" + }, + "description": "List of subscription ids" + }, + "networkSecurityPerimeters": { + "readOnly": true, + "type": "array", + "items": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PerimeterBasedAccessRule" + }, + "description": "Rule specified by the perimeter id." + }, + "emailAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Outbound rules email address format." + }, + "phoneNumbers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Outbound rules phone number format." + } + }, + "description": "Properties of NSP access rule." + }, + "SubscriptionId": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Subscription id in the ARM id format." + } + } + }, + "PerimeterBasedAccessRule": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "NSP id in the ARM id format." + }, + "perimeterGuid": { + "readOnly": true, + "type": "string", + "description": "Resource guid of the NSP supplied." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "Location of the NSP supplied." + } + } + }, + "NspAssociation": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NspAssociationProperties", + "description": "Properties of the NSP resource association." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "NSP resource association identifier." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "The NSP resource association resource" + }, + "NspAssociationsListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NspAssociation" + }, + "description": "Gets a page of NSP resource associations" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list NSP resource associations. Contains a list of NSP resource associations and a URL link to get the next set of results." + }, + "NspAssociationProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/NSPProvisioningState", + "description": "The provisioning state of the resource association resource." + }, + "privateLinkResource": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The PaaS resource to be associated." + }, + "profile": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Profile id to which the PaaS resource is associated." + }, + "accessMode": { + "type": "string", + "enum": [ + "Learning", + "Enforced", + "Audit" + ], + "x-ms-enum": { + "name": "AssociationAccessMode", + "modelAsString": true + }, + "description": "Access mode on the association." + }, + "hasProvisioningIssues": { + "readOnly": true, + "type": "string", + "description": "Specifies if there are provisioning issues" + } + } + }, + "NspAssociationReconcile": { + "type": "object", + "properties": {}, + "description": "Request object for NSP association." + }, + "PerimeterAssociableResource": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PerimeterAssociableResourceProperties", + "description": "Properties of the perimeter associable resource." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "Identifier of the perimeter associable resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Resource that is onboarded to use network security perimeter. Also referred as perimeter associable resource." + }, + "PerimeterAssociableResourcesListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PerimeterAssociableResource" + }, + "description": "Gets paged list of perimeter associable resources." + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Paged list of perimeter associable resources." + }, + "PerimeterAssociableResourceProperties": { + "type": "object", + "properties": { + "displayName": { + "readOnly": true, + "type": "string", + "description": "A friendly name for the properties of perimeter associable resources." + }, + "resourceType": { + "readOnly": true, + "type": "string", + "description": "Resource type/provider name." + }, + "publicDnsZones": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "Public DNS zone names of the resources." + } + }, + "description": "Properties of the perimeter associable resources." + }, + "NSPProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Updating", + "Deleting", + "Accepted", + "Failed" + ], + "x-ms-enum": { + "name": "nspProvisioningState", + "modelAsString": true + } + }, + "NSPLinkProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state of NSP Link/LinkReference.", + "enum": [ + "Succeeded", + "Creating", + "Updating", + "Deleting", + "Accepted", + "Failed", + "WaitForRemoteCompletion" + ], + "x-ms-enum": { + "name": "nspLinkProvisioningState", + "modelAsString": true + } + }, + "NspAccessRuleReconcile": { + "type": "object", + "properties": {}, + "description": "Request object for NSP reconcile." + }, + "NspLink": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NspLinkProperties", + "description": "Properties of the network security perimeter link resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ProxyResource" + } + ], + "description": "The network security perimeter link resource" + }, + "NspLinkListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NspLink" + }, + "description": "Gets a page of NSP Link resources." + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list NSP link resources. Contains a list of NSP link resources and a URL link to get the next set of results." + }, + "NspLinkProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/NSPLinkProvisioningState", + "description": "The provisioning state of the NSP Link resource." + }, + "autoApprovedRemotePerimeterResourceId": { + "type": "string", + "description": "Perimeter ARM Id for the remote NSP with which the link gets created in Auto-approval mode. It should be used when the NSP admin have Microsoft.Network/networkSecurityPerimeters/linkPerimeter/action permission on the remote NSP resource.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "remotePerimeterGuid": { + "readOnly": true, + "type": "string", + "description": "Remote NSP Guid with which the link gets created." + }, + "remotePerimeterLocation": { + "readOnly": true, + "type": "string", + "description": "Remote NSP location with which the link gets created." + }, + "localInboundProfiles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Local Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. It's default value is ['*'].", + "uniqueItems": true + }, + "localOutboundProfiles": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "Local Outbound profile names from which Outbound is allowed. In current version, it is readonly property and it's value is set to ['*'] to allow outbound from all profiles. In later version, user will be able to modify it.", + "uniqueItems": true + }, + "remoteInboundProfiles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Remote Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. This property can only be updated in auto-approval mode. It's default value is ['*'].", + "uniqueItems": true + }, + "remoteOutboundProfiles": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "Remote Outbound profile names from which Outbound is allowed. In current version, it is readonly property and it's value is set to ['*'] to allow outbound from all profiles. In later version, user will be able to modify it.", + "uniqueItems": true + }, + "description": { + "type": "string", + "description": "A message passed to the owner of the remote NSP link resource with this connection request. In case of Auto-approved flow, it is default to 'Auto Approved'. Restricted to 140 chars." + }, + "status": { + "type": "string", + "readOnly": true, + "description": "The NSP link state.", + "enum": [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "nspLinkStatus", + "modelAsString": true + } + } + }, + "description": "Properties of NSP Link resource." + }, + "NspLinkReference": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NspLinkReferenceProperties", + "description": "Properties of the network security perimeter linkReference resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ProxyResource" + } + ], + "description": "The network security perimeter linkReference resource" + }, + "NspLinkReferenceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NspLinkReference" + }, + "description": "Gets a page of NSP LinkReference resources." + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list NSP linkReference resources. Contains a list of NSP linkReference resources and a URL link to get the next set of results." + }, + "NspLinkReferenceProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/NSPLinkProvisioningState", + "description": "The provisioning state of the NSP LinkReference resource." + }, + "remotePerimeterResourceId": { + "readOnly": true, + "type": "string", + "description": "Perimeter ARM Id for the remote NSP with which the link is created." + }, + "remotePerimeterGuid": { + "readOnly": true, + "type": "string", + "description": "Remote NSP Guid with which the link is created." + }, + "remotePerimeterLocation": { + "readOnly": true, + "type": "string", + "description": "Remote NSP location with which the link gets created." + }, + "localInboundProfiles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Local Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. It's default value is ['*'].", + "uniqueItems": true + }, + "localOutboundProfiles": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "Local Outbound profile names from which Outbound is allowed. Use ['*'] to allow outbound from all profiles. It's default value is ['*'].", + "uniqueItems": true + }, + "remoteInboundProfiles": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "Remote Inbound profile names to which Inbound is allowed. ['*'] value implies inbound is allowed to all profiles at remote perimeter. This property can only be updated from remote perimeter." + }, + "remoteOutboundProfiles": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "Remote Outbound profile names from which Outbound is allowed. ['*'] value implies outbound is allowed from all profiles at remote perimeter. This property can only be updated from remote perimeter." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "A message sent by the remote NSP link admin for connection request. In case of Auto-approved flow, it is default to 'Auto Approved'." + }, + "status": { + "type": "string", + "description": "The NSP linkReference state. It cannot be changed if link is created in auto-approval mode.", + "enum": [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "nspLinkStatus", + "modelAsString": true + } + } + }, + "description": "Properties of NSP LinkReference resource." + } + }, + "parameters": { + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "NetworkSecurityPerimeterNameParameter": { + "name": "networkSecurityPerimeterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security perimeter.", + "x-ms-parameter-location": "method" + }, + "ProfileNameParameter": { + "name": "profileName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the NSP profile.", + "x-ms-parameter-location": "method" + }, + "AccessRuleNameParameter": { + "name": "accessRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the NSP access rule.", + "x-ms-parameter-location": "method" + }, + "AssociationNameParameter": { + "name": "associationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the NSP association.", + "x-ms-parameter-location": "method" + }, + "LinkNameParameter": { + "name": "linkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the NSP link.", + "x-ms-parameter-location": "method" + }, + "LinkReferenceNameParameter": { + "name": "linkReferenceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the NSP linkReference.", + "x-ms-parameter-location": "method" + }, + "ListTopParameter": { + "name": "$top", + "description": "An optional query parameter which specifies the maximum number of records to be returned by the server.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 20, + "x-ms-parameter-location": "method" + }, + "ListSkipTokenParameter": { + "name": "$skipToken", + "description": "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "NetworkSecurityPerimeterProfileParameter": { + "name": "networkSecurityPerimeterProfile", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security perimeter profile.", + "x-ms-parameter-location": "method" + }, + "LocationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of network security perimeter.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterDelete.json new file mode 100644 index 000000000000..e1b5cbc391ca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterDelete.json @@ -0,0 +1,13 @@ +{ + "title": "Delete Network Security Perimeter", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "testNSP1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterGet.json new file mode 100644 index 000000000000..1e9ddfab2f9b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterGet.json @@ -0,0 +1,24 @@ +{ + "title": "Get Network Security Perimeter", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1" + }, + "responses": { + "200": { + "body": { + "name": "nsp1", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1", + "type": "Microsoft.Network/networkSecurityPerimeters", + "tags": {}, + "location": "East US 2 EUAP", + "properties": { + "perimeterGuid": "guid", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterList.json new file mode 100644 index 000000000000..a435a9e84cf6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterList.json @@ -0,0 +1,39 @@ +{ + "title": "List Network Security Perimeter", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testNSP1", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/testNSP1", + "type": "Microsoft.Network/networkSecurityPerimeters", + "tags": {}, + "location": "East US 2 EUAP", + "properties": { + "perimeterGuid": "guid", + "provisioningState": "Succeeded" + } + }, + { + "name": "testNSP2", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/testNSP2", + "type": "Microsoft.Network/networkSecurityPerimeters", + "tags": {}, + "location": "East US 2 EUAP", + "properties": { + "perimeterGuid": "guid", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters?api-version=2023-08-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterListAll.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterListAll.json new file mode 100644 index 000000000000..ccc2f6479178 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterListAll.json @@ -0,0 +1,38 @@ +{ + "title": "List all the Network Security Perimeters in a Subscription", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testNSP1", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/testNSP1", + "type": "Microsoft.Network/networkSecurityPerimeters", + "tags": {}, + "location": "East US 2 EUAP", + "properties": { + "perimeterGuid": "guid", + "provisioningState": "Succeeded" + } + }, + { + "name": "testNSP2", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/testNSP2", + "type": "Microsoft.Network/networkSecurityPerimeters", + "tags": {}, + "location": "East US 2 EUAP", + "properties": { + "perimeterGuid": "guid", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/providers/Microsoft.Network/networkSecurityPerimeters?api-version=2023-08-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterPatch.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterPatch.json new file mode 100644 index 000000000000..86900847a86f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterPatch.json @@ -0,0 +1,31 @@ +{ + "title": "Patch Network Security Perimeter", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "parameters": { + "tags": { + "description": "nsp1" + } + } + }, + "responses": { + "200": { + "body": { + "name": "TestNetworkSecurityPerimeter", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter", + "type": "Microsoft.Network/networkSecurityPerimeters", + "tags": { + "description": "nsp1" + }, + "location": "East US 2 EUAP", + "properties": { + "perimeterGuid": "guid", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterPut.json new file mode 100644 index 000000000000..7d4cf388344a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NetworkSecurityPerimeterPut.json @@ -0,0 +1,40 @@ +{ + "title": "Create/Update Network Security Perimeter", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "TestNetworkSecurityPerimeter", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter", + "type": "Microsoft.Network/networkSecurityPerimeters", + "tags": {}, + "location": "East US 2 EUAP", + "properties": { + "perimeterGuid": "guid", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "TestNetworkSecurityPerimeter", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/TestNetworkSecurityPerimeter", + "type": "Microsoft.Network/networkSecurityPerimeters", + "tags": {}, + "location": "East US 2 EUAP", + "properties": { + "perimeterGuid": "guid", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleDelete.json new file mode 100644 index 000000000000..672f8b0419aa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleDelete.json @@ -0,0 +1,15 @@ +{ + "title": "Delete NSP access rule", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1", + "accessRuleName": "accessRule1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleGet.json new file mode 100644 index 000000000000..8f9bbdeeaab2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleGet.json @@ -0,0 +1,34 @@ +{ + "title": "Get NSP Access Rule", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1", + "accessRuleName": "accessRule1" + }, + "responses": { + "200": { + "body": { + "name": "accessRule1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules", + "properties": { + "provisioningState": "Succeeded", + "direction": "Outbound", + "addressPrefixes": [], + "fullyQualifiedDomainNames": [ + "paasrp1.contoso.org", + "paasrp2.contoso.org" + ], + "subscriptions": [], + "networkSecurityPerimeters": [], + "emailAddresses": [], + "phoneNumbers": [], + "serviceTags": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleList.json new file mode 100644 index 000000000000..6ed4eacde4c2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleList.json @@ -0,0 +1,57 @@ +{ + "title": "List NSP Access Rules", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "accessRule1", + "id": "/subscriptions/rg1/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules", + "properties": { + "provisioningState": "Succeeded", + "direction": "Inbound", + "addressPrefixes": [ + "10.11.0.0/16", + "10.10.1.0/24" + ], + "fullyQualifiedDomainNames": [], + "subscriptions": [], + "networkSecurityPerimeters": [], + "emailAddresses": [], + "phoneNumbers": [], + "serviceTags": [] + } + }, + { + "name": "accessRule2", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule2", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules", + "properties": { + "provisioningState": "Succeeded", + "direction": "Outbound", + "addressPrefixes": [], + "fullyQualifiedDomainNames": [ + "paasrp1.contoso.org", + "paasrp2.contoso.org" + ], + "subscriptions": [], + "networkSecurityPerimeters": [], + "emailAddresses": [], + "phoneNumbers": [], + "serviceTags": [] + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules?api-version=2023-08-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRulePut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRulePut.json new file mode 100644 index 000000000000..bbad41eaa228 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRulePut.json @@ -0,0 +1,64 @@ +{ + "title": "Create/Update NSP access rule", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1", + "accessRuleName": "accessRule1", + "parameters": { + "properties": { + "direction": "Inbound", + "addressPrefixes": [ + "10.11.0.0/16", + "10.10.1.0/24" + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "accessRule1", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules", + "properties": { + "provisioningState": "Succeeded", + "direction": "Inbound", + "addressPrefixes": [ + "10.11.0.0/16", + "10.10.1.0/24" + ], + "fullyQualifiedDomainNames": [], + "subscriptions": [], + "networkSecurityPerimeters": [], + "emailAddresses": [], + "phoneNumbers": [], + "serviceTags": [] + } + } + }, + "201": { + "body": { + "name": "accessRule1", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules", + "properties": { + "provisioningState": "Succeeded", + "direction": "Inbound", + "addressPrefixes": [ + "10.11.0.0/16", + "10.10.1.0/24" + ], + "fullyQualifiedDomainNames": [], + "subscriptions": [], + "networkSecurityPerimeters": [], + "emailAddresses": [], + "phoneNumbers": [], + "serviceTags": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleReconcile.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleReconcile.json new file mode 100644 index 000000000000..c00bcaf701c3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAccessRuleReconcile.json @@ -0,0 +1,19 @@ +{ + "title": "Reconcile NSP access rule", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1", + "accessRuleName": "accessRuleName1", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationDelete.json new file mode 100644 index 000000000000..767e90f16bab --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationDelete.json @@ -0,0 +1,20 @@ +{ + "title": "Delete NSP resource association", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "associationName": "association1", + "operationId": "operationId1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}/operationResults/{operationId}?api-version={api-version}" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationGet.json new file mode 100644 index 000000000000..5d9044d8babb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationGet.json @@ -0,0 +1,30 @@ +{ + "title": "Get NSP resource association", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "associationName": "association1" + }, + "responses": { + "200": { + "body": { + "name": "association1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1", + "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "Enforced", + "hasProvisioningIssues": "no" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationList.json new file mode 100644 index 000000000000..8d7eddaba902 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationList.json @@ -0,0 +1,66 @@ +{ + "title": "List NSP resource associations", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "association1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1", + "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "Enforced", + "hasProvisioningIssues": "no" + } + }, + { + "name": "association2", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association2", + "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "Audit", + "hasProvisioningIssues": "no" + } + }, + { + "name": "association3", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association3", + "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations", + "properties": { + "provisioningState": "Failed", + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "Learning", + "hasProvisioningIssues": "yes" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations?api-version=2023-08-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationPut.json new file mode 100644 index 000000000000..8752d66b4e72 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationPut.json @@ -0,0 +1,59 @@ +{ + "title": "Create/Update NSP association", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "associationName": "association1", + "parameters": { + "properties": { + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "Enforced" + } + } + }, + "responses": { + "200": { + "body": { + "name": "association1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1", + "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "Enforced", + "hasProvisioningIssues": "no" + } + } + }, + "201": { + "body": { + "name": "association1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1", + "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "Enforced", + "hasProvisioningIssues": "no" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationReconcile.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationReconcile.json new file mode 100644 index 000000000000..aa8b29194f8e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspAssociationReconcile.json @@ -0,0 +1,18 @@ +{ + "title": "Reconcile NSP association", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "associationName": "association1", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkDelete.json new file mode 100644 index 000000000000..cd222844927d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkDelete.json @@ -0,0 +1,19 @@ +{ + "title": "Delete NSP link", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "linkName": "link1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}/operationResults/{operationId}?api-version={api-version}" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkGet.json new file mode 100644 index 000000000000..cb9905aeab32 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkGet.json @@ -0,0 +1,39 @@ +{ + "title": "Get NSP Link", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "linkName": "link1" + }, + "responses": { + "200": { + "body": { + "name": "link1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links/link1", + "type": "Microsoft.Network/networkSecurityPerimeters/links", + "properties": { + "provisioningState": "Succeeded", + "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2", + "remotePerimeterGuid": "guid", + "remotePerimeterLocation": "westus2", + "localInboundProfiles": [ + "*" + ], + "localOutboundProfiles": [ + "*" + ], + "remoteInboundProfiles": [ + "*" + ], + "remoteOutboundProfiles": [ + "*" + ], + "description": "Auto Approved", + "status": "Approved" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkList.json new file mode 100644 index 000000000000..b622f3cdb391 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkList.json @@ -0,0 +1,43 @@ +{ + "title": "List NSP Links", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "link1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links/link1", + "type": "Microsoft.Network/networkSecurityPerimeters/links", + "properties": { + "provisioningState": "Succeeded", + "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2", + "remotePerimeterGuid": "guid", + "remotePerimeterLocation": "westus2", + "localInboundProfiles": [ + "*" + ], + "localOutboundProfiles": [ + "*" + ], + "remoteInboundProfiles": [ + "*" + ], + "remoteOutboundProfiles": [ + "*" + ], + "description": "Auto Approved", + "status": "Approved" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links?api-version=2023-08-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkPut.json new file mode 100644 index 000000000000..75f309aaed62 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkPut.json @@ -0,0 +1,71 @@ +{ + "title": "Create/Update NSP link", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "linkName": "link1", + "parameters": { + "properties": { + "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "link1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links/link1", + "type": "Microsoft.Network/networkSecurityPerimeters/links", + "properties": { + "provisioningState": "Succeeded", + "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2", + "remotePerimeterGuid": "guid", + "remotePerimeterLocation": "westus2", + "localInboundProfiles": [ + "*" + ], + "localOutboundProfiles": [ + "*" + ], + "remoteInboundProfiles": [ + "*" + ], + "remoteOutboundProfiles": [ + "*" + ], + "description": "Auto Approved", + "status": "Approved" + } + } + }, + "201": { + "body": { + "name": "link1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/links/link1", + "type": "Microsoft.Network/networkSecurityPerimeters/links", + "properties": { + "provisioningState": "Succeeded", + "autoApprovedRemotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2", + "remotePerimeterGuid": "guid", + "remotePerimeterLocation": "westus2", + "localInboundProfiles": [ + "*" + ], + "localOutboundProfiles": [ + "*" + ], + "remoteInboundProfiles": [ + "*" + ], + "remoteOutboundProfiles": [ + "*" + ], + "description": "Auto Approved", + "status": "Approved" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkReferenceDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkReferenceDelete.json new file mode 100644 index 000000000000..6e1d9b00b3d9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkReferenceDelete.json @@ -0,0 +1,19 @@ +{ + "title": "Delete NSP linkReference", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp2", + "linkReferenceName": "link1-guid" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkreferences/{linkReferenceName}/operationResults/{operationId}?api-version={api-version}" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkReferenceGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkReferenceGet.json new file mode 100644 index 000000000000..57f1590fcbb3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkReferenceGet.json @@ -0,0 +1,39 @@ +{ + "title": "Get NSP LinkReference", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp2", + "linkReferenceName": "link1-guid" + }, + "responses": { + "200": { + "body": { + "name": "link1-guid", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2/linkreferences/link1-guid", + "type": "Microsoft.Network/networkSecurityPerimeters/linkreferences", + "properties": { + "provisioningState": "Succeeded", + "remotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1", + "remotePerimeterGuid": "guid", + "remotePerimeterLocation": "westus2", + "localInboundProfiles": [ + "*" + ], + "localOutboundProfiles": [ + "*" + ], + "remoteInboundProfiles": [ + "*" + ], + "remoteOutboundProfiles": [ + "*" + ], + "description": "Auto Approved", + "status": "Approved" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkReferenceList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkReferenceList.json new file mode 100644 index 000000000000..0cd01f09f26d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspLinkReferenceList.json @@ -0,0 +1,43 @@ +{ + "title": "List NSP LinkReferences", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "link1-guid", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2/linkreferences/link1-guid", + "type": "Microsoft.Network/networkSecurityPerimeters/linkreferences", + "properties": { + "provisioningState": "Succeeded", + "remotePerimeterResourceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1", + "remotePerimeterGuid": "guid", + "remotePerimeterLocation": "westus2", + "localInboundProfiles": [ + "*" + ], + "localOutboundProfiles": [ + "*" + ], + "remoteInboundProfiles": [ + "*" + ], + "remoteOutboundProfiles": [ + "*" + ], + "description": "Auto Approved", + "status": "Approved" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp2/linkreferences?api-version=2023-08-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfileDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfileDelete.json new file mode 100644 index 000000000000..11c936beac22 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfileDelete.json @@ -0,0 +1,14 @@ +{ + "title": "Delete NSP profile", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfileGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfileGet.json new file mode 100644 index 000000000000..9445ec71b721 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfileGet.json @@ -0,0 +1,24 @@ +{ + "title": "Get NSP Profile", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "name": "nsp1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles", + "location": "resource location", + "properties": { + "accessRulesVersion": "0", + "diagnosticSettingsVersion": "0" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfileList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfileList.json new file mode 100644 index 000000000000..f7f61f691691 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfileList.json @@ -0,0 +1,38 @@ +{ + "title": "List NSP Profiles", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "profile1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles", + "location": "resource location", + "properties": { + "accessRulesVersion": "0", + "diagnosticSettingsVersion": "0" + } + }, + { + "name": "profile2", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile2", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles", + "location": "resource location", + "properties": { + "accessRulesVersion": "0", + "diagnosticSettingsVersion": "0" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles?api-version=2023-08-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfilePut.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfilePut.json new file mode 100644 index 000000000000..b2850811956c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/NspProfilePut.json @@ -0,0 +1,39 @@ +{ + "title": "Create/Update NSP profile", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "profile1", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles", + "location": "East US 2 EUAP", + "properties": { + "accessRulesVersion": "0", + "diagnosticSettingsVersion": "0" + } + } + }, + "201": { + "body": { + "name": "profile1", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles", + "location": "East US 2 EUAP", + "properties": { + "accessRulesVersion": "0", + "diagnosticSettingsVersion": "0" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/PerimeterAssociableResourcesList.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/PerimeterAssociableResourcesList.json new file mode 100644 index 000000000000..51b4495727d0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/examples/PerimeterAssociableResourcesList.json @@ -0,0 +1,44 @@ +{ + "title": "List of resources onboarded for network security perimeter feature (perimeter associable resources).", + "parameters": { + "api-version": "2023-08-01-preview", + "subscriptionId": "subId", + "location": "westus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Sql.servers", + "id": "/subscriptions/{subscriptionID}/providers/Microsoft.Network/perimeterAssociableResourceTypes/Microsoft.Sql.servers", + "type": "Microsoft.Network/PerimeterAssociableResourceTypes", + "properties": { + "resourceType": "Microsoft.Sql/servers", + "displayName": "Microsoft.Sql/servers", + "publicDnsZones": [ + "database.windows.net" + ] + } + }, + { + "name": "Microsoft.Storage.accounts", + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Network/perimeterAssociableResourceTypes/Microsoft.Storage.storageAccounts", + "type": "Microsoft.Network/PerimeterAssociableResourceTypes", + "properties": { + "resourceType": "Microsoft.Storage/accounts", + "displayName": "Microsoft.Storage/accounts", + "publicDnsZones": [ + "blob.core.windows.net", + "table.core.windows.net", + "queue.core.windows.net", + "file.core.windows.net" + ] + } + } + ], + "nextLink": "{baseurl}/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/perimeterAssociableResourceTypes?api-version=2023-08-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/network.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/network.json new file mode 100644 index 000000000000..e0428db6a2dc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/network.json @@ -0,0 +1,438 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2023-08-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ErrorDetails": { + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "message": { + "type": "string", + "description": "Error message." + } + }, + "description": "Common error details representation." + }, + "Error": { + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetails" + }, + "description": "Error details." + }, + "innerError": { + "type": "string", + "description": "Inner error message." + } + }, + "description": "Common error representation." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Cloud error body." + } + }, + "description": "An error response from the service." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the service." + }, + "AzureAsyncOperationResult": { + "properties": { + "status": { + "type": "string", + "description": "Status of the Azure async operation.", + "enum": [ + "InProgress", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "NetworkOperationStatus", + "modelAsString": true + } + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Details of the error occurred during specified asynchronous operation." + } + }, + "description": "The response body contains the status of the specified asynchronous operation, indicating whether it has succeeded, is in progress, or has failed. Note that this status is distinct from the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous operation succeeded, the response body includes the HTTP status code for the successful request. If the asynchronous operation failed, the response body includes the HTTP status code for the failed request and error information regarding the failure." + }, + "Resource": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Common resource representation.", + "x-ms-azure-resource": true + }, + "ProxyResource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "description": "Proxy resource representation.", + "x-ms-azure-resource": true + }, + "SubResource": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + }, + "description": "Reference to another subresource.", + "x-ms-azure-resource": true + }, + "TagsObject": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The type of identity that last modified the resource." + } + } + }, + "ManagedServiceIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + }, + "description": "The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the resource." + }, + "ProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "Access": { + "type": "string", + "description": "Access to be allowed or denied.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "Access", + "modelAsString": true + } + }, + "AuthenticationMethod": { + "type": "string", + "description": "VPN client authentication method.", + "enum": [ + "EAPTLS", + "EAPMSCHAPv2" + ], + "x-ms-enum": { + "name": "AuthenticationMethod", + "modelAsString": true + } + }, + "IPAllocationMethod": { + "type": "string", + "description": "IP address allocation method.", + "enum": [ + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "IPAllocationMethod", + "modelAsString": true + } + }, + "IPVersion": { + "type": "string", + "description": "IP address version.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "IPVersion", + "modelAsString": true + } + }, + "ExtendedLocationType": { + "type": "string", + "description": "The supported ExtendedLocation types. Currently only EdgeZone is supported in Microsoft.Network resources.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "description": "ExtendedLocation complex type.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + }, + "ApiVersionVmssParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "2017-03-30" + ], + "x-ms-enum": { + "name": "ApiVersion", + "modelAsString": true + }, + "description": "Client API version." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/networkSecurityPerimeter.json b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/networkSecurityPerimeter.json new file mode 100644 index 000000000000..158ce493005f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2023-08-01-preview/networkSecurityPerimeter.json @@ -0,0 +1,2076 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkSecurityPerimeter", + "description": "The Network Security Perimeter API provides a RESTful set of web services that interact with network security perimeter resource.", + "version": "2023-08-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "NetworkSecurityPerimeters" + ], + "operationId": "NetworkSecurityPerimeters_Get", + "description": "Gets the specified network security perimeter by the name.", + "responses": { + "200": { + "description": "Request is successful. Returns the resulting network security perimeter resource.", + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkSecurityPerimeterGet": { + "$ref": "./examples/NetworkSecurityPerimeterGet.json" + } + } + }, + "put": { + "tags": [ + "NetworkSecurityPerimeters" + ], + "operationId": "NetworkSecurityPerimeters_CreateOrUpdate", + "description": "Creates or updates a Network Security Perimeter.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeter" + }, + "description": "Parameter supplied to create or update the network security perimeter." + } + ], + "responses": { + "200": { + "description": "Resource Updated. Returns the network security perimeter.", + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeter" + } + }, + "201": { + "description": "Resource Created. Returns the network security perimeter.", + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Put Network Security Perimeter": { + "$ref": "./examples/NetworkSecurityPerimeterPut.json" + } + } + }, + "delete": { + "tags": [ + "NetworkSecurityPerimeters" + ], + "operationId": "NetworkSecurityPerimeters_Delete", + "description": "Deletes a network security perimeter.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkSecurityPerimeterDelete": { + "$ref": "./examples/NetworkSecurityPerimeterDelete.json" + } + } + }, + "patch": { + "tags": [ + "NetworkSecurityPerimeters" + ], + "operationId": "NetworkSecurityPerimeters_Patch", + "description": "Patch Tags for a Network Security Perimeter.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateTagsRequest" + }, + "description": "Parameter supplied to the network security perimeter." + } + ], + "responses": { + "200": { + "description": "Request is successful. Returns the resulting network security perimeter resource.", + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Patch Network Security Perimeter": { + "$ref": "./examples/NetworkSecurityPerimeterPatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityPerimeters": { + "get": { + "tags": [ + "NetworkSecurityPerimeters" + ], + "operationId": "NetworkSecurityPerimeters_ListBySubscription", + "description": "List all network security perimeters in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. Returns the list of the network security perimeters.", + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "NetworkSecurityPerimetersList": { + "$ref": "./examples/NetworkSecurityPerimeterListAll.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters": { + "get": { + "tags": [ + "NetworkSecurityPerimeters" + ], + "operationId": "NetworkSecurityPerimeters_List", + "description": "List network security perimeters in a resource group.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. Returns a list of network security perimeters.", + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Network Security Perimeter": { + "$ref": "./examples/NetworkSecurityPerimeterList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/ProfileNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "NspProfiles" + ], + "operationId": "NspProfiles_Get", + "description": "Gets the specified NSP profile.", + "responses": { + "200": { + "description": "OK - Returns information about the NSP profile.", + "schema": { + "$ref": "#/definitions/NspProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspProfilesGet": { + "$ref": "./examples/NspProfileGet.json" + } + } + }, + "put": { + "tags": [ + "NspProfiles" + ], + "operationId": "NspProfiles_CreateOrUpdate", + "description": "Creates or updates a network profile.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NspProfile" + }, + "description": "Parameters that hold the NspProfile resource to be created/updated." + } + ], + "responses": { + "200": { + "description": "Update - Profile is immutable resource. Returns the existing profile resource.", + "schema": { + "$ref": "#/definitions/NspProfile" + } + }, + "201": { + "description": "Create - Returns the NspProfile resource created.", + "schema": { + "$ref": "#/definitions/NspProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspProfilesPut": { + "$ref": "./examples/NspProfilePut.json" + } + } + }, + "delete": { + "tags": [ + "NspProfiles" + ], + "operationId": "NspProfiles_Delete", + "description": "Deletes an NSP profile.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspProfilesDelete": { + "$ref": "./examples/NspProfileDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles": { + "get": { + "tags": [ + "NspProfiles" + ], + "operationId": "NspProfiles_List", + "description": "Lists the NSP profiles in the specified network security perimeter.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the list of NSP profiles.", + "schema": { + "$ref": "#/definitions/NspProfileListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspProfilesList": { + "$ref": "./examples/NspProfileList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/ProfileNameParameter" + }, + { + "$ref": "#/parameters/AccessRuleNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "NspAccessRules" + ], + "operationId": "NspAccessRules_Get", + "description": "Gets the specified NSP access rule by name.", + "responses": { + "200": { + "description": "OK - Returns information about the NSP access rule.", + "schema": { + "$ref": "#/definitions/NspAccessRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAccessRuleGet": { + "$ref": "./examples/NspAccessRuleGet.json" + } + } + }, + "put": { + "tags": [ + "NspAccessRules" + ], + "operationId": "NspAccessRules_CreateOrUpdate", + "description": "Creates or updates a network access rule.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NspAccessRule" + }, + "description": "Parameters that hold the NspAccessRule resource to be created/updated." + } + ], + "responses": { + "200": { + "description": "Updated - Existing access rule is updated. Returns the resource.", + "schema": { + "$ref": "#/definitions/NspAccessRule" + } + }, + "201": { + "description": "Create - Returns the NspAccessRule resource created.", + "schema": { + "$ref": "#/definitions/NspAccessRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAccessRulePut": { + "$ref": "./examples/NspAccessRulePut.json" + } + } + }, + "delete": { + "tags": [ + "NspAccessRules" + ], + "operationId": "NspAccessRules_Delete", + "description": "Deletes an NSP access rule.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAccessRulesDelete": { + "$ref": "./examples/NspAccessRuleDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules": { + "get": { + "tags": [ + "NspAccessRules" + ], + "operationId": "NspAccessRules_List", + "description": "Lists the NSP access rules in the specified NSP profile.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/ProfileNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the list of NSP access rules.", + "schema": { + "$ref": "#/definitions/NspAccessRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAccessRulesList": { + "$ref": "./examples/NspAccessRuleList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/AssociationNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "NspAssociations" + ], + "operationId": "NspAssociations_Get", + "description": "Gets the specified NSP association by name.", + "responses": { + "200": { + "description": "OK - Returns information about the NSP resource association.", + "schema": { + "$ref": "#/definitions/NspAssociation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAssociationGet": { + "$ref": "./examples/NspAssociationGet.json" + } + } + }, + "put": { + "tags": [ + "NspAssociations" + ], + "operationId": "NspAssociations_CreateOrUpdate", + "description": "Creates or updates a NSP resource association.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NspAssociation" + }, + "description": "Parameters that hold the NspAssociation resource to be created/updated." + } + ], + "responses": { + "200": { + "description": "Updated - Existing resource association is updated. Returns the resource.", + "schema": { + "$ref": "#/definitions/NspAssociation" + } + }, + "201": { + "description": "Create - Returns the NspAssociation resource created.", + "schema": { + "$ref": "#/definitions/NspAssociation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAssociationPut": { + "$ref": "./examples/NspAssociationPut.json" + } + } + }, + "delete": { + "tags": [ + "NspAssociations" + ], + "operationId": "NspAssociations_Delete", + "description": "Deletes an NSP association resource.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "202": { + "description": "Delete in progress.", + "headers": { + "location": { + "description": "location header", + "type": "string" + } + } + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "NspAssociationDelete": { + "$ref": "./examples/NspAssociationDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations": { + "get": { + "tags": [ + "NspAssociations" + ], + "operationId": "NspAssociations_List", + "description": "Lists the NSP resource associations.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the list of NSP resource associations.", + "schema": { + "$ref": "#/definitions/NspAssociationsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAssociationList": { + "$ref": "./examples/NspAssociationList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}/reconcile": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/AssociationNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "NspAssociationReconcile" + ], + "operationId": "NspAssociationReconcile_Post", + "description": "Reconcile NSP association", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NspAssociationReconcile" + }, + "description": "Parameters for NSP association reconcile" + } + ], + "responses": { + "200": { + "description": "Reconcile NSP association.", + "schema": { + "$ref": "#/definitions/NspAssociationReconcile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAssociationReconcile": { + "$ref": "./examples/NspAssociationReconcile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/perimeterAssociableResourceTypes": { + "get": { + "operationId": "PerimeterAssociableResourceTypes_List", + "description": "Gets the list of resources that are onboarded with NSP. These resources can be associated with a network security perimeter", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the list of resources that are onboarded with network security perimeter feature.", + "schema": { + "$ref": "#/definitions/PerimeterAssociableResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Check Dns Name Availability": { + "$ref": "./examples/PerimeterAssociableResourcesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}/reconcile": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/ProfileNameParameter" + }, + { + "$ref": "#/parameters/AccessRuleNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "NspAccessRulesReconcile" + ], + "operationId": "NspAccessRulesReconcile_Post", + "description": "Reconcile NSP access rules", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NspAccessRuleReconcile" + }, + "description": "Parameters for NSP access rule reconcile" + } + ], + "responses": { + "200": { + "description": "Reconcile NSP access rule.", + "schema": { + "$ref": "#/definitions/NspAccessRuleReconcile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAccessRuleReconcile": { + "$ref": "./examples/NspAccessRuleReconcile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/LinkNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "NspLinks" + ], + "operationId": "NspLinks_Get", + "description": "Gets the specified NSP link resource.", + "responses": { + "200": { + "description": "OK - Returns NSP link resource.", + "schema": { + "$ref": "#/definitions/NspLink" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspLinksGet": { + "$ref": "./examples/NspLinkGet.json" + } + } + }, + "put": { + "tags": [ + "NspLinks" + ], + "operationId": "NspLinks_CreateOrUpdate", + "description": "Creates or updates NSP link resource.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NspLink" + }, + "description": "Parameters that hold the NspLink resource to be created/updated." + } + ], + "responses": { + "200": { + "description": "Updated - Existing NspLink resource is updated. Returns the resource.", + "schema": { + "$ref": "#/definitions/NspLink" + } + }, + "201": { + "description": "Create - Returns the NspLink resource created.", + "schema": { + "$ref": "#/definitions/NspLink" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspLinksPut": { + "$ref": "./examples/NspLinkPut.json" + } + } + }, + "delete": { + "tags": [ + "NspLinks" + ], + "operationId": "NspLinks_Delete", + "description": "Deletes an NSP Link resource.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "202": { + "description": "Delete in progress.", + "headers": { + "location": { + "description": "location header", + "type": "string" + } + } + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "NspLinkDelete": { + "$ref": "./examples/NspLinkDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links": { + "get": { + "tags": [ + "NspLinks" + ], + "operationId": "NspLinks_List", + "description": "Lists the NSP Link resources in the specified network security perimeter.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the list of NSP link resources.", + "schema": { + "$ref": "#/definitions/NspLinkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspLinkList": { + "$ref": "./examples/NspLinkList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences/{linkReferenceName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/LinkReferenceNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "NspLinkReferences" + ], + "operationId": "NspLinkReferences_Get", + "description": "Gets the specified NSP linkReference resource.", + "responses": { + "200": { + "description": "OK - Returns the NSP linkReference resource.", + "schema": { + "$ref": "#/definitions/NspLinkReference" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspLinkReferencesGet": { + "$ref": "./examples/NspLinkReferenceGet.json" + } + } + }, + "delete": { + "tags": [ + "NspLinkReferences" + ], + "operationId": "NspLinkReferences_Delete", + "description": "Deletes an NSP LinkReference resource.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "202": { + "description": "Delete in progress.", + "headers": { + "location": { + "description": "location header", + "type": "string" + } + } + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "NspLinkReferenceDelete": { + "$ref": "./examples/NspLinkReferenceDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences": { + "get": { + "tags": [ + "NspLinkReferences" + ], + "operationId": "NspLinkReferences_List", + "description": "Lists the NSP LinkReference resources in the specified network security perimeter.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the list of NSP linkReference resources.", + "schema": { + "$ref": "#/definitions/NspLinkReferenceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspLinkReferenceList": { + "$ref": "./examples/NspLinkReferenceList.json" + } + } + } + } + }, + "definitions": { + "NetworkSecurityPerimeter": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkSecurityPerimeterProperties", + "description": "The network security perimeter properties" + }, + "location": { + "type": "string", + "description": "The location in which NSP is created." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "Network security perimeter identifier." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "The Network Security Perimeter resource" + }, + "NetworkSecurityPerimeterListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityPerimeter" + }, + "description": "Gets a page of NetworkSecurityPerimeter" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list NetworkSecurityPerimeter. It contains a list of network security perimeters and a URL link to get the next set of results." + }, + "NetworkSecurityPerimeterProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/NSPProvisioningState", + "description": "The provisioning state of the scope assignment resource." + }, + "perimeterGuid": { + "readOnly": true, + "type": "string", + "description": "perimeter guid of the network security perimeter." + } + }, + "description": "Properties of network security perimeter." + }, + "UpdateTagsRequest": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Network security perimeter identifier." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "List of tags for Network Security Perimeter" + } + }, + "description": "Update tags request." + }, + "NspProfile": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NspProfileProperties", + "description": "Properties of the network security perimeter profile" + }, + "name": { + "type": "string", + "description": "The name of the profile resource that is unique within a perimeter. This name can be used to access the resource." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "Identifier of the network security perimeter profile in ARM id format." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "The network security perimeter profile resource" + }, + "NspProfileListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NspProfile" + }, + "description": "Gets a page of NSP profile" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list NSP profiles. Contains a list of NSP profiles and a URL link to get the next set of results." + }, + "NspProfileProperties": { + "type": "object", + "properties": { + "accessRulesVersion": { + "readOnly": true, + "type": "string", + "description": "Version number that increases with every update to access rules within the profile." + }, + "diagnosticSettingsVersion": { + "readOnly": true, + "type": "string", + "description": "Version number that increases with every update to diagnostic settings within the profile." + } + }, + "description": "Properties of NSP profile." + }, + "NspAccessRule": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NspAccessRuleProperties", + "description": "Properties of the NSP access rule." + }, + "name": { + "type": "string", + "description": "The name of the access rule that is unique within a profile. This name can be used to access the resource." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "NSP access rule identifier." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "The NSP access rule resource" + }, + "NspAccessRuleListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NspAccessRule" + }, + "description": "Gets a page of NSP access rule" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list NSP access rules. Contains a list of NSP access rules and a URL link to get the next set of results." + }, + "NspAccessRuleProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/NSPProvisioningState", + "description": "The provisioning state of the scope assignment resource." + }, + "direction": { + "type": "string", + "enum": [ + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "AccessRuleDirection", + "modelAsString": true + }, + "description": "Direction that specifies whether the access rules is inbound/outbound." + }, + "addressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Inbound address prefixes (IPv4/IPv6)" + }, + "fullyQualifiedDomainNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Outbound rules fully qualified domain name format." + }, + "subscriptions": { + "type": "array", + "items": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SubscriptionId" + }, + "description": "List of subscription ids" + }, + "networkSecurityPerimeters": { + "readOnly": true, + "type": "array", + "items": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PerimeterBasedAccessRule" + }, + "description": "Rule specified by the perimeter id." + }, + "emailAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Outbound rules email address format." + }, + "phoneNumbers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Outbound rules phone number format." + }, + "serviceTags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Inbound rules service tag names." + } + }, + "description": "Properties of NSP access rule." + }, + "SubscriptionId": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Subscription id in the ARM id format." + } + } + }, + "PerimeterBasedAccessRule": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "NSP id in the ARM id format." + }, + "perimeterGuid": { + "readOnly": true, + "type": "string", + "description": "Resource guid of the NSP supplied." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "Location of the NSP supplied." + } + } + }, + "NspAssociation": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NspAssociationProperties", + "description": "Properties of the NSP resource association." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "NSP resource association identifier." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "The NSP resource association resource" + }, + "NspAssociationsListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NspAssociation" + }, + "description": "Gets a page of NSP resource associations" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list NSP resource associations. Contains a list of NSP resource associations and a URL link to get the next set of results." + }, + "NspAssociationProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/NSPProvisioningState", + "description": "The provisioning state of the resource association resource." + }, + "privateLinkResource": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The PaaS resource to be associated." + }, + "profile": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Profile id to which the PaaS resource is associated." + }, + "accessMode": { + "type": "string", + "enum": [ + "Learning", + "Enforced", + "Audit" + ], + "x-ms-enum": { + "name": "AssociationAccessMode", + "modelAsString": true + }, + "description": "Access mode on the association." + }, + "hasProvisioningIssues": { + "readOnly": true, + "type": "string", + "description": "Specifies if there are provisioning issues" + } + } + }, + "NspAssociationReconcile": { + "type": "object", + "properties": {}, + "description": "Request object for NSP association." + }, + "PerimeterAssociableResource": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PerimeterAssociableResourceProperties", + "description": "Properties of the perimeter associable resource." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "Identifier of the perimeter associable resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Resource that is onboarded to use network security perimeter. Also referred as perimeter associable resource." + }, + "PerimeterAssociableResourcesListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PerimeterAssociableResource" + }, + "description": "Gets paged list of perimeter associable resources." + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Paged list of perimeter associable resources." + }, + "PerimeterAssociableResourceProperties": { + "type": "object", + "properties": { + "displayName": { + "readOnly": true, + "type": "string", + "description": "A friendly name for the properties of perimeter associable resources." + }, + "resourceType": { + "readOnly": true, + "type": "string", + "description": "Resource type/provider name." + }, + "publicDnsZones": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "Public DNS zone names of the resources." + } + }, + "description": "Properties of the perimeter associable resources." + }, + "NSPProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Updating", + "Deleting", + "Accepted", + "Failed" + ], + "x-ms-enum": { + "name": "nspProvisioningState", + "modelAsString": true + } + }, + "NSPLinkProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state of NSP Link/LinkReference.", + "enum": [ + "Succeeded", + "Creating", + "Updating", + "Deleting", + "Accepted", + "Failed", + "WaitForRemoteCompletion" + ], + "x-ms-enum": { + "name": "nspLinkProvisioningState", + "modelAsString": true + } + }, + "NspAccessRuleReconcile": { + "type": "object", + "properties": {}, + "description": "Request object for NSP reconcile." + }, + "NspLink": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NspLinkProperties", + "description": "Properties of the network security perimeter link resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ProxyResource" + } + ], + "description": "The network security perimeter link resource" + }, + "NspLinkListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NspLink" + }, + "description": "Gets a page of NSP Link resources." + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list NSP link resources. Contains a list of NSP link resources and a URL link to get the next set of results." + }, + "NspLinkProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/NSPLinkProvisioningState", + "description": "The provisioning state of the NSP Link resource." + }, + "autoApprovedRemotePerimeterResourceId": { + "type": "string", + "description": "Perimeter ARM Id for the remote NSP with which the link gets created in Auto-approval mode. It should be used when the NSP admin have Microsoft.Network/networkSecurityPerimeters/linkPerimeter/action permission on the remote NSP resource.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "remotePerimeterGuid": { + "readOnly": true, + "type": "string", + "description": "Remote NSP Guid with which the link gets created." + }, + "remotePerimeterLocation": { + "readOnly": true, + "type": "string", + "description": "Remote NSP location with which the link gets created." + }, + "localInboundProfiles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Local Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. It's default value is ['*'].", + "uniqueItems": true + }, + "localOutboundProfiles": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "Local Outbound profile names from which Outbound is allowed. In current version, it is readonly property and it's value is set to ['*'] to allow outbound from all profiles. In later version, user will be able to modify it.", + "uniqueItems": true + }, + "remoteInboundProfiles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Remote Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. This property can only be updated in auto-approval mode. It's default value is ['*'].", + "uniqueItems": true + }, + "remoteOutboundProfiles": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "Remote Outbound profile names from which Outbound is allowed. In current version, it is readonly property and it's value is set to ['*'] to allow outbound from all profiles. In later version, user will be able to modify it.", + "uniqueItems": true + }, + "description": { + "type": "string", + "description": "A message passed to the owner of the remote NSP link resource with this connection request. In case of Auto-approved flow, it is default to 'Auto Approved'. Restricted to 140 chars." + }, + "status": { + "type": "string", + "readOnly": true, + "description": "The NSP link state.", + "enum": [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "nspLinkStatus", + "modelAsString": true + } + } + }, + "description": "Properties of NSP Link resource." + }, + "NspLinkReference": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NspLinkReferenceProperties", + "description": "Properties of the network security perimeter linkReference resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ProxyResource" + } + ], + "description": "The network security perimeter linkReference resource" + }, + "NspLinkReferenceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NspLinkReference" + }, + "description": "Gets a page of NSP LinkReference resources." + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list NSP linkReference resources. Contains a list of NSP linkReference resources and a URL link to get the next set of results." + }, + "NspLinkReferenceProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/NSPLinkProvisioningState", + "description": "The provisioning state of the NSP LinkReference resource." + }, + "remotePerimeterResourceId": { + "readOnly": true, + "type": "string", + "description": "Perimeter ARM Id for the remote NSP with which the link is created." + }, + "remotePerimeterGuid": { + "readOnly": true, + "type": "string", + "description": "Remote NSP Guid with which the link is created." + }, + "remotePerimeterLocation": { + "readOnly": true, + "type": "string", + "description": "Remote NSP location with which the link gets created." + }, + "localInboundProfiles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Local Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. It's default value is ['*'].", + "uniqueItems": true + }, + "localOutboundProfiles": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "Local Outbound profile names from which Outbound is allowed. Use ['*'] to allow outbound from all profiles. It's default value is ['*'].", + "uniqueItems": true + }, + "remoteInboundProfiles": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "Remote Inbound profile names to which Inbound is allowed. ['*'] value implies inbound is allowed to all profiles at remote perimeter. This property can only be updated from remote perimeter." + }, + "remoteOutboundProfiles": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "Remote Outbound profile names from which Outbound is allowed. ['*'] value implies outbound is allowed from all profiles at remote perimeter. This property can only be updated from remote perimeter." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "A message sent by the remote NSP link admin for connection request. In case of Auto-approved flow, it is default to 'Auto Approved'." + }, + "status": { + "type": "string", + "description": "The NSP linkReference state. It cannot be changed if link is created in auto-approval mode.", + "enum": [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "nspLinkStatus", + "modelAsString": true + } + } + }, + "description": "Properties of NSP LinkReference resource." + } + }, + "parameters": { + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "NetworkSecurityPerimeterNameParameter": { + "name": "networkSecurityPerimeterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security perimeter.", + "x-ms-parameter-location": "method" + }, + "ProfileNameParameter": { + "name": "profileName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the NSP profile.", + "x-ms-parameter-location": "method" + }, + "AccessRuleNameParameter": { + "name": "accessRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the NSP access rule.", + "x-ms-parameter-location": "method" + }, + "AssociationNameParameter": { + "name": "associationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the NSP association.", + "x-ms-parameter-location": "method" + }, + "LinkNameParameter": { + "name": "linkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the NSP link.", + "x-ms-parameter-location": "method" + }, + "LinkReferenceNameParameter": { + "name": "linkReferenceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the NSP linkReference.", + "x-ms-parameter-location": "method" + }, + "ListTopParameter": { + "name": "$top", + "description": "An optional query parameter which specifies the maximum number of records to be returned by the server.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 20, + "x-ms-parameter-location": "method" + }, + "ListSkipTokenParameter": { + "name": "$skipToken", + "description": "SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "NetworkSecurityPerimeterProfileParameter": { + "name": "networkSecurityPerimeterProfile", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network security perimeter profile.", + "x-ms-parameter-location": "method" + }, + "LocationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of network security perimeter.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md index 2501fe133971..98a94a291d55 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -31,6 +31,25 @@ openapi-type: arm tag: package-2023-05 ``` +### Tag: package-2023-08-preview + +These settings apply only when `--tag=package-2023-08-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2023-08-preview' +input-file: + - Microsoft.Network/preview/2023-08-01-preview/network.json + - Microsoft.Network/preview/2023-08-01-preview/networkSecurityPerimeter.json +``` + +### Tag: package-2023-07-preview + +These settings apply only when `--tag=package-2023-07-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2023-07-preview' +input-file: + - Microsoft.Network/preview/2023-07-01-preview/network.json + - Microsoft.Network/preview/2023-07-01-preview/networkSecurityPerimeter.json +``` ### Tag: package-2023-05