From b8341bff6fdd8f3f5a5bd4f7a0ee98871c18dcca Mon Sep 17 00:00:00 2001 From: Tibi Tibi Date: Mon, 21 Jan 2019 12:50:47 +0200 Subject: [PATCH 01/11] Add security solution API --- output.json | 324 ++ .../CreateIoTSecuritySolution_example.json | 38 + .../DeleteIoTSecuritySolution_example.json | 11 + .../GetIoTSecuritySolution_example.json | 25 + ...SecuritySolutionsListByIotHub_example.json | 28 + .../GetIoTSecuritySolutionsList_example.json | 41 + .../preview/2017-08-01-preview/security.json | 3889 +++++++++-------- 7 files changed, 2528 insertions(+), 1828 deletions(-) create mode 100644 output.json create mode 100644 specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json create mode 100644 specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json create mode 100644 specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json create mode 100644 specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json create mode 100644 specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json diff --git a/output.json b/output.json new file mode 100644 index 000000000000..c4d02e332a9d --- /dev/null +++ b/output.json @@ -0,0 +1,324 @@ + Loading AutoRest extension '@microsoft.azure/classic-openapi-validator' (~1.0.9->1.0.14) + Loading AutoRest extension '@microsoft.azure/openapi-validator' (~1.0.2->1.0.4) +{ + "type": "Warning", + "code": "LROStatusCodesReturnTypeSchema", + "message": "200/201 Responses of long running operations must have a schema definition for return type. OperationId: 'IotSecuritySolution_Create', Response code: '200'", + "id": "R2064", + "validationCategory": "SDKViolation", + "providerNamespace": "Microsoft.Security", + "resourceType": "IoTSecuritySolutions", + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:761:18 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].put.responses[\"200\"])" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:761:18 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].put.responses[\"200\"])", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:761:18 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].put.responses[\"200\"])" +} +{ + "type": "Warning", + "code": "LROStatusCodesReturnTypeSchema", + "message": "200/201 Responses of long running operations must have a schema definition for return type. OperationId: 'IotSecuritySolution_Create', Response code: '201'", + "id": "R2064", + "validationCategory": "SDKViolation", + "providerNamespace": "Microsoft.Security", + "resourceType": "IoTSecuritySolutions", + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:764:18 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].put.responses[\"201\"])" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:764:18 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].put.responses[\"201\"])", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:764:18 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].put.responses[\"201\"])" +} +{ + "type": "Warning", + "code": "OperationIdNounVerb", + "message": "Per the Noun_Verb convention for Operation Ids, the noun 'Pricings' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.", + "id": "R1001", + "validationCategory": "SDKViolation", + "providerNamespace": "Microsoft.Security", + "resourceType": "pricings", + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:108:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}\"].get.operationId)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:108:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}\"].get.operationId)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:108:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}\"].get.operationId)" +} +{ + "type": "Warning", + "code": "OperationIdNounVerb", + "message": "Per the Noun_Verb convention for Operation Ids, the noun 'Pricings' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.", + "id": "R1001", + "validationCategory": "SDKViolation", + "providerNamespace": "Microsoft.Security", + "resourceType": "pricings", + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:139:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}\"].put.operationId)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:139:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}\"].put.operationId)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:139:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}\"].put.operationId)" +} +{ + "type": "Warning", + "code": "PutInOperationName", + "message": "'PUT' operation 'Pricings_UpdateSubscriptionPricing' should use method name 'Create'. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.", + "id": "R1006", + "validationCategory": "SDKViolation", + "providerNamespace": "Microsoft.Security", + "resourceType": "pricings", + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:139:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}\"].put.operationId)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:139:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}\"].put.operationId)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:139:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}\"].put.operationId)" +} +{ + "type": "Warning", + "code": "OperationIdNounVerb", + "message": "Per the Noun_Verb convention for Operation Ids, the noun 'Pricings' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.", + "id": "R1001", + "validationCategory": "SDKViolation", + "providerNamespace": "Microsoft.Security", + "resourceType": "pricings", + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:174:14 ($.paths[\"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}\"].get.operationId)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:174:14 ($.paths[\"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}\"].get.operationId)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:174:14 ($.paths[\"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}\"].get.operationId)" +} +{ + "type": "Warning", + "code": "OperationIdNounVerb", + "message": "Per the Noun_Verb convention for Operation Ids, the noun 'Pricings' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.", + "id": "R1001", + "validationCategory": "SDKViolation", + "providerNamespace": "Microsoft.Security", + "resourceType": "pricings", + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:207:14 ($.paths[\"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}\"].put.operationId)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:207:14 ($.paths[\"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}\"].put.operationId)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:207:14 ($.paths[\"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}\"].put.operationId)" +} +{ + "type": "Warning", + "code": "OperationIdNounConflictingModelNames", + "message": "OperationId has a noun that conflicts with one of the model names in definitions section. The model name will be disambiguated to 'IotSecuritySolutionModel'. Consider using the plural form of 'IotSecuritySolution' to avoid this. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.", + "id": "R2063", + "validationCategory": "SDKViolation", + "providerNamespace": "Microsoft.Security", + "resourceType": "IoTSecuritySolutions", + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:719:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].get.operationId)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:719:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].get.operationId)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:719:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].get.operationId)" +} +{ + "type": "Warning", + "code": "OperationIdNounConflictingModelNames", + "message": "OperationId has a noun that conflicts with one of the model names in definitions section. The model name will be disambiguated to 'IotSecuritySolutionModel'. Consider using the plural form of 'IotSecuritySolution' to avoid this. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.", + "id": "R2063", + "validationCategory": "SDKViolation", + "providerNamespace": "Microsoft.Security", + "resourceType": "IoTSecuritySolutions", + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:750:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].put.operationId)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:750:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].put.operationId)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:750:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].put.operationId)" +} +{ + "type": "Warning", + "code": "OperationIdNounConflictingModelNames", + "message": "OperationId has a noun that conflicts with one of the model names in definitions section. The model name will be disambiguated to 'IotSecuritySolutionModel'. Consider using the plural form of 'IotSecuritySolution' to avoid this. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.", + "id": "R2063", + "validationCategory": "SDKViolation", + "providerNamespace": "Microsoft.Security", + "resourceType": "IoTSecuritySolutions", + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:783:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].delete.operationId)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:783:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].delete.operationId)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:783:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].delete.operationId)" +} +{ + "type": "Warning", + "code": "PutInOperationName", + "message": "'PUT' operation 'Settings_Update' should use method name 'Create'. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.", + "id": "R1006", + "validationCategory": "SDKViolation", + "providerNamespace": "Microsoft.Security", + "resourceType": "settings", + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1041:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings/{settingName}\"].put.operationId)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1041:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings/{settingName}\"].put.operationId)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1041:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings/{settingName}\"].put.operationId)" +} +{ + "type": "Warning", + "code": "GuidUsage", + "message": "Guid used in model definition 'InformationType' for property 'recommendedLabelId'. Usage of Guid is not recommanded. If GUIDs are absolutely required in your service, please get sign off from the Azure API review board.", + "id": "R3017", + "validationCategory": "ARMViolation", + "providerNamespace": null, + "resourceType": null, + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1857:14 ($.definitions.InformationType.properties.recommendedLabelId)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1857:14 ($.definitions.InformationType.properties.recommendedLabelId)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1857:14 ($.definitions.InformationType.properties.recommendedLabelId)" +} +{ + "type": "Warning", + "code": "EnumInsteadOfBoolean", + "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: enabled", + "id": "R3018", + "validationCategory": "ARMViolation", + "providerNamespace": null, + "resourceType": null, + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1475:14 ($.definitions.IoTSecuritySolutionProperties.properties.enabled)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1475:14 ($.definitions.IoTSecuritySolutionProperties.properties.enabled)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1475:14 ($.definitions.IoTSecuritySolutionProperties.properties.enabled)" +} +{ + "type": "Warning", + "code": "EnumInsteadOfBoolean", + "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: exportRawEventsToLogAnalytics", + "id": "R3018", + "validationCategory": "ARMViolation", + "providerNamespace": null, + "resourceType": null, + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1479:14 ($.definitions.IoTSecuritySolutionProperties.properties.exportRawEventsToLogAnalytics)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1479:14 ($.definitions.IoTSecuritySolutionProperties.properties.exportRawEventsToLogAnalytics)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1479:14 ($.definitions.IoTSecuritySolutionProperties.properties.exportRawEventsToLogAnalytics)" +} +{ + "type": "Warning", + "code": "EnumInsteadOfBoolean", + "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: isEnabled", + "id": "R3018", + "validationCategory": "ARMViolation", + "providerNamespace": null, + "resourceType": null, + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1649:10 ($.definitions.AdvancedThreatProtectionProperties.properties.isEnabled)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1649:10 ($.definitions.AdvancedThreatProtectionProperties.properties.isEnabled)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1649:10 ($.definitions.AdvancedThreatProtectionProperties.properties.isEnabled)" +} +{ + "type": "Warning", + "code": "DescriptionAndTitleMissing", + "message": "'properties' model/property lacks 'description' and 'title' property. Consider adding a 'description'/'title' element. Accurate description/title is essential for maintaining reference documentation.", + "id": "R4000", + "validationCategory": "SDKViolation", + "providerNamespace": null, + "resourceType": null, + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1664:10 ($.definitions.AdvancedThreatProtectionSetting.properties.properties)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1664:10 ($.definitions.AdvancedThreatProtectionSetting.properties.properties)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1664:10 ($.definitions.AdvancedThreatProtectionSetting.properties.properties)" +} +{ + "type": "Warning", + "code": "EnumInsteadOfBoolean", + "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: enabled", + "id": "R3018", + "validationCategory": "ARMViolation", + "providerNamespace": null, + "resourceType": null, + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1756:14 ($.definitions.DataExportSettingProperties.properties.enabled)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1756:14 ($.definitions.DataExportSettingProperties.properties.enabled)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1756:14 ($.definitions.DataExportSettingProperties.properties.enabled)" +} +{ + "type": "Warning", + "code": "EnumInsteadOfBoolean", + "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: enabled", + "id": "R3018", + "validationCategory": "ARMViolation", + "providerNamespace": null, + "resourceType": null, + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1839:14 ($.definitions.SensitivityLabel.properties.enabled)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1839:14 ($.definitions.SensitivityLabel.properties.enabled)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1839:14 ($.definitions.SensitivityLabel.properties.enabled)" +} +{ + "type": "Warning", + "code": "EnumInsteadOfBoolean", + "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: enabled", + "id": "R3018", + "validationCategory": "ARMViolation", + "providerNamespace": null, + "resourceType": null, + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1862:14 ($.definitions.InformationType.properties.enabled)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1862:14 ($.definitions.InformationType.properties.enabled)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1862:14 ($.definitions.InformationType.properties.enabled)" +} +{ + "type": "Warning", + "code": "EnumInsteadOfBoolean", + "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: custom", + "id": "R3018", + "validationCategory": "ARMViolation", + "providerNamespace": null, + "resourceType": null, + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1866:14 ($.definitions.InformationType.properties.custom)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1866:14 ($.definitions.InformationType.properties.custom)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1866:14 ($.definitions.InformationType.properties.custom)" +} +{ + "type": "Warning", + "code": "EnumInsteadOfBoolean", + "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: custom", + "id": "R3018", + "validationCategory": "ARMViolation", + "providerNamespace": null, + "resourceType": null, + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1887:14 ($.definitions.InformationProtectionKeyword.properties.custom)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1887:14 ($.definitions.InformationProtectionKeyword.properties.custom)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1887:14 ($.definitions.InformationProtectionKeyword.properties.custom)" +} +{ + "type": "Warning", + "code": "EnumInsteadOfBoolean", + "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: canBeNumeric", + "id": "R3018", + "validationCategory": "ARMViolation", + "providerNamespace": null, + "resourceType": null, + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1891:14 ($.definitions.InformationProtectionKeyword.properties.canBeNumeric)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1891:14 ($.definitions.InformationProtectionKeyword.properties.canBeNumeric)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1891:14 ($.definitions.InformationProtectionKeyword.properties.canBeNumeric)" +} +{ + "type": "Warning", + "code": "EnumInsteadOfBoolean", + "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: excluded", + "id": "R3018", + "validationCategory": "ARMViolation", + "providerNamespace": null, + "resourceType": null, + "sources": [ + "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1895:14 ($.definitions.InformationProtectionKeyword.properties.excluded)" + ], + "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1895:14 ($.definitions.InformationProtectionKeyword.properties.excluded)", + "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1895:14 ($.definitions.InformationProtectionKeyword.properties.excluded)" +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json new file mode 100644 index 000000000000..4ec021c08357 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2017-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "solutionName": "default", + "iotSecuritySolutionData": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/default", + "name": "default", + "type": "Microsoft.Security/IoTSecuritySolutions", + "properties": { + "workspaceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "enabled": true, + "exportRawEventsToLogAnalytics": false, + "displayName": "Solution Default", + "resources": [ + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/default", + "name": "default", + "type": "Microsoft.Security/IoTSecuritySolutions", + "properties": { + "workspaceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "enabled": true, + "exportRawEventsToLogAnalytics": false, + "displayName": "Solution Default", + "resources": [ + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + ] + }} + } + } +} \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json new file mode 100644 index 000000000000..4ca985a3eaff --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2017-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "solutionName": "default" + }, + "responses": { + "204": { + } + } +} \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json new file mode 100644 index 000000000000..9570e6f31945 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2017-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "solutionName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/default", + "name": "default", + "type": "Microsoft.Security/IoTSecuritySolutions", + "properties": { + "workspaceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "enabled": true, + "exportRawEventsToLogAnalytics": false, + "displayName": "Solution Default", + "resources": [ + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + ] + } + } + } + } +} \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json new file mode 100644 index 000000000000..21f04aae1e94 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2017-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "iotHubId": "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + }, + "responses": { + "200": { + "body": { + "value": [{ + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/default", + "name": "default", + "type": "Microsoft.Security/IoTSecuritySolutions", + "properties": { + "workspaceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "enabled": true, + "exportRawEventsToLogAnalytics": false, + "displayName": "Solution Default", + "resources": [ + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + ] + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json new file mode 100644 index 000000000000..f7f4365422d9 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2017-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [{ + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/default", + "name": "default", + "type": "Microsoft.Security/IoTSecuritySolutions", + "properties": { + "workspaceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "enabled": true, + "exportRawEventsToLogAnalytics": false, + "displayName": "Solution Default", + "resources": [ + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + ] + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/sec-solution", + "name": "sec-solution", + "type": "Microsoft.Security/IoTSecuritySolutions", + "properties": { + "workspaceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "enabled": true, + "exportRawEventsToLogAnalytics": true, + "displayName": "Second Solution", + "resources": [ + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/IotHubSecond" + ] + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json index dd28fce11964..ec560404bd43 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json @@ -1,1876 +1,2109 @@ { - "swagger": "2.0", - "info": { - "title": "Security Center", - "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", - "version": "2017-08-01-preview" - }, - "host": "management.azure.com", - "schemes": ["https"], - "consumes": ["application/json"], - "produces": ["application/json"], - "security": [{ - "azure_auth": [ - "user_impersonation" - ] - }], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "paths": { - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings": { - "get": { - "x-ms-examples": { - "Get pricings on subscription": { - "$ref": "./examples/Pricings/GetPricingsSubscription_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configurations in the subscription", - "operationId": "Pricings_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/PricingList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings": { - "get": { - "x-ms-examples": { - "Get pricings on subscription": { - "$ref": "./examples/Pricings/GetPricingsResourceGroup_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configurations in the resource group", - "operationId": "Pricings_ListByResourceGroup", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/ResourceGroupName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/PricingList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2017-08-01-preview" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [{ + "azure_auth": [ + "user_impersonation" + ] + }], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings": { + "get": { + "x-ms-examples": { + "Get pricings on subscription": { + "$ref": "./examples/Pricings/GetPricingsSubscription_example.json" + } + }, + "tags": ["Pricings"], + "description": "Security pricing configurations in the subscription", + "operationId": "Pricings_List", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PricingList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings": { + "get": { + "x-ms-examples": { + "Get pricings on subscription": { + "$ref": "./examples/Pricings/GetPricingsResourceGroup_example.json" + } + }, + "tags": ["Pricings"], + "description": "Security pricing configurations in the resource group", + "operationId": "Pricings_ListByResourceGroup", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/ResourceGroupName" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PricingList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}": { + "get": { + "x-ms-examples": { + "Get pricings on subscription": { + "$ref": "./examples/Pricings/GetPricingSubscription_example.json" + } + }, + "tags": ["Pricings"], + "description": "Security pricing configuration in the subscriptionSecurity pricing configuration in the subscription", + "operationId": "Pricings_GetSubscriptionPricing", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/PricingName" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Pricing" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Update pricings on subscription": { + "$ref": "./examples/Pricings/CreatePricingsSubscription_example.json" + } + }, + "tags": ["Pricings"], + "description": "Security pricing configuration in the subscription", + "operationId": "Pricings_UpdateSubscriptionPricing", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/PricingName" + }, { + "$ref": "#/parameters/Pricing" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Pricing" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}": { + "get": { + "x-ms-examples": { + "Get pricings on subscription": { + "$ref": "./examples/Pricings/GetPricingResourceGroup_example.json" + } + }, + "tags": ["Pricings"], + "description": "Security pricing configuration in the resource group", + "operationId": "Pricings_GetResourceGroupPricing", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/ResourceGroupName" + }, { + "$ref": "#/parameters/PricingName" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Pricing" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Update pricings on resource group": { + "$ref": "./examples/Pricings/CreatePricingsResourceGroup_example.json" + } + }, + "tags": ["Pricings"], + "description": "Security pricing configuration in the resource group", + "operationId": "Pricings_CreateOrUpdateResourceGroupPricing", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/ResourceGroupName" + }, { + "$ref": "#/parameters/PricingName" + }, { + "$ref": "#/parameters/Pricing" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Pricing" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts": { + "get": { + "x-ms-examples": { + "Update security contact data minimal": { + "$ref": "./examples/SecurityContacts/GetSecurityContactsSubscription_min_example.json" + }, + "Update security contact data full": { + "$ref": "./examples/SecurityContacts/GetSecurityContactsSubscription_full_example.json" + } + }, + "tags": ["Security Contacts"], + "description": "Security contact configurations for the subscription", + "operationId": "SecurityContacts_List", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityContactList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts/{securityContactName}": { + "get": { + "x-ms-examples": { + "Get security contact data minimal": { + "$ref": "./examples/SecurityContacts/GetSecurityContact_min_example.json" + }, + "Get security contact data full": { + "$ref": "./examples/SecurityContacts/GetSecurityContact_full_example.json" + } + }, + "tags": ["Security Contacts"], + "description": "Security contact configurations for the subscription", + "operationId": "SecurityContacts_Get", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/SecurityContactName" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityContact" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create security contact data minimal": { + "$ref": "./examples/SecurityContacts/CreateSecurityContact_min_example.json" + }, + "Create security contact data full": { + "$ref": "./examples/SecurityContacts/CreateSecurityContact_full_example.json" + } + }, + "tags": ["Security Contacts"], + "description": "Security contact configurations for the subscription", + "operationId": "SecurityContacts_Create", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/SecurityContactName" + }, { + "$ref": "#/parameters/SecurityContact" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityContact" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete security contact data": { + "$ref": "./examples/SecurityContacts/DeleteSecurityContact_example.json" + } + }, + "tags": ["Security Contacts"], + "description": "Security contact configurations for the subscription", + "operationId": "SecurityContacts_Delete", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/SecurityContactName" + }], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "x-ms-examples": { + "Update security contact data minimal": { + "$ref": "./examples/SecurityContacts/UpdateSecurityContact_min_example.json" + }, + "Update security contact data full": { + "$ref": "./examples/SecurityContacts/UpdateSecurityContact_full_example.json" + } + }, + "tags": ["Security Contacts"], + "description": "Security contact configurations for the subscription", + "operationId": "SecurityContacts_Update", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/SecurityContactName" + }, { + "$ref": "#/parameters/SecurityContact" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityContact" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings": { + "get": { + "x-ms-examples": { + "Get workspace settings on subscription": { + "$ref": "./examples/WorkspaceSettings/GetWorkspaceSettings_example.json" + } + }, + "tags": ["Workspace Settings"], + "description": "Settings about where we should store your security data and logs", + "operationId": "WorkspaceSettings_List", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceSettingList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}": { + "get": { + "x-ms-examples": { + "Get a workspace setting on subscription": { + "$ref": "./examples/WorkspaceSettings/GetWorkspaceSetting_example.json" + } + }, + "tags": ["Workspace Settings"], + "description": "Settings about where we should store your security data and logs", + "operationId": "WorkspaceSettings_Get", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/WorkspaceSettingName" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create a workspace setting data for subscription": { + "$ref": "./examples/WorkspaceSettings/CreateWorkspaceSetting_example.json" + } + }, + "tags": ["Workspace Settings"], + "description": "creating settings about where we should store your security data and logs", + "operationId": "WorkspaceSettings_Create", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/WorkspaceSettingName" + }, { + "$ref": "#/parameters/WorkspaceSetting" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "x-ms-examples": { + "Update a workspace setting data for subscription": { + "$ref": "./examples/WorkspaceSettings/UpdateWorkspaceSetting_example.json" + } + }, + "tags": ["Workspace Settings"], + "description": "Settings about where we should store your security data and logs", + "operationId": "WorkspaceSettings_Update", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/WorkspaceSettingName" + }, { + "$ref": "#/parameters/WorkspaceSetting" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a workspace setting data for resource group": { + "$ref": "./examples/WorkspaceSettings/DeleteWorkspaceSetting_example.json" + } + }, + "tags": ["Workspace Settings"], + "description": "Deletes the custom workspace settings for this subscription. new VMs will report to the default workspace", + "operationId": "WorkspaceSettings_Delete", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/WorkspaceSettingName" + }], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings": { + "get": { + "x-ms-examples": { + "Get auto provisioning settings for subscription": { + "$ref": "./examples/AutoProvisioningSettings/GetAutoProvisioningSettingsSubscription_example.json" + } + }, + "tags": ["AutoProvisioningSettings"], + "description": "Exposes the auto provisioning settings of the subscriptions", + "operationId": "AutoProvisioningSettings_List", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AutoProvisioningSettingList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings/{settingName}": { + "get": { + "x-ms-examples": { + "Get an auto provisioning setting for subscription": { + "$ref": "./examples/AutoProvisioningSettings/GetAutoProvisioningSettingSubscription_example.json" + } + }, + "tags": ["AutoProvisioningSettings"], + "description": "Details of a specific setting", + "operationId": "AutoProvisioningSettings_Get", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/AutoProvisioningSettingName" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AutoProvisioningSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create auto provisioning settings for subscription": { + "$ref": "./examples/AutoProvisioningSettings/CreateAutoProvisioningSettingsSubscription_example.json" + } + }, + "tags": ["AutoProvisioningSettings"], + "description": "Details of a specific setting", + "operationId": "AutoProvisioningSettings_Create", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/AutoProvisioningSettingName" + }, { + "$ref": "#/parameters/AutoProvisioningSetting" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AutoProvisioningSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions": { + "get": { + "x-ms-examples": { + "Get Security Solutions list": { + "$ref": "./examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json" + }, + "Get Security Solutions list By IotHub": { + "$ref": "./examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json" + } + }, + "tags": ["IoT Security Solutions"], + "description": "List of security solutions", + "operationId": "IoTSecuritySolutions_List", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/IotHubId" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IoTSecuritySolutionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}": { + "get": { + "x-ms-examples": { + "Get an iot security solution": { + "$ref": "./examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json" + } + }, + "tags": ["IoT Security Solutions"], + "description": "Details of a specific iot security solution", + "operationId": "IotSecuritySolution_Get", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/SolutionName" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IoTSecuritySolution" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create an iot security solution": { + "$ref": "./examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json" + } + }, + "tags": ["IoT Security Solutions"], + "description": "Create new solution manager", + "operationId": "IotSecuritySolution_Create", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/SolutionName" + }, { + "$ref": "#/parameters/IotSecuritySolutionData" + }], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/IoTSecuritySolution" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/IoTSecuritySolution" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Create an iot security solution": { + "$ref": "./examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json" + } + }, + "tags": ["IoT Security Solutions"], + "description": "Create new solution manager", + "operationId": "IotSecuritySolution_Delete", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/SolutionName" + }], + "responses": { + "200": { + "description": "Security Solution deleted" + }, + "204": { + "description": "Security Solution was not exists" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Security/compliances": { + "get": { + "x-ms-examples": { + "Get security compliance data over time": { + "$ref": "./examples/Compliances/GetCompliances_example.json" + } + }, + "tags": ["Compliances"], + "description": "The Compliance scores of the specific management group.", + "operationId": "Compliances_List", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/Scope" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ComplianceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.Security/compliances/{complianceName}": { + "get": { + "x-ms-examples": { + "Get security compliance data for a day": { + "$ref": "./examples/Compliances/GetCompliance_example.json" + } + }, + "tags": ["Compliances"], + "description": "Details of a specific Compliance.", + "operationId": "Compliances_Get", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/Scope" + }, + { + "$ref": "#/parameters/ComplianceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Compliance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/{resourceId}/providers/Microsoft.Security/advancedThreatProtectionSettings/{settingName}": { + "get": { + "x-ms-examples": { + "Gets the Advanced Threat Protection settings for the specified resource.": { + "$ref": "./examples/AdvancedThreatProtection/GetAdvancedThreatProtectionSettings_example.json" } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}": { - "get": { - "x-ms-examples": { - "Get pricings on subscription": { - "$ref": "./examples/Pricings/GetPricingSubscription_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configuration in the subscriptionSecurity pricing configuration in the subscription", - "operationId": "Pricings_GetSubscriptionPricing", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/PricingName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Pricing" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } + }, + "tags": [ "AdvancedThreatProtection" ], + "description": "Gets the Advanced Threat Protection settings for the specified resource.", + "operationId": "AdvancedThreatProtection_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" }, - "put": { - "x-ms-examples": { - "Update pricings on subscription": { - "$ref": "./examples/Pricings/CreatePricingsSubscription_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configuration in the subscription", - "operationId": "Pricings_UpdateSubscriptionPricing", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/PricingName" - }, { - "$ref": "#/parameters/Pricing" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Pricing" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}": { - "get": { - "x-ms-examples": { - "Get pricings on subscription": { - "$ref": "./examples/Pricings/GetPricingResourceGroup_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configuration in the resource group", - "operationId": "Pricings_GetResourceGroupPricing", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/ResourceGroupName" - }, { - "$ref": "#/parameters/PricingName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Pricing" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } + { + "$ref": "#/parameters/ResourceId" }, - "put": { - "x-ms-examples": { - "Update pricings on resource group": { - "$ref": "./examples/Pricings/CreatePricingsResourceGroup_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configuration in the resource group", - "operationId": "Pricings_CreateOrUpdateResourceGroupPricing", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/ResourceGroupName" - }, { - "$ref": "#/parameters/PricingName" - }, { - "$ref": "#/parameters/Pricing" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Pricing" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts": { - "get": { - "x-ms-examples": { - "Update security contact data minimal": { - "$ref": "./examples/SecurityContacts/GetSecurityContactsSubscription_min_example.json" - }, - "Update security contact data full": { - "$ref": "./examples/SecurityContacts/GetSecurityContactsSubscription_full_example.json" - } - }, - "tags": ["Security Contacts"], - "description": "Security contact configurations for the subscription", - "operationId": "SecurityContacts_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SecurityContactList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } + { + "$ref": "#/parameters/AdvancedThreatProtectionSettingName" } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts/{securityContactName}": { - "get": { - "x-ms-examples": { - "Get security contact data minimal": { - "$ref": "./examples/SecurityContacts/GetSecurityContact_min_example.json" - }, - "Get security contact data full": { - "$ref": "./examples/SecurityContacts/GetSecurityContact_full_example.json" - } - }, - "tags": ["Security Contacts"], - "description": "Security contact configurations for the subscription", - "operationId": "SecurityContacts_Get", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/SecurityContactName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SecurityContact" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Create security contact data minimal": { - "$ref": "./examples/SecurityContacts/CreateSecurityContact_min_example.json" - }, - "Create security contact data full": { - "$ref": "./examples/SecurityContacts/CreateSecurityContact_full_example.json" - } - }, - "tags": ["Security Contacts"], - "description": "Security contact configurations for the subscription", - "operationId": "SecurityContacts_Create", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/SecurityContactName" - }, { - "$ref": "#/parameters/SecurityContact" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SecurityContact" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "delete": { - "x-ms-examples": { - "Delete security contact data": { - "$ref": "./examples/SecurityContacts/DeleteSecurityContact_example.json" - } - }, - "tags": ["Security Contacts"], - "description": "Security contact configurations for the subscription", - "operationId": "SecurityContacts_Delete", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/SecurityContactName" - }], - "responses": { - "204": { - "description": "No Content" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } + ], + "responses": { + "200": { + "description": "Successful request to get Advanced Threat Protection settings.", + "schema": { + "$ref": "#/definitions/AdvancedThreatProtectionSetting" + } }, - "patch": { - "x-ms-examples": { - "Update security contact data minimal": { - "$ref": "./examples/SecurityContacts/UpdateSecurityContact_min_example.json" - }, - "Update security contact data full": { - "$ref": "./examples/SecurityContacts/UpdateSecurityContact_full_example.json" - } - }, - "tags": ["Security Contacts"], - "description": "Security contact configurations for the subscription", - "operationId": "SecurityContacts_Update", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/SecurityContactName" - }, { - "$ref": "#/parameters/SecurityContact" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SecurityContact" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } + } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings": { - "get": { - "x-ms-examples": { - "Get workspace settings on subscription": { - "$ref": "./examples/WorkspaceSettings/GetWorkspaceSettings_example.json" - } - }, - "tags": ["Workspace Settings"], - "description": "Settings about where we should store your security data and logs", - "operationId": "WorkspaceSettings_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/WorkspaceSettingList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } + "put": { + "x-ms-examples": { + "Creates or updates the Advanced Threat Protection settings on a specified resource.": { + "$ref": "./examples/AdvancedThreatProtection/PutAdvancedThreatProtectionSettings_example.json" } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}": { - "get": { - "x-ms-examples": { - "Get a workspace setting on subscription": { - "$ref": "./examples/WorkspaceSettings/GetWorkspaceSetting_example.json" - } - }, - "tags": ["Workspace Settings"], - "description": "Settings about where we should store your security data and logs", - "operationId": "WorkspaceSettings_Get", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/WorkspaceSettingName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/WorkspaceSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } + }, + "tags": [ "AdvancedThreatProtection" ], + "description": "Creates or updates the Advanced Threat Protection settings on a specified resource.", + "operationId": "AdvancedThreatProtection_Create", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" }, - "put": { - "x-ms-examples": { - "Create a workspace setting data for subscription": { - "$ref": "./examples/WorkspaceSettings/CreateWorkspaceSetting_example.json" - } - }, - "tags": ["Workspace Settings"], - "description": "creating settings about where we should store your security data and logs", - "operationId": "WorkspaceSettings_Create", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/WorkspaceSettingName" - }, { - "$ref": "#/parameters/WorkspaceSetting" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/WorkspaceSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } + { + "$ref": "#/parameters/ResourceId" }, - "patch": { - "x-ms-examples": { - "Update a workspace setting data for subscription": { - "$ref": "./examples/WorkspaceSettings/UpdateWorkspaceSetting_example.json" - } - }, - "tags": ["Workspace Settings"], - "description": "Settings about where we should store your security data and logs", - "operationId": "WorkspaceSettings_Update", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/WorkspaceSettingName" - }, { - "$ref": "#/parameters/WorkspaceSetting" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/WorkspaceSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } + { + "$ref": "#/parameters/AdvancedThreatProtectionSettingName" }, - "delete": { - "x-ms-examples": { - "Delete a workspace setting data for resource group": { - "$ref": "./examples/WorkspaceSettings/DeleteWorkspaceSetting_example.json" - } - }, - "tags": ["Workspace Settings"], - "description": "Deletes the custom workspace settings for this subscription. new VMs will report to the default workspace", - "operationId": "WorkspaceSettings_Delete", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/WorkspaceSettingName" - }], - "responses": { - "204": { - "description": "No Content" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings": { - "get": { - "x-ms-examples": { - "Get auto provisioning settings for subscription": { - "$ref": "./examples/AutoProvisioningSettings/GetAutoProvisioningSettingsSubscription_example.json" - } - }, - "tags": ["AutoProvisioningSettings"], - "description": "Exposes the auto provisioning settings of the subscriptions", - "operationId": "AutoProvisioningSettings_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AutoProvisioningSettingList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } + { + "$ref": "#/parameters/AdvancedThreatProtectionSetting" } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings/{settingName}": { - "get": { - "x-ms-examples": { - "Get an auto provisioning setting for subscription": { - "$ref": "./examples/AutoProvisioningSettings/GetAutoProvisioningSettingSubscription_example.json" - } - }, - "tags": ["AutoProvisioningSettings"], - "description": "Details of a specific setting", - "operationId": "AutoProvisioningSettings_Get", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/AutoProvisioningSettingName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AutoProvisioningSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } + ], + "responses": { + "200": { + "description": "Successful request to put Advanced Threat Protection settings.", + "schema": { + "$ref": "#/definitions/AdvancedThreatProtectionSetting" + } }, - "put": { - "x-ms-examples": { - "Create auto provisioning settings for subscription": { - "$ref": "./examples/AutoProvisioningSettings/CreateAutoProvisioningSettingsSubscription_example.json" - } - }, - "tags": ["AutoProvisioningSettings"], - "description": "Details of a specific setting", - "operationId": "AutoProvisioningSettings_Create", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/AutoProvisioningSettingName" - }, { - "$ref": "#/parameters/AutoProvisioningSetting" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AutoProvisioningSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/{scope}/providers/Microsoft.Security/compliances": { - "get": { - "x-ms-examples": { - "Get security compliance data over time": { - "$ref": "./examples/Compliances/GetCompliances_example.json" - } - }, - "tags": ["Compliances"], - "description": "The Compliance scores of the specific management group.", - "operationId": "Compliances_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/Scope" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ComplianceList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings": { + "get": { + "x-ms-examples": { + "Get settings of subscription": { + "$ref": "./examples/Settings/GetSettings_example.json" + } + }, + "tags": [ + "Settings" + ], + "description": "Settings about different configurations in security center", + "operationId": "Settings_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SettingsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings/{settingName}": { + "get": { + "x-ms-examples": { + "Get a setting on subscription": { + "$ref": "./examples/Settings/GetSetting_example.json" + } + }, + "tags": [ + "Settings" + ], + "description": "Settings of different configurations in security center", + "operationId": "Settings_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/SettingName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Setting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Update a setting for subscription": { + "$ref": "./examples/Settings/UpdateSetting_example.json" + } + }, + "tags": [ + "Settings" + ], + "description": "updating settings about different configurations in security center", + "operationId": "Settings_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/SettingName" + }, + { + "$ref": "#/parameters/Setting" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Setting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Security/informationProtectionPolicies/{informationProtectionPolicyName}": { + "get": { + "x-ms-examples": { + "Get the customized information protection policy for a management group": { + "$ref": "./examples/InformationProtectionPolicies/GetCustomInformationProtectionPolicy_example.json" + }, + "Get the effective information protection policy for a management group": { + "$ref": "./examples/InformationProtectionPolicies/GetEffectiveInformationProtectionPolicy_example.json" + } + }, + "tags": ["InformationProtectionPolicies"], + "description": "Details of the information protection policy.", + "operationId": "InformationProtectionPolicies_Get", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/Scope" + }, { + "$ref": "#/parameters/InformationProtectionPolicyName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/InformationProtectionPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create or update an information protection policy for a management group": { + "$ref": "./examples/InformationProtectionPolicies/CreateOrUpdateInformationProtectionPolicy_example.json" + } + }, + "tags": ["InformationProtectionPolicies"], + "description": "Details of the information protection policy.", + "operationId": "InformationProtectionPolicies_CreateOrUpdate", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/Scope" + }, { + "$ref": "#/parameters/InformationProtectionPolicyName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/InformationProtectionPolicy" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/InformationProtectionPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Security/informationProtectionPolicies": { + "get": { + "x-ms-examples": { + "Get information protection policies": { + "$ref": "./examples/InformationProtectionPolicies/ListInformationProtectionPolicies_example.json" + } + }, + "tags": ["InformationProtectionPolicies"], + "description": "Information protection policies of a specific management group.", + "operationId": "InformationProtectionPolicies_List", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/Scope" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/InformationProtectionPolicyList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "CloudError": { + "x-ms-external": true, + "type": "object", + "description": "Error response structure.", + "properties": { + "error": { + "x-ms-client-flatten": true, + "description": "Error data", + "$ref": "#/definitions/CloudErrorBody" + } + } + }, + "CloudErrorBody": { + "x-ms-external": true, + "type": "object", + "description": "Error details.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + } + } + }, + "Resource": { + "type": "object", + "description": "Describes an Azure resource.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "x-ms-azure-resource": true + }, + "Kind": { + "type": "object", + "description": "Describes an Azure resource with kind", + "properties": { + "kind": { + "type": "string", + "description": "Kind of the resource" + } + } + }, + "SecurityContactList": { + "type": "object", + "description": "List of security contacts response", + "properties": { + "value": { + "readOnly": true, + "description": "List of security contacts", + "type": "array", + "items": { + "$ref": "#/definitions/SecurityContact" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "SecurityContact": { + "type": "object", + "description": "Contact details for security issues", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Security contact data", + "$ref": "#/definitions/SecurityContactProperties" + } + }, + "allOf": [{ + "$ref": "#/definitions/Resource" + }] + }, + "SecurityContactProperties": { + "type": "object", + "description": "describes security contact properties", + "properties": { + "email": { + "type": "string", + "format": "email", + "description": "The email of this security contact" + }, + "phone": { + "type": "string", + "description": "The phone number of this security contact" + }, + "alertNotifications": { + "type": "string", + "enum": ["On", "Off"], + "x-ms-enum": { + "name": "alertNotifications", + "modelAsString": true, + "values": [{ + "value": "On", + "description": "Get notifications on new alerts" + }, + { + "value": "Off", + "description": "Don't get notifications on new alerts" + } + ] + }, + "description": "Whether to send security alerts notifications to the security contact" + }, + "alertsToAdmins": { + "type": "string", + "enum": ["On", "Off"], + "x-ms-enum": { + "name": "alertsToAdmins", + "modelAsString": true, + "values": [{ + "value": "On", + "description": "Send notification on new alerts to the subscription's admins" + }, + { + "value": "Off", + "description": "Don't send notification on new alerts to the subscription's admins" + } + ] + }, + "description": "Whether to send security alerts notifications to subscription admins" + } + }, + "required": [ + "email", + "alertNotifications", + "alertsToAdmins" + ] + }, + "PricingList": { + "description": "List of pricing configurations response", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "List of pricing configurations", + "items": { + "$ref": "#/definitions/Pricing" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "Pricing": { + "type": "object", + "description": "Pricing tier will be applied for the scope based on the resource ID", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Pricing data", + "$ref": "#/definitions/PricingProperties" + } + }, + "allOf": [{ + "$ref": "#/definitions/Resource" + }] + }, + "PricingProperties": { + "type": "object", + "description": "Pricing data", + "properties": { + "pricingTier": { + "type": "string", + "description": "Pricing tier type", + "enum": ["Free", "Standard"], + "x-ms-enum": { + "name": "pricingTier", + "modelAsString": true, + "values": [{ + "value": "Free", + "description": "Get free Azure security center experience with basic security features" + }, + { + "value": "Standard", + "description": "Get the standard Azure security center experience with advanced security features" + } + ] + } + } + }, + "required": [ + "pricingTier" + ] + }, + "WorkspaceSettingList": { + "description": "List of workspace settings response", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "List of workspace settings", + "items": { + "$ref": "#/definitions/WorkspaceSetting" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "WorkspaceSetting": { + "type": "object", + "description": "Configures where to store the OMS agent data for workspaces under a scope", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Workspace setting data", + "$ref": "#/definitions/WorkspaceSettingProperties" + } + }, + "allOf": [{ + "$ref": "#/definitions/Resource" + }] + }, + "IoTSecuritySolutionsList": { + "description": "List of iot solutions", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "List of security solutions", + "items": { + "$ref": "#/definitions/IoTSecuritySolution" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "IoTSecuritySolution": { + "type": "object", + "description": "Security Solution", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Security Solution data", + "$ref": "#/definitions/IoTSecuritySolutionProperties" + } + }, + "allOf": [{ + "$ref": "#/definitions/Resource" + }] + }, + "IoTSecuritySolutionProperties": { + "type": "object", + "description": "Security Solution setting data", + "properties": { + "workspaceId": { + "type": "string", + "description": "The full Azure ID of the workspace to save the data in" + }, + "displayName": { + "type": "string", + "description": "The display name." + }, + "enabled": { + "type": "boolean", + "description": "Is the solution Enabled for the customer." + }, + "exportRawEventsToLogAnalytics": { + "type": "boolean", + "description": "Wether to save the raw events to the given workspace." + }, + "resources": { + "type": "array", + "description": "Related resources IDs", + "items": {"type": "string"} + } + }, + "required": [ + "resources", + "displayName" + ] + }, + "WorkspaceSettingProperties": { + "type": "object", + "description": "Workspace setting data", + "properties": { + "workspaceId": { + "type": "string", + "description": "The full Azure ID of the workspace to save the data in" + }, + "scope": { + "type": "string", + "description": "All the VMs in this scope will send their security data to the mentioned workspace unless overridden by a setting with more specific scope" + } + }, + "required": [ + "workspaceId", + "scope" + ] + }, + "AutoProvisioningSettingList": { + "type": "object", + "description": "List of all the auto provisioning settings response", + "properties": { + "value": { + "description": "List of all the auto provisioning settings", + "type": "array", + "items": { + "$ref": "#/definitions/AutoProvisioningSetting" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "AutoProvisioningSetting": { + "type": "object", + "description": "Auto provisioning setting", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Auto provisioning setting data", + "$ref": "#/definitions/AutoProvisioningSettingProperties" + } + }, + "allOf": [{ + "$ref": "#/definitions/Resource" + }] + }, + "AutoProvisioningSettingProperties": { + "type": "object", + "description": "describes properties of an auto provisioning setting", + "properties": { + "autoProvision": { + "type": "string", + "description": "Describes what kind of security agent provisioning action to take", + "enum": ["On", "Off"], + "x-ms-enum": { + "name": "autoProvision", + "modelAsString": true, + "values": [{ + "value": "On", + "description": "Install missing security agent on VMs automatically" + }, + { + "value": "Off", + "description": "Do not install security agent on the VMs automatically" + } + ] + } + } + }, + "required": [ + "autoProvision" + ] + }, + "ComplianceList": { + "type": "object", + "readOnly": true, + "description": "List of Compliance objects response", + "properties": { + "value": { + "type": "array", + "description": "List of Compliance objects", + "items": { + "$ref": "#/definitions/Compliance" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "Compliance": { + "type": "object", + "readOnly": true, + "description": "Compliance of a scope", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Compliance data", + "$ref": "#/definitions/ComplianceProperties" + } + }, + "allOf": [{ + "$ref": "#/definitions/Resource" + }] + }, + "ComplianceProperties": { + "type": "object", + "description": "The Compliance score (percentage) of a Subscription is a sum of all Resources' Compliances under the given Subscription. A Resource Compliance is defined as the compliant ('healthy') Policy Definitions out of all Policy Definitions applicable to a given resource.", + "properties": { + "assessmentTimestampUtcDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The timestamp when the Compliance calculation was conducted." + }, + "resourceCount": { + "readOnly": true, + "type": "integer", + "description": "The resource count of the given subscription for which the Compliance calculation was conducted (needed for Management Group Compliance calculation)." + }, + "assessmentResult": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ComplianceSegment" + }, + "description": "An array of segment, which is the actually the compliance assessment." + } + } + }, + "ComplianceSegment": { + "type": "object", + "description": "A segment of a compliance assessment.", + "properties": { + "segmentType": { + "readOnly": true, + "type": "string", + "description": "The segment type, e.g. compliant, non-compliance, insufficient coverage, N/A, etc." + }, + "percentage": { + "type": "number", + "format": "double", + "readOnly": true, + "description": "The size (%) of the segment." + } + } + }, + "AdvancedThreatProtectionProperties": { + "properties": { + "isEnabled": { + "type": "boolean", + "description": "Indicates whether Advanced Threat Protection is enabled." + } }, - "/{scope}/providers/Microsoft.Security/compliances/{complianceName}": { - "get": { - "x-ms-examples": { - "Get security compliance data for a day": { - "$ref": "./examples/Compliances/GetCompliance_example.json" - } - }, - "tags": ["Compliances"], - "description": "Details of a specific Compliance.", - "operationId": "Compliances_Get", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/Scope" - }, - { - "$ref": "#/parameters/ComplianceName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Compliance" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } + "description": "The Advanced Threat Protection settings." + }, + "AdvancedThreatProtectionSetting": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AdvancedThreatProtectionProperties" + } }, - "/{resourceId}/providers/Microsoft.Security/advancedThreatProtectionSettings/{settingName}": { - "get": { - "x-ms-examples": { - "Gets the Advanced Threat Protection settings for the specified resource.": { - "$ref": "./examples/AdvancedThreatProtection/GetAdvancedThreatProtectionSettings_example.json" + "description": "The Advanced Threat Protection resource." + }, + "SettingsList": { + "type": "object", + "description": "Subscription settings list.", + "properties": { + "value": { + "type": "array", + "description": "The settings list.", + "items": { + "$ref": "#/definitions/Setting" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." } - }, - "tags": [ "AdvancedThreatProtection" ], - "description": "Gets the Advanced Threat Protection settings for the specified resource.", - "operationId": "AdvancedThreatProtection_Get", - "parameters": [ + } + }, + "Setting": { + "type": "object", + "description": "Represents a security setting in Azure Security Center.", + "discriminator": "kind", + "properties": {}, + "allOf": [ { - "$ref": "#/parameters/ApiVersion" - }, + "$ref": "#/definitions/SettingResource" + } + ] + }, + "DataExportSetting": { + "type": "object", + "description": "Represents a data export setting", + "x-ms-discriminator-value": "DataExportSetting", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Data export setting data", + "$ref": "#/definitions/DataExportSettingProperties" + } + }, + "allOf": [ { - "$ref": "#/parameters/ResourceId" - }, + "$ref": "#/definitions/Setting" + } + ] + }, + "SettingResource": { + "type": "object", + "description": "The kind of the security setting", + "properties": { + "kind": { + "type": "string", + "description": "the kind of the settings string (DataExportSetting)", + "enum": [ + "DataExportSetting", + "AlertSuppressionSetting" + ], + "x-ms-enum": { + "name": "SettingKind", + "modelAsString": true, + "values": [ + { + "value": "DataExportSetting" + }, + { + "value": "AlertSuppressionSetting" + } + ] + } + + } + }, + "required": [ + "kind" + ], + "allOf": [ { - "$ref": "#/parameters/AdvancedThreatProtectionSettingName" - } - ], - "responses": { - "200": { - "description": "Successful request to get Advanced Threat Protection settings.", - "schema": { - "$ref": "#/definitions/AdvancedThreatProtectionSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } + "$ref": "#/definitions/Resource" + } + ] + }, + "DataExportSettingProperties": { + "type": "object", + "description": "The data export setting properties", + "properties": { + "enabled": { + "type": "boolean", + "description": "Is the data export setting is enabled" } - } }, - "put": { - "x-ms-examples": { - "Creates or updates the Advanced Threat Protection settings on a specified resource.": { - "$ref": "./examples/AdvancedThreatProtection/PutAdvancedThreatProtectionSettings_example.json" + "required": [ + "enabled" + ] + }, + "InformationProtectionPolicyList": { + "type": "object", + "readOnly": true, + "description": "Information protection policies response.", + "properties": { + "value": { + "type": "array", + "description": "List of information protection policies.", + "items": { + "$ref": "#/definitions/InformationProtectionPolicy" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." } - }, - "tags": [ "AdvancedThreatProtection" ], - "description": "Creates or updates the Advanced Threat Protection settings on a specified resource.", - "operationId": "AdvancedThreatProtection_Create", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" + } + }, + "InformationProtectionPolicy": { + "type": "object", + "description": "Information protection policy.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Information protection policy data", + "$ref": "#/definitions/InformationProtectionPolicyProperties" + } + }, + "allOf": [{ + "$ref": "#/definitions/Resource" + } + ] + }, + "InformationProtectionPolicyProperties": { + "type": "object", + "description": "describes properties of an information protection policy.", + "properties": { + "lastModifiedUtc": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Describes the last UTC time the policy was modified." }, - { - "$ref": "#/parameters/ResourceId" + "labels": { + "type": "object", + "description": "Dictionary of sensitivity labels.", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/SensitivityLabel" + } }, - { - "$ref": "#/parameters/AdvancedThreatProtectionSettingName" + "informationTypes": { + "type": "object", + "description": "The sensitivity information types.", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/InformationType" + } + } + } + }, + "SensitivityLabel": { + "type": "object", + "description": "The sensitivity label.", + "properties": { + "displayName": { + "type": "string", + "description": "The name of the sensitivity label." }, - { - "$ref": "#/parameters/AdvancedThreatProtectionSetting" - } - ], - "responses": { - "200": { - "description": "Successful request to put Advanced Threat Protection settings.", - "schema": { - "$ref": "#/definitions/AdvancedThreatProtectionSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } + "order": { + "type": "number", + "description": "The order of the sensitivity label." + }, + "enabled": { + "type": "boolean", + "description": "Indicates whether the label is enabled or not." } - } } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings": { - "get": { - "x-ms-examples": { - "Get settings of subscription": { - "$ref": "./examples/Settings/GetSettings_example.json" - } - }, - "tags": [ - "Settings" - ], - "description": "Settings about different configurations in security center", - "operationId": "Settings_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SettingsList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings/{settingName}": { - "get": { - "x-ms-examples": { - "Get a setting on subscription": { - "$ref": "./examples/Settings/GetSetting_example.json" - } - }, - "tags": [ - "Settings" - ], - "description": "Settings of different configurations in security center", - "operationId": "Settings_Get", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/SettingName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Setting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Update a setting for subscription": { - "$ref": "./examples/Settings/UpdateSetting_example.json" - } - }, - "tags": [ - "Settings" - ], - "description": "updating settings about different configurations in security center", - "operationId": "Settings_Update", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/SettingName" - }, - { - "$ref": "#/parameters/Setting" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Setting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/{scope}/providers/Microsoft.Security/informationProtectionPolicies/{informationProtectionPolicyName}": { - "get": { - "x-ms-examples": { - "Get the customized information protection policy for a management group": { - "$ref": "./examples/InformationProtectionPolicies/GetCustomInformationProtectionPolicy_example.json" - }, - "Get the effective information protection policy for a management group": { - "$ref": "./examples/InformationProtectionPolicies/GetEffectiveInformationProtectionPolicy_example.json" - } - }, - "tags": ["InformationProtectionPolicies"], - "description": "Details of the information protection policy.", - "operationId": "InformationProtectionPolicies_Get", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/Scope" - }, { - "$ref": "#/parameters/InformationProtectionPolicyName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/InformationProtectionPolicy" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Create or update an information protection policy for a management group": { - "$ref": "./examples/InformationProtectionPolicies/CreateOrUpdateInformationProtectionPolicy_example.json" - } - }, - "tags": ["InformationProtectionPolicies"], - "description": "Details of the information protection policy.", - "operationId": "InformationProtectionPolicies_CreateOrUpdate", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/Scope" - }, { - "$ref": "#/parameters/InformationProtectionPolicyName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/InformationProtectionPolicy" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/InformationProtectionPolicy" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/{scope}/providers/Microsoft.Security/informationProtectionPolicies": { - "get": { - "x-ms-examples": { - "Get information protection policies": { - "$ref": "./examples/InformationProtectionPolicies/ListInformationProtectionPolicies_example.json" - } - }, - "tags": ["InformationProtectionPolicies"], - "description": "Information protection policies of a specific management group.", - "operationId": "InformationProtectionPolicies_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/Scope" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/InformationProtectionPolicyList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - } - }, - "definitions": { - "CloudError": { - "x-ms-external": true, - "type": "object", - "description": "Error response structure.", - "properties": { - "error": { - "x-ms-client-flatten": true, - "description": "Error data", - "$ref": "#/definitions/CloudErrorBody" - } - } - }, - "CloudErrorBody": { - "x-ms-external": true, - "type": "object", - "description": "Error details.", - "properties": { - "code": { - "readOnly": true, - "type": "string", - "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." - }, - "message": { - "readOnly": true, - "type": "string", - "description": "A message describing the error, intended to be suitable for display in a user interface." - } - } - }, - "Resource": { - "type": "object", - "description": "Describes an Azure resource.", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource Id" - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name" - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type" - } - }, - "x-ms-azure-resource": true - }, - "Kind": { - "type": "object", - "description": "Describes an Azure resource with kind", - "properties": { - "kind": { - "type": "string", - "description": "Kind of the resource" - } - } - }, - "SecurityContactList": { - "type": "object", - "description": "List of security contacts response", - "properties": { - "value": { - "readOnly": true, - "description": "List of security contacts", - "type": "array", - "items": { - "$ref": "#/definitions/SecurityContact" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "SecurityContact": { - "type": "object", - "description": "Contact details for security issues", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Security contact data", - "$ref": "#/definitions/SecurityContactProperties" - } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - }] - }, - "SecurityContactProperties": { - "type": "object", - "description": "describes security contact properties", - "properties": { - "email": { - "type": "string", - "format": "email", - "description": "The email of this security contact" - }, - "phone": { - "type": "string", - "description": "The phone number of this security contact" - }, - "alertNotifications": { - "type": "string", - "enum": ["On", "Off"], - "x-ms-enum": { - "name": "alertNotifications", - "modelAsString": true, - "values": [{ - "value": "On", - "description": "Get notifications on new alerts" - }, - { - "value": "Off", - "description": "Don't get notifications on new alerts" - } - ] - }, - "description": "Whether to send security alerts notifications to the security contact" - }, - "alertsToAdmins": { - "type": "string", - "enum": ["On", "Off"], - "x-ms-enum": { - "name": "alertsToAdmins", - "modelAsString": true, - "values": [{ - "value": "On", - "description": "Send notification on new alerts to the subscription's admins" - }, - { - "value": "Off", - "description": "Don't send notification on new alerts to the subscription's admins" - } - ] - }, - "description": "Whether to send security alerts notifications to subscription admins" - } - }, - "required": [ - "email", - "alertNotifications", - "alertsToAdmins" - ] - }, - "PricingList": { - "description": "List of pricing configurations response", - "required": [ - "value" - ], - "properties": { - "value": { - "type": "array", - "description": "List of pricing configurations", - "items": { - "$ref": "#/definitions/Pricing" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "Pricing": { - "type": "object", - "description": "Pricing tier will be applied for the scope based on the resource ID", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Pricing data", - "$ref": "#/definitions/PricingProperties" - } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - }] - }, - "PricingProperties": { - "type": "object", - "description": "Pricing data", - "properties": { - "pricingTier": { - "type": "string", - "description": "Pricing tier type", - "enum": ["Free", "Standard"], - "x-ms-enum": { - "name": "pricingTier", - "modelAsString": true, - "values": [{ - "value": "Free", - "description": "Get free Azure security center experience with basic security features" - }, - { - "value": "Standard", - "description": "Get the standard Azure security center experience with advanced security features" - } - ] - } - } - }, - "required": [ - "pricingTier" - ] - }, - "WorkspaceSettingList": { - "description": "List of workspace settings response", - "required": [ - "value" - ], - "properties": { - "value": { - "type": "array", - "description": "List of workspace settings", - "items": { - "$ref": "#/definitions/WorkspaceSetting" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "WorkspaceSetting": { - "type": "object", - "description": "Configures where to store the OMS agent data for workspaces under a scope", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Workspace setting data", - "$ref": "#/definitions/WorkspaceSettingProperties" - } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - }] - }, - "WorkspaceSettingProperties": { - "type": "object", - "description": "Workspace setting data", - "properties": { - "workspaceId": { - "type": "string", - "description": "The full Azure ID of the workspace to save the data in" - }, - "scope": { - "type": "string", - "description": "All the VMs in this scope will send their security data to the mentioned workspace unless overridden by a setting with more specific scope" - } - }, - "required": [ - "workspaceId", - "scope" - ] - }, - "AutoProvisioningSettingList": { - "type": "object", - "description": "List of all the auto provisioning settings response", - "properties": { - "value": { - "description": "List of all the auto provisioning settings", - "type": "array", - "items": { - "$ref": "#/definitions/AutoProvisioningSetting" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "AutoProvisioningSetting": { - "type": "object", - "description": "Auto provisioning setting", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Auto provisioning setting data", - "$ref": "#/definitions/AutoProvisioningSettingProperties" - } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - }] - }, - "AutoProvisioningSettingProperties": { - "type": "object", - "description": "describes properties of an auto provisioning setting", - "properties": { - "autoProvision": { - "type": "string", - "description": "Describes what kind of security agent provisioning action to take", - "enum": ["On", "Off"], - "x-ms-enum": { - "name": "autoProvision", - "modelAsString": true, - "values": [{ - "value": "On", - "description": "Install missing security agent on VMs automatically" - }, - { - "value": "Off", - "description": "Do not install security agent on the VMs automatically" - } - ] - } - } - }, - "required": [ - "autoProvision" - ] - }, - "ComplianceList": { - "type": "object", - "readOnly": true, - "description": "List of Compliance objects response", - "properties": { - "value": { - "type": "array", - "description": "List of Compliance objects", - "items": { - "$ref": "#/definitions/Compliance" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "Compliance": { - "type": "object", - "readOnly": true, - "description": "Compliance of a scope", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Compliance data", - "$ref": "#/definitions/ComplianceProperties" - } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - }] - }, - "ComplianceProperties": { - "type": "object", - "description": "The Compliance score (percentage) of a Subscription is a sum of all Resources' Compliances under the given Subscription. A Resource Compliance is defined as the compliant ('healthy') Policy Definitions out of all Policy Definitions applicable to a given resource.", - "properties": { - "assessmentTimestampUtcDate": { - "readOnly": true, - "type": "string", - "format": "date-time", - "description": "The timestamp when the Compliance calculation was conducted." - }, - "resourceCount": { - "readOnly": true, - "type": "integer", - "description": "The resource count of the given subscription for which the Compliance calculation was conducted (needed for Management Group Compliance calculation)." - }, - "assessmentResult": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/ComplianceSegment" - }, - "description": "An array of segment, which is the actually the compliance assessment." - } - } - }, - "ComplianceSegment": { - "type": "object", - "description": "A segment of a compliance assessment.", - "properties": { - "segmentType": { - "readOnly": true, - "type": "string", - "description": "The segment type, e.g. compliant, non-compliance, insufficient coverage, N/A, etc." - }, - "percentage": { - "type": "number", - "format": "double", - "readOnly": true, - "description": "The size (%) of the segment." - } - } - }, - "AdvancedThreatProtectionProperties": { + }, + "InformationType": { + "type": "object", + "description": "The information type.", "properties": { - "isEnabled": { - "type": "boolean", - "description": "Indicates whether Advanced Threat Protection is enabled." - } - }, - "description": "The Advanced Threat Protection settings." - }, - "AdvancedThreatProtectionSetting": { + "displayName": { + "type": "string", + "description": "The name of the information type." + }, + "order": { + "type": "number", + "description": "The order of the information type." + }, + "recommendedLabelId": { + "type": "string", + "format": "uuid", + "description": "The recommended label id to be associated with this information type." + }, + "enabled": { + "type": "boolean", + "description": "Indicates whether the information type is enabled or not." + }, + "custom": { + "type": "boolean", + "description": "Indicates whether the information type is custom or not." + }, + "keywords": { + "type": "array", + "description": "The information type keywords.", + "items": { + "$ref": "#/definitions/InformationProtectionKeyword" + } + } + } + }, + "InformationProtectionKeyword": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], + "description": "The information type keyword.", "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/AdvancedThreatProtectionProperties" - } + "pattern": { + "type": "string", + "description": "The keyword pattern." + }, + "custom": { + "type": "boolean", + "description": "Indicates whether the keyword is custom or not." + }, + "canBeNumeric": { + "type": "boolean", + "description": "Indicates whether the keyword can be applied on numeric types or not." + }, + "excluded": { + "type": "boolean", + "description": "Indicates whether the keyword is excluded or not." + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "pattern": "^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$", + "type": "string", + "description": "Azure subscription ID" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the user's subscription. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "enum": ["2017-08-01-preview"], + "description": "API version for the operation" + }, + "Scope": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "Scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group (/providers/Microsoft.Management/managementGroups/mgName).", + "x-ms-parameter-location": "method" + }, + "PricingName": { + "name": "pricingName", + "in": "path", + "required": true, + "type": "string", + "description": "name of the pricing configuration", + "x-ms-parameter-location": "method" + }, + "Pricing": { + "name": "pricing", + "in": "body", + "required": true, + "description": "Pricing object", + "schema": { + "$ref": "#/definitions/Pricing" }, - "description": "The Advanced Threat Protection resource." - }, - "SettingsList": { - "type": "object", - "description": "Subscription settings list.", - "properties": { - "value": { - "type": "array", - "description": "The settings list.", - "items": { - "$ref": "#/definitions/Setting" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "Setting": { - "type": "object", - "description": "Represents a security setting in Azure Security Center.", - "discriminator": "kind", - "properties": {}, - "allOf": [ - { - "$ref": "#/definitions/SettingResource" - } - ] - }, - "DataExportSetting": { - "type": "object", - "description": "Represents a data export setting", - "x-ms-discriminator-value": "DataExportSetting", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Data export setting data", - "$ref": "#/definitions/DataExportSettingProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Setting" - } - ] - }, - "SettingResource": { - "type": "object", - "description": "The kind of the security setting", - "properties": { - "kind": { - "type": "string", - "description": "the kind of the settings string (DataExportSetting)", - "enum": [ - "DataExportSetting", - "AlertSuppressionSetting" - ], - "x-ms-enum": { - "name": "SettingKind", - "modelAsString": true, - "values": [ - { - "value": "DataExportSetting" - }, - { - "value": "AlertSuppressionSetting" - } - ] - } - - } - }, - "required": [ - "kind" - ], - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ] - }, - "DataExportSettingProperties": { - "type": "object", - "description": "The data export setting properties", - "properties": { - "enabled": { - "type": "boolean", - "description": "Is the data export setting is enabled" - } - }, - "required": [ - "enabled" - ] - }, - "InformationProtectionPolicyList": { - "type": "object", - "readOnly": true, - "description": "Information protection policies response.", - "properties": { - "value": { - "type": "array", - "description": "List of information protection policies.", - "items": { - "$ref": "#/definitions/InformationProtectionPolicy" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "InformationProtectionPolicy": { - "type": "object", - "description": "Information protection policy.", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Information protection policy data", - "$ref": "#/definitions/InformationProtectionPolicyProperties" - } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - } - ] - }, - "InformationProtectionPolicyProperties": { - "type": "object", - "description": "describes properties of an information protection policy.", - "properties": { - "lastModifiedUtc": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Describes the last UTC time the policy was modified." - }, - "labels": { - "type": "object", - "description": "Dictionary of sensitivity labels.", - "additionalProperties": { - "type": "object", - "$ref": "#/definitions/SensitivityLabel" - } - }, - "informationTypes": { - "type": "object", - "description": "The sensitivity information types.", - "additionalProperties": { - "type": "object", - "$ref": "#/definitions/InformationType" - } - } - } - }, - "SensitivityLabel": { - "type": "object", - "description": "The sensitivity label.", - "properties": { - "displayName": { - "type": "string", - "description": "The name of the sensitivity label." - }, - "order": { - "type": "number", - "description": "The order of the sensitivity label." - }, - "enabled": { - "type": "boolean", - "description": "Indicates whether the label is enabled or not." - } - } - }, - "InformationType": { - "type": "object", - "description": "The information type.", - "properties": { - "displayName": { - "type": "string", - "description": "The name of the information type." - }, - "order": { - "type": "number", - "description": "The order of the information type." - }, - "recommendedLabelId": { - "type": "string", - "format": "uuid", - "description": "The recommended label id to be associated with this information type." - }, - "enabled": { - "type": "boolean", - "description": "Indicates whether the information type is enabled or not." - }, - "custom": { - "type": "boolean", - "description": "Indicates whether the information type is custom or not." - }, - "keywords": { - "type": "array", - "description": "The information type keywords.", - "items": { - "$ref": "#/definitions/InformationProtectionKeyword" - } - } - } - }, - "InformationProtectionKeyword": { - "type": "object", - "description": "The information type keyword.", - "properties": { - "pattern": { - "type": "string", - "description": "The keyword pattern." - }, - "custom": { - "type": "boolean", - "description": "Indicates whether the keyword is custom or not." - }, - "canBeNumeric": { - "type": "boolean", - "description": "Indicates whether the keyword can be applied on numeric types or not." - }, - "excluded": { - "type": "boolean", - "description": "Indicates whether the keyword is excluded or not." - } - } - } - }, - "parameters": { - "SubscriptionId": { - "name": "subscriptionId", - "in": "path", - "required": true, - "pattern": "^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$", - "type": "string", - "description": "Azure subscription ID" - }, - "ResourceGroupName": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group within the user's subscription. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90, - "x-ms-parameter-location": "method" - }, - "ApiVersion": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "enum": ["2017-08-01-preview"], - "description": "API version for the operation" - }, - "Scope": { - "name": "scope", - "in": "path", - "required": true, - "type": "string", - "description": "Scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group (/providers/Microsoft.Management/managementGroups/mgName).", - "x-ms-parameter-location": "method" - }, - "PricingName": { - "name": "pricingName", - "in": "path", - "required": true, - "type": "string", - "description": "name of the pricing configuration", - "x-ms-parameter-location": "method" - }, - "Pricing": { - "name": "pricing", - "in": "body", - "required": true, - "description": "Pricing object", - "schema": { - "$ref": "#/definitions/Pricing" - }, - "x-ms-parameter-location": "method" - }, - "SecurityContactName": { - "name": "securityContactName", - "in": "path", - "required": true, - "type": "string", - "description": "Name of the security contact object", - "x-ms-parameter-location": "method" - }, - "SecurityContact": { - "name": "securityContact", - "in": "body", - "required": true, - "description": "Security contact object", - "schema": { - "$ref": "#/definitions/SecurityContact" - }, - "x-ms-parameter-location": "method" - }, - "WorkspaceSettingName": { - "name": "workspaceSettingName", - "in": "path", - "required": true, - "type": "string", - "description": "Name of the security setting", - "x-ms-parameter-location": "method" - }, - "WorkspaceSetting": { - "name": "workspaceSetting", - "in": "body", - "required": true, - "description": "Security data setting object", - "schema": { - "$ref": "#/definitions/WorkspaceSetting" - }, - "x-ms-parameter-location": "method" - }, - "SettingName": { - "name": "settingName", - "in": "path", - "required": true, - "type": "string", - "description": "Name of setting: (MCAS/WDATP)", - "enum": [ - "MCAS", - "WDATP" - ], - "x-ms-parameter-location": "method" - }, - "Setting": { - "name": "setting", - "in": "body", - "required": true, - "description": "Setting object", - "schema": { - "$ref": "#/definitions/Setting" - }, - "x-ms-parameter-location": "method" - }, - "AutoProvisioningSettingName": { - "name": "settingName", - "in": "path", - "required": true, - "type": "string", - "description": "Auto provisioning setting key", - "x-ms-parameter-location": "method" - }, - "AutoProvisioningSetting": { - "name": "setting", - "in": "body", - "required": true, - "description": "Auto provisioning setting key", - "schema": { - "$ref": "#/definitions/AutoProvisioningSetting" - }, - "x-ms-parameter-location": "method" - }, - "ComplianceName": { - "name": "complianceName", - "in": "path", - "required": true, - "type": "string", - "description": "name of the Compliance", - "x-ms-parameter-location": "method" - }, - "InformationProtectionPolicyName": { - "name": "informationProtectionPolicyName", - "in": "path", - "required": true, - "type": "string", - "enum": ["effective", "custom"], - "description": "Name of the information protection policy.", - "x-ms-parameter-location": "method" - }, - "ResourceId": { - "name": "resourceId", + "x-ms-parameter-location": "method" + }, + "SecurityContactName": { + "name": "securityContactName", "in": "path", "required": true, "type": "string", - "description": "The identifier of the resource.", + "description": "Name of the security contact object", "x-ms-parameter-location": "method" - }, - "AdvancedThreatProtectionSettingName": { + }, + "SecurityContact": { + "name": "securityContact", + "in": "body", + "required": true, + "description": "Security contact object", + "schema": { + "$ref": "#/definitions/SecurityContact" + }, + "x-ms-parameter-location": "method" + }, + "WorkspaceSettingName": { + "name": "workspaceSettingName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the security setting", + "x-ms-parameter-location": "method" + }, + "WorkspaceSetting": { + "name": "workspaceSetting", + "in": "body", + "required": true, + "description": "Security data setting object", + "schema": { + "$ref": "#/definitions/WorkspaceSetting" + }, + "x-ms-parameter-location": "method" + }, + "SettingName": { "name": "settingName", "in": "path", "required": true, "type": "string", - "enum": ["current"], - "description": "Advanced Threat Protection setting name.", + "description": "Name of setting: (MCAS/WDATP)", + "enum": [ + "MCAS", + "WDATP" + ], "x-ms-parameter-location": "method" - }, - "AdvancedThreatProtectionSetting": { - "name": "advancedThreatProtectionSetting", + }, + "Setting": { + "name": "setting", "in": "body", "required": true, - "description": "Advanced Threat Protection Settings", + "description": "Setting object", "schema": { - "$ref": "#/definitions/AdvancedThreatProtectionSetting" + "$ref": "#/definitions/Setting" }, "x-ms-parameter-location": "method" - } - } + }, + "AutoProvisioningSettingName": { + "name": "settingName", + "in": "path", + "required": true, + "type": "string", + "description": "Auto provisioning setting key", + "x-ms-parameter-location": "method" + }, + "AutoProvisioningSetting": { + "name": "setting", + "in": "body", + "required": true, + "description": "Auto provisioning setting key", + "schema": { + "$ref": "#/definitions/AutoProvisioningSetting" + }, + "x-ms-parameter-location": "method" + }, + "ComplianceName": { + "name": "complianceName", + "in": "path", + "required": true, + "type": "string", + "description": "name of the Compliance", + "x-ms-parameter-location": "method" + }, + "InformationProtectionPolicyName": { + "name": "informationProtectionPolicyName", + "in": "path", + "required": true, + "type": "string", + "enum": ["effective", "custom"], + "description": "Name of the information protection policy.", + "x-ms-parameter-location": "method" + }, + "ResourceId": { + "name": "resourceId", + "in": "path", + "required": true, + "type": "string", + "description": "The identifier of the resource.", + "x-ms-parameter-location": "method" + }, + "AdvancedThreatProtectionSettingName": { + "name": "settingName", + "in": "path", + "required": true, + "type": "string", + "enum": ["current"], + "description": "Advanced Threat Protection setting name.", + "x-ms-parameter-location": "method" + }, + "AdvancedThreatProtectionSetting": { + "name": "advancedThreatProtectionSetting", + "in": "body", + "required": true, + "description": "Advanced Threat Protection Settings", + "schema": { + "$ref": "#/definitions/AdvancedThreatProtectionSetting" + }, + "x-ms-parameter-location": "method" + }, + "SolutionName": { + "name": "solutionName", + "in": "path", + "required": true, + "description": "The solution manager name", + "type": "string", + "x-ms-parameter-location": "method" + }, + "IotSecuritySolutionData": { + "name": "iotSecuritySolutionData", + "in": "body", + "required": true, + "description": "The security solution data", + "schema": { + "$ref": "#/definitions/IoTSecuritySolution" + }, + "x-ms-parameter-location": "method" + }, + "IotHubId": { + "name": "iotHubId", + "in": "query", + "required": false, + "description": "The resource id of the iot hub", + "type": "string", + "x-ms-parameter-location": "method" + } + } } \ No newline at end of file From e8f5c2aaae64aa6206270fe1846fd01cde1d15e3 Mon Sep 17 00:00:00 2001 From: Tibi Tibi Date: Mon, 21 Jan 2019 12:57:52 +0200 Subject: [PATCH 02/11] remove output.json --- output.json | 324 ---------------------------------------------------- 1 file changed, 324 deletions(-) delete mode 100644 output.json diff --git a/output.json b/output.json deleted file mode 100644 index c4d02e332a9d..000000000000 --- a/output.json +++ /dev/null @@ -1,324 +0,0 @@ - Loading AutoRest extension '@microsoft.azure/classic-openapi-validator' (~1.0.9->1.0.14) - Loading AutoRest extension '@microsoft.azure/openapi-validator' (~1.0.2->1.0.4) -{ - "type": "Warning", - "code": "LROStatusCodesReturnTypeSchema", - "message": "200/201 Responses of long running operations must have a schema definition for return type. OperationId: 'IotSecuritySolution_Create', Response code: '200'", - "id": "R2064", - "validationCategory": "SDKViolation", - "providerNamespace": "Microsoft.Security", - "resourceType": "IoTSecuritySolutions", - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:761:18 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].put.responses[\"200\"])" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:761:18 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].put.responses[\"200\"])", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:761:18 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].put.responses[\"200\"])" -} -{ - "type": "Warning", - "code": "LROStatusCodesReturnTypeSchema", - "message": "200/201 Responses of long running operations must have a schema definition for return type. OperationId: 'IotSecuritySolution_Create', Response code: '201'", - "id": "R2064", - "validationCategory": "SDKViolation", - "providerNamespace": "Microsoft.Security", - "resourceType": "IoTSecuritySolutions", - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:764:18 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].put.responses[\"201\"])" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:764:18 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].put.responses[\"201\"])", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:764:18 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].put.responses[\"201\"])" -} -{ - "type": "Warning", - "code": "OperationIdNounVerb", - "message": "Per the Noun_Verb convention for Operation Ids, the noun 'Pricings' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.", - "id": "R1001", - "validationCategory": "SDKViolation", - "providerNamespace": "Microsoft.Security", - "resourceType": "pricings", - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:108:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}\"].get.operationId)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:108:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}\"].get.operationId)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:108:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}\"].get.operationId)" -} -{ - "type": "Warning", - "code": "OperationIdNounVerb", - "message": "Per the Noun_Verb convention for Operation Ids, the noun 'Pricings' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.", - "id": "R1001", - "validationCategory": "SDKViolation", - "providerNamespace": "Microsoft.Security", - "resourceType": "pricings", - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:139:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}\"].put.operationId)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:139:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}\"].put.operationId)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:139:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}\"].put.operationId)" -} -{ - "type": "Warning", - "code": "PutInOperationName", - "message": "'PUT' operation 'Pricings_UpdateSubscriptionPricing' should use method name 'Create'. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.", - "id": "R1006", - "validationCategory": "SDKViolation", - "providerNamespace": "Microsoft.Security", - "resourceType": "pricings", - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:139:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}\"].put.operationId)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:139:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}\"].put.operationId)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:139:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}\"].put.operationId)" -} -{ - "type": "Warning", - "code": "OperationIdNounVerb", - "message": "Per the Noun_Verb convention for Operation Ids, the noun 'Pricings' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.", - "id": "R1001", - "validationCategory": "SDKViolation", - "providerNamespace": "Microsoft.Security", - "resourceType": "pricings", - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:174:14 ($.paths[\"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}\"].get.operationId)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:174:14 ($.paths[\"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}\"].get.operationId)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:174:14 ($.paths[\"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}\"].get.operationId)" -} -{ - "type": "Warning", - "code": "OperationIdNounVerb", - "message": "Per the Noun_Verb convention for Operation Ids, the noun 'Pricings' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.", - "id": "R1001", - "validationCategory": "SDKViolation", - "providerNamespace": "Microsoft.Security", - "resourceType": "pricings", - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:207:14 ($.paths[\"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}\"].put.operationId)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:207:14 ($.paths[\"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}\"].put.operationId)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:207:14 ($.paths[\"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}\"].put.operationId)" -} -{ - "type": "Warning", - "code": "OperationIdNounConflictingModelNames", - "message": "OperationId has a noun that conflicts with one of the model names in definitions section. The model name will be disambiguated to 'IotSecuritySolutionModel'. Consider using the plural form of 'IotSecuritySolution' to avoid this. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.", - "id": "R2063", - "validationCategory": "SDKViolation", - "providerNamespace": "Microsoft.Security", - "resourceType": "IoTSecuritySolutions", - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:719:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].get.operationId)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:719:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].get.operationId)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:719:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].get.operationId)" -} -{ - "type": "Warning", - "code": "OperationIdNounConflictingModelNames", - "message": "OperationId has a noun that conflicts with one of the model names in definitions section. The model name will be disambiguated to 'IotSecuritySolutionModel'. Consider using the plural form of 'IotSecuritySolution' to avoid this. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.", - "id": "R2063", - "validationCategory": "SDKViolation", - "providerNamespace": "Microsoft.Security", - "resourceType": "IoTSecuritySolutions", - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:750:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].put.operationId)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:750:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].put.operationId)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:750:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].put.operationId)" -} -{ - "type": "Warning", - "code": "OperationIdNounConflictingModelNames", - "message": "OperationId has a noun that conflicts with one of the model names in definitions section. The model name will be disambiguated to 'IotSecuritySolutionModel'. Consider using the plural form of 'IotSecuritySolution' to avoid this. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.", - "id": "R2063", - "validationCategory": "SDKViolation", - "providerNamespace": "Microsoft.Security", - "resourceType": "IoTSecuritySolutions", - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:783:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].delete.operationId)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:783:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].delete.operationId)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:783:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}\"].delete.operationId)" -} -{ - "type": "Warning", - "code": "PutInOperationName", - "message": "'PUT' operation 'Settings_Update' should use method name 'Create'. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.", - "id": "R1006", - "validationCategory": "SDKViolation", - "providerNamespace": "Microsoft.Security", - "resourceType": "settings", - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1041:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings/{settingName}\"].put.operationId)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1041:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings/{settingName}\"].put.operationId)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1041:14 ($.paths[\"/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings/{settingName}\"].put.operationId)" -} -{ - "type": "Warning", - "code": "GuidUsage", - "message": "Guid used in model definition 'InformationType' for property 'recommendedLabelId'. Usage of Guid is not recommanded. If GUIDs are absolutely required in your service, please get sign off from the Azure API review board.", - "id": "R3017", - "validationCategory": "ARMViolation", - "providerNamespace": null, - "resourceType": null, - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1857:14 ($.definitions.InformationType.properties.recommendedLabelId)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1857:14 ($.definitions.InformationType.properties.recommendedLabelId)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1857:14 ($.definitions.InformationType.properties.recommendedLabelId)" -} -{ - "type": "Warning", - "code": "EnumInsteadOfBoolean", - "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: enabled", - "id": "R3018", - "validationCategory": "ARMViolation", - "providerNamespace": null, - "resourceType": null, - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1475:14 ($.definitions.IoTSecuritySolutionProperties.properties.enabled)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1475:14 ($.definitions.IoTSecuritySolutionProperties.properties.enabled)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1475:14 ($.definitions.IoTSecuritySolutionProperties.properties.enabled)" -} -{ - "type": "Warning", - "code": "EnumInsteadOfBoolean", - "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: exportRawEventsToLogAnalytics", - "id": "R3018", - "validationCategory": "ARMViolation", - "providerNamespace": null, - "resourceType": null, - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1479:14 ($.definitions.IoTSecuritySolutionProperties.properties.exportRawEventsToLogAnalytics)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1479:14 ($.definitions.IoTSecuritySolutionProperties.properties.exportRawEventsToLogAnalytics)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1479:14 ($.definitions.IoTSecuritySolutionProperties.properties.exportRawEventsToLogAnalytics)" -} -{ - "type": "Warning", - "code": "EnumInsteadOfBoolean", - "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: isEnabled", - "id": "R3018", - "validationCategory": "ARMViolation", - "providerNamespace": null, - "resourceType": null, - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1649:10 ($.definitions.AdvancedThreatProtectionProperties.properties.isEnabled)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1649:10 ($.definitions.AdvancedThreatProtectionProperties.properties.isEnabled)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1649:10 ($.definitions.AdvancedThreatProtectionProperties.properties.isEnabled)" -} -{ - "type": "Warning", - "code": "DescriptionAndTitleMissing", - "message": "'properties' model/property lacks 'description' and 'title' property. Consider adding a 'description'/'title' element. Accurate description/title is essential for maintaining reference documentation.", - "id": "R4000", - "validationCategory": "SDKViolation", - "providerNamespace": null, - "resourceType": null, - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1664:10 ($.definitions.AdvancedThreatProtectionSetting.properties.properties)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1664:10 ($.definitions.AdvancedThreatProtectionSetting.properties.properties)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1664:10 ($.definitions.AdvancedThreatProtectionSetting.properties.properties)" -} -{ - "type": "Warning", - "code": "EnumInsteadOfBoolean", - "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: enabled", - "id": "R3018", - "validationCategory": "ARMViolation", - "providerNamespace": null, - "resourceType": null, - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1756:14 ($.definitions.DataExportSettingProperties.properties.enabled)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1756:14 ($.definitions.DataExportSettingProperties.properties.enabled)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1756:14 ($.definitions.DataExportSettingProperties.properties.enabled)" -} -{ - "type": "Warning", - "code": "EnumInsteadOfBoolean", - "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: enabled", - "id": "R3018", - "validationCategory": "ARMViolation", - "providerNamespace": null, - "resourceType": null, - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1839:14 ($.definitions.SensitivityLabel.properties.enabled)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1839:14 ($.definitions.SensitivityLabel.properties.enabled)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1839:14 ($.definitions.SensitivityLabel.properties.enabled)" -} -{ - "type": "Warning", - "code": "EnumInsteadOfBoolean", - "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: enabled", - "id": "R3018", - "validationCategory": "ARMViolation", - "providerNamespace": null, - "resourceType": null, - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1862:14 ($.definitions.InformationType.properties.enabled)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1862:14 ($.definitions.InformationType.properties.enabled)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1862:14 ($.definitions.InformationType.properties.enabled)" -} -{ - "type": "Warning", - "code": "EnumInsteadOfBoolean", - "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: custom", - "id": "R3018", - "validationCategory": "ARMViolation", - "providerNamespace": null, - "resourceType": null, - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1866:14 ($.definitions.InformationType.properties.custom)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1866:14 ($.definitions.InformationType.properties.custom)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1866:14 ($.definitions.InformationType.properties.custom)" -} -{ - "type": "Warning", - "code": "EnumInsteadOfBoolean", - "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: custom", - "id": "R3018", - "validationCategory": "ARMViolation", - "providerNamespace": null, - "resourceType": null, - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1887:14 ($.definitions.InformationProtectionKeyword.properties.custom)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1887:14 ($.definitions.InformationProtectionKeyword.properties.custom)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1887:14 ($.definitions.InformationProtectionKeyword.properties.custom)" -} -{ - "type": "Warning", - "code": "EnumInsteadOfBoolean", - "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: canBeNumeric", - "id": "R3018", - "validationCategory": "ARMViolation", - "providerNamespace": null, - "resourceType": null, - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1891:14 ($.definitions.InformationProtectionKeyword.properties.canBeNumeric)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1891:14 ($.definitions.InformationProtectionKeyword.properties.canBeNumeric)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1891:14 ($.definitions.InformationProtectionKeyword.properties.canBeNumeric)" -} -{ - "type": "Warning", - "code": "EnumInsteadOfBoolean", - "message": "Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: excluded", - "id": "R3018", - "validationCategory": "ARMViolation", - "providerNamespace": null, - "resourceType": null, - "sources": [ - "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1895:14 ($.definitions.InformationProtectionKeyword.properties.excluded)" - ], - "jsonref": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1895:14 ($.definitions.InformationProtectionKeyword.properties.excluded)", - "json-path": "file:///C:/repos/GitHub/azure-rest-api-specs/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json:1895:14 ($.definitions.InformationProtectionKeyword.properties.excluded)" -} From c148d21c832c03a490a1aaffd3fb508c07cb29de Mon Sep 17 00:00:00 2001 From: Tibi Tibi Date: Wed, 23 Jan 2019 17:04:52 +0200 Subject: [PATCH 03/11] add location to the singular APIs. chnage the iotSecuritySolution schema --- .../CreateIoTSecuritySolution_example.json | 10 ++-- .../DeleteIoTSecuritySolution_example.json | 1 + .../GetIoTSecuritySolution_example.json | 45 ++++++++------- ...SecuritySolutionsListByIotHub_example.json | 55 ++++++++++--------- .../GetIoTSecuritySolutionsList_example.json | 14 +++-- .../preview/2017-08-01-preview/security.json | 31 +++++++++-- 6 files changed, 93 insertions(+), 63 deletions(-) diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json index 4ec021c08357..a0b8147fe64f 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json @@ -3,8 +3,9 @@ "api-version": "2017-08-01-preview", "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "solutionName": "default", + "location": "eastus", "iotSecuritySolutionData": { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/default", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/Locations/eastus/IoTSecuritySolutions/default", "name": "default", "type": "Microsoft.Security/IoTSecuritySolutions", "properties": { @@ -12,7 +13,7 @@ "enabled": true, "exportRawEventsToLogAnalytics": false, "displayName": "Solution Default", - "resources": [ + "iotHubResources": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" ] } @@ -21,15 +22,16 @@ "responses": { "200": { "body": { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/default", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/Locations/eastus/IoTSecuritySolutions/default", "name": "default", "type": "Microsoft.Security/IoTSecuritySolutions", + "location": "East Us", "properties": { "workspaceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", "enabled": true, "exportRawEventsToLogAnalytics": false, "displayName": "Solution Default", - "resources": [ + "iotHubResources": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" ] }} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json index 4ca985a3eaff..217e66b66bbd 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json @@ -2,6 +2,7 @@ "parameters": { "api-version": "2017-08-01-preview", "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "location": "eastus", "solutionName": "default" }, "responses": { diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json index 9570e6f31945..5395cc39933e 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json @@ -1,25 +1,28 @@ { - "parameters": { - "api-version": "2017-08-01-preview", - "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "solutionName": "default" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/default", - "name": "default", - "type": "Microsoft.Security/IoTSecuritySolutions", - "properties": { - "workspaceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", - "enabled": true, - "exportRawEventsToLogAnalytics": false, - "displayName": "Solution Default", - "resources": [ - "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" - ] - } - } + "parameters": { + "api-version": "2017-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "location": "eastus", + "solutionName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default", + "name": "default", + "type": "Microsoft.Security/IoTSecuritySolutions", + "location": "East Us", + "properties": { + "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", + "enabled": true, + "exportRawEventsToLogAnalytics": false, + "displayName": "Solution Default", + "iotHubResources": [ + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + ] } + } } + } } \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json index 21f04aae1e94..bc1ab38df1ea 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json @@ -1,28 +1,31 @@ { - "parameters": { - "api-version": "2017-08-01-preview", - "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "iotHubId": "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" - }, - "responses": { - "200": { - "body": { - "value": [{ - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/default", - "name": "default", - "type": "Microsoft.Security/IoTSecuritySolutions", - "properties": { - "workspaceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", - "enabled": true, - "exportRawEventsToLogAnalytics": false, - "displayName": "Solution Default", - "resources": [ - "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" - ] - } - } - ] - } - } - } + "parameters": { + "api-version": "2017-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "location": "eastus", + "iotHubResourceId": "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + }, + "responses": { + "200": { + "body": { + "value": [{ + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default", + "name": "default", + "type": "Microsoft.Security/IoTSecuritySolutions", + "location": "East Us", + "properties": { + "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", + "enabled": true, + "exportRawEventsToLogAnalytics": false, + "displayName": "Solution Default", + "iotHubResources": [ + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + ] + } + } + ] + } + } + } } \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json index f7f4365422d9..7915132eee02 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json @@ -7,29 +7,31 @@ "200": { "body": { "value": [{ - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/default", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default", "name": "default", "type": "Microsoft.Security/IoTSecuritySolutions", "properties": { - "workspaceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", "enabled": true, "exportRawEventsToLogAnalytics": false, "displayName": "Solution Default", - "resources": [ + "iotHubResources": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" ] } }, { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/sec-solution", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/sec-solution", "name": "sec-solution", "type": "Microsoft.Security/IoTSecuritySolutions", "properties": { - "workspaceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", "enabled": true, "exportRawEventsToLogAnalytics": true, "displayName": "Second Solution", - "resources": [ + "iotHubResources": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/IotHubSecond" ] } diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json index ec560404bd43..bd42cd49c8fd 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json @@ -707,7 +707,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/Locations/{location}/IoTSecuritySolutions/{solutionName}": { "get": { "x-ms-examples": { "Get an iot security solution": { @@ -721,6 +721,8 @@ "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/Location" }, { "$ref": "#/parameters/SolutionName" }], @@ -752,6 +754,8 @@ "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/Location" }, { "$ref": "#/parameters/SolutionName" }, { @@ -791,6 +795,8 @@ "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/Location" }, { "$ref": "#/parameters/SolutionName" }], @@ -1470,30 +1476,36 @@ "type": "object", "description": "Security Solution setting data", "properties": { - "workspaceId": { + "workspaceResourceId": { "type": "string", "description": "The full Azure ID of the workspace to save the data in" }, + "workspaceCustomerId": { + "type": "string", + "description": "the customer id associate with the workspace" + }, "displayName": { "type": "string", "description": "The display name." }, "enabled": { "type": "boolean", + "default": true, "description": "Is the solution Enabled for the customer." }, "exportRawEventsToLogAnalytics": { "type": "boolean", + "default": false, "description": "Wether to save the raw events to the given workspace." }, - "resources": { + "iotHubResources": { "type": "array", - "description": "Related resources IDs", + "description": "Related iot hub resources ID", "items": {"type": "string"} } }, "required": [ - "resources", + "iotHubResources", "displayName" ] }, @@ -1914,6 +1926,13 @@ "type": "string", "description": "Azure subscription ID" }, + "Location": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "Azure location" + }, "ResourceGroupName": { "name": "resourceGroupName", "in": "path", @@ -2098,7 +2117,7 @@ "x-ms-parameter-location": "method" }, "IotHubId": { - "name": "iotHubId", + "name": "iotHubResourceId", "in": "query", "required": false, "description": "The resource id of the iot hub", From f6b9e2b447a7f40577df5fbe5ce09b9a009f386c Mon Sep 17 00:00:00 2001 From: Tibi Tibi Date: Wed, 20 Feb 2019 11:21:26 +0200 Subject: [PATCH 04/11] changing the APIs and examples --- .../CreateIoTSecuritySolution_example.json | 27 +-- .../DeleteIoTSecuritySolution_example.json | 2 +- .../GetIoTSecuritySolution_example.json | 9 +- ...itySolutionsListByIotHubAndRg_example.json | 32 +++ ...SecuritySolutionsListByIotHub_example.json | 10 +- ...tIoTSecuritySolutionsListByRg_example.json | 31 +++ .../GetIoTSecuritySolutionsList_example.json | 16 +- .../UpdateIoTSecuritySolution_example.json | 32 +++ .../preview/2017-08-01-preview/security.json | 223 ++++++++++++++---- 9 files changed, 306 insertions(+), 76 deletions(-) create mode 100644 specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHubAndRg_example.json create mode 100644 specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByRg_example.json create mode 100644 specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/UpdateIoTSecuritySolution_example.json diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json index a0b8147fe64f..2e8dee592f49 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json @@ -2,18 +2,16 @@ "parameters": { "api-version": "2017-08-01-preview", "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "MyGroup", "solutionName": "default", - "location": "eastus", "iotSecuritySolutionData": { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/Locations/eastus/IoTSecuritySolutions/default", - "name": "default", - "type": "Microsoft.Security/IoTSecuritySolutions", + "location": "East Us", "properties": { "workspaceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", "enabled": true, - "exportRawEventsToLogAnalytics": false, + "export": ["TwinData"], "displayName": "Solution Default", - "iotHubResources": [ + "iotHubs": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" ] } @@ -22,18 +20,19 @@ "responses": { "200": { "body": { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/Locations/eastus/IoTSecuritySolutions/default", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/Locations/eastus/IoTSecuritySolutions/default", "name": "default", "type": "Microsoft.Security/IoTSecuritySolutions", "location": "East Us", + "tags": {}, "properties": { - "workspaceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", - "enabled": true, - "exportRawEventsToLogAnalytics": false, - "displayName": "Solution Default", - "iotHubResources": [ - "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" - ] + "workspaceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "enabled": true, + "export": ["TwinData"], + "displayName": "Solution Default", + "iotHubs": [ + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + ] }} } } diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json index 217e66b66bbd..9388907c6a9a 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json @@ -2,7 +2,7 @@ "parameters": { "api-version": "2017-08-01-preview", "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "location": "eastus", + "resourceGroupName": "MyGroup", "solutionName": "default" }, "responses": { diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json index 5395cc39933e..1b97eb34c5e3 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json @@ -2,23 +2,24 @@ "parameters": { "api-version": "2017-08-01-preview", "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "location": "eastus", + "resourceGroupName": "MyGroup", "solutionName": "default" }, "responses": { "200": { "body": { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default", "name": "default", "type": "Microsoft.Security/IoTSecuritySolutions", "location": "East Us", + "tags": {}, "properties": { "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", "enabled": true, - "exportRawEventsToLogAnalytics": false, + "export": ["TwinData"], "displayName": "Solution Default", - "iotHubResources": [ + "iotHubs": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" ] } diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHubAndRg_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHubAndRg_example.json new file mode 100644 index 000000000000..9d1286f11dcc --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHubAndRg_example.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2017-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "MyRg", + "$filter": "properties.iotHubs/any(i eq \"/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub\")" + }, + "responses": { + "200": { + "body": { + "value": [{ + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyRg/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default", + "name": "default", + "type": "Microsoft.Security/IoTSecuritySolutions", + "location": "East Us", + "tags": {}, + "properties": { + "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", + "enabled": true, + "export": ["TwinData", "RawEvents"], + "displayName": "Solution Default", + "iotHubs": [ + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + ] + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json index bc1ab38df1ea..26f00e48577b 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json @@ -2,24 +2,24 @@ "parameters": { "api-version": "2017-08-01-preview", "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "location": "eastus", - "iotHubResourceId": "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + "$filter": "properties.iotHubs/any(i eq \"/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub\")" }, "responses": { "200": { "body": { "value": [{ - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default", "name": "default", "type": "Microsoft.Security/IoTSecuritySolutions", "location": "East Us", + "tags": {}, "properties": { "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", "enabled": true, - "exportRawEventsToLogAnalytics": false, + "export": ["TwinData", "RawEvents"], "displayName": "Solution Default", - "iotHubResources": [ + "iotHubs": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" ] } diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByRg_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByRg_example.json new file mode 100644 index 000000000000..d7d5c959f221 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByRg_example.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2017-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName" : "MyGroup" + }, + "responses": { + "200": { + "body": { + "value": [{ + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default", + "name": "default", + "location": "East Us", + "type": "Microsoft.Security/IoTSecuritySolutions", + "tags": {}, + "properties": { + "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", + "enabled": true, + "export": ["TwinData"], + "displayName": "Solution Default", + "iotHubs": [ + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + ] + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json index 7915132eee02..ee36d784ee5a 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json @@ -7,31 +7,35 @@ "200": { "body": { "value": [{ - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default", "name": "default", + "location": "East Us", "type": "Microsoft.Security/IoTSecuritySolutions", + "tags": {}, "properties": { "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", "enabled": true, - "exportRawEventsToLogAnalytics": false, + "export": ["TwinData"], "displayName": "Solution Default", - "iotHubResources": [ + "iotHubs": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" ] } }, { - "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/sec-solution", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/SecondGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/sec-solution", "name": "sec-solution", + "location": "East Us", "type": "Microsoft.Security/IoTSecuritySolutions", + "tags": {}, "properties": { "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", "enabled": true, - "exportRawEventsToLogAnalytics": true, + "export": ["TwinData", "RawEvents"], "displayName": "Second Solution", - "iotHubResources": [ + "iotHubs": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/IotHubSecond" ] } diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/UpdateIoTSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/UpdateIoTSecuritySolution_example.json new file mode 100644 index 000000000000..2d293ab662cd --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/UpdateIoTSecuritySolution_example.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2017-08-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg", + "solutionName": "default", + "securitySolutionTags": { + "tags":{ + "foo": "bar" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/Locations/eastus/IoTSecuritySolutions/default", + "name": "default", + "type": "Microsoft.Security/IoTSecuritySolutions", + "location": "East Us", + "tags": {"foo": "bar"}, + "properties": { + "workspaceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "enabled": true, + "export": ["TwinData"], + "displayName": "Solution Default", + "iotHubResources": [ + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + ] + }} + } + } +} \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json index bd42cd49c8fd..33d5df4c03a2 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json @@ -681,13 +681,63 @@ "tags": ["IoT Security Solutions"], "description": "List of security solutions", "operationId": "IoTSecuritySolutions_List", - "parameters": [{ + "parameters": [ + { "$ref": "#/parameters/ApiVersion" - }, { + }, + { "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/IotHubId" - }], + }, + { + "$ref": "#/parameters/FilterParam" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IoTSecuritySolutionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/IoTSecuritySolutions": { + "get": { + "x-ms-examples": { + "Get Security Solutions list": { + "$ref": "./examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByRg_example.json" + }, + "Get Security Solutions list By IotHub": { + "$ref": "./examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHubAndRg_example.json" + } + }, + "tags": ["IoT Security Solutions"], + "description": "List of security solutions", + "operationId": "IoTSecuritySolutionsResourceGroup_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/FilterParam" + } + ], "responses": { "200": { "description": "OK", @@ -707,7 +757,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/Locations/{location}/IoTSecuritySolutions/{solutionName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}": { "get": { "x-ms-examples": { "Get an iot security solution": { @@ -717,15 +767,20 @@ "tags": ["IoT Security Solutions"], "description": "Details of a specific iot security solution", "operationId": "IotSecuritySolution_Get", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/Location" - }, { - "$ref": "#/parameters/SolutionName" - }], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SolutionName" + } + ], "responses": { "200": { "description": "OK", @@ -750,17 +805,20 @@ "tags": ["IoT Security Solutions"], "description": "Create new solution manager", "operationId": "IotSecuritySolution_Create", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/Location" - }, { - "$ref": "#/parameters/SolutionName" - }, { - "$ref": "#/parameters/IotSecuritySolutionData" - }], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SolutionName" + } + ], "responses": { "200": { "description": "Updated", @@ -782,6 +840,53 @@ } } }, + "patch": { + "x-ms-examples": { + "Create an iot security solution": { + "$ref": "./examples/IoTSecuritySolutions/UpdateIoTSecuritySolution_example.json" + } + }, + "tags": ["IoT Security Solutions"], + "description": "update exists Security Solution tags. to update other fields use the CreateOrUpdate method", + "operationId": "IotSecuritySolution_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SolutionName" + }, + { + "name": "SecuritySolutionTags", + "in": "body", + "required": true, + "description": "Updated tag information to set into the iot hub instance.", + "schema": { + "$ref": "#/definitions/TagsResource" + } + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/IoTSecuritySolution" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, "delete": { "x-ms-examples": { "Create an iot security solution": { @@ -791,15 +896,20 @@ "tags": ["IoT Security Solutions"], "description": "Create new solution manager", "operationId": "IotSecuritySolution_Delete", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/Location" - }, { - "$ref": "#/parameters/SolutionName" - }], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SolutionName" + } + ], "responses": { "200": { "description": "Security Solution deleted" @@ -1244,6 +1354,17 @@ }, "x-ms-azure-resource": true }, + "TagsResource": { + "properties": { + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "A container holding only the Tags for a resource, allowing the user to update the tags." + }, "Kind": { "type": "object", "description": "Describes an Azure resource with kind", @@ -1470,7 +1591,7 @@ }, "allOf": [{ "$ref": "#/definitions/Resource" - }] + }, {"$ref": "#/definitions/TagsResource"}] }, "IoTSecuritySolutionProperties": { "type": "object", @@ -1493,19 +1614,29 @@ "default": true, "description": "Is the solution Enabled for the customer." }, - "exportRawEventsToLogAnalytics": { - "type": "boolean", - "default": false, - "description": "Wether to save the raw events to the given workspace." + "export": { + "type": "array", + "items": { + "enum": [ + "RawEvents", + "TwinData" + ], + "type": "string", + "x-ms-enum":{ + "name": "ExtraData" + } + }, + "default": ["TwinData"], + "description": "Wether to save the raw events to the given workspace." }, - "iotHubResources": { + "iotHubs": { "type": "array", "description": "Related iot hub resources ID", - "items": {"type": "string"} + "items": { "type": "string" } } }, "required": [ - "iotHubResources", + "iotHubs", "displayName" ] }, @@ -2116,11 +2247,11 @@ }, "x-ms-parameter-location": "method" }, - "IotHubId": { - "name": "iotHubResourceId", + "FilterParam": { + "name": "$filter", "in": "query", "required": false, - "description": "The resource id of the iot hub", + "description": "filter the Security Solution with OData syntax. supporting filter by iotHubs", "type": "string", "x-ms-parameter-location": "method" } From a2eafe1fba3ea7f6086b6a1757753dacf4ce1fb2 Mon Sep 17 00:00:00 2001 From: Tibi Tibi Date: Wed, 20 Feb 2019 11:34:51 +0200 Subject: [PATCH 05/11] =?UTF-8?q?fixing=20indent=20=F0=9F=A4=B7?= =?UTF-8?q?=F0=9F=8F=BF=E2=80=8D=E2=99=82=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../preview/2017-08-01-preview/security.json | 43 ++++++++----------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json index 33d5df4c03a2..5a63b722bb85 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json @@ -1559,6 +1559,24 @@ "$ref": "#/definitions/Resource" }] }, + "WorkspaceSettingProperties": { + "type": "object", + "description": "Workspace setting data", + "properties": { + "workspaceId": { + "type": "string", + "description": "The full Azure ID of the workspace to save the data in" + }, + "scope": { + "type": "string", + "description": "All the VMs in this scope will send their security data to the mentioned workspace unless overridden by a setting with more specific scope" + } + }, + "required": [ + "workspaceId", + "scope" + ] + }, "IoTSecuritySolutionsList": { "description": "List of iot solutions", "required": [ @@ -1640,24 +1658,6 @@ "displayName" ] }, - "WorkspaceSettingProperties": { - "type": "object", - "description": "Workspace setting data", - "properties": { - "workspaceId": { - "type": "string", - "description": "The full Azure ID of the workspace to save the data in" - }, - "scope": { - "type": "string", - "description": "All the VMs in this scope will send their security data to the mentioned workspace unless overridden by a setting with more specific scope" - } - }, - "required": [ - "workspaceId", - "scope" - ] - }, "AutoProvisioningSettingList": { "type": "object", "description": "List of all the auto provisioning settings response", @@ -2057,13 +2057,6 @@ "type": "string", "description": "Azure subscription ID" }, - "Location": { - "name": "location", - "in": "path", - "required": true, - "type": "string", - "description": "Azure location" - }, "ResourceGroupName": { "name": "resourceGroupName", "in": "path", From 2d96b572ed7914d180cdfc0821dea4a9de51af20 Mon Sep 17 00:00:00 2001 From: Tibi Tibi Date: Wed, 20 Feb 2019 12:02:28 +0200 Subject: [PATCH 06/11] fix autorest errors and warnings --- .../preview/2017-08-01-preview/security.json | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json index 5a63b722bb85..22cdbbd3ea15 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json @@ -785,7 +785,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IoTSecuritySolution" + "$ref": "#/definitions/IoTSecuritySolutionModel" } }, "default": { @@ -823,13 +823,13 @@ "200": { "description": "Updated", "schema": { - "$ref": "#/definitions/IoTSecuritySolution" + "$ref": "#/definitions/IoTSecuritySolutionModel" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/IoTSecuritySolution" + "$ref": "#/definitions/IoTSecuritySolutionModel" } }, "default": { @@ -876,7 +876,7 @@ "200": { "description": "Updated", "schema": { - "$ref": "#/definitions/IoTSecuritySolution" + "$ref": "#/definitions/IoTSecuritySolutionModel" } }, "default": { @@ -1587,7 +1587,7 @@ "type": "array", "description": "List of security solutions", "items": { - "$ref": "#/definitions/IoTSecuritySolution" + "$ref": "#/definitions/IoTSecuritySolutionModel" } }, "nextLink": { @@ -1597,7 +1597,7 @@ } } }, - "IoTSecuritySolution": { + "IoTSecuritySolutionModel": { "type": "object", "description": "Security Solution", "properties": { @@ -1644,7 +1644,6 @@ "name": "ExtraData" } }, - "default": ["TwinData"], "description": "Wether to save the raw events to the given workspace." }, "iotHubs": { @@ -2236,7 +2235,7 @@ "required": true, "description": "The security solution data", "schema": { - "$ref": "#/definitions/IoTSecuritySolution" + "$ref": "#/definitions/IoTSecuritySolutionModel" }, "x-ms-parameter-location": "method" }, From e439fce9c21abc707d8ade871834ccf49b2c3a50 Mon Sep 17 00:00:00 2001 From: Tibi Tibi Date: Wed, 20 Feb 2019 12:21:38 +0200 Subject: [PATCH 07/11] fixing errors Open API Hub --- .../CreateIoTSecuritySolution_example.json | 24 +++++++++++++++++-- .../DeleteIoTSecuritySolution_example.json | 2 ++ .../UpdateIoTSecuritySolution_example.json | 5 ++-- .../preview/2017-08-01-preview/security.json | 7 +++++- 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json index 2e8dee592f49..4237a23e1f8c 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json @@ -7,7 +7,8 @@ "iotSecuritySolutionData": { "location": "East Us", "properties": { - "workspaceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", "enabled": true, "export": ["TwinData"], "displayName": "Solution Default", @@ -26,7 +27,26 @@ "location": "East Us", "tags": {}, "properties": { - "workspaceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", + "enabled": true, + "export": ["TwinData"], + "displayName": "Solution Default", + "iotHubs": [ + "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" + ] + }} + }, + "201": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/Locations/eastus/IoTSecuritySolutions/default", + "name": "default", + "type": "Microsoft.Security/IoTSecuritySolutions", + "location": "East Us", + "tags": {}, + "properties": { + "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", "enabled": true, "export": ["TwinData"], "displayName": "Solution Default", diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json index 9388907c6a9a..9f2b35e3ef9c 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json @@ -7,6 +7,8 @@ }, "responses": { "204": { + }, + "200": { } } } \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/UpdateIoTSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/UpdateIoTSecuritySolution_example.json index 2d293ab662cd..06caf015971f 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/UpdateIoTSecuritySolution_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/UpdateIoTSecuritySolution_example.json @@ -19,11 +19,12 @@ "location": "East Us", "tags": {"foo": "bar"}, "properties": { - "workspaceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", "enabled": true, "export": ["TwinData"], "displayName": "Solution Default", - "iotHubResources": [ + "iotHubs": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" ] }} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json index 22cdbbd3ea15..851787368f0c 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json @@ -863,7 +863,7 @@ "$ref": "#/parameters/SolutionName" }, { - "name": "SecuritySolutionTags", + "name": "securitySolutionTags", "in": "body", "required": true, "description": "Updated tag information to set into the iot hub instance.", @@ -1357,6 +1357,7 @@ "TagsResource": { "properties": { "tags": { + "type": "object", "additionalProperties": { "type": "string" }, @@ -1601,6 +1602,10 @@ "type": "object", "description": "Security Solution", "properties": { + "location": { + "type": "string", + "description": "The resource location." + }, "properties": { "x-ms-client-flatten": true, "description": "Security Solution data", From d1c465e6891f8a583813cb04035543bdacd7b5af Mon Sep 17 00:00:00 2001 From: Tibi Tibi Date: Wed, 20 Feb 2019 12:42:21 +0200 Subject: [PATCH 08/11] use 4 spaces indention instead of 2 spaces --- .../preview/2017-08-01-preview/security.json | 4260 ++++++++--------- 1 file changed, 2130 insertions(+), 2130 deletions(-) diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json index 851787368f0c..b08b6d220bd1 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json @@ -1,1130 +1,811 @@ { - "swagger": "2.0", - "info": { - "title": "Security Center", - "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", - "version": "2017-08-01-preview" - }, - "host": "management.azure.com", - "schemes": ["https"], - "consumes": ["application/json"], - "produces": ["application/json"], - "security": [{ - "azure_auth": [ - "user_impersonation" - ] - }], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "paths": { - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings": { - "get": { - "x-ms-examples": { - "Get pricings on subscription": { - "$ref": "./examples/Pricings/GetPricingsSubscription_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configurations in the subscription", - "operationId": "Pricings_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/PricingList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings": { - "get": { - "x-ms-examples": { - "Get pricings on subscription": { - "$ref": "./examples/Pricings/GetPricingsResourceGroup_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configurations in the resource group", - "operationId": "Pricings_ListByResourceGroup", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/ResourceGroupName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/PricingList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}": { - "get": { - "x-ms-examples": { - "Get pricings on subscription": { - "$ref": "./examples/Pricings/GetPricingSubscription_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configuration in the subscriptionSecurity pricing configuration in the subscription", - "operationId": "Pricings_GetSubscriptionPricing", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/PricingName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Pricing" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Update pricings on subscription": { - "$ref": "./examples/Pricings/CreatePricingsSubscription_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configuration in the subscription", - "operationId": "Pricings_UpdateSubscriptionPricing", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/PricingName" - }, { - "$ref": "#/parameters/Pricing" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Pricing" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}": { - "get": { - "x-ms-examples": { - "Get pricings on subscription": { - "$ref": "./examples/Pricings/GetPricingResourceGroup_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configuration in the resource group", - "operationId": "Pricings_GetResourceGroupPricing", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/ResourceGroupName" - }, { - "$ref": "#/parameters/PricingName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Pricing" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Update pricings on resource group": { - "$ref": "./examples/Pricings/CreatePricingsResourceGroup_example.json" - } - }, - "tags": ["Pricings"], - "description": "Security pricing configuration in the resource group", - "operationId": "Pricings_CreateOrUpdateResourceGroupPricing", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/ResourceGroupName" - }, { - "$ref": "#/parameters/PricingName" - }, { - "$ref": "#/parameters/Pricing" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Pricing" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts": { - "get": { - "x-ms-examples": { - "Update security contact data minimal": { - "$ref": "./examples/SecurityContacts/GetSecurityContactsSubscription_min_example.json" - }, - "Update security contact data full": { - "$ref": "./examples/SecurityContacts/GetSecurityContactsSubscription_full_example.json" - } - }, - "tags": ["Security Contacts"], - "description": "Security contact configurations for the subscription", - "operationId": "SecurityContacts_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SecurityContactList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts/{securityContactName}": { - "get": { - "x-ms-examples": { - "Get security contact data minimal": { - "$ref": "./examples/SecurityContacts/GetSecurityContact_min_example.json" - }, - "Get security contact data full": { - "$ref": "./examples/SecurityContacts/GetSecurityContact_full_example.json" - } - }, - "tags": ["Security Contacts"], - "description": "Security contact configurations for the subscription", - "operationId": "SecurityContacts_Get", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/SecurityContactName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SecurityContact" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Create security contact data minimal": { - "$ref": "./examples/SecurityContacts/CreateSecurityContact_min_example.json" - }, - "Create security contact data full": { - "$ref": "./examples/SecurityContacts/CreateSecurityContact_full_example.json" - } - }, - "tags": ["Security Contacts"], - "description": "Security contact configurations for the subscription", - "operationId": "SecurityContacts_Create", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/SecurityContactName" - }, { - "$ref": "#/parameters/SecurityContact" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SecurityContact" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "delete": { - "x-ms-examples": { - "Delete security contact data": { - "$ref": "./examples/SecurityContacts/DeleteSecurityContact_example.json" - } - }, - "tags": ["Security Contacts"], - "description": "Security contact configurations for the subscription", - "operationId": "SecurityContacts_Delete", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/SecurityContactName" - }], - "responses": { - "204": { - "description": "No Content" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "patch": { - "x-ms-examples": { - "Update security contact data minimal": { - "$ref": "./examples/SecurityContacts/UpdateSecurityContact_min_example.json" - }, - "Update security contact data full": { - "$ref": "./examples/SecurityContacts/UpdateSecurityContact_full_example.json" - } - }, - "tags": ["Security Contacts"], - "description": "Security contact configurations for the subscription", - "operationId": "SecurityContacts_Update", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/SecurityContactName" - }, { - "$ref": "#/parameters/SecurityContact" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SecurityContact" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings": { - "get": { - "x-ms-examples": { - "Get workspace settings on subscription": { - "$ref": "./examples/WorkspaceSettings/GetWorkspaceSettings_example.json" - } - }, - "tags": ["Workspace Settings"], - "description": "Settings about where we should store your security data and logs", - "operationId": "WorkspaceSettings_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/WorkspaceSettingList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}": { - "get": { - "x-ms-examples": { - "Get a workspace setting on subscription": { - "$ref": "./examples/WorkspaceSettings/GetWorkspaceSetting_example.json" - } - }, - "tags": ["Workspace Settings"], - "description": "Settings about where we should store your security data and logs", - "operationId": "WorkspaceSettings_Get", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/WorkspaceSettingName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/WorkspaceSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Create a workspace setting data for subscription": { - "$ref": "./examples/WorkspaceSettings/CreateWorkspaceSetting_example.json" - } - }, - "tags": ["Workspace Settings"], - "description": "creating settings about where we should store your security data and logs", - "operationId": "WorkspaceSettings_Create", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/WorkspaceSettingName" - }, { - "$ref": "#/parameters/WorkspaceSetting" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/WorkspaceSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "patch": { - "x-ms-examples": { - "Update a workspace setting data for subscription": { - "$ref": "./examples/WorkspaceSettings/UpdateWorkspaceSetting_example.json" - } - }, - "tags": ["Workspace Settings"], - "description": "Settings about where we should store your security data and logs", - "operationId": "WorkspaceSettings_Update", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/WorkspaceSettingName" - }, { - "$ref": "#/parameters/WorkspaceSetting" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/WorkspaceSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "delete": { - "x-ms-examples": { - "Delete a workspace setting data for resource group": { - "$ref": "./examples/WorkspaceSettings/DeleteWorkspaceSetting_example.json" - } - }, - "tags": ["Workspace Settings"], - "description": "Deletes the custom workspace settings for this subscription. new VMs will report to the default workspace", - "operationId": "WorkspaceSettings_Delete", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/WorkspaceSettingName" - }], - "responses": { - "204": { - "description": "No Content" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings": { - "get": { - "x-ms-examples": { - "Get auto provisioning settings for subscription": { - "$ref": "./examples/AutoProvisioningSettings/GetAutoProvisioningSettingsSubscription_example.json" - } - }, - "tags": ["AutoProvisioningSettings"], - "description": "Exposes the auto provisioning settings of the subscriptions", - "operationId": "AutoProvisioningSettings_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AutoProvisioningSettingList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings/{settingName}": { - "get": { - "x-ms-examples": { - "Get an auto provisioning setting for subscription": { - "$ref": "./examples/AutoProvisioningSettings/GetAutoProvisioningSettingSubscription_example.json" - } - }, - "tags": ["AutoProvisioningSettings"], - "description": "Details of a specific setting", - "operationId": "AutoProvisioningSettings_Get", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/AutoProvisioningSettingName" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AutoProvisioningSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Create auto provisioning settings for subscription": { - "$ref": "./examples/AutoProvisioningSettings/CreateAutoProvisioningSettingsSubscription_example.json" - } - }, - "tags": ["AutoProvisioningSettings"], - "description": "Details of a specific setting", - "operationId": "AutoProvisioningSettings_Create", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/SubscriptionId" - }, { - "$ref": "#/parameters/AutoProvisioningSettingName" - }, { - "$ref": "#/parameters/AutoProvisioningSetting" - }], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/AutoProvisioningSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions": { - "get": { - "x-ms-examples": { - "Get Security Solutions list": { - "$ref": "./examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json" - }, - "Get Security Solutions list By IotHub": { - "$ref": "./examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json" - } - }, - "tags": ["IoT Security Solutions"], - "description": "List of security solutions", - "operationId": "IoTSecuritySolutions_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2017-08-01-preview" + }, + "host": "management.azure.com", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "security": [{ + "azure_auth": [ + "user_impersonation" + ] + }], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings": { + "get": { + "x-ms-examples": { + "Get pricings on subscription": { + "$ref": "./examples/Pricings/GetPricingsSubscription_example.json" + } }, - { - "$ref": "#/parameters/SubscriptionId" + "tags": ["Pricings"], + "description": "Security pricing configurations in the subscription", + "operationId": "Pricings_List", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PricingList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } }, - { - "$ref": "#/parameters/FilterParam" + "x-ms-pageable": { + "nextLinkName": "nextLink" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/IoTSecuritySolutionsList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/IoTSecuritySolutions": { - "get": { - "x-ms-examples": { - "Get Security Solutions list": { - "$ref": "./examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByRg_example.json" - }, - "Get Security Solutions list By IotHub": { - "$ref": "./examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHubAndRg_example.json" - } - }, - "tags": ["IoT Security Solutions"], - "description": "List of security solutions", - "operationId": "IoTSecuritySolutionsResourceGroup_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/SubscriptionId" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings": { + "get": { + "x-ms-examples": { + "Get pricings on subscription": { + "$ref": "./examples/Pricings/GetPricingsResourceGroup_example.json" + } }, - { - "$ref": "#/parameters/ResourceGroupName" + "tags": ["Pricings"], + "description": "Security pricing configurations in the resource group", + "operationId": "Pricings_ListByResourceGroup", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/ResourceGroupName" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PricingList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } }, - { - "$ref": "#/parameters/FilterParam" + "x-ms-pageable": { + "nextLinkName": "nextLink" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/IoTSecuritySolutionsList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}": { - "get": { - "x-ms-examples": { - "Get an iot security solution": { - "$ref": "./examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json" - } - }, - "tags": ["IoT Security Solutions"], - "description": "Details of a specific iot security solution", - "operationId": "IotSecuritySolution_Get", - "parameters": [ - { + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}": { + "get": { + "x-ms-examples": { + "Get pricings on subscription": { + "$ref": "./examples/Pricings/GetPricingSubscription_example.json" + } + }, + "tags": ["Pricings"], + "description": "Security pricing configuration in the subscriptionSecurity pricing configuration in the subscription", + "operationId": "Pricings_GetSubscriptionPricing", + "parameters": [{ "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/PricingName" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Pricing" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Update pricings on subscription": { + "$ref": "./examples/Pricings/CreatePricingsSubscription_example.json" + } }, - { + "tags": ["Pricings"], + "description": "Security pricing configuration in the subscription", + "operationId": "Pricings_UpdateSubscriptionPricing", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/PricingName" + }, { + "$ref": "#/parameters/Pricing" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Pricing" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/pricings/{pricingName}": { + "get": { + "x-ms-examples": { + "Get pricings on subscription": { + "$ref": "./examples/Pricings/GetPricingResourceGroup_example.json" + } }, - { - "$ref": "#/parameters/ResourceGroupName" + "tags": ["Pricings"], + "description": "Security pricing configuration in the resource group", + "operationId": "Pricings_GetResourceGroupPricing", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/ResourceGroupName" + }, { + "$ref": "#/parameters/PricingName" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Pricing" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Update pricings on resource group": { + "$ref": "./examples/Pricings/CreatePricingsResourceGroup_example.json" + } }, - { - "$ref": "#/parameters/SolutionName" + "tags": ["Pricings"], + "description": "Security pricing configuration in the resource group", + "operationId": "Pricings_CreateOrUpdateResourceGroupPricing", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/ResourceGroupName" + }, { + "$ref": "#/parameters/PricingName" + }, { + "$ref": "#/parameters/Pricing" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Pricing" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/IoTSecuritySolutionModel" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Create an iot security solution": { - "$ref": "./examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json" - } - }, - "tags": ["IoT Security Solutions"], - "description": "Create new solution manager", - "operationId": "IotSecuritySolution_Create", - "parameters": [ - { + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts": { + "get": { + "x-ms-examples": { + "Update security contact data minimal": { + "$ref": "./examples/SecurityContacts/GetSecurityContactsSubscription_min_example.json" + }, + "Update security contact data full": { + "$ref": "./examples/SecurityContacts/GetSecurityContactsSubscription_full_example.json" + } + }, + "tags": ["Security Contacts"], + "description": "Security contact configurations for the subscription", + "operationId": "SecurityContacts_List", + "parameters": [{ "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityContactList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } }, - { + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts/{securityContactName}": { + "get": { + "x-ms-examples": { + "Get security contact data minimal": { + "$ref": "./examples/SecurityContacts/GetSecurityContact_min_example.json" + }, + "Get security contact data full": { + "$ref": "./examples/SecurityContacts/GetSecurityContact_full_example.json" + } + }, + "tags": ["Security Contacts"], + "description": "Security contact configurations for the subscription", + "operationId": "SecurityContacts_Get", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/SecurityContactName" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityContact" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create security contact data minimal": { + "$ref": "./examples/SecurityContacts/CreateSecurityContact_min_example.json" + }, + "Create security contact data full": { + "$ref": "./examples/SecurityContacts/CreateSecurityContact_full_example.json" + } }, - { - "$ref": "#/parameters/ResourceGroupName" + "tags": ["Security Contacts"], + "description": "Security contact configurations for the subscription", + "operationId": "SecurityContacts_Create", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/SecurityContactName" + }, { + "$ref": "#/parameters/SecurityContact" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityContact" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete security contact data": { + "$ref": "./examples/SecurityContacts/DeleteSecurityContact_example.json" + } }, - { - "$ref": "#/parameters/SolutionName" + "tags": ["Security Contacts"], + "description": "Security contact configurations for the subscription", + "operationId": "SecurityContacts_Delete", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/SecurityContactName" + }], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } } - ], - "responses": { - "200": { - "description": "Updated", - "schema": { - "$ref": "#/definitions/IoTSecuritySolutionModel" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/IoTSecuritySolutionModel" + }, + "patch": { + "x-ms-examples": { + "Update security contact data minimal": { + "$ref": "./examples/SecurityContacts/UpdateSecurityContact_min_example.json" + }, + "Update security contact data full": { + "$ref": "./examples/SecurityContacts/UpdateSecurityContact_full_example.json" } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "patch": { - "x-ms-examples": { - "Create an iot security solution": { - "$ref": "./examples/IoTSecuritySolutions/UpdateIoTSecuritySolution_example.json" - } - }, - "tags": ["IoT Security Solutions"], - "description": "update exists Security Solution tags. to update other fields use the CreateOrUpdate method", - "operationId": "IotSecuritySolution_Update", - "parameters": [ - { + }, + "tags": ["Security Contacts"], + "description": "Security contact configurations for the subscription", + "operationId": "SecurityContacts_Update", + "parameters": [{ "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/SecurityContactName" + }, { + "$ref": "#/parameters/SecurityContact" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityContact" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings": { + "get": { + "x-ms-examples": { + "Get workspace settings on subscription": { + "$ref": "./examples/WorkspaceSettings/GetWorkspaceSettings_example.json" + } }, - { + "tags": ["Workspace Settings"], + "description": "Settings about where we should store your security data and logs", + "operationId": "WorkspaceSettings_List", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { "$ref": "#/parameters/SubscriptionId" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceSettingList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } }, - { - "$ref": "#/parameters/ResourceGroupName" + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings/{workspaceSettingName}": { + "get": { + "x-ms-examples": { + "Get a workspace setting on subscription": { + "$ref": "./examples/WorkspaceSettings/GetWorkspaceSetting_example.json" + } }, - { - "$ref": "#/parameters/SolutionName" + "tags": ["Workspace Settings"], + "description": "Settings about where we should store your security data and logs", + "operationId": "WorkspaceSettings_Get", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/WorkspaceSettingName" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create a workspace setting data for subscription": { + "$ref": "./examples/WorkspaceSettings/CreateWorkspaceSetting_example.json" + } }, - { - "name": "securitySolutionTags", - "in": "body", - "required": true, - "description": "Updated tag information to set into the iot hub instance.", - "schema": { - "$ref": "#/definitions/TagsResource" - } + "tags": ["Workspace Settings"], + "description": "creating settings about where we should store your security data and logs", + "operationId": "WorkspaceSettings_Create", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/WorkspaceSettingName" + }, { + "$ref": "#/parameters/WorkspaceSetting" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } } - ], - "responses": { - "200": { - "description": "Updated", - "schema": { - "$ref": "#/definitions/IoTSecuritySolutionModel" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "delete": { - "x-ms-examples": { - "Create an iot security solution": { - "$ref": "./examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json" - } - }, - "tags": ["IoT Security Solutions"], - "description": "Create new solution manager", - "operationId": "IotSecuritySolution_Delete", - "parameters": [ - { + }, + "patch": { + "x-ms-examples": { + "Update a workspace setting data for subscription": { + "$ref": "./examples/WorkspaceSettings/UpdateWorkspaceSetting_example.json" + } + }, + "tags": ["Workspace Settings"], + "description": "Settings about where we should store your security data and logs", + "operationId": "WorkspaceSettings_Update", + "parameters": [{ "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/WorkspaceSettingName" + }, { + "$ref": "#/parameters/WorkspaceSetting" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkspaceSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a workspace setting data for resource group": { + "$ref": "./examples/WorkspaceSettings/DeleteWorkspaceSetting_example.json" + } }, - { + "tags": ["Workspace Settings"], + "description": "Deletes the custom workspace settings for this subscription. new VMs will report to the default workspace", + "operationId": "WorkspaceSettings_Delete", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/WorkspaceSettingName" + }], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings": { + "get": { + "x-ms-examples": { + "Get auto provisioning settings for subscription": { + "$ref": "./examples/AutoProvisioningSettings/GetAutoProvisioningSettingsSubscription_example.json" + } }, - { - "$ref": "#/parameters/ResourceGroupName" + "tags": ["AutoProvisioningSettings"], + "description": "Exposes the auto provisioning settings of the subscriptions", + "operationId": "AutoProvisioningSettings_List", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AutoProvisioningSettingList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } }, - { - "$ref": "#/parameters/SolutionName" + "x-ms-pageable": { + "nextLinkName": "nextLink" } - ], - "responses": { - "200": { - "description": "Security Solution deleted" - }, - "204": { - "description": "Security Solution was not exists" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/{scope}/providers/Microsoft.Security/compliances": { - "get": { - "x-ms-examples": { - "Get security compliance data over time": { - "$ref": "./examples/Compliances/GetCompliances_example.json" - } - }, - "tags": ["Compliances"], - "description": "The Compliance scores of the specific management group.", - "operationId": "Compliances_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings/{settingName}": { + "get": { + "x-ms-examples": { + "Get an auto provisioning setting for subscription": { + "$ref": "./examples/AutoProvisioningSettings/GetAutoProvisioningSettingSubscription_example.json" + } + }, + "tags": ["AutoProvisioningSettings"], + "description": "Details of a specific setting", + "operationId": "AutoProvisioningSettings_Get", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/AutoProvisioningSettingName" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AutoProvisioningSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create auto provisioning settings for subscription": { + "$ref": "./examples/AutoProvisioningSettings/CreateAutoProvisioningSettingsSubscription_example.json" + } + }, + "tags": ["AutoProvisioningSettings"], + "description": "Details of a specific setting", + "operationId": "AutoProvisioningSettings_Create", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/SubscriptionId" + }, { + "$ref": "#/parameters/AutoProvisioningSettingName" + }, { + "$ref": "#/parameters/AutoProvisioningSetting" + }], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AutoProvisioningSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions": { + "get": { + "x-ms-examples": { + "Get Security Solutions list": { + "$ref": "./examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json" + }, + "Get Security Solutions list By IotHub": { + "$ref": "./examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json" + } + }, + "tags": ["IoT Security Solutions"], + "description": "List of security solutions", + "operationId": "IoTSecuritySolutions_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" }, { - "$ref": "#/parameters/Scope" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ComplianceList" - } + "$ref": "#/parameters/SubscriptionId" }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/{scope}/providers/Microsoft.Security/compliances/{complianceName}": { - "get": { - "x-ms-examples": { - "Get security compliance data for a day": { - "$ref": "./examples/Compliances/GetCompliance_example.json" - } - }, - "tags": ["Compliances"], - "description": "Details of a specific Compliance.", - "operationId": "Compliances_Get", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" + { + "$ref": "#/parameters/FilterParam" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IoTSecuritySolutionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/IoTSecuritySolutions": { + "get": { + "x-ms-examples": { + "Get Security Solutions list": { + "$ref": "./examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByRg_example.json" + }, + "Get Security Solutions list By IotHub": { + "$ref": "./examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHubAndRg_example.json" + } + }, + "tags": ["IoT Security Solutions"], + "description": "List of security solutions", + "operationId": "IoTSecuritySolutionsResourceGroup_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" }, { - "$ref": "#/parameters/Scope" + "$ref": "#/parameters/SubscriptionId" }, { - "$ref": "#/parameters/ComplianceName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Compliance" - } + "$ref": "#/parameters/ResourceGroupName" }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/{resourceId}/providers/Microsoft.Security/advancedThreatProtectionSettings/{settingName}": { - "get": { - "x-ms-examples": { - "Gets the Advanced Threat Protection settings for the specified resource.": { - "$ref": "./examples/AdvancedThreatProtection/GetAdvancedThreatProtectionSettings_example.json" - } - }, - "tags": [ "AdvancedThreatProtection" ], - "description": "Gets the Advanced Threat Protection settings for the specified resource.", - "operationId": "AdvancedThreatProtection_Get", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/ResourceId" - }, - { - "$ref": "#/parameters/AdvancedThreatProtectionSettingName" - } - ], - "responses": { - "200": { - "description": "Successful request to get Advanced Threat Protection settings.", - "schema": { - "$ref": "#/definitions/AdvancedThreatProtectionSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } + { + "$ref": "#/parameters/FilterParam" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IoTSecuritySolutionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } } - } }, - "put": { - "x-ms-examples": { - "Creates or updates the Advanced Threat Protection settings on a specified resource.": { - "$ref": "./examples/AdvancedThreatProtection/PutAdvancedThreatProtectionSettings_example.json" - } - }, - "tags": [ "AdvancedThreatProtection" ], - "description": "Creates or updates the Advanced Threat Protection settings on a specified resource.", - "operationId": "AdvancedThreatProtection_Create", - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/ResourceId" - }, - { - "$ref": "#/parameters/AdvancedThreatProtectionSettingName" - }, - { - "$ref": "#/parameters/AdvancedThreatProtectionSetting" - } - ], - "responses": { - "200": { - "description": "Successful request to put Advanced Threat Protection settings.", - "schema": { - "$ref": "#/definitions/AdvancedThreatProtectionSetting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings": { - "get": { - "x-ms-examples": { - "Get settings of subscription": { - "$ref": "./examples/Settings/GetSettings_example.json" - } - }, - "tags": [ - "Settings" - ], - "description": "Settings about different configurations in security center", - "operationId": "Settings_List", - "parameters": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}": { + "get": { + "x-ms-examples": { + "Get an iot security solution": { + "$ref": "./examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json" + } + }, + "tags": ["IoT Security Solutions"], + "description": "Details of a specific iot security solution", + "operationId": "IotSecuritySolution_Get", + "parameters": [ { "$ref": "#/parameters/ApiVersion" }, { "$ref": "#/parameters/SubscriptionId" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SettingsList" - } }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings/{settingName}": { - "get": { - "x-ms-examples": { - "Get a setting on subscription": { - "$ref": "./examples/Settings/GetSetting_example.json" - } - }, - "tags": [ - "Settings" - ], - "description": "Settings of different configurations in security center", - "operationId": "Settings_Get", - "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SolutionName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IoTSecuritySolutionModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create an iot security solution": { + "$ref": "./examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json" + } + }, + "tags": ["IoT Security Solutions"], + "description": "Create new solution manager", + "operationId": "IotSecuritySolution_Create", + "parameters": [ { "$ref": "#/parameters/ApiVersion" }, @@ -1132,36 +813,43 @@ "$ref": "#/parameters/SubscriptionId" }, { - "$ref": "#/parameters/SettingName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Setting" - } + "$ref": "#/parameters/ResourceGroupName" }, - "default": { - "description": "Error response describing why the operation failed.", + { + "$ref": "#/parameters/SolutionName" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/IoTSecuritySolutionModel" + } + }, + "201": { + "description": "Created", "schema": { - "$ref": "#/definitions/CloudError" + "$ref": "#/definitions/IoTSecuritySolutionModel" } - } - } - }, - "put": { - "x-ms-examples": { - "Update a setting for subscription": { - "$ref": "./examples/Settings/UpdateSetting_example.json" - } - }, - "tags": [ - "Settings" - ], - "description": "updating settings about different configurations in security center", - "operationId": "Settings_Update", - "parameters": [ + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "x-ms-examples": { + "Create an iot security solution": { + "$ref": "./examples/IoTSecuritySolutions/UpdateIoTSecuritySolution_example.json" + } + }, + "tags": ["IoT Security Solutions"], + "description": "update exists Security Solution tags. to update other fields use the CreateOrUpdate method", + "operationId": "IotSecuritySolution_Update", + "parameters": [ { "$ref": "#/parameters/ApiVersion" }, @@ -1169,1088 +857,1400 @@ "$ref": "#/parameters/SubscriptionId" }, { - "$ref": "#/parameters/SettingName" + "$ref": "#/parameters/ResourceGroupName" }, { - "$ref": "#/parameters/Setting" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Setting" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/{scope}/providers/Microsoft.Security/informationProtectionPolicies/{informationProtectionPolicyName}": { - "get": { - "x-ms-examples": { - "Get the customized information protection policy for a management group": { - "$ref": "./examples/InformationProtectionPolicies/GetCustomInformationProtectionPolicy_example.json" - }, - "Get the effective information protection policy for a management group": { - "$ref": "./examples/InformationProtectionPolicies/GetEffectiveInformationProtectionPolicy_example.json" - } - }, - "tags": ["InformationProtectionPolicies"], - "description": "Details of the information protection policy.", - "operationId": "InformationProtectionPolicies_Get", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/Scope" - }, { - "$ref": "#/parameters/InformationProtectionPolicyName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/InformationProtectionPolicy" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "put": { - "x-ms-examples": { - "Create or update an information protection policy for a management group": { - "$ref": "./examples/InformationProtectionPolicies/CreateOrUpdateInformationProtectionPolicy_example.json" - } - }, - "tags": ["InformationProtectionPolicies"], - "description": "Details of the information protection policy.", - "operationId": "InformationProtectionPolicies_CreateOrUpdate", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/Scope" - }, { - "$ref": "#/parameters/InformationProtectionPolicyName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/InformationProtectionPolicy" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/InformationProtectionPolicy" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/{scope}/providers/Microsoft.Security/informationProtectionPolicies": { - "get": { - "x-ms-examples": { - "Get information protection policies": { - "$ref": "./examples/InformationProtectionPolicies/ListInformationProtectionPolicies_example.json" - } - }, - "tags": ["InformationProtectionPolicies"], - "description": "Information protection policies of a specific management group.", - "operationId": "InformationProtectionPolicies_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersion" - }, { - "$ref": "#/parameters/Scope" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/InformationProtectionPolicyList" - } + "$ref": "#/parameters/SolutionName" }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } + { + "name": "securitySolutionTags", + "in": "body", + "required": true, + "description": "Updated tag information to set into the iot hub instance.", + "schema": { + "$ref": "#/definitions/TagsResource" + } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - } - }, - "definitions": { - "CloudError": { - "x-ms-external": true, - "type": "object", - "description": "Error response structure.", - "properties": { - "error": { - "x-ms-client-flatten": true, - "description": "Error data", - "$ref": "#/definitions/CloudErrorBody" - } - } - }, - "CloudErrorBody": { - "x-ms-external": true, - "type": "object", - "description": "Error details.", - "properties": { - "code": { - "readOnly": true, - "type": "string", - "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." - }, - "message": { - "readOnly": true, - "type": "string", - "description": "A message describing the error, intended to be suitable for display in a user interface." - } - } - }, - "Resource": { - "type": "object", - "description": "Describes an Azure resource.", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource Id" - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name" - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type" - } - }, - "x-ms-azure-resource": true - }, - "TagsResource": { - "properties": { - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/IoTSecuritySolutionModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } }, - "description": "Resource tags" - } - }, - "description": "A container holding only the Tags for a resource, allowing the user to update the tags." - }, - "Kind": { - "type": "object", - "description": "Describes an Azure resource with kind", - "properties": { - "kind": { - "type": "string", - "description": "Kind of the resource" - } - } - }, - "SecurityContactList": { - "type": "object", - "description": "List of security contacts response", - "properties": { - "value": { - "readOnly": true, - "description": "List of security contacts", - "type": "array", - "items": { - "$ref": "#/definitions/SecurityContact" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "SecurityContact": { - "type": "object", - "description": "Contact details for security issues", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Security contact data", - "$ref": "#/definitions/SecurityContactProperties" - } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - }] - }, - "SecurityContactProperties": { - "type": "object", - "description": "describes security contact properties", - "properties": { - "email": { - "type": "string", - "format": "email", - "description": "The email of this security contact" - }, - "phone": { - "type": "string", - "description": "The phone number of this security contact" - }, - "alertNotifications": { - "type": "string", - "enum": ["On", "Off"], - "x-ms-enum": { - "name": "alertNotifications", - "modelAsString": true, - "values": [{ - "value": "On", - "description": "Get notifications on new alerts" - }, - { - "value": "Off", - "description": "Don't get notifications on new alerts" - } - ] + "delete": { + "x-ms-examples": { + "Create an iot security solution": { + "$ref": "./examples/IoTSecuritySolutions/DeleteIoTSecuritySolution_example.json" + } + }, + "tags": ["IoT Security Solutions"], + "description": "Create new solution manager", + "operationId": "IotSecuritySolution_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" }, - "description": "Whether to send security alerts notifications to the security contact" - }, - "alertsToAdmins": { - "type": "string", - "enum": ["On", "Off"], - "x-ms-enum": { - "name": "alertsToAdmins", - "modelAsString": true, - "values": [{ - "value": "On", - "description": "Send notification on new alerts to the subscription's admins" - }, - { - "value": "Off", - "description": "Don't send notification on new alerts to the subscription's admins" - } - ] + { + "$ref": "#/parameters/SubscriptionId" }, - "description": "Whether to send security alerts notifications to subscription admins" - } - }, - "required": [ - "email", - "alertNotifications", - "alertsToAdmins" - ] - }, - "PricingList": { - "description": "List of pricing configurations response", - "required": [ - "value" - ], - "properties": { - "value": { - "type": "array", - "description": "List of pricing configurations", - "items": { - "$ref": "#/definitions/Pricing" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "Pricing": { - "type": "object", - "description": "Pricing tier will be applied for the scope based on the resource ID", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Pricing data", - "$ref": "#/definitions/PricingProperties" - } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - }] - }, - "PricingProperties": { - "type": "object", - "description": "Pricing data", - "properties": { - "pricingTier": { - "type": "string", - "description": "Pricing tier type", - "enum": ["Free", "Standard"], - "x-ms-enum": { - "name": "pricingTier", - "modelAsString": true, - "values": [{ - "value": "Free", - "description": "Get free Azure security center experience with basic security features" - }, - { - "value": "Standard", - "description": "Get the standard Azure security center experience with advanced security features" - } - ] - } - } - }, - "required": [ - "pricingTier" - ] - }, - "WorkspaceSettingList": { - "description": "List of workspace settings response", - "required": [ - "value" - ], - "properties": { - "value": { - "type": "array", - "description": "List of workspace settings", - "items": { - "$ref": "#/definitions/WorkspaceSetting" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "WorkspaceSetting": { - "type": "object", - "description": "Configures where to store the OMS agent data for workspaces under a scope", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Workspace setting data", - "$ref": "#/definitions/WorkspaceSettingProperties" + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SolutionName" + } + ], + "responses": { + "200": { + "description": "Security Solution deleted" + }, + "204": { + "description": "Security Solution was not exists" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Security/compliances": { + "get": { + "x-ms-examples": { + "Get security compliance data over time": { + "$ref": "./examples/Compliances/GetCompliances_example.json" + } + }, + "tags": ["Compliances"], + "description": "The Compliance scores of the specific management group.", + "operationId": "Compliances_List", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/Scope" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ComplianceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.Security/compliances/{complianceName}": { + "get": { + "x-ms-examples": { + "Get security compliance data for a day": { + "$ref": "./examples/Compliances/GetCompliance_example.json" + } + }, + "tags": ["Compliances"], + "description": "Details of a specific Compliance.", + "operationId": "Compliances_Get", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/Scope" + }, + { + "$ref": "#/parameters/ComplianceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Compliance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/{resourceId}/providers/Microsoft.Security/advancedThreatProtectionSettings/{settingName}": { + "get": { + "x-ms-examples": { + "Gets the Advanced Threat Protection settings for the specified resource.": { + "$ref": "./examples/AdvancedThreatProtection/GetAdvancedThreatProtectionSettings_example.json" } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - }] - }, - "WorkspaceSettingProperties": { - "type": "object", - "description": "Workspace setting data", - "properties": { - "workspaceId": { - "type": "string", - "description": "The full Azure ID of the workspace to save the data in" + }, + "tags": [ "AdvancedThreatProtection" ], + "description": "Gets the Advanced Threat Protection settings for the specified resource.", + "operationId": "AdvancedThreatProtection_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" }, - "scope": { - "type": "string", - "description": "All the VMs in this scope will send their security data to the mentioned workspace unless overridden by a setting with more specific scope" - } - }, - "required": [ - "workspaceId", - "scope" - ] - }, - "IoTSecuritySolutionsList": { - "description": "List of iot solutions", - "required": [ - "value" - ], - "properties": { - "value": { - "type": "array", - "description": "List of security solutions", - "items": { - "$ref": "#/definitions/IoTSecuritySolutionModel" - } + { + "$ref": "#/parameters/ResourceId" }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "IoTSecuritySolutionModel": { - "type": "object", - "description": "Security Solution", - "properties": { - "location": { - "type": "string", - "description": "The resource location." + { + "$ref": "#/parameters/AdvancedThreatProtectionSettingName" + } + ], + "responses": { + "200": { + "description": "Successful request to get Advanced Threat Protection settings.", + "schema": { + "$ref": "#/definitions/AdvancedThreatProtectionSetting" + } }, - "properties": { - "x-ms-client-flatten": true, - "description": "Security Solution data", - "$ref": "#/definitions/IoTSecuritySolutionProperties" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } + } }, - "allOf": [{ - "$ref": "#/definitions/Resource" - }, {"$ref": "#/definitions/TagsResource"}] - }, - "IoTSecuritySolutionProperties": { - "type": "object", - "description": "Security Solution setting data", - "properties": { - "workspaceResourceId": { - "type": "string", - "description": "The full Azure ID of the workspace to save the data in" - }, - "workspaceCustomerId": { - "type": "string", - "description": "the customer id associate with the workspace" - }, - "displayName": { - "type": "string", - "description": "The display name." + "put": { + "x-ms-examples": { + "Creates or updates the Advanced Threat Protection settings on a specified resource.": { + "$ref": "./examples/AdvancedThreatProtection/PutAdvancedThreatProtectionSettings_example.json" + } + }, + "tags": [ "AdvancedThreatProtection" ], + "description": "Creates or updates the Advanced Threat Protection settings on a specified resource.", + "operationId": "AdvancedThreatProtection_Create", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" }, - "enabled": { - "type": "boolean", - "default": true, - "description": "Is the solution Enabled for the customer." + { + "$ref": "#/parameters/ResourceId" }, - "export": { - "type": "array", - "items": { - "enum": [ - "RawEvents", - "TwinData" - ], - "type": "string", - "x-ms-enum":{ - "name": "ExtraData" - } - }, - "description": "Wether to save the raw events to the given workspace." + { + "$ref": "#/parameters/AdvancedThreatProtectionSettingName" }, - "iotHubs": { - "type": "array", - "description": "Related iot hub resources ID", - "items": { "type": "string" } - } - }, - "required": [ - "iotHubs", - "displayName" - ] - }, - "AutoProvisioningSettingList": { - "type": "object", - "description": "List of all the auto provisioning settings response", - "properties": { - "value": { - "description": "List of all the auto provisioning settings", - "type": "array", - "items": { - "$ref": "#/definitions/AutoProvisioningSetting" - } + { + "$ref": "#/parameters/AdvancedThreatProtectionSetting" + } + ], + "responses": { + "200": { + "description": "Successful request to put Advanced Threat Protection settings.", + "schema": { + "$ref": "#/definitions/AdvancedThreatProtectionSetting" + } }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } + } } - }, - "AutoProvisioningSetting": { - "type": "object", - "description": "Auto provisioning setting", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Auto provisioning setting data", - "$ref": "#/definitions/AutoProvisioningSettingProperties" - } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - }] - }, - "AutoProvisioningSettingProperties": { - "type": "object", - "description": "describes properties of an auto provisioning setting", - "properties": { - "autoProvision": { - "type": "string", - "description": "Describes what kind of security agent provisioning action to take", - "enum": ["On", "Off"], - "x-ms-enum": { - "name": "autoProvision", - "modelAsString": true, - "values": [{ - "value": "On", - "description": "Install missing security agent on VMs automatically" - }, - { - "value": "Off", - "description": "Do not install security agent on the VMs automatically" - } - ] - } - } - }, - "required": [ - "autoProvision" - ] - }, - "ComplianceList": { - "type": "object", - "readOnly": true, - "description": "List of Compliance objects response", + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings": { + "get": { + "x-ms-examples": { + "Get settings of subscription": { + "$ref": "./examples/Settings/GetSettings_example.json" + } + }, + "tags": [ + "Settings" + ], + "description": "Settings about different configurations in security center", + "operationId": "Settings_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SettingsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings/{settingName}": { + "get": { + "x-ms-examples": { + "Get a setting on subscription": { + "$ref": "./examples/Settings/GetSetting_example.json" + } + }, + "tags": [ + "Settings" + ], + "description": "Settings of different configurations in security center", + "operationId": "Settings_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/SettingName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Setting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Update a setting for subscription": { + "$ref": "./examples/Settings/UpdateSetting_example.json" + } + }, + "tags": [ + "Settings" + ], + "description": "updating settings about different configurations in security center", + "operationId": "Settings_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/SettingName" + }, + { + "$ref": "#/parameters/Setting" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Setting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Security/informationProtectionPolicies/{informationProtectionPolicyName}": { + "get": { + "x-ms-examples": { + "Get the customized information protection policy for a management group": { + "$ref": "./examples/InformationProtectionPolicies/GetCustomInformationProtectionPolicy_example.json" + }, + "Get the effective information protection policy for a management group": { + "$ref": "./examples/InformationProtectionPolicies/GetEffectiveInformationProtectionPolicy_example.json" + } + }, + "tags": ["InformationProtectionPolicies"], + "description": "Details of the information protection policy.", + "operationId": "InformationProtectionPolicies_Get", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/Scope" + }, { + "$ref": "#/parameters/InformationProtectionPolicyName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/InformationProtectionPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create or update an information protection policy for a management group": { + "$ref": "./examples/InformationProtectionPolicies/CreateOrUpdateInformationProtectionPolicy_example.json" + } + }, + "tags": ["InformationProtectionPolicies"], + "description": "Details of the information protection policy.", + "operationId": "InformationProtectionPolicies_CreateOrUpdate", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/Scope" + }, { + "$ref": "#/parameters/InformationProtectionPolicyName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/InformationProtectionPolicy" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/InformationProtectionPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Security/informationProtectionPolicies": { + "get": { + "x-ms-examples": { + "Get information protection policies": { + "$ref": "./examples/InformationProtectionPolicies/ListInformationProtectionPolicies_example.json" + } + }, + "tags": ["InformationProtectionPolicies"], + "description": "Information protection policies of a specific management group.", + "operationId": "InformationProtectionPolicies_List", + "parameters": [{ + "$ref": "#/parameters/ApiVersion" + }, { + "$ref": "#/parameters/Scope" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/InformationProtectionPolicyList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "CloudError": { + "x-ms-external": true, + "type": "object", + "description": "Error response structure.", + "properties": { + "error": { + "x-ms-client-flatten": true, + "description": "Error data", + "$ref": "#/definitions/CloudErrorBody" + } + } + }, + "CloudErrorBody": { + "x-ms-external": true, + "type": "object", + "description": "Error details.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + } + } + }, + "Resource": { + "type": "object", + "description": "Describes an Azure resource.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "x-ms-azure-resource": true + }, + "TagsResource": { "properties": { - "value": { - "type": "array", - "description": "List of Compliance objects", - "items": { - "$ref": "#/definitions/Compliance" - } + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "Compliance": { - "type": "object", - "readOnly": true, - "description": "Compliance of a scope", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Compliance data", - "$ref": "#/definitions/ComplianceProperties" - } + "description": "Resource tags" + } }, - "allOf": [{ - "$ref": "#/definitions/Resource" - }] - }, - "ComplianceProperties": { - "type": "object", - "description": "The Compliance score (percentage) of a Subscription is a sum of all Resources' Compliances under the given Subscription. A Resource Compliance is defined as the compliant ('healthy') Policy Definitions out of all Policy Definitions applicable to a given resource.", - "properties": { - "assessmentTimestampUtcDate": { - "readOnly": true, + "description": "A container holding only the Tags for a resource, allowing the user to update the tags." + }, + "Kind": { + "type": "object", + "description": "Describes an Azure resource with kind", + "properties": { + "kind": { + "type": "string", + "description": "Kind of the resource" + } + } + }, + "SecurityContactList": { + "type": "object", + "description": "List of security contacts response", + "properties": { + "value": { + "readOnly": true, + "description": "List of security contacts", + "type": "array", + "items": { + "$ref": "#/definitions/SecurityContact" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "SecurityContact": { + "type": "object", + "description": "Contact details for security issues", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Security contact data", + "$ref": "#/definitions/SecurityContactProperties" + } + }, + "allOf": [{ + "$ref": "#/definitions/Resource" + }] + }, + "SecurityContactProperties": { + "type": "object", + "description": "describes security contact properties", + "properties": { + "email": { + "type": "string", + "format": "email", + "description": "The email of this security contact" + }, + "phone": { + "type": "string", + "description": "The phone number of this security contact" + }, + "alertNotifications": { + "type": "string", + "enum": ["On", "Off"], + "x-ms-enum": { + "name": "alertNotifications", + "modelAsString": true, + "values": [{ + "value": "On", + "description": "Get notifications on new alerts" + }, + { + "value": "Off", + "description": "Don't get notifications on new alerts" + } + ] + }, + "description": "Whether to send security alerts notifications to the security contact" + }, + "alertsToAdmins": { + "type": "string", + "enum": ["On", "Off"], + "x-ms-enum": { + "name": "alertsToAdmins", + "modelAsString": true, + "values": [{ + "value": "On", + "description": "Send notification on new alerts to the subscription's admins" + }, + { + "value": "Off", + "description": "Don't send notification on new alerts to the subscription's admins" + } + ] + }, + "description": "Whether to send security alerts notifications to subscription admins" + } + }, + "required": [ + "email", + "alertNotifications", + "alertsToAdmins" + ] + }, + "PricingList": { + "description": "List of pricing configurations response", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "List of pricing configurations", + "items": { + "$ref": "#/definitions/Pricing" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "Pricing": { + "type": "object", + "description": "Pricing tier will be applied for the scope based on the resource ID", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Pricing data", + "$ref": "#/definitions/PricingProperties" + } + }, + "allOf": [{ + "$ref": "#/definitions/Resource" + }] + }, + "PricingProperties": { + "type": "object", + "description": "Pricing data", + "properties": { + "pricingTier": { + "type": "string", + "description": "Pricing tier type", + "enum": ["Free", "Standard"], + "x-ms-enum": { + "name": "pricingTier", + "modelAsString": true, + "values": [{ + "value": "Free", + "description": "Get free Azure security center experience with basic security features" + }, + { + "value": "Standard", + "description": "Get the standard Azure security center experience with advanced security features" + } + ] + } + } + }, + "required": [ + "pricingTier" + ] + }, + "WorkspaceSettingList": { + "description": "List of workspace settings response", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "List of workspace settings", + "items": { + "$ref": "#/definitions/WorkspaceSetting" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "WorkspaceSetting": { + "type": "object", + "description": "Configures where to store the OMS agent data for workspaces under a scope", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Workspace setting data", + "$ref": "#/definitions/WorkspaceSettingProperties" + } + }, + "allOf": [{ + "$ref": "#/definitions/Resource" + }] + }, + "WorkspaceSettingProperties": { + "type": "object", + "description": "Workspace setting data", + "properties": { + "workspaceId": { + "type": "string", + "description": "The full Azure ID of the workspace to save the data in" + }, + "scope": { + "type": "string", + "description": "All the VMs in this scope will send their security data to the mentioned workspace unless overridden by a setting with more specific scope" + } + }, + "required": [ + "workspaceId", + "scope" + ] + }, + "IoTSecuritySolutionsList": { + "description": "List of iot solutions", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "List of security solutions", + "items": { + "$ref": "#/definitions/IoTSecuritySolutionModel" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "IoTSecuritySolutionModel": { + "type": "object", + "description": "Security Solution", + "properties": { + "location": { "type": "string", - "format": "date-time", - "description": "The timestamp when the Compliance calculation was conducted." - }, - "resourceCount": { - "readOnly": true, - "type": "integer", - "description": "The resource count of the given subscription for which the Compliance calculation was conducted (needed for Management Group Compliance calculation)." - }, - "assessmentResult": { - "readOnly": true, + "description": "The resource location." + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Security Solution data", + "$ref": "#/definitions/IoTSecuritySolutionProperties" + } + }, + "allOf": [{ + "$ref": "#/definitions/Resource" + }, {"$ref": "#/definitions/TagsResource"}] + }, + "IoTSecuritySolutionProperties": { + "type": "object", + "description": "Security Solution setting data", + "properties": { + "workspaceResourceId": { + "type": "string", + "description": "The full Azure ID of the workspace to save the data in" + }, + "workspaceCustomerId": { + "type": "string", + "description": "the customer id associate with the workspace" + }, + "displayName": { + "type": "string", + "description": "The display name." + }, + "enabled": { + "type": "boolean", + "default": true, + "description": "Is the solution Enabled for the customer." + }, + "export": { "type": "array", "items": { - "$ref": "#/definitions/ComplianceSegment" + "enum": [ + "RawEvents", + "TwinData" + ], + "type": "string", + "x-ms-enum":{ + "name": "ExtraData" + } }, - "description": "An array of segment, which is the actually the compliance assessment." - } - } - }, - "ComplianceSegment": { - "type": "object", - "description": "A segment of a compliance assessment.", - "properties": { - "segmentType": { - "readOnly": true, - "type": "string", - "description": "The segment type, e.g. compliant, non-compliance, insufficient coverage, N/A, etc." - }, - "percentage": { - "type": "number", - "format": "double", - "readOnly": true, - "description": "The size (%) of the segment." - } - } - }, - "AdvancedThreatProtectionProperties": { - "properties": { - "isEnabled": { - "type": "boolean", - "description": "Indicates whether Advanced Threat Protection is enabled." - } + "description": "Wether to save the raw events to the given workspace." + }, + "iotHubs": { + "type": "array", + "description": "Related iot hub resources ID", + "items": { "type": "string" } + } + }, + "required": [ + "iotHubs", + "displayName" + ] + }, + "AutoProvisioningSettingList": { + "type": "object", + "description": "List of all the auto provisioning settings response", + "properties": { + "value": { + "description": "List of all the auto provisioning settings", + "type": "array", + "items": { + "$ref": "#/definitions/AutoProvisioningSetting" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "AutoProvisioningSetting": { + "type": "object", + "description": "Auto provisioning setting", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Auto provisioning setting data", + "$ref": "#/definitions/AutoProvisioningSettingProperties" + } + }, + "allOf": [{ + "$ref": "#/definitions/Resource" + }] + }, + "AutoProvisioningSettingProperties": { + "type": "object", + "description": "describes properties of an auto provisioning setting", + "properties": { + "autoProvision": { + "type": "string", + "description": "Describes what kind of security agent provisioning action to take", + "enum": ["On", "Off"], + "x-ms-enum": { + "name": "autoProvision", + "modelAsString": true, + "values": [{ + "value": "On", + "description": "Install missing security agent on VMs automatically" + }, + { + "value": "Off", + "description": "Do not install security agent on the VMs automatically" + } + ] + } + } + }, + "required": [ + "autoProvision" + ] }, - "description": "The Advanced Threat Protection settings." - }, - "AdvancedThreatProtectionSetting": { - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/AdvancedThreatProtectionProperties" - } + "ComplianceList": { + "type": "object", + "readOnly": true, + "description": "List of Compliance objects response", + "properties": { + "value": { + "type": "array", + "description": "List of Compliance objects", + "items": { + "$ref": "#/definitions/Compliance" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } }, - "description": "The Advanced Threat Protection resource." - }, - "SettingsList": { - "type": "object", - "description": "Subscription settings list.", - "properties": { - "value": { - "type": "array", - "description": "The settings list.", - "items": { - "$ref": "#/definitions/Setting" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "Setting": { - "type": "object", - "description": "Represents a security setting in Azure Security Center.", - "discriminator": "kind", - "properties": {}, - "allOf": [ - { - "$ref": "#/definitions/SettingResource" - } - ] - }, - "DataExportSetting": { - "type": "object", - "description": "Represents a data export setting", - "x-ms-discriminator-value": "DataExportSetting", + "Compliance": { + "type": "object", + "readOnly": true, + "description": "Compliance of a scope", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Compliance data", + "$ref": "#/definitions/ComplianceProperties" + } + }, + "allOf": [{ + "$ref": "#/definitions/Resource" + }] + }, + "ComplianceProperties": { + "type": "object", + "description": "The Compliance score (percentage) of a Subscription is a sum of all Resources' Compliances under the given Subscription. A Resource Compliance is defined as the compliant ('healthy') Policy Definitions out of all Policy Definitions applicable to a given resource.", + "properties": { + "assessmentTimestampUtcDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The timestamp when the Compliance calculation was conducted." + }, + "resourceCount": { + "readOnly": true, + "type": "integer", + "description": "The resource count of the given subscription for which the Compliance calculation was conducted (needed for Management Group Compliance calculation)." + }, + "assessmentResult": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ComplianceSegment" + }, + "description": "An array of segment, which is the actually the compliance assessment." + } + } + }, + "ComplianceSegment": { + "type": "object", + "description": "A segment of a compliance assessment.", + "properties": { + "segmentType": { + "readOnly": true, + "type": "string", + "description": "The segment type, e.g. compliant, non-compliance, insufficient coverage, N/A, etc." + }, + "percentage": { + "type": "number", + "format": "double", + "readOnly": true, + "description": "The size (%) of the segment." + } + } + }, + "AdvancedThreatProtectionProperties": { "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Data export setting data", - "$ref": "#/definitions/DataExportSettingProperties" - } + "isEnabled": { + "type": "boolean", + "description": "Indicates whether Advanced Threat Protection is enabled." + } }, - "allOf": [ - { - "$ref": "#/definitions/Setting" - } - ] - }, - "SettingResource": { + "description": "The Advanced Threat Protection settings." + }, + "AdvancedThreatProtectionSetting": { "type": "object", - "description": "The kind of the security setting", - "properties": { - "kind": { - "type": "string", - "description": "the kind of the settings string (DataExportSetting)", - "enum": [ - "DataExportSetting", - "AlertSuppressionSetting" - ], - "x-ms-enum": { - "name": "SettingKind", - "modelAsString": true, - "values": [ - { - "value": "DataExportSetting" - }, - { - "value": "AlertSuppressionSetting" - } - ] - } - - } - }, - "required": [ - "kind" - ], "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ] - }, - "DataExportSettingProperties": { - "type": "object", - "description": "The data export setting properties", - "properties": { - "enabled": { - "type": "boolean", - "description": "Is the data export setting is enabled" - } - }, - "required": [ - "enabled" - ] - }, - "InformationProtectionPolicyList": { - "type": "object", - "readOnly": true, - "description": "Information protection policies response.", - "properties": { - "value": { - "type": "array", - "description": "List of information protection policies.", - "items": { - "$ref": "#/definitions/InformationProtectionPolicy" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "The URI to fetch the next page." - } - } - }, - "InformationProtectionPolicy": { - "type": "object", - "description": "Information protection policy.", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Information protection policy data", - "$ref": "#/definitions/InformationProtectionPolicyProperties" - } - }, - "allOf": [{ - "$ref": "#/definitions/Resource" - } - ] - }, - "InformationProtectionPolicyProperties": { - "type": "object", - "description": "describes properties of an information protection policy.", - "properties": { - "lastModifiedUtc": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Describes the last UTC time the policy was modified." - }, - "labels": { - "type": "object", - "description": "Dictionary of sensitivity labels.", - "additionalProperties": { - "type": "object", - "$ref": "#/definitions/SensitivityLabel" - } - }, - "informationTypes": { - "type": "object", - "description": "The sensitivity information types.", - "additionalProperties": { - "type": "object", - "$ref": "#/definitions/InformationType" - } - } - } - }, - "SensitivityLabel": { - "type": "object", - "description": "The sensitivity label.", - "properties": { - "displayName": { - "type": "string", - "description": "The name of the sensitivity label." - }, - "order": { - "type": "number", - "description": "The order of the sensitivity label." - }, - "enabled": { - "type": "boolean", - "description": "Indicates whether the label is enabled or not." - } - } - }, - "InformationType": { - "type": "object", - "description": "The information type.", - "properties": { - "displayName": { - "type": "string", - "description": "The name of the information type." - }, - "order": { - "type": "number", - "description": "The order of the information type." - }, - "recommendedLabelId": { - "type": "string", - "format": "uuid", - "description": "The recommended label id to be associated with this information type." - }, - "enabled": { - "type": "boolean", - "description": "Indicates whether the information type is enabled or not." - }, - "custom": { - "type": "boolean", - "description": "Indicates whether the information type is custom or not." - }, - "keywords": { - "type": "array", - "description": "The information type keywords.", - "items": { - "$ref": "#/definitions/InformationProtectionKeyword" - } - } - } - }, - "InformationProtectionKeyword": { - "type": "object", - "description": "The information type keyword.", + { + "$ref": "#/definitions/Resource" + } + ], "properties": { - "pattern": { - "type": "string", - "description": "The keyword pattern." - }, - "custom": { - "type": "boolean", - "description": "Indicates whether the keyword is custom or not." - }, - "canBeNumeric": { - "type": "boolean", - "description": "Indicates whether the keyword can be applied on numeric types or not." - }, - "excluded": { - "type": "boolean", - "description": "Indicates whether the keyword is excluded or not." - } - } - } - }, - "parameters": { - "SubscriptionId": { - "name": "subscriptionId", - "in": "path", - "required": true, - "pattern": "^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$", - "type": "string", - "description": "Azure subscription ID" - }, - "ResourceGroupName": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group within the user's subscription. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90, - "x-ms-parameter-location": "method" - }, - "ApiVersion": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "enum": ["2017-08-01-preview"], - "description": "API version for the operation" - }, - "Scope": { - "name": "scope", - "in": "path", - "required": true, - "type": "string", - "description": "Scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group (/providers/Microsoft.Management/managementGroups/mgName).", - "x-ms-parameter-location": "method" - }, - "PricingName": { - "name": "pricingName", - "in": "path", - "required": true, - "type": "string", - "description": "name of the pricing configuration", - "x-ms-parameter-location": "method" - }, - "Pricing": { - "name": "pricing", - "in": "body", - "required": true, - "description": "Pricing object", - "schema": { - "$ref": "#/definitions/Pricing" - }, - "x-ms-parameter-location": "method" - }, - "SecurityContactName": { - "name": "securityContactName", - "in": "path", - "required": true, - "type": "string", - "description": "Name of the security contact object", - "x-ms-parameter-location": "method" - }, - "SecurityContact": { - "name": "securityContact", - "in": "body", - "required": true, - "description": "Security contact object", - "schema": { - "$ref": "#/definitions/SecurityContact" + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AdvancedThreatProtectionProperties" + } }, - "x-ms-parameter-location": "method" - }, - "WorkspaceSettingName": { - "name": "workspaceSettingName", + "description": "The Advanced Threat Protection resource." + }, + "SettingsList": { + "type": "object", + "description": "Subscription settings list.", + "properties": { + "value": { + "type": "array", + "description": "The settings list.", + "items": { + "$ref": "#/definitions/Setting" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "Setting": { + "type": "object", + "description": "Represents a security setting in Azure Security Center.", + "discriminator": "kind", + "properties": {}, + "allOf": [ + { + "$ref": "#/definitions/SettingResource" + } + ] + }, + "DataExportSetting": { + "type": "object", + "description": "Represents a data export setting", + "x-ms-discriminator-value": "DataExportSetting", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Data export setting data", + "$ref": "#/definitions/DataExportSettingProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Setting" + } + ] + }, + "SettingResource": { + "type": "object", + "description": "The kind of the security setting", + "properties": { + "kind": { + "type": "string", + "description": "the kind of the settings string (DataExportSetting)", + "enum": [ + "DataExportSetting", + "AlertSuppressionSetting" + ], + "x-ms-enum": { + "name": "SettingKind", + "modelAsString": true, + "values": [ + { + "value": "DataExportSetting" + }, + { + "value": "AlertSuppressionSetting" + } + ] + } + + } + }, + "required": [ + "kind" + ], + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "DataExportSettingProperties": { + "type": "object", + "description": "The data export setting properties", + "properties": { + "enabled": { + "type": "boolean", + "description": "Is the data export setting is enabled" + } + }, + "required": [ + "enabled" + ] + }, + "InformationProtectionPolicyList": { + "type": "object", + "readOnly": true, + "description": "Information protection policies response.", + "properties": { + "value": { + "type": "array", + "description": "List of information protection policies.", + "items": { + "$ref": "#/definitions/InformationProtectionPolicy" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "InformationProtectionPolicy": { + "type": "object", + "description": "Information protection policy.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Information protection policy data", + "$ref": "#/definitions/InformationProtectionPolicyProperties" + } + }, + "allOf": [{ + "$ref": "#/definitions/Resource" + } + ] + }, + "InformationProtectionPolicyProperties": { + "type": "object", + "description": "describes properties of an information protection policy.", + "properties": { + "lastModifiedUtc": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Describes the last UTC time the policy was modified." + }, + "labels": { + "type": "object", + "description": "Dictionary of sensitivity labels.", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/SensitivityLabel" + } + }, + "informationTypes": { + "type": "object", + "description": "The sensitivity information types.", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/InformationType" + } + } + } + }, + "SensitivityLabel": { + "type": "object", + "description": "The sensitivity label.", + "properties": { + "displayName": { + "type": "string", + "description": "The name of the sensitivity label." + }, + "order": { + "type": "number", + "description": "The order of the sensitivity label." + }, + "enabled": { + "type": "boolean", + "description": "Indicates whether the label is enabled or not." + } + } + }, + "InformationType": { + "type": "object", + "description": "The information type.", + "properties": { + "displayName": { + "type": "string", + "description": "The name of the information type." + }, + "order": { + "type": "number", + "description": "The order of the information type." + }, + "recommendedLabelId": { + "type": "string", + "format": "uuid", + "description": "The recommended label id to be associated with this information type." + }, + "enabled": { + "type": "boolean", + "description": "Indicates whether the information type is enabled or not." + }, + "custom": { + "type": "boolean", + "description": "Indicates whether the information type is custom or not." + }, + "keywords": { + "type": "array", + "description": "The information type keywords.", + "items": { + "$ref": "#/definitions/InformationProtectionKeyword" + } + } + } + }, + "InformationProtectionKeyword": { + "type": "object", + "description": "The information type keyword.", + "properties": { + "pattern": { + "type": "string", + "description": "The keyword pattern." + }, + "custom": { + "type": "boolean", + "description": "Indicates whether the keyword is custom or not." + }, + "canBeNumeric": { + "type": "boolean", + "description": "Indicates whether the keyword can be applied on numeric types or not." + }, + "excluded": { + "type": "boolean", + "description": "Indicates whether the keyword is excluded or not." + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "pattern": "^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$", + "type": "string", + "description": "Azure subscription ID" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the user's subscription. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "enum": ["2017-08-01-preview"], + "description": "API version for the operation" + }, + "Scope": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "Scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or management group (/providers/Microsoft.Management/managementGroups/mgName).", + "x-ms-parameter-location": "method" + }, + "PricingName": { + "name": "pricingName", + "in": "path", + "required": true, + "type": "string", + "description": "name of the pricing configuration", + "x-ms-parameter-location": "method" + }, + "Pricing": { + "name": "pricing", + "in": "body", + "required": true, + "description": "Pricing object", + "schema": { + "$ref": "#/definitions/Pricing" + }, + "x-ms-parameter-location": "method" + }, + "SecurityContactName": { + "name": "securityContactName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the security contact object", + "x-ms-parameter-location": "method" + }, + "SecurityContact": { + "name": "securityContact", + "in": "body", + "required": true, + "description": "Security contact object", + "schema": { + "$ref": "#/definitions/SecurityContact" + }, + "x-ms-parameter-location": "method" + }, + "WorkspaceSettingName": { + "name": "workspaceSettingName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the security setting", + "x-ms-parameter-location": "method" + }, + "WorkspaceSetting": { + "name": "workspaceSetting", + "in": "body", + "required": true, + "description": "Security data setting object", + "schema": { + "$ref": "#/definitions/WorkspaceSetting" + }, + "x-ms-parameter-location": "method" + }, + "SettingName": { + "name": "settingName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of setting: (MCAS/WDATP)", + "enum": [ + "MCAS", + "WDATP" + ], + "x-ms-parameter-location": "method" + }, + "Setting": { + "name": "setting", + "in": "body", + "required": true, + "description": "Setting object", + "schema": { + "$ref": "#/definitions/Setting" + }, + "x-ms-parameter-location": "method" + }, + "AutoProvisioningSettingName": { + "name": "settingName", + "in": "path", + "required": true, + "type": "string", + "description": "Auto provisioning setting key", + "x-ms-parameter-location": "method" + }, + "AutoProvisioningSetting": { + "name": "setting", + "in": "body", + "required": true, + "description": "Auto provisioning setting key", + "schema": { + "$ref": "#/definitions/AutoProvisioningSetting" + }, + "x-ms-parameter-location": "method" + }, + "ComplianceName": { + "name": "complianceName", + "in": "path", + "required": true, + "type": "string", + "description": "name of the Compliance", + "x-ms-parameter-location": "method" + }, + "InformationProtectionPolicyName": { + "name": "informationProtectionPolicyName", + "in": "path", + "required": true, + "type": "string", + "enum": ["effective", "custom"], + "description": "Name of the information protection policy.", + "x-ms-parameter-location": "method" + }, + "ResourceId": { + "name": "resourceId", "in": "path", "required": true, "type": "string", - "description": "Name of the security setting", - "x-ms-parameter-location": "method" - }, - "WorkspaceSetting": { - "name": "workspaceSetting", - "in": "body", - "required": true, - "description": "Security data setting object", - "schema": { - "$ref": "#/definitions/WorkspaceSetting" - }, + "description": "The identifier of the resource.", "x-ms-parameter-location": "method" - }, - "SettingName": { + }, + "AdvancedThreatProtectionSettingName": { "name": "settingName", "in": "path", "required": true, "type": "string", - "description": "Name of setting: (MCAS/WDATP)", - "enum": [ - "MCAS", - "WDATP" - ], + "enum": ["current"], + "description": "Advanced Threat Protection setting name.", "x-ms-parameter-location": "method" - }, - "Setting": { - "name": "setting", + }, + "AdvancedThreatProtectionSetting": { + "name": "advancedThreatProtectionSetting", "in": "body", "required": true, - "description": "Setting object", + "description": "Advanced Threat Protection Settings", "schema": { - "$ref": "#/definitions/Setting" + "$ref": "#/definitions/AdvancedThreatProtectionSetting" }, "x-ms-parameter-location": "method" - }, - "AutoProvisioningSettingName": { - "name": "settingName", + }, + "SolutionName": { + "name": "solutionName", "in": "path", "required": true, + "description": "The solution manager name", "type": "string", - "description": "Auto provisioning setting key", "x-ms-parameter-location": "method" - }, - "AutoProvisioningSetting": { - "name": "setting", + }, + "IotSecuritySolutionData": { + "name": "iotSecuritySolutionData", "in": "body", "required": true, - "description": "Auto provisioning setting key", + "description": "The security solution data", "schema": { - "$ref": "#/definitions/AutoProvisioningSetting" + "$ref": "#/definitions/IoTSecuritySolutionModel" }, "x-ms-parameter-location": "method" - }, - "ComplianceName": { - "name": "complianceName", - "in": "path", - "required": true, - "type": "string", - "description": "name of the Compliance", - "x-ms-parameter-location": "method" - }, - "InformationProtectionPolicyName": { - "name": "informationProtectionPolicyName", - "in": "path", - "required": true, + }, + "FilterParam": { + "name": "$filter", + "in": "query", + "required": false, + "description": "filter the Security Solution with OData syntax. supporting filter by iotHubs", "type": "string", - "enum": ["effective", "custom"], - "description": "Name of the information protection policy.", "x-ms-parameter-location": "method" - }, - "ResourceId": { - "name": "resourceId", - "in": "path", - "required": true, - "type": "string", - "description": "The identifier of the resource.", - "x-ms-parameter-location": "method" - }, - "AdvancedThreatProtectionSettingName": { - "name": "settingName", - "in": "path", - "required": true, - "type": "string", - "enum": ["current"], - "description": "Advanced Threat Protection setting name.", - "x-ms-parameter-location": "method" - }, - "AdvancedThreatProtectionSetting": { - "name": "advancedThreatProtectionSetting", - "in": "body", - "required": true, - "description": "Advanced Threat Protection Settings", - "schema": { - "$ref": "#/definitions/AdvancedThreatProtectionSetting" - }, - "x-ms-parameter-location": "method" - }, - "SolutionName": { - "name": "solutionName", - "in": "path", - "required": true, - "description": "The solution manager name", - "type": "string", - "x-ms-parameter-location": "method" - }, - "IotSecuritySolutionData": { - "name": "iotSecuritySolutionData", - "in": "body", - "required": true, - "description": "The security solution data", - "schema": { - "$ref": "#/definitions/IoTSecuritySolutionModel" - }, - "x-ms-parameter-location": "method" - }, - "FilterParam": { - "name": "$filter", - "in": "query", - "required": false, - "description": "filter the Security Solution with OData syntax. supporting filter by iotHubs", - "type": "string", - "x-ms-parameter-location": "method" - } - } + } + } } \ No newline at end of file From f22e2bfdbdc79e79e017b7a843d7a5ea18d4eb6e Mon Sep 17 00:00:00 2001 From: Tibi Tibi Date: Wed, 20 Feb 2019 16:56:42 +0200 Subject: [PATCH 09/11] fix description and add body to put --- .../CreateIoTSecuritySolution_example.json | 1 + .../preview/2017-08-01-preview/security.json | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json index 4237a23e1f8c..18664e9eb9c7 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json @@ -5,6 +5,7 @@ "resourceGroupName": "MyGroup", "solutionName": "default", "iotSecuritySolutionData": { + "tags": {}, "location": "East Us", "properties": { "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json index b08b6d220bd1..d7c2036d24b2 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json @@ -817,6 +817,9 @@ }, { "$ref": "#/parameters/SolutionName" + }, + { + "$ref": "#/parameters/IotSecuritySolutionData" } ], "responses": { @@ -1646,10 +1649,15 @@ ], "type": "string", "x-ms-enum":{ - "name": "ExtraData" + "name": "ExtraData", + "modelAsString": true, + "values": [ + {"value": "RawEvents", "description": "Export the raw events into the security solution workspace"}, + {"value": "TwinData", "description": "Export the twin data into the analysis process"} + ] } }, - "description": "Wether to save the raw events to the given workspace." + "description": "list of additional data to export by the system" }, "iotHubs": { "type": "array", From cb701bbe5be01735b3467078fdb309921e508dbb Mon Sep 17 00:00:00 2001 From: Tibi Tibi Date: Thu, 21 Feb 2019 15:17:36 +0200 Subject: [PATCH 10/11] split the array and enums, and review of technical writer --- .../CreateIoTSecuritySolution_example.json | 24 ++++---- .../GetIoTSecuritySolution_example.json | 8 +-- ...itySolutionsListByIotHubAndRg_example.json | 8 +-- ...SecuritySolutionsListByIotHub_example.json | 8 +-- ...tIoTSecuritySolutionsListByRg_example.json | 8 +-- .../GetIoTSecuritySolutionsList_example.json | 16 +++--- .../UpdateIoTSecuritySolution_example.json | 10 ++-- .../preview/2017-08-01-preview/security.json | 56 +++++++++++++------ 8 files changed, 79 insertions(+), 59 deletions(-) diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json index 18664e9eb9c7..f2ba1de31369 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/CreateIoTSecuritySolution_example.json @@ -8,10 +8,10 @@ "tags": {}, "location": "East Us", "properties": { - "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", - "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", - "enabled": true, - "export": ["TwinData"], + "workspace": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "status": "Enabled", + "export": [], + "disabledDataSources": [], "displayName": "Solution Default", "iotHubs": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" @@ -28,10 +28,10 @@ "location": "East Us", "tags": {}, "properties": { - "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", - "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", - "enabled": true, - "export": ["TwinData"], + "workspace": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "status": "Enabled", + "export": [], + "disabledDataSources": [], "displayName": "Solution Default", "iotHubs": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" @@ -46,10 +46,10 @@ "location": "East Us", "tags": {}, "properties": { - "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", - "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", - "enabled": true, - "export": ["TwinData"], + "workspace": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "status": "Enabled", + "export": [], + "disabledDataSources": [], "displayName": "Solution Default", "iotHubs": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json index 1b97eb34c5e3..6557bb952d4e 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolution_example.json @@ -14,10 +14,10 @@ "location": "East Us", "tags": {}, "properties": { - "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", - "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", - "enabled": true, - "export": ["TwinData"], + "workspace": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "status": "Enabled", + "export": [], + "disabledDataSources": [], "displayName": "Solution Default", "iotHubs": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHubAndRg_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHubAndRg_example.json index 9d1286f11dcc..5ca6e9589d10 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHubAndRg_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHubAndRg_example.json @@ -15,10 +15,10 @@ "location": "East Us", "tags": {}, "properties": { - "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", - "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", - "enabled": true, - "export": ["TwinData", "RawEvents"], + "workspace": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "status": "Enabled", + "export": ["RawEvents"], + "disabledDataSources": [], "displayName": "Solution Default", "iotHubs": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json index 26f00e48577b..d042c035e4b5 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByIotHub_example.json @@ -14,10 +14,10 @@ "location": "East Us", "tags": {}, "properties": { - "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", - "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", - "enabled": true, - "export": ["TwinData", "RawEvents"], + "workspace": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "status": "Enabled", + "export": ["RawEvents"], + "disabledDataSources": [], "displayName": "Solution Default", "iotHubs": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByRg_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByRg_example.json index d7d5c959f221..b4f00207cccc 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByRg_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsListByRg_example.json @@ -14,10 +14,10 @@ "type": "Microsoft.Security/IoTSecuritySolutions", "tags": {}, "properties": { - "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", - "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", - "enabled": true, - "export": ["TwinData"], + "workspace": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "status": "Enabled", + "export": [], + "disabledDataSources": [], "displayName": "Solution Default", "iotHubs": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json index ee36d784ee5a..12c5c5ed3ab7 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/GetIoTSecuritySolutionsList_example.json @@ -13,10 +13,10 @@ "type": "Microsoft.Security/IoTSecuritySolutions", "tags": {}, "properties": { - "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", - "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", - "enabled": true, - "export": ["TwinData"], + "workspace": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "status": "Enabled", + "export": [], + "disabledDataSources": [], "displayName": "Solution Default", "iotHubs": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" @@ -30,10 +30,10 @@ "type": "Microsoft.Security/IoTSecuritySolutions", "tags": {}, "properties": { - "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", - "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", - "enabled": true, - "export": ["TwinData", "RawEvents"], + "workspace": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "status": "Enabled", + "export": ["RawEvents"], + "disabledDataSources": [], "displayName": "Second Solution", "iotHubs": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/IotHubSecond" diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/UpdateIoTSecuritySolution_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/UpdateIoTSecuritySolution_example.json index 06caf015971f..2d8c1a16fd7b 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/UpdateIoTSecuritySolution_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/examples/IoTSecuritySolutions/UpdateIoTSecuritySolution_example.json @@ -17,12 +17,12 @@ "name": "default", "type": "Microsoft.Security/IoTSecuritySolutions", "location": "East Us", - "tags": {"foo": "bar"}, + "tags": { "foo": "bar" }, "properties": { - "workspaceResourceId": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", - "workspaceCustomerId": "9daae1f7-1c44-4de3-8d38-504d6c185afc", - "enabled": true, - "export": ["TwinData"], + "workspace": "/subscriptions/c4930e90-cd72-4aa5-93e9-2d081d129569/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace1", + "status": "Enabled", + "export": ["RawEvents"], + "disabledDataSources": [], "displayName": "Solution Default", "iotHubs": [ "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/FirstIotHub" diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json index d7c2036d24b2..fc4028ce065c 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json @@ -1623,50 +1623,70 @@ "type": "object", "description": "Security Solution setting data", "properties": { - "workspaceResourceId": { + "workspace": { "type": "string", - "description": "The full Azure ID of the workspace to save the data in" - }, - "workspaceCustomerId": { - "type": "string", - "description": "the customer id associate with the workspace" + "description": "Workspace resource ID" }, "displayName": { "type": "string", - "description": "The display name." + "description": "Resource display name." }, - "enabled": { - "type": "boolean", - "default": true, - "description": "Is the solution Enabled for the customer." + "status": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "default": "Enabled", + "description": "Security solution status", + "x-ms-enum":{ + "name": "SecuritySolutionStatus", + "modelAsString": true + } }, "export": { "type": "array", "items": { "enum": [ - "RawEvents", - "TwinData" + "RawEvents" ], "type": "string", "x-ms-enum":{ - "name": "ExtraData", + "name": "ExportData", "modelAsString": true, "values": [ - {"value": "RawEvents", "description": "Export the raw events into the security solution workspace"}, - {"value": "TwinData", "description": "Export the twin data into the analysis process"} + {"value": "RawEvents", "description": "Agent raw events"} ] } }, - "description": "list of additional data to export by the system" + "description": "List of additional export to workspace data options" + }, + "disabledDataSources": { + "type": "array", + "items": { + "enum": [ + "TwinData" + ], + "type": "string", + "x-ms-enum":{ + "name": "DataSource", + "modelAsString": true, + "values": [ + {"value": "TwinData", "description": "Devices twin data"} + ] + } + }, + "description": "Disabled data sources. Disabling these data sources compromises the system." }, "iotHubs": { "type": "array", - "description": "Related iot hub resources ID", + "description": "IoT Hub resource IDs", "items": { "type": "string" } } }, "required": [ "iotHubs", + "workspace", "displayName" ] }, From e071426e6a536484084b9d0c8339e3c66a1be1b9 Mon Sep 17 00:00:00 2001 From: Tibi Tibi Date: Mon, 25 Feb 2019 21:55:24 +0200 Subject: [PATCH 11/11] change the resource name to lower camel case --- .../preview/2017-08-01-preview/security.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json index fc4028ce065c..d4dd58c0f6e9 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/security.json @@ -668,7 +668,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Security/IoTSecuritySolutions": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotSecuritySolutions": { "get": { "x-ms-examples": { "Get Security Solutions list": { @@ -711,7 +711,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/IoTSecuritySolutions": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions": { "get": { "x-ms-examples": { "Get Security Solutions list": { @@ -757,7 +757,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/IoTSecuritySolutions/{solutionName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}": { "get": { "x-ms-examples": { "Get an iot security solution": {