diff --git a/specification/networkfunction/NetworkFunction.Management/AzureTrafficCollector.tsp b/specification/networkfunction/NetworkFunction.Management/AzureTrafficCollector.tsp new file mode 100644 index 000000000000..d984225ea5f2 --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/AzureTrafficCollector.tsp @@ -0,0 +1,106 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.NetworkFunction; +/** + * Azure Traffic Collector resource. + */ +model AzureTrafficCollector + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = AzureTrafficCollector, + KeyName = "azureTrafficCollectorName", + SegmentName = "azureTrafficCollectors", + NamePattern = "" + >; + + /** + * Resource location. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + location: string; + + /** + * Resource tags. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + tags?: Record; + + /** + * A unique read-only string that changes whenever the resource is updated. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + etag?: string; +} + +@armResourceOperations +interface AzureTrafficCollectors { + /** + * Gets the specified Azure Traffic Collector in a specified resource group + */ + get is ArmResourceRead; + + /** + * Creates or updates a Azure Traffic Collector resource + */ + createOrUpdate is ArmResourceCreateOrReplaceAsync< + AzureTrafficCollector, + Error = CloudError + >; + + /** + * Updates the specified Azure Traffic Collector tags. + */ + @patch(#{ implicitOptionality: false }) + updateTags is ArmCustomPatchSync< + AzureTrafficCollector, + PatchModel = TagsObject, + Error = CloudError + >; + + /** + * Deletes a specified Azure Traffic Collector resource. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + delete is ArmResourceDeleteWithoutOkAsync< + AzureTrafficCollector, + Response = ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse, + Error = CloudError + >; + + /** + * Return list of Azure Traffic Collectors in a Resource Group + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + list is ArmResourceListByParent; + + /** + * Return list of Azure Traffic Collectors in a subscription + */ + #suppress "@azure-tools/typespec-azure-core/no-openapi" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + azureTrafficCollectorsBySubscriptionList is ArmListBySubscription< + AzureTrafficCollector, + Error = CloudError + >; +} + +@@doc(AzureTrafficCollector.name, "Azure Traffic Collector name"); +@@doc(AzureTrafficCollector.properties, + "Properties of the Azure Traffic Collector." +); +@@doc(AzureTrafficCollectors.createOrUpdate::parameters.resource, + "The parameters to provide for the created Azure Traffic Collector." +); +@@doc(AzureTrafficCollectors.updateTags::parameters.properties, + "Parameters supplied to update Azure Traffic Collector tags." +); diff --git a/specification/networkfunction/NetworkFunction.Management/CollectorPolicy.tsp b/specification/networkfunction/NetworkFunction.Management/CollectorPolicy.tsp new file mode 100644 index 000000000000..f43d88b0dad5 --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/CollectorPolicy.tsp @@ -0,0 +1,96 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; +import "./AzureTrafficCollector.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.NetworkFunction; +/** + * Collector policy resource. + */ +@parentResource(AzureTrafficCollector) +model CollectorPolicy + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = CollectorPolicy, + KeyName = "collectorPolicyName", + SegmentName = "collectorPolicies", + NamePattern = "" + >; + + /** + * Resource location. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + location: string; + + /** + * Resource tags. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + tags?: Record; + + /** + * A unique read-only string that changes whenever the resource is updated. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + etag?: string; +} + +@armResourceOperations +interface CollectorPolicies { + /** + * Gets the collector policy in a specified Traffic Collector + */ + get is ArmResourceRead; + + /** + * Creates or updates a Collector Policy resource + */ + createOrUpdate is ArmResourceCreateOrReplaceAsync< + CollectorPolicy, + Error = CloudError + >; + + /** + * Updates the specified Collector Policy tags. + */ + @patch(#{ implicitOptionality: false }) + updateTags is ArmCustomPatchSync< + CollectorPolicy, + PatchModel = TagsObject, + Error = CloudError + >; + + /** + * Deletes a specified Collector Policy resource. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + delete is ArmResourceDeleteWithoutOkAsync< + CollectorPolicy, + Response = ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse, + Error = CloudError + >; + + /** + * Return list of Collector policies in a Azure Traffic Collector + */ + list is ArmResourceListByParent; +} + +@@doc(CollectorPolicy.name, "Collector Policy Name"); +@@doc(CollectorPolicy.properties, "Properties of the Collector Policy."); +@@doc(CollectorPolicies.createOrUpdate::parameters.resource, + "The parameters to provide for the created Collector Policy." +); +@@Azure.ClientGenerator.Core.clientName(CollectorPolicies.updateTags::parameters.properties, + "parameters" +); diff --git a/specification/networkfunction/NetworkFunction.Management/back-compatible.tsp b/specification/networkfunction/NetworkFunction.Management/back-compatible.tsp new file mode 100644 index 000000000000..68beda3741b1 --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/back-compatible.tsp @@ -0,0 +1,31 @@ +import "@azure-tools/typespec-client-generator-core"; + +using Azure.ClientGenerator.Core; +using Microsoft.NetworkFunction; + +@@clientName(AzureTrafficCollectors.createOrUpdate::parameters.resource, + "parameters" +); +@@clientName(AzureTrafficCollectors.updateTags::parameters.properties, + "parameters" +); +@@clientLocation(AzureTrafficCollectors.list, + "AzureTrafficCollectorsByResourceGroup" +); +@@clientLocation(AzureTrafficCollectors.azureTrafficCollectorsBySubscriptionList, + "AzureTrafficCollectorsBySubscription" +); +@@clientName(AzureTrafficCollectors.azureTrafficCollectorsBySubscriptionList, + "List" +); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@@Legacy.flattenProperty(AzureTrafficCollector.properties); + +@@clientName(CollectorPolicies.createOrUpdate::parameters.resource, + "parameters" +); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@@Legacy.flattenProperty(CollectorPolicy.properties); + +@@clientLocation(Operations.list, "NetworkFunction"); +@@clientName(Operations.list, "ListOperations"); diff --git a/specification/networkfunction/NetworkFunction.Management/client.tsp b/specification/networkfunction/NetworkFunction.Management/client.tsp new file mode 100644 index 000000000000..1d4055be29b2 --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/client.tsp @@ -0,0 +1,11 @@ +import "@azure-tools/typespec-client-generator-core"; +import "./main.tsp"; + +using Azure.ClientGenerator.Core; + +@@clientName(Microsoft.NetworkFunction, + "AzureTrafficCollectorClient", + "javascript" +); + +@@clientName(Microsoft.NetworkFunction, "TrafficCollectorMgmtClient", "python"); diff --git a/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/AzureTrafficCollectorCreate.json b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/AzureTrafficCollectorCreate.json new file mode 100644 index 000000000000..b6f7cce63c7f --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/AzureTrafficCollectorCreate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2022-11-01", + "azureTrafficCollectorName": "atc", + "parameters": { + "location": "West US", + "properties": {}, + "tags": { + "key1": "value1" + } + }, + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "atc", + "type": "Microsoft.NetworkFunction/azureTrafficCollectors", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc", + "location": "West US", + "properties": { + "collectorPolicies": [], + "provisioningState": "Succeeded" + }, + "tags": { + "key1": "value1" + } + } + }, + "201": { + "body": { + "name": "atc", + "type": "Microsoft.NetworkFunction/azureTrafficCollectors", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc", + "location": "West US", + "properties": { + "collectorPolicies": [], + "provisioningState": "Succeeded" + }, + "tags": { + "key1": "value1" + } + } + } + }, + "operationId": "AzureTrafficCollectors_CreateOrUpdate", + "title": "Create a traffic collector" +} diff --git a/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/AzureTrafficCollectorDelete.json b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/AzureTrafficCollectorDelete.json new file mode 100644 index 000000000000..f037ac66d83b --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/AzureTrafficCollectorDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2022-11-01", + "azureTrafficCollectorName": "atc", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.NetworkFunction/locations/westus/operationStatuses/testStatus?api-version=2022-11-01" + } + }, + "204": {} + }, + "operationId": "AzureTrafficCollectors_Delete", + "title": "Delete Traffic Collector" +} diff --git a/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/AzureTrafficCollectorGet.json b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/AzureTrafficCollectorGet.json new file mode 100644 index 000000000000..4d4aa6f803c6 --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/AzureTrafficCollectorGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-11-01", + "azureTrafficCollectorName": "atc", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "atc", + "type": "Microsoft.NetworkFunction/azureTrafficCollectors", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc", + "location": "West US", + "properties": { + "collectorPolicies": [], + "provisioningState": "Succeeded" + }, + "tags": { + "key1": "value1" + } + } + } + }, + "operationId": "AzureTrafficCollectors_Get", + "title": "Get Traffic Collector" +} diff --git a/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/AzureTrafficCollectorUpdateTags.json b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/AzureTrafficCollectorUpdateTags.json new file mode 100644 index 000000000000..9c9344e0a4a4 --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/AzureTrafficCollectorUpdateTags.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2022-11-01", + "azureTrafficCollectorName": "atc", + "parameters": { + "tags": { + "key1": "value1", + "key2": "value2" + } + }, + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "atc", + "type": "Microsoft.NetworkFunction/azureTrafficCollectors", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc", + "location": "West US", + "properties": { + "collectorPolicies": [], + "provisioningState": "Succeeded" + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + } + }, + "operationId": "AzureTrafficCollectors_UpdateTags", + "title": "Update Traffic Collector tags" +} diff --git a/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/AzureTrafficCollectorsByResourceGroupList.json b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/AzureTrafficCollectorsByResourceGroupList.json new file mode 100644 index 000000000000..8ef4050103b3 --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/AzureTrafficCollectorsByResourceGroupList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2022-11-01", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors?api-version=2022-11-01&$skiptoken=X%27123456%27", + "value": [ + { + "name": "atc", + "type": "Microsoft.NetworkFunction/azureTrafficCollectors", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc", + "location": "West US", + "properties": { + "collectorPolicies": [], + "provisioningState": "Succeeded" + }, + "tags": { + "key1": "value1" + } + } + ] + } + } + }, + "operationId": "AzureTrafficCollectorsByResourceGroup_List", + "title": "List of Traffic Collectors by ResourceGroup" +} diff --git a/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/AzureTrafficCollectorsBySubscriptionList.json b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/AzureTrafficCollectorsBySubscriptionList.json new file mode 100644 index 000000000000..26ec389c3fa7 --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/AzureTrafficCollectorsBySubscriptionList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2022-11-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://management.azure.com/subscriptions/subid/providers/Microsoft.NetworkFunction/azureTrafficCollectors?api-version=2022-11-01&$skiptoken=X%27123456%27", + "value": [ + { + "name": "atc", + "type": "Microsoft.NetworkFunction/azureTrafficCollectors", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc", + "location": "West US", + "properties": { + "collectorPolicies": [], + "provisioningState": "Succeeded" + }, + "tags": { + "key1": "value1" + } + } + ] + } + } + }, + "operationId": "AzureTrafficCollectorsBySubscription_List", + "title": "List of Traffic Collectors by Subscription" +} diff --git a/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/CollectorPoliciesList.json b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/CollectorPoliciesList.json new file mode 100644 index 000000000000..4c024c7bfe68 --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/CollectorPoliciesList.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2022-11-01", + "azureTrafficCollectorName": "atc", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "atc", + "type": "Microsoft.NetworkFunction/azureTrafficCollectors/collectorPolicies", + "etag": "w/\\72090554-7e3b-43f2-80ad-99a9020dcb11\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc/collectorPolicies/cp1", + "location": "westus", + "properties": { + "emissionPolicies": [ + { + "emissionDestinations": [ + { + "destinationType": "AzureMonitor" + } + ], + "emissionType": "IPFIX" + } + ], + "ingestionPolicy": { + "ingestionSources": [ + { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", + "sourceType": "Resource" + } + ], + "ingestionType": "IPFIX" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + }, + "operationId": "CollectorPolicies_List", + "title": "List of Collection Policies" +} diff --git a/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/CollectorPolicyCreate.json b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/CollectorPolicyCreate.json new file mode 100644 index 000000000000..ed1aa9e1c208 --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/CollectorPolicyCreate.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2022-11-01", + "azureTrafficCollectorName": "atc", + "collectorPolicyName": "cp1", + "parameters": { + "location": "West US", + "properties": { + "emissionPolicies": [ + { + "emissionDestinations": [ + { + "destinationType": "AzureMonitor" + } + ], + "emissionType": "IPFIX" + } + ], + "ingestionPolicy": { + "ingestionSources": [ + { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", + "sourceType": "Resource" + } + ], + "ingestionType": "IPFIX" + } + } + }, + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "cp1", + "type": "Microsoft.NetworkFunction/azureTrafficCollectors/collectorPolicies", + "etag": "w/\\72090554-7e3b-43f2-80ad-99a9020dcb11\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/AzureTrafficCollector/atc/collectorPolicies/cp1", + "location": "westus", + "properties": { + "emissionPolicies": [ + { + "emissionDestinations": [ + { + "destinationType": "AzureMonitor" + } + ], + "emissionType": "IPFIX" + } + ], + "ingestionPolicy": { + "ingestionSources": [ + { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", + "sourceType": "Resource" + } + ], + "ingestionType": "IPFIX" + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "cp1", + "type": "Microsoft.NetworkFunction/azureTrafficCollectors/collectorPolicies", + "etag": "w/\\72090554-7e3b-43f2-80ad-99a9020dcb11\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc/collectorPolicies/cp1", + "location": "westus", + "properties": { + "emissionPolicies": [ + { + "emissionDestinations": [ + { + "destinationType": "AzureMonitor" + } + ], + "emissionType": "IPFIX" + } + ], + "ingestionPolicy": { + "ingestionSources": [ + { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", + "sourceType": "Resource" + } + ], + "ingestionType": "IPFIX" + }, + "provisioningState": "Succeeded" + } + } + } + }, + "operationId": "CollectorPolicies_CreateOrUpdate", + "title": "Create a collection policy" +} diff --git a/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/CollectorPolicyDelete.json b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/CollectorPolicyDelete.json new file mode 100644 index 000000000000..587159aecc51 --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/CollectorPolicyDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2022-11-01", + "azureTrafficCollectorName": "atc", + "collectorPolicyName": "cp1", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.NetworkFunction/locations/westus/operationStatuses/testStatus?api-version=2022-11-01" + } + }, + "204": {} + }, + "operationId": "CollectorPolicies_Delete", + "title": "Delete Collection Policy" +} diff --git a/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/CollectorPolicyGet.json b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/CollectorPolicyGet.json new file mode 100644 index 000000000000..01e3577051ce --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/CollectorPolicyGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2022-11-01", + "azureTrafficCollectorName": "atc", + "collectorPolicyName": "cp1", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "atc", + "type": "Microsoft.NetworkFunction/azureTrafficCollectors/collectorPolicies", + "etag": "w/\\72090554-7e3b-43f2-80ad-99a9020dcb11\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc/collectorPolicies/cp1", + "location": "westus", + "properties": { + "emissionPolicies": [ + { + "emissionDestinations": [ + { + "destinationType": "AzureMonitor" + } + ], + "emissionType": "IPFIX" + } + ], + "ingestionPolicy": { + "ingestionSources": [ + { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", + "sourceType": "Resource" + } + ], + "ingestionType": "IPFIX" + }, + "provisioningState": "Succeeded" + } + } + } + }, + "operationId": "CollectorPolicies_Get", + "title": "Get Collection Policy" +} diff --git a/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/CollectorPolicyUpdateTags.json b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/CollectorPolicyUpdateTags.json new file mode 100644 index 000000000000..570a64fb0daa --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/CollectorPolicyUpdateTags.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2022-11-01", + "azureTrafficCollectorName": "atc", + "collectorPolicyName": "cp1", + "parameters": { + "tags": { + "key1": "value1", + "key2": "value2" + } + }, + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "atc", + "type": "Microsoft.NetworkFunction/azureTrafficCollectors/collectorPolicies", + "etag": "w/\\72090554-7e3b-43f2-80ad-99a9020dcb11\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc/collectorPolicies/cp1", + "location": "westus", + "properties": { + "emissionPolicies": [ + { + "emissionDestinations": [ + { + "destinationType": "AzureMonitor" + } + ], + "emissionType": "IPFIX" + } + ], + "ingestionPolicy": { + "ingestionSources": [ + { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", + "sourceType": "Resource" + } + ], + "ingestionType": "IPFIX" + }, + "provisioningState": "Succeeded" + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + } + }, + "operationId": "CollectorPolicies_UpdateTags", + "title": "Update Collector Policy tags" +} diff --git a/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/OperationsList.json b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/OperationsList.json new file mode 100644 index 000000000000..7395c477dd2a --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/examples/2022-11-01/OperationsList.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.NetworkFunction/azureTrafficCollectors/write", + "display": { + "description": "Creates or Update a azure traffic collector", + "operation": "Create/Update a azure traffic collector", + "provider": "Microsoft NetworkFunction", + "resource": "AzureTrafficCollector" + } + } + ] + } + } + }, + "operationId": "NetworkFunction_ListOperations", + "title": "OperationsList" +} diff --git a/specification/networkfunction/NetworkFunction.Management/main.tsp b/specification/networkfunction/NetworkFunction.Management/main.tsp new file mode 100644 index 000000000000..f12275df58d9 --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/main.tsp @@ -0,0 +1,53 @@ +/** + * PLEASE DO NOT REMOVE - USED FOR CONVERTER METRICS + * Generated by package: @autorest/openapi-to-typespec + * Parameters used: + * isFullCompatible: true + * guessResourceKey: false + * Version: 0.11.12 + * Date: 2026-01-15T07:24:34.080Z + */ +import "@typespec/rest"; +import "@typespec/versioning"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "./models.tsp"; +import "./back-compatible.tsp"; +import "./AzureTrafficCollector.tsp"; +import "./CollectorPolicy.tsp"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager.Foundations; +using Azure.Core; +using Azure.ResourceManager; +using TypeSpec.Versioning; +/** + * Azure Traffic Collector service + */ +@armProviderNamespace +@service(#{ title: "Azure Traffic Collector" }) +@versioned(Versions) +// FIXME: Common type version not set. Set to v3. +@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v3) +namespace Microsoft.NetworkFunction; + +/** + * The available API versions. + */ +enum Versions { + /** + * The 2022-11-01 API version. + */ + v2022_11_01: "2022-11-01", +} + +interface Operations + extends Azure.ResourceManager.Legacy.Operations< + ArmResponse, + CloudError + > {} + +@@doc(Operations.list, + "Lists all of the available NetworkFunction Rest API operations." +); diff --git a/specification/networkfunction/NetworkFunction.Management/models.tsp b/specification/networkfunction/NetworkFunction.Management/models.tsp new file mode 100644 index 000000000000..ee517a98a567 --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/models.tsp @@ -0,0 +1,450 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager; +using Azure.ResourceManager.Foundations; + +namespace Microsoft.NetworkFunction; + +/** + * The current provisioning state. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +union ProvisioningState { + string, + + /** + * Succeeded + */ + Succeeded: "Succeeded", + + /** + * Updating + */ + Updating: "Updating", + + /** + * Deleting + */ + Deleting: "Deleting", + + /** + * Failed + */ + Failed: "Failed", +} + +/** + * The type of identity that created the resource. + */ +union CreatedByType { + string, + + /** + * User + */ + User: "User", + + /** + * Application + */ + Application: "Application", + + /** + * ManagedIdentity + */ + ManagedIdentity: "ManagedIdentity", + + /** + * Key + */ + Key: "Key", +} + +/** + * The ingestion type. + */ +union IngestionType { + string, + + /** + * IPFIX + */ + IPFIX: "IPFIX", +} + +/** + * Ingestion source type. + */ +union SourceType { + string, + + /** + * Resource + */ + Resource: "Resource", +} + +/** + * Emission format type. + */ +union EmissionType { + string, + + /** + * IPFIX + */ + IPFIX: "IPFIX", +} + +/** + * Emission destination type. + */ +union DestinationType { + string, + + /** + * AzureMonitor + */ + AzureMonitor: "AzureMonitor", +} + +#suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +union ApiVersionParameter { + string, + + /** + * 2022-05-01 + */ + `2022-05-01`: "2022-05-01", + + /** + * 2022-08-01 + */ + `2022-08-01`: "2022-08-01", + + /** + * 2022-11-01 + */ + `2022-11-01`: "2022-11-01", +} + +/** + * Azure Traffic Collector REST API operation definition. + */ +model Operation { + /** + * Operation name: {provider}/{resource}/{operation} + */ + name?: string; + + /** + * Indicates whether the operation is a data action + */ + isDataAction?: boolean = false; + + /** + * Display metadata associated with the operation. + */ + display?: OperationDisplay; + + /** + * Origin of the operation + */ + origin?: string; +} + +model OperationListResult is Azure.Core.Page; +/** + * Display metadata associated with the operation. + */ +model OperationDisplay { + /** + * Service provider: Microsoft NetworkFunction. + */ + provider?: string; + + /** + * Resource on which the operation is performed etc. + */ + resource?: string; + + /** + * Type of operation: get, read, delete, etc. + */ + operation?: string; + + /** + * Description of the operation. + */ + description?: string; +} + +/** + * An error response from the service. + */ +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@error +@Azure.ResourceManager.Legacy.armExternalType +model CloudError { + /** + * An error response from the service. + */ + error?: CloudErrorBody; +} + +/** + * An error response from the service. + */ +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@Azure.ResourceManager.Legacy.armExternalType +model CloudErrorBody { + /** + * An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + */ + code?: string; + + /** + * A message describing the error, intended to be suitable for display in a user interface. + */ + message?: string; + + /** + * The target of the particular error. For example, the name of the property in error. + */ + target?: string; + + /** + * A list of additional details about the error. + */ + @identifiers(#[]) + details?: CloudErrorBody[]; +} + +/** + * Azure Traffic Collector resource properties. + */ +model AzureTrafficCollectorPropertiesFormat { + /** + * Collector Policies for Azure Traffic Collector. + */ + @visibility(Lifecycle.Read) + collectorPolicies?: ResourceReference[]; + + /** + * The virtualHub to which the Azure Traffic Collector belongs. + */ + virtualHub?: ResourceReference; + + /** + * The provisioning state of the application rule collection resource. + */ + @visibility(Lifecycle.Read) + provisioningState?: ProvisioningState; +} + +/** + * Resource reference properties. + */ +model ResourceReference { + /** + * Resource ID. + */ + @visibility(Lifecycle.Read) + id?: string; +} + +/** + * Common resource representation. + */ +model TrackedResource { + /** + * Resource ID. + */ + @visibility(Lifecycle.Read) + id?: string; + + /** + * Resource name. + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * Resource type. + */ + @visibility(Lifecycle.Read) + type?: string; + + /** + * Resource location. + */ + location: string; + + /** + * Resource tags. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + tags?: Record; + + /** + * Metadata pertaining to creation and last modification of the resource. + */ + @visibility(Lifecycle.Read) + systemData?: TrackedResourceSystemData; +} + +/** + * Metadata pertaining to creation and last modification of the resource. + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model TrackedResourceSystemData extends SystemData {} + +/** + * Metadata pertaining to creation and last modification of the resource. + */ +#suppress "@azure-tools/typespec-azure-resource-manager/no-empty-model" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model SystemData { + /** + * The identity that created the resource. + */ + createdBy?: string; + + /** + * The type of identity that created the resource. + */ + createdByType?: CreatedByType; + + /** + * The timestamp of resource creation (UTC). + */ + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + createdAt?: utcDateTime; + + /** + * The identity that last modified the resource. + */ + lastModifiedBy?: string; + + /** + * The type of identity that last modified the resource. + */ + lastModifiedByType?: CreatedByType; +} + +/** + * Tags object for patch operations. + */ +model TagsObject { + /** + * Resource tags. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + tags?: Record; +} + +/** + * Collection policy properties. + */ +model CollectorPolicyPropertiesFormat { + /** + * Ingestion policies. + */ + ingestionPolicy?: IngestionPolicyPropertiesFormat; + + /** + * Emission policies. + */ + @identifiers(#[]) + emissionPolicies?: EmissionPoliciesPropertiesFormat[]; + + /** + * The provisioning state. + */ + @visibility(Lifecycle.Read) + provisioningState?: ProvisioningState; +} + +/** + * Ingestion Policy properties. + */ +model IngestionPolicyPropertiesFormat { + /** + * The ingestion type. + */ + ingestionType?: IngestionType; + + /** + * Ingestion Sources. + */ + @identifiers(#[]) + ingestionSources?: IngestionSourcesPropertiesFormat[]; +} + +/** + * Ingestion policy properties. + */ +model IngestionSourcesPropertiesFormat { + /** + * Ingestion source type. + */ + sourceType?: SourceType; + + /** + * Resource ID. + */ + resourceId?: string; +} + +/** + * Emission policy properties. + */ +model EmissionPoliciesPropertiesFormat { + /** + * Emission format type. + */ + emissionType?: EmissionType; + + /** + * Emission policy destinations. + */ + @identifiers(#[]) + emissionDestinations?: EmissionPolicyDestination[]; +} + +/** + * Emission policy destination properties. + */ +model EmissionPolicyDestination { + /** + * Emission destination type. + */ + destinationType?: DestinationType; +} + +/** + * An azure resource object + */ +model ProxyResource { + /** + * Azure resource Id + */ + @visibility(Lifecycle.Read) + id?: string; + + /** + * Azure resource type + */ + @visibility(Lifecycle.Read) + type?: string; + + /** + * Azure resource name + */ + @visibility(Lifecycle.Read) + name?: string; +} diff --git a/specification/networkfunction/NetworkFunction.Management/tspconfig.yaml b/specification/networkfunction/NetworkFunction.Management/tspconfig.yaml new file mode 100644 index 000000000000..209e4a759b66 --- /dev/null +++ b/specification/networkfunction/NetworkFunction.Management/tspconfig.yaml @@ -0,0 +1,44 @@ +parameters: + "service-dir": + default: "sdk/networkfunction" +emit: + - "@azure-tools/typespec-autorest" +options: + "@azure-tools/typespec-autorest": + omit-unreachable-types: true + emitter-output-dir: "{project-root}/.." + azure-resource-provider-folder: "resource-manager" + output-file: "{azure-resource-provider-folder}/{service-name}/TrafficCollector/{version-status}/{version}/AzureTrafficCollector.json" + emit-lro-options: "all" + examples-dir: "{project-root}/examples" + "@azure-tools/typespec-python": + emitter-output-dir: "{output-dir}/{service-dir}/azure-mgmt-networkfunction" + namespace: "azure.mgmt.networkfunction" + generate-test: true + generate-sample: true + flavor: "azure" + "@azure-tools/typespec-java": + emitter-output-dir: "{output-dir}/{service-dir}/azure-resourcemanager-networkfunction" + namespace: "com.azure.resourcemanager.networkfunction" + service-name: "Azure Traffic Collector" + flavor: azure + "@azure-tools/typespec-ts": + service-dir: sdk/networkfunction + emitter-output-dir: "{output-dir}/{service-dir}/arm-networkfunction" + flavor: "azure" + experimental-extensible-enums: true + package-details: + name: "@azure/arm-networkfunction" + "@azure-tools/typespec-go": + service-dir: "sdk/resourcemanager/networkfunction" + emitter-output-dir: "{output-dir}/{service-dir}/armnetworkfunction" + module: "github.com/Azure/azure-sdk-for-go/{service-dir}/armnetworkfunction" + fix-const-stuttering: true + flavor: "azure" + generate-samples: true + generate-fakes: true + head-as-boolean: true + inject-spans: true +linter: + extends: + - "@azure-tools/typespec-azure-rulesets/resource-manager" diff --git a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/AzureTrafficCollector.json b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/AzureTrafficCollector.json index c4e474af2302..613c994849a3 100644 --- a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/AzureTrafficCollector.json +++ b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/AzureTrafficCollector.json @@ -1,105 +1,125 @@ { "swagger": "2.0", "info": { - "version": "2022-11-01", "title": "Azure Traffic Collector", + "version": "2022-11-01", "description": "Azure Traffic Collector service", - "license": { - "name": "Microsoft" - } + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] }, - "host": "management.azure.com", "schemes": [ "https" ], - "consumes": [ + "host": "management.azure.com", + "produces": [ "application/json" ], - "produces": [ + "consumes": [ "application/json" ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], "securityDefinitions": { "azure_auth": { "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "description": "Azure Active Directory OAuth2 Flow.", "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } }, + "tags": [ + { + "name": "Operations" + }, + { + "name": "AzureTrafficCollectors" + }, + { + "name": "CollectorPolicies" + } + ], "paths": { "/providers/Microsoft.NetworkFunction/operations": { "get": { + "operationId": "NetworkFunction_ListOperations", "tags": [ "Operations" ], "description": "Lists all of the available NetworkFunction Rest API operations.", - "operationId": "NetworkFunction_ListOperations", - "x-ms-examples": { - "OperationsList": { - "$ref": "./examples/OperationsList.json" - } - }, "parameters": [ { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "OK. The request has succeeded.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/OperationListResult" } }, "default": { - "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/OperationsList.json" + } + }, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.NetworkFunction/azureTrafficCollectors": { "get": { + "operationId": "AzureTrafficCollectorsBySubscription_List", "tags": [ "AzureTrafficCollectors" ], "description": "Return list of Azure Traffic Collectors in a subscription", - "operationId": "AzureTrafficCollectorsBySubscription_List", - "x-ms-examples": { - "List of Traffic Collectors by Subscription": { - "$ref": "./examples/AzureTrafficCollectorsBySubscriptionList.json" - } - }, "parameters": [ { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Request successful. The operation returns a list of azure traffic collector resources.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AzureTrafficCollectorListResult" } }, "default": { - "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, + "x-ms-examples": { + "List of Traffic Collectors by Subscription": { + "$ref": "./examples/AzureTrafficCollectorsBySubscriptionList.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } @@ -107,41 +127,41 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkFunction/azureTrafficCollectors": { "get": { + "operationId": "AzureTrafficCollectorsByResourceGroup_List", "tags": [ "AzureTrafficCollectors" ], "description": "Return list of Azure Traffic Collectors in a Resource Group", - "operationId": "AzureTrafficCollectorsByResourceGroup_List", - "x-ms-examples": { - "List of Traffic Collectors by ResourceGroup": { - "$ref": "./examples/AzureTrafficCollectorsByResourceGroupList.json" - } - }, "parameters": [ { - "$ref": "#/parameters/resourceGroupName" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { - "description": "Request successful. The operation returns a list of azure traffic collector resources.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AzureTrafficCollectorListResult" } }, "default": { - "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, + "x-ms-examples": { + "List of Traffic Collectors by ResourceGroup": { + "$ref": "./examples/AzureTrafficCollectorsByResourceGroupList.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } @@ -149,34 +169,38 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkFunction/azureTrafficCollectors/{azureTrafficCollectorName}": { "get": { + "operationId": "AzureTrafficCollectors_Get", "tags": [ "AzureTrafficCollectors" ], - "operationId": "AzureTrafficCollectors_Get", "description": "Gets the specified Azure Traffic Collector in a specified resource group", "parameters": [ { - "$ref": "#/parameters/resourceGroupName" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/azureTrafficCollectorNameParameter" + "name": "azureTrafficCollectorName", + "in": "path", + "description": "Azure Traffic Collector name", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "Request successful. The operation returns the resulting Azure Traffic Collector resource.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AzureTrafficCollector" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } @@ -189,50 +213,64 @@ } }, "put": { + "operationId": "AzureTrafficCollectors_CreateOrUpdate", "tags": [ "AzureTrafficCollectors" ], "description": "Creates or updates a Azure Traffic Collector resource", - "operationId": "AzureTrafficCollectors_CreateOrUpdate", "parameters": [ { - "$ref": "#/parameters/resourceGroupName" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/azureTrafficCollectorNameParameter" + "name": "azureTrafficCollectorName", + "in": "path", + "description": "Azure Traffic Collector name", + "required": true, + "type": "string" }, { "name": "parameters", "in": "body", + "description": "The parameters to provide for the created Azure Traffic Collector.", "required": true, - "x-ms-client-flatten": true, "schema": { "$ref": "#/definitions/AzureTrafficCollector" - }, - "description": "The parameters to provide for the created Azure Traffic Collector." + } } ], "responses": { "200": { - "description": "Update successful. The operation returns the resulting Azure Traffic Collector resource.", + "description": "Resource 'AzureTrafficCollector' update operation succeeded", "schema": { "$ref": "#/definitions/AzureTrafficCollector" } }, "201": { - "description": "Create successful. The operation returns the resulting Azure Traffic Collector resource.", + "description": "Resource 'AzureTrafficCollector' create operation succeeded", "schema": { "$ref": "#/definitions/AzureTrafficCollector" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } @@ -243,148 +281,172 @@ "$ref": "./examples/AzureTrafficCollectorCreate.json" } }, - "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - } + "final-state-via": "azure-async-operation", + "final-state-schema": "#/definitions/AzureTrafficCollector" + }, + "x-ms-long-running-operation": true }, - "delete": { + "patch": { + "operationId": "AzureTrafficCollectors_UpdateTags", "tags": [ "AzureTrafficCollectors" ], - "operationId": "AzureTrafficCollectors_Delete", - "description": "Deletes a specified Azure Traffic Collector resource.", + "description": "Updates the specified Azure Traffic Collector tags.", "parameters": [ { - "$ref": "#/parameters/resourceGroupName" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "name": "azureTrafficCollectorName", + "in": "path", + "description": "Azure Traffic Collector name", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/azureTrafficCollectorNameParameter" + "name": "parameters", + "in": "body", + "description": "Parameters supplied to update Azure Traffic Collector tags.", + "required": true, + "schema": { + "$ref": "#/definitions/TagsObject" + } } ], "responses": { "200": { - "description": "Delete successful." - }, - "202": { - "description": "Accepted and the operation will complete asynchronously." - }, - "204": { - "description": "Request successful. Resource does not exist." + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AzureTrafficCollector" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { - "Delete Traffic Collector": { - "$ref": "./examples/AzureTrafficCollectorDelete.json" + "Update Traffic Collector tags": { + "$ref": "./examples/AzureTrafficCollectorUpdateTags.json" } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" } }, - "patch": { + "delete": { + "operationId": "AzureTrafficCollectors_Delete", "tags": [ "AzureTrafficCollectors" ], - "operationId": "AzureTrafficCollectors_UpdateTags", - "x-ms-examples": { - "Update Traffic Collector tags": { - "$ref": "./examples/AzureTrafficCollectorUpdateTags.json" - } - }, - "description": "Updates the specified Azure Traffic Collector tags.", + "description": "Deletes a specified Azure Traffic Collector resource.", "parameters": [ { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/TagsObject" - }, - "description": "Parameters supplied to update Azure Traffic Collector tags." + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/azureTrafficCollectorNameParameter" + "name": "azureTrafficCollectorName", + "in": "path", + "description": "Azure Traffic Collector name", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "Update successful. The operation returns the resulting Azure Traffic Collector resource.", - "schema": { - "$ref": "#/definitions/AzureTrafficCollector" + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "Resource does not exist." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } - } + }, + "x-ms-examples": { + "Delete Traffic Collector": { + "$ref": "./examples/AzureTrafficCollectorDelete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkFunction/azureTrafficCollectors/{azureTrafficCollectorName}/collectorPolicies": { "get": { + "operationId": "CollectorPolicies_List", "tags": [ "CollectorPolicies" ], "description": "Return list of Collector policies in a Azure Traffic Collector", - "operationId": "CollectorPolicies_List", - "x-ms-examples": { - "List of Collection Policies": { - "$ref": "./examples/CollectorPoliciesList.json" - } - }, "parameters": [ { - "$ref": "#/parameters/resourceGroupName" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/azureTrafficCollectorNameParameter" + "name": "azureTrafficCollectorName", + "in": "path", + "description": "Azure Traffic Collector name", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "Request successful. The operation returns a list of collector policies in a azure traffic collector.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/CollectorPolicyListResult" } }, "default": { - "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, + "x-ms-examples": { + "List of Collection Policies": { + "$ref": "./examples/CollectorPoliciesList.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } @@ -392,37 +454,45 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetworkFunction/azureTrafficCollectors/{azureTrafficCollectorName}/collectorPolicies/{collectorPolicyName}": { "get": { + "operationId": "CollectorPolicies_Get", "tags": [ "CollectorPolicies" ], - "operationId": "CollectorPolicies_Get", "description": "Gets the collector policy in a specified Traffic Collector", "parameters": [ { - "$ref": "#/parameters/resourceGroupName" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/azureTrafficCollectorNameParameter" + "name": "azureTrafficCollectorName", + "in": "path", + "description": "Azure Traffic Collector name", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/collectorPolicyNameParameter" + "name": "collectorPolicyName", + "in": "path", + "description": "Collector Policy Name", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "Request successful. The operation returns the collector policy resource.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/CollectorPolicy" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } @@ -435,53 +505,71 @@ } }, "put": { + "operationId": "CollectorPolicies_CreateOrUpdate", "tags": [ "CollectorPolicies" ], "description": "Creates or updates a Collector Policy resource", - "operationId": "CollectorPolicies_CreateOrUpdate", "parameters": [ { - "$ref": "#/parameters/resourceGroupName" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/azureTrafficCollectorNameParameter" + "name": "azureTrafficCollectorName", + "in": "path", + "description": "Azure Traffic Collector name", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/collectorPolicyNameParameter" + "name": "collectorPolicyName", + "in": "path", + "description": "Collector Policy Name", + "required": true, + "type": "string" }, { "name": "parameters", "in": "body", + "description": "The parameters to provide for the created Collector Policy.", "required": true, - "x-ms-client-flatten": true, "schema": { "$ref": "#/definitions/CollectorPolicy" - }, - "description": "The parameters to provide for the created Collector Policy." + } } ], "responses": { "200": { - "description": "Update successful. The operation returns the resulting Collector Policy resource.", + "description": "Resource 'CollectorPolicy' update operation succeeded", "schema": { "$ref": "#/definitions/CollectorPolicy" } }, "201": { - "description": "Create successful. The operation returns the resulting Collector Policy resource.", + "description": "Resource 'CollectorPolicy' create operation succeeded", "schema": { "$ref": "#/definitions/CollectorPolicy" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } @@ -492,157 +580,210 @@ "$ref": "./examples/CollectorPolicyCreate.json" } }, - "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - } + "final-state-via": "azure-async-operation", + "final-state-schema": "#/definitions/CollectorPolicy" + }, + "x-ms-long-running-operation": true }, - "delete": { + "patch": { + "operationId": "CollectorPolicies_UpdateTags", "tags": [ "CollectorPolicies" ], - "operationId": "CollectorPolicies_Delete", - "description": "Deletes a specified Collector Policy resource.", + "description": "Updates the specified Collector Policy tags.", "parameters": [ { - "$ref": "#/parameters/resourceGroupName" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "azureTrafficCollectorName", + "in": "path", + "description": "Azure Traffic Collector name", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/azureTrafficCollectorNameParameter" + "name": "collectorPolicyName", + "in": "path", + "description": "Collector Policy Name", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/collectorPolicyNameParameter" + "name": "parameters", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/TagsObject" + } } ], "responses": { "200": { - "description": "Delete successful." - }, - "202": { - "description": "Accepted and the operation will complete asynchronously." - }, - "204": { - "description": "Request successful. Resource does not exist." + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CollectorPolicy" + } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { - "Delete Collection Policy": { - "$ref": "./examples/CollectorPolicyDelete.json" + "Update Collector Policy tags": { + "$ref": "./examples/CollectorPolicyUpdateTags.json" } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" } }, - "patch": { + "delete": { + "operationId": "CollectorPolicies_Delete", "tags": [ "CollectorPolicies" ], - "operationId": "CollectorPolicies_UpdateTags", - "x-ms-examples": { - "Update Collector Policy tags": { - "$ref": "./examples/CollectorPolicyUpdateTags.json" - } - }, - "description": "Updates the specified Collector Policy tags.", + "description": "Deletes a specified Collector Policy resource.", "parameters": [ { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/TagsObject" - }, - "description": "Parameters supplied to update Collector Policy tags." + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/azureTrafficCollectorNameParameter" + "name": "azureTrafficCollectorName", + "in": "path", + "description": "Azure Traffic Collector name", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/collectorPolicyNameParameter" + "name": "collectorPolicyName", + "in": "path", + "description": "Collector Policy Name", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "Update successful. The operation returns the resulting Collector Policy resource.", - "schema": { - "$ref": "#/definitions/CollectorPolicy" + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "Resource does not exist." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/CloudError" } } - } + }, + "x-ms-examples": { + "Delete Collection Policy": { + "$ref": "./examples/CollectorPolicyDelete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } } }, "definitions": { - "TagsObject": { + "AzureTrafficCollector": { "type": "object", + "description": "Azure Traffic Collector resource.", "properties": { + "properties": { + "$ref": "#/definitions/AzureTrafficCollectorPropertiesFormat", + "description": "Properties of the Azure Traffic Collector.", + "x-ms-client-flatten": true + }, + "location": { + "type": "string", + "description": "Resource location." + }, "tags": { "type": "object", + "description": "Resource tags.", "additionalProperties": { "type": "string" - }, - "description": "Resource tags." + } + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated.", + "readOnly": true } }, - "description": "Tags object for patch operations." - }, - "AzureTrafficCollectorListResult": { - "type": "object", - "properties": { + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "AzureTrafficCollectorListResult": { + "type": "object", + "description": "The response of a AzureTrafficCollector list operation.", + "properties": { "value": { "type": "array", + "description": "The AzureTrafficCollector items on this page", "items": { "$ref": "#/definitions/AzureTrafficCollector" - }, - "description": "A list of Traffic Collector resources." + } }, "nextLink": { "type": "string", - "description": "The URL to get the next set of results.", - "readOnly": true + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "Response for the ListTrafficCollectors API service call." + "required": [ + "value" + ] }, "AzureTrafficCollectorPropertiesFormat": { "type": "object", - "x-ms-azure-resource": true, + "description": "Azure Traffic Collector resource properties.", "properties": { "collectorPolicies": { "type": "array", + "description": "Collector Policies for Azure Traffic Collector.", "items": { "$ref": "#/definitions/ResourceReference" }, - "description": "Collector Policies for Azure Traffic Collector.", "readOnly": true }, "virtualHub": { @@ -650,142 +791,109 @@ "description": "The virtualHub to which the Azure Traffic Collector belongs." }, "provisioningState": { - "readOnly": true, "$ref": "#/definitions/ProvisioningState", - "description": "The provisioning state of the application rule collection resource." + "description": "The provisioning state of the application rule collection resource.", + "readOnly": true } - }, - "description": "Azure Traffic Collector resource properties." + } }, - "AzureTrafficCollector": { + "CloudError": { "type": "object", + "description": "An error response from the service.", "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/AzureTrafficCollectorPropertiesFormat", - "description": "Properties of the Azure Traffic Collector." - }, - "etag": { - "type": "string", - "readOnly": true, - "description": "A unique read-only string that changes whenever the resource is updated." + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "An error response from the service." } }, - "allOf": [ - { - "$ref": "#/definitions/TrackedResource" - } - ], - "description": "Azure Traffic Collector resource." + "x-ms-external": true }, - "CollectorPolicyListResult": { + "CloudErrorBody": { "type": "object", + "description": "An error response from the service.", "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/CollectorPolicy" - }, - "description": "A list of collection policies." - }, - "nextLink": { + "code": { "type": "string", - "description": "The URL to get the next set of results.", - "readOnly": true - } - }, - "description": "Response for the ListCollectorPolicies API service call." - }, - "EmissionPolicyDestination": { - "type": "object", - "properties": { - "destinationType": { + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { "type": "string", - "enum": [ - "AzureMonitor" - ], - "description": "Emission destination type.", - "x-ms-enum": { - "name": "destinationType", - "modelAsString": true - } - } - }, - "description": "Emission policy destination properties." - }, - "EmissionPoliciesPropertiesFormat": { - "type": "object", - "properties": { - "emissionType": { + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { "type": "string", - "enum": [ - "IPFIX" - ], - "description": "Emission format type.", - "x-ms-enum": { - "name": "emissionType", - "modelAsString": true - } + "description": "The target of the particular error. For example, the name of the property in error." }, - "emissionDestinations": { + "details": { "type": "array", + "description": "A list of additional details about the error.", "items": { - "$ref": "#/definitions/EmissionPolicyDestination" + "$ref": "#/definitions/CloudErrorBody" }, - "x-ms-identifiers": [], - "description": "Emission policy destinations." + "x-ms-identifiers": [] } }, - "description": "Emission policy properties." + "x-ms-external": true }, - "IngestionSourcesPropertiesFormat": { + "CollectorPolicy": { "type": "object", + "description": "Collector policy resource.", "properties": { - "sourceType": { + "properties": { + "$ref": "#/definitions/CollectorPolicyPropertiesFormat", + "description": "Properties of the Collector Policy.", + "x-ms-client-flatten": true + }, + "location": { "type": "string", - "description": "Ingestion source type.", - "enum": [ - "Resource" - ], - "x-ms-enum": { - "name": "sourceType", - "modelAsString": true + "description": "Resource location." + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" } }, - "resourceId": { + "etag": { "type": "string", - "description": "Resource ID." + "description": "A unique read-only string that changes whenever the resource is updated.", + "readOnly": true } }, - "description": "Ingestion policy properties." + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] }, - "IngestionPolicyPropertiesFormat": { + "CollectorPolicyListResult": { "type": "object", + "description": "The response of a CollectorPolicy list operation.", "properties": { - "ingestionType": { - "type": "string", - "description": "The ingestion type.", - "enum": [ - "IPFIX" - ], - "x-ms-enum": { - "name": "ingestionType", - "modelAsString": true - } - }, - "ingestionSources": { + "value": { "type": "array", + "description": "The CollectorPolicy items on this page", "items": { - "$ref": "#/definitions/IngestionSourcesPropertiesFormat" - }, - "x-ms-identifiers": [], - "description": "Ingestion Sources." + "$ref": "#/definitions/CollectorPolicy" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "Ingestion Policy properties." + "required": [ + "value" + ] }, "CollectorPolicyPropertiesFormat": { "type": "object", + "description": "Collection policy properties.", "properties": { "ingestionPolicy": { "$ref": "#/definitions/IngestionPolicyPropertiesFormat", @@ -793,161 +901,201 @@ }, "emissionPolicies": { "type": "array", + "description": "Emission policies.", "items": { "$ref": "#/definitions/EmissionPoliciesPropertiesFormat" }, - "x-ms-identifiers": [], - "description": "Emission policies." + "x-ms-identifiers": [] }, "provisioningState": { - "readOnly": true, "$ref": "#/definitions/ProvisioningState", - "description": "The provisioning state." + "description": "The provisioning state.", + "readOnly": true } - }, - "description": "Collection policy properties." + } }, - "CollectorPolicy": { + "DestinationType": { + "type": "string", + "description": "Emission destination type.", + "enum": [ + "AzureMonitor" + ], + "x-ms-enum": { + "name": "DestinationType", + "modelAsString": true, + "values": [ + { + "name": "AzureMonitor", + "value": "AzureMonitor", + "description": "AzureMonitor" + } + ] + } + }, + "EmissionPoliciesPropertiesFormat": { "type": "object", + "description": "Emission policy properties.", "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/CollectorPolicyPropertiesFormat", - "description": "Properties of the Collector Policy." + "emissionType": { + "$ref": "#/definitions/EmissionType", + "description": "Emission format type." }, - "etag": { - "type": "string", - "readOnly": true, - "description": "A unique read-only string that changes whenever the resource is updated." + "emissionDestinations": { + "type": "array", + "description": "Emission policy destinations.", + "items": { + "$ref": "#/definitions/EmissionPolicyDestination" + }, + "x-ms-identifiers": [] } - }, - "allOf": [ - { - "$ref": "#/definitions/TrackedResource" + } + }, + "EmissionPolicyDestination": { + "type": "object", + "description": "Emission policy destination properties.", + "properties": { + "destinationType": { + "$ref": "#/definitions/DestinationType", + "description": "Emission destination type." } + } + }, + "EmissionType": { + "type": "string", + "description": "Emission format type.", + "enum": [ + "IPFIX" ], - "description": "Collector policy resource." + "x-ms-enum": { + "name": "EmissionType", + "modelAsString": true, + "values": [ + { + "name": "IPFIX", + "value": "IPFIX", + "description": "IPFIX" + } + ] + } }, - "TrackedResource": { + "IngestionPolicyPropertiesFormat": { "type": "object", + "description": "Ingestion Policy properties.", "properties": { - "id": { - "type": "string", - "description": "Resource ID.", - "readOnly": true - }, - "name": { - "type": "string", - "description": "Resource name.", - "readOnly": true - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type." - }, - "location": { - "type": "string", - "description": "Resource location." + "ingestionType": { + "$ref": "#/definitions/IngestionType", + "description": "The ingestion type." }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" + "ingestionSources": { + "type": "array", + "description": "Ingestion Sources.", + "items": { + "$ref": "#/definitions/IngestionSourcesPropertiesFormat" }, - "description": "Resource tags." - }, - "systemData": { - "allOf": [ - { - "$ref": "#/definitions/SystemData" - } - ], - "description": "Metadata pertaining to creation and last modification of the resource.", - "readOnly": true + "x-ms-identifiers": [] } - }, - "required": [ - "location" - ], - "description": "Common resource representation.", - "x-ms-azure-resource": true + } }, - "ResourceReference": { + "IngestionSourcesPropertiesFormat": { "type": "object", + "description": "Ingestion policy properties.", "properties": { - "id": { + "sourceType": { + "$ref": "#/definitions/SourceType", + "description": "Ingestion source type." + }, + "resourceId": { "type": "string", - "readOnly": true, "description": "Resource ID." } - }, - "description": "Resource reference properties.", - "x-ms-azure-resource": true + } + }, + "IngestionType": { + "type": "string", + "description": "The ingestion type.", + "enum": [ + "IPFIX" + ], + "x-ms-enum": { + "name": "IngestionType", + "modelAsString": true, + "values": [ + { + "name": "IPFIX", + "value": "IPFIX", + "description": "IPFIX" + } + ] + } }, - "ProxyResource": { + "Operation": { "type": "object", - "x-ms-azure-resource": true, - "description": "An azure resource object", + "description": "Azure Traffic Collector REST API operation definition.", "properties": { - "id": { + "name": { "type": "string", - "readOnly": true, - "description": "Azure resource Id" + "description": "Operation name: {provider}/{resource}/{operation}" }, - "type": { - "type": "string", - "readOnly": true, - "description": "Azure resource type" + "isDataAction": { + "type": "boolean", + "description": "Indicates whether the operation is a data action", + "default": false }, - "name": { + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Display metadata associated with the operation." + }, + "origin": { "type": "string", - "readOnly": true, - "description": "Azure resource name" + "description": "Origin of the operation" } } }, - "CloudErrorBody": { + "OperationDisplay": { "type": "object", - "x-ms-external": true, + "description": "Display metadata associated with the operation.", "properties": { - "code": { + "provider": { "type": "string", - "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + "description": "Service provider: Microsoft NetworkFunction." }, - "message": { + "resource": { "type": "string", - "description": "A message describing the error, intended to be suitable for display in a user interface." + "description": "Resource on which the operation is performed etc." }, - "target": { + "operation": { "type": "string", - "description": "The target of the particular error. For example, the name of the property in error." + "description": "Type of operation: get, read, delete, etc." }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/CloudErrorBody" - }, - "x-ms-identifiers": [], - "description": "A list of additional details about the error." + "description": { + "type": "string", + "description": "Description of the operation." } - }, - "description": "An error response from the service." + } }, - "CloudError": { + "OperationListResult": { "type": "object", - "x-ms-external": true, + "description": "Paged collection of Operation items", "properties": { - "error": { - "description": "An error response from the service.", - "$ref": "#/definitions/CloudErrorBody" + "value": { + "type": "array", + "description": "The Operation items on this page", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "An error response from the service." + "required": [ + "value" + ] }, "ProvisioningState": { "type": "string", - "readOnly": true, "description": "The current provisioning state.", "enum": [ "Succeeded", @@ -957,165 +1105,73 @@ ], "x-ms-enum": { "name": "ProvisioningState", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Succeeded" + }, + { + "name": "Updating", + "value": "Updating", + "description": "Updating" + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "Deleting" + }, + { + "name": "Failed", + "value": "Failed", + "description": "Failed" + } + ] } }, - "OperationListResult": { + "ResourceReference": { "type": "object", - "description": "Result of the request to list Azure Traffic Collector operations. It contains a list of operations and a URL link to get the next set of results.", + "description": "Resource reference properties.", "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Operation" - }, - "x-ms-identifiers": [], - "description": "List of operations supported by the Azure Traffic Collector resource provider." - }, - "nextLink": { + "id": { "type": "string", - "description": "URL to get the next set of operation list results if there are any." + "description": "Resource ID.", + "readOnly": true } } }, - "Operation": { - "description": "Azure Traffic Collector REST API operation definition.", - "type": "object", - "properties": { - "name": { - "description": "Operation name: {provider}/{resource}/{operation}", - "type": "string" - }, - "isDataAction": { - "description": "Indicates whether the operation is a data action", - "type": "boolean", - "default": false - }, - "display": { - "type": "object", - "description": "Display metadata associated with the operation.", - "properties": { - "provider": { - "description": "Service provider: Microsoft NetworkFunction.", - "type": "string" - }, - "resource": { - "description": "Resource on which the operation is performed etc.", - "type": "string" - }, - "operation": { - "description": "Type of operation: get, read, delete, etc.", - "type": "string" - }, - "description": { - "description": "Description of the operation.", - "type": "string" - } + "SourceType": { + "type": "string", + "description": "Ingestion source type.", + "enum": [ + "Resource" + ], + "x-ms-enum": { + "name": "SourceType", + "modelAsString": true, + "values": [ + { + "name": "Resource", + "value": "Resource", + "description": "Resource" } - }, - "origin": { - "description": "Origin of the operation", - "type": "string" - } + ] } }, - "SystemData": { - "description": "Metadata pertaining to creation and last modification of the resource.", + "TagsObject": { "type": "object", - "readOnly": true, + "description": "Tags object for patch operations.", "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 + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" } } } } }, - "parameters": { - "apiVersionParameter": { - "name": "api-version", - "in": "query", - "description": "Version of the API to be used with the client request.", - "required": true, - "type": "string", - "enum": [ - "2022-05-01", - "2022-08-01", - "2022-11-01" - ], - "default": "2022-05-01", - "x-ms-enum": { - "name": "apiVersionParameter", - "modelAsString": true - } - }, - "resourceGroupName": { - "name": "resourceGroupName", - "in": "path", - "description": "The name of the resource group.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "subscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "description": "Azure Subscription ID.", - "required": true, - "type": "string" - }, - "collectorPolicyNameParameter": { - "name": "collectorPolicyName", - "in": "path", - "description": "Collector Policy Name", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "azureTrafficCollectorNameParameter": { - "name": "azureTrafficCollectorName", - "in": "path", - "description": "Azure Traffic Collector name", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - } - } + "parameters": {} } diff --git a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorCreate.json b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorCreate.json index 12892026ba76..b6f7cce63c7f 100644 --- a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorCreate.json +++ b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorCreate.json @@ -1,49 +1,51 @@ { "parameters": { "api-version": "2022-11-01", - "subscriptionId": "subid", - "resourceGroupName": "rg1", "azureTrafficCollectorName": "atc", "parameters": { "location": "West US", + "properties": {}, "tags": { "key1": "value1" - }, - "properties": {} - } + } + }, + "resourceGroupName": "rg1", + "subscriptionId": "subid" }, "responses": { "200": { "body": { "name": "atc", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc", "type": "Microsoft.NetworkFunction/azureTrafficCollectors", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc", "location": "West US", - "tags": { - "key1": "value1" - }, "properties": { "collectorPolicies": [], "provisioningState": "Succeeded" + }, + "tags": { + "key1": "value1" } } }, "201": { "body": { "name": "atc", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc", "type": "Microsoft.NetworkFunction/azureTrafficCollectors", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc", "location": "West US", - "tags": { - "key1": "value1" - }, "properties": { "collectorPolicies": [], "provisioningState": "Succeeded" + }, + "tags": { + "key1": "value1" } } } - } + }, + "operationId": "AzureTrafficCollectors_CreateOrUpdate", + "title": "Create a traffic collector" } diff --git a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorDelete.json b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorDelete.json index 92324406fdaf..f037ac66d83b 100644 --- a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorDelete.json +++ b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorDelete.json @@ -1,13 +1,19 @@ { "parameters": { "api-version": "2022-11-01", - "subscriptionId": "subid", + "azureTrafficCollectorName": "atc", "resourceGroupName": "rg1", - "azureTrafficCollectorName": "atc" + "subscriptionId": "subid" }, "responses": { "200": {}, - "202": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.NetworkFunction/locations/westus/operationStatuses/testStatus?api-version=2022-11-01" + } + }, "204": {} - } + }, + "operationId": "AzureTrafficCollectors_Delete", + "title": "Delete Traffic Collector" } diff --git a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorGet.json b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorGet.json index 236399acccb8..4d4aa6f803c6 100644 --- a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorGet.json +++ b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorGet.json @@ -1,26 +1,28 @@ { "parameters": { "api-version": "2022-11-01", - "subscriptionId": "subid", + "azureTrafficCollectorName": "atc", "resourceGroupName": "rg1", - "azureTrafficCollectorName": "atc" + "subscriptionId": "subid" }, "responses": { "200": { "body": { "name": "atc", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc", "type": "Microsoft.NetworkFunction/azureTrafficCollectors", - "location": "West US", - "tags": { - "key1": "value1" - }, "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc", + "location": "West US", "properties": { "collectorPolicies": [], "provisioningState": "Succeeded" + }, + "tags": { + "key1": "value1" } } } - } + }, + "operationId": "AzureTrafficCollectors_Get", + "title": "Get Traffic Collector" } diff --git a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorUpdateTags.json b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorUpdateTags.json index f2fefa05b5f5..9c9344e0a4a4 100644 --- a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorUpdateTags.json +++ b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorUpdateTags.json @@ -1,33 +1,35 @@ { "parameters": { "api-version": "2022-11-01", - "subscriptionId": "subid", - "resourceGroupName": "rg1", "azureTrafficCollectorName": "atc", "parameters": { "tags": { "key1": "value1", "key2": "value2" } - } + }, + "resourceGroupName": "rg1", + "subscriptionId": "subid" }, "responses": { "200": { "body": { "name": "atc", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc", "type": "Microsoft.NetworkFunction/azureTrafficCollectors", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc", "location": "West US", - "tags": { - "key1": "value1", - "key2": "value2" - }, "properties": { "collectorPolicies": [], "provisioningState": "Succeeded" + }, + "tags": { + "key1": "value1", + "key2": "value2" } } } - } + }, + "operationId": "AzureTrafficCollectors_UpdateTags", + "title": "Update Traffic Collector tags" } diff --git a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorsByResourceGroupList.json b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorsByResourceGroupList.json index 52610468da8f..8ef4050103b3 100644 --- a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorsByResourceGroupList.json +++ b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorsByResourceGroupList.json @@ -1,30 +1,32 @@ { "parameters": { "api-version": "2022-11-01", - "subscriptionId": "subid", - "resourceGroupName": "rg1" + "resourceGroupName": "rg1", + "subscriptionId": "subid" }, "responses": { "200": { "body": { + "nextLink": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors?api-version=2022-11-01&$skiptoken=X%27123456%27", "value": [ { "name": "atc", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc", "type": "Microsoft.NetworkFunction/azureTrafficCollectors", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc", "location": "West US", - "tags": { - "key1": "value1" - }, "properties": { "collectorPolicies": [], "provisioningState": "Succeeded" + }, + "tags": { + "key1": "value1" } } - ], - "nextLink": "string" + ] } } - } + }, + "operationId": "AzureTrafficCollectorsByResourceGroup_List", + "title": "List of Traffic Collectors by ResourceGroup" } diff --git a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorsBySubscriptionList.json b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorsBySubscriptionList.json index fead904c0af9..26ec389c3fa7 100644 --- a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorsBySubscriptionList.json +++ b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/AzureTrafficCollectorsBySubscriptionList.json @@ -6,24 +6,26 @@ "responses": { "200": { "body": { + "nextLink": "https://management.azure.com/subscriptions/subid/providers/Microsoft.NetworkFunction/azureTrafficCollectors?api-version=2022-11-01&$skiptoken=X%27123456%27", "value": [ { "name": "atc", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc", "type": "Microsoft.NetworkFunction/azureTrafficCollectors", "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc", "location": "West US", - "tags": { - "key1": "value1" - }, "properties": { "collectorPolicies": [], "provisioningState": "Succeeded" + }, + "tags": { + "key1": "value1" } } - ], - "nextLink": "string" + ] } } - } + }, + "operationId": "AzureTrafficCollectorsBySubscription_List", + "title": "List of Traffic Collectors by Subscription" } diff --git a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPoliciesList.json b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPoliciesList.json index 88c016dc6060..4c024c7bfe68 100644 --- a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPoliciesList.json +++ b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPoliciesList.json @@ -1,9 +1,9 @@ { "parameters": { "api-version": "2022-11-01", - "subscriptionId": "subid", + "azureTrafficCollectorName": "atc", "resourceGroupName": "rg1", - "azureTrafficCollectorName": "atc" + "subscriptionId": "subid" }, "responses": { "200": { @@ -11,35 +11,37 @@ "value": [ { "name": "atc", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc/collectorPolicies/cp1", - "etag": "w/\\72090554-7e3b-43f2-80ad-99a9020dcb11\\", "type": "Microsoft.NetworkFunction/azureTrafficCollectors/collectorPolicies", + "etag": "w/\\72090554-7e3b-43f2-80ad-99a9020dcb11\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc/collectorPolicies/cp1", "location": "westus", "properties": { - "ingestionPolicy": { - "ingestionType": "IPFIX", - "ingestionSources": [ - { - "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", - "sourceType": "Resource" - } - ] - }, "emissionPolicies": [ { - "emissionType": "IPFIX", "emissionDestinations": [ { "destinationType": "AzureMonitor" } - ] + ], + "emissionType": "IPFIX" } ], + "ingestionPolicy": { + "ingestionSources": [ + { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", + "sourceType": "Resource" + } + ], + "ingestionType": "IPFIX" + }, "provisioningState": "Succeeded" } } ] } } - } + }, + "operationId": "CollectorPolicies_List", + "title": "List of Collection Policies" } diff --git a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPolicyCreate.json b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPolicyCreate.json index 870cfd20f9e7..ed1aa9e1c208 100644 --- a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPolicyCreate.json +++ b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPolicyCreate.json @@ -1,63 +1,63 @@ { "parameters": { "api-version": "2022-11-01", - "subscriptionId": "subid", - "resourceGroupName": "rg1", "azureTrafficCollectorName": "atc", "collectorPolicyName": "cp1", "parameters": { "location": "West US", "properties": { - "ingestionPolicy": { - "ingestionType": "IPFIX", - "ingestionSources": [ - { - "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", - "sourceType": "Resource" - } - ] - }, "emissionPolicies": [ { - "emissionType": "IPFIX", "emissionDestinations": [ { "destinationType": "AzureMonitor" } - ] + ], + "emissionType": "IPFIX" } - ] + ], + "ingestionPolicy": { + "ingestionSources": [ + { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", + "sourceType": "Resource" + } + ], + "ingestionType": "IPFIX" + } } - } + }, + "resourceGroupName": "rg1", + "subscriptionId": "subid" }, "responses": { "200": { "body": { "name": "cp1", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/AzureTrafficCollector/atc/collectorPolicies/cp1", - "etag": "w/\\72090554-7e3b-43f2-80ad-99a9020dcb11\\", "type": "Microsoft.NetworkFunction/azureTrafficCollectors/collectorPolicies", + "etag": "w/\\72090554-7e3b-43f2-80ad-99a9020dcb11\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/AzureTrafficCollector/atc/collectorPolicies/cp1", "location": "westus", "properties": { - "ingestionPolicy": { - "ingestionType": "IPFIX", - "ingestionSources": [ - { - "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", - "sourceType": "Resource" - } - ] - }, "emissionPolicies": [ { - "emissionType": "IPFIX", "emissionDestinations": [ { "destinationType": "AzureMonitor" } - ] + ], + "emissionType": "IPFIX" } ], + "ingestionPolicy": { + "ingestionSources": [ + { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", + "sourceType": "Resource" + } + ], + "ingestionType": "IPFIX" + }, "provisioningState": "Succeeded" } } @@ -65,33 +65,35 @@ "201": { "body": { "name": "cp1", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc/collectorPolicies/cp1", - "etag": "w/\\72090554-7e3b-43f2-80ad-99a9020dcb11\\", "type": "Microsoft.NetworkFunction/azureTrafficCollectors/collectorPolicies", + "etag": "w/\\72090554-7e3b-43f2-80ad-99a9020dcb11\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc/collectorPolicies/cp1", "location": "westus", "properties": { - "ingestionPolicy": { - "ingestionType": "IPFIX", - "ingestionSources": [ - { - "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", - "sourceType": "Resource" - } - ] - }, "emissionPolicies": [ { - "emissionType": "IPFIX", "emissionDestinations": [ { "destinationType": "AzureMonitor" } - ] + ], + "emissionType": "IPFIX" } ], + "ingestionPolicy": { + "ingestionSources": [ + { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", + "sourceType": "Resource" + } + ], + "ingestionType": "IPFIX" + }, "provisioningState": "Succeeded" } } } - } + }, + "operationId": "CollectorPolicies_CreateOrUpdate", + "title": "Create a collection policy" } diff --git a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPolicyDelete.json b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPolicyDelete.json index c7f911e07234..587159aecc51 100644 --- a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPolicyDelete.json +++ b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPolicyDelete.json @@ -1,14 +1,20 @@ { "parameters": { "api-version": "2022-11-01", - "subscriptionId": "subid", - "resourceGroupName": "rg1", "azureTrafficCollectorName": "atc", - "collectorPolicyName": "cp1" + "collectorPolicyName": "cp1", + "resourceGroupName": "rg1", + "subscriptionId": "subid" }, "responses": { "200": {}, - "202": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.NetworkFunction/locations/westus/operationStatuses/testStatus?api-version=2022-11-01" + } + }, "204": {} - } + }, + "operationId": "CollectorPolicies_Delete", + "title": "Delete Collection Policy" } diff --git a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPolicyGet.json b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPolicyGet.json index 88006939a885..01e3577051ce 100644 --- a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPolicyGet.json +++ b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPolicyGet.json @@ -1,42 +1,44 @@ { "parameters": { "api-version": "2022-11-01", - "subscriptionId": "subid", - "resourceGroupName": "rg1", "azureTrafficCollectorName": "atc", - "collectorPolicyName": "cp1" + "collectorPolicyName": "cp1", + "resourceGroupName": "rg1", + "subscriptionId": "subid" }, "responses": { "200": { "body": { "name": "atc", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc/collectorPolicies/cp1", - "etag": "w/\\72090554-7e3b-43f2-80ad-99a9020dcb11\\", "type": "Microsoft.NetworkFunction/azureTrafficCollectors/collectorPolicies", + "etag": "w/\\72090554-7e3b-43f2-80ad-99a9020dcb11\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc/collectorPolicies/cp1", "location": "westus", "properties": { - "ingestionPolicy": { - "ingestionType": "IPFIX", - "ingestionSources": [ - { - "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", - "sourceType": "Resource" - } - ] - }, "emissionPolicies": [ { - "emissionType": "IPFIX", "emissionDestinations": [ { "destinationType": "AzureMonitor" } - ] + ], + "emissionType": "IPFIX" } ], + "ingestionPolicy": { + "ingestionSources": [ + { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", + "sourceType": "Resource" + } + ], + "ingestionType": "IPFIX" + }, "provisioningState": "Succeeded" } } } - } + }, + "operationId": "CollectorPolicies_Get", + "title": "Get Collection Policy" } diff --git a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPolicyUpdateTags.json b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPolicyUpdateTags.json index e9ed65c2d4db..570a64fb0daa 100644 --- a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPolicyUpdateTags.json +++ b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/CollectorPolicyUpdateTags.json @@ -1,8 +1,6 @@ { "parameters": { "api-version": "2022-11-01", - "subscriptionId": "subid", - "resourceGroupName": "rg1", "azureTrafficCollectorName": "atc", "collectorPolicyName": "cp1", "parameters": { @@ -10,36 +8,38 @@ "key1": "value1", "key2": "value2" } - } + }, + "resourceGroupName": "rg1", + "subscriptionId": "subid" }, "responses": { "200": { "body": { "name": "atc", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc/collectorPolicies/cp1", - "etag": "w/\\72090554-7e3b-43f2-80ad-99a9020dcb11\\", "type": "Microsoft.NetworkFunction/azureTrafficCollectors/collectorPolicies", + "etag": "w/\\72090554-7e3b-43f2-80ad-99a9020dcb11\\", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.NetworkFunction/azureTrafficCollectors/atc/collectorPolicies/cp1", "location": "westus", "properties": { - "ingestionPolicy": { - "ingestionType": "IPFIX", - "ingestionSources": [ - { - "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", - "sourceType": "Resource" - } - ] - }, "emissionPolicies": [ { - "emissionType": "IPFIX", "emissionDestinations": [ { "destinationType": "AzureMonitor" } - ] + ], + "emissionType": "IPFIX" } ], + "ingestionPolicy": { + "ingestionSources": [ + { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName", + "sourceType": "Resource" + } + ], + "ingestionType": "IPFIX" + }, "provisioningState": "Succeeded" }, "tags": { @@ -48,5 +48,7 @@ } } } - } + }, + "operationId": "CollectorPolicies_UpdateTags", + "title": "Update Collector Policy tags" } diff --git a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/OperationsList.json b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/OperationsList.json index cbae1514677f..7395c477dd2a 100644 --- a/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/OperationsList.json +++ b/specification/networkfunction/resource-manager/Microsoft.NetworkFunction/TrafficCollector/stable/2022-11-01/examples/OperationsList.json @@ -9,14 +9,16 @@ { "name": "Microsoft.NetworkFunction/azureTrafficCollectors/write", "display": { - "provider": "Microsoft NetworkFunction", - "resource": "AzureTrafficCollector", + "description": "Creates or Update a azure traffic collector", "operation": "Create/Update a azure traffic collector", - "description": "Creates or Update a azure traffic collector" + "provider": "Microsoft NetworkFunction", + "resource": "AzureTrafficCollector" } } ] } } - } + }, + "operationId": "NetworkFunction_ListOperations", + "title": "OperationsList" }