diff --git a/internal/pkg/expanders/swagger-armspecs.generated.go b/internal/pkg/expanders/swagger-armspecs.generated.go index 103d5979c..86b9c527f 100644 --- a/internal/pkg/expanders/swagger-armspecs.generated.go +++ b/internal/pkg/expanders/swagger-armspecs.generated.go @@ -3174,55 +3174,51 @@ func (e *SwaggerAPISetARMResources) loadResourceTypes() []swagger.ResourceType { }, { Display: "operations", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/providers/Microsoft.Batch/operations", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/providers/Microsoft.Batch/operations", "2024-07-01"), }, { Display: "batchAccounts", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/batchAccounts", "2024-02-01"), - }, - { - Display: "cloudServiceSkus", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/cloudServiceSkus", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/batchAccounts", "2024-07-01"), }, { Display: "quotas", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/quotas", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/quotas", "2024-07-01"), }, { Display: "virtualMachineSkus", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/virtualMachineSkus", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/virtualMachineSkus", "2024-07-01"), }, { Display: "batchAccounts", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts", "2024-07-01"), SubResources: []swagger.ResourceType{ { Display: "{accountName}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}", "2024-02-01"), - DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}", "2024-02-01"), - PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}", "2024-02-01"), - PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}", "2024-07-01"), + DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}", "2024-07-01"), + PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}", "2024-07-01"), + PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}", "2024-07-01"), Children: []swagger.ResourceType{ { Display: "applications", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications", "2024-07-01"), SubResources: []swagger.ResourceType{ { Display: "{applicationName}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}", "2024-02-01"), - DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}", "2024-02-01"), - PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}", "2024-02-01"), - PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}", "2024-07-01"), + DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}", "2024-07-01"), + PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}", "2024-07-01"), + PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}", "2024-07-01"), Children: []swagger.ResourceType{ { Display: "versions", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions", "2024-07-01"), SubResources: []swagger.ResourceType{ { Display: "{versionName}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}", "2024-02-01"), - DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}", "2024-02-01"), - PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}", "2024-07-01"), + DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}", "2024-07-01"), + PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}", "2024-07-01"), Children: []swagger.ResourceType{}, }}, }}, @@ -3230,61 +3226,71 @@ func (e *SwaggerAPISetARMResources) loadResourceTypes() []swagger.ResourceType { }, { Display: "certificates", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates", "2024-07-01"), SubResources: []swagger.ResourceType{ { Display: "{certificateName}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}", "2024-02-01"), - DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}", "2024-02-01"), - PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}", "2024-02-01"), - PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}", "2024-07-01"), + DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}", "2024-07-01"), + PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}", "2024-07-01"), + PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}", "2024-07-01"), Children: []swagger.ResourceType{}, }}, }, { Display: "detectors", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/detectors", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/detectors", "2024-07-01"), SubResources: []swagger.ResourceType{ { Display: "{detectorId}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/detectors/{detectorId}", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/detectors/{detectorId}", "2024-07-01"), + }}, + }, + { + Display: "networkSecurityPerimeterConfigurations", + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/networkSecurityPerimeterConfigurations", "2024-07-01"), + SubResources: []swagger.ResourceType{ + { + Display: "{networkSecurityPerimeterConfigurationName}", + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/networkSecurityPerimeterConfigurations/{networkSecurityPerimeterConfigurationName}", "2024-07-01"), + Children: []swagger.ResourceType{}, }}, }, { Display: "outboundNetworkDependenciesEndpoints", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/outboundNetworkDependenciesEndpoints", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/outboundNetworkDependenciesEndpoints", "2024-07-01"), }, { Display: "pools", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools", "2024-07-01"), SubResources: []swagger.ResourceType{ { Display: "{poolName}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}", "2024-02-01"), - DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}", "2024-02-01"), - PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}", "2024-02-01"), - PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}", "2024-07-01"), + DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}", "2024-07-01"), + PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}", "2024-07-01"), + PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}", "2024-07-01"), Children: []swagger.ResourceType{}, }}, }, { Display: "privateEndpointConnections", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections", "2024-07-01"), SubResources: []swagger.ResourceType{ { Display: "{privateEndpointConnectionName}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}", "2024-02-01"), - DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}", "2024-02-01"), - PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}", "2024-07-01"), + DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}", "2024-07-01"), + PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}", "2024-07-01"), }}, }, { Display: "privateLinkResources", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateLinkResources", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateLinkResources", "2024-07-01"), SubResources: []swagger.ResourceType{ { Display: "{privateLinkResourceName}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateLinkResources/{privateLinkResourceName}", "2024-02-01"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateLinkResources/{privateLinkResourceName}", "2024-07-01"), }}, }}, }}, @@ -4704,7 +4710,7 @@ func (e *SwaggerAPISetARMResources) loadResourceTypes() []swagger.ResourceType { }, { Display: "operations", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/providers/Microsoft.ComputeSchedule/operations", "2024-06-01-preview"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/providers/Microsoft.ComputeSchedule/operations", "2024-08-15-preview"), }, { Display: "balances", @@ -5102,7 +5108,7 @@ func (e *SwaggerAPISetARMResources) loadResourceTypes() []swagger.ResourceType { }, { Display: "operations", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/providers/Microsoft.DocumentDB/operations", "2024-06-01-preview"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/providers/Microsoft.DocumentDB/operations", "2024-07-01"), }, { Display: "cassandraClusters", @@ -8914,22 +8920,59 @@ func (e *SwaggerAPISetARMResources) loadResourceTypes() []swagger.ResourceType { }, { Display: "operations", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/providers/Microsoft.HardwareSecurityModules/operations", "2018-10-31-preview"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/providers/Microsoft.HardwareSecurityModules/operations", "2021-11-30"), + }, + { + Display: "cloudHsmClusters", + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters", "2023-12-10-preview"), }, { Display: "dedicatedHSMs", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs", "2018-10-31-preview"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs", "2021-11-30"), + }, + { + Display: "cloudHsmClusters", + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters", "2023-12-10-preview"), + SubResources: []swagger.ResourceType{ + { + Display: "{cloudHsmClusterName}", + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}", "2023-12-10-preview"), + DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}", "2023-12-10-preview"), + PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}", "2023-12-10-preview"), + PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}", "2023-12-10-preview"), + Children: []swagger.ResourceType{ + { + Display: "privateEndpointConnections", + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}/privateEndpointConnections", "2023-12-10-preview"), + SubResources: []swagger.ResourceType{ + { + Display: "{peConnectionName}", + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}/privateEndpointConnections/{peConnectionName}", "2023-12-10-preview"), + DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}/privateEndpointConnections/{peConnectionName}", "2023-12-10-preview"), + PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}/privateEndpointConnections/{peConnectionName}", "2023-12-10-preview"), + }}, + }, + { + Display: "privateLinkResources", + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}/privateLinkResources", "2023-12-10-preview"), + }}, + }}, }, { Display: "dedicatedHSMs", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs", "2018-10-31-preview"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs", "2021-11-30"), SubResources: []swagger.ResourceType{ { Display: "{name}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}", "2018-10-31-preview"), - DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}", "2018-10-31-preview"), - PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}", "2018-10-31-preview"), - PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}", "2018-10-31-preview"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}", "2021-11-30"), + DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}", "2021-11-30"), + PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}", "2021-11-30"), + PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}", "2021-11-30"), + Children: []swagger.ResourceType{ + { + Display: "outboundNetworkDependenciesEndpoints", + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}/outboundNetworkDependenciesEndpoints", "2021-11-30"), + }}, }}, }, { @@ -9136,91 +9179,129 @@ func (e *SwaggerAPISetARMResources) loadResourceTypes() []swagger.ResourceType { }, { Display: "operations", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/providers/Microsoft.HybridCompute/operations", "2022-12-27"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/providers/Microsoft.HybridCompute/operations", "2024-07-10"), + }, + { + Display: "licenses", + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/licenses", "2024-07-10"), }, { Display: "{privateLinkScopeId}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/privateLinkScopes/{privateLinkScopeId}", "2022-12-27"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/privateLinkScopes/{privateLinkScopeId}", "2024-07-10"), }, { Display: "versions", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions", "2022-12-27"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions", "2024-07-10"), SubResources: []swagger.ResourceType{ { Display: "{version}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions/{version}", "2022-12-27"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions/{version}", "2024-07-10"), }}, }, { Display: "machines", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines", "2022-12-27"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines", "2024-07-10"), }, { Display: "privateLinkScopes", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/privateLinkScopes", "2022-12-27"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/privateLinkScopes", "2024-07-10"), + }, + { + Display: "licenses", + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/licenses", "2024-07-10"), + SubResources: []swagger.ResourceType{ + { + Display: "{licenseName}", + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/licenses/{licenseName}", "2024-07-10"), + DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/licenses/{licenseName}", "2024-07-10"), + PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/licenses/{licenseName}", "2024-07-10"), + PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/licenses/{licenseName}", "2024-07-10"), + }}, }, { Display: "machines", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines", "2022-12-27"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines", "2024-07-10"), SubResources: []swagger.ResourceType{ { Display: "{machineName}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}", "2022-12-27"), - DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}", "2022-12-27"), - PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}", "2022-12-27"), - PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}", "2022-12-27"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}", "2024-07-10"), + DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}", "2024-07-10"), + PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}", "2024-07-10"), + PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}", "2024-07-10"), Children: []swagger.ResourceType{ { Display: "extensions", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions", "2022-12-27"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions", "2024-07-10"), SubResources: []swagger.ResourceType{ { Display: "{extensionName}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}", "2022-12-27"), - DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}", "2022-12-27"), - PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}", "2022-12-27"), - PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}", "2022-12-27"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}", "2024-07-10"), + DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}", "2024-07-10"), + PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}", "2024-07-10"), + PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}", "2024-07-10"), + }}, + }, + { + Display: "licenseProfiles", + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/licenseProfiles", "2024-07-10"), + SubResources: []swagger.ResourceType{ + { + Display: "{licenseProfileName}", + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/licenseProfiles/{licenseProfileName}", "2024-07-10"), + DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/licenseProfiles/{licenseProfileName}", "2024-07-10"), + PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/licenseProfiles/{licenseProfileName}", "2024-07-10"), + PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/licenseProfiles/{licenseProfileName}", "2024-07-10"), }}, }, { Display: "networkProfile", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/networkProfile", "2022-12-27"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/networkProfile", "2024-07-10"), }, { Display: "current", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/privateLinkScopes/current", "2022-12-27"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/privateLinkScopes/current", "2024-07-10"), }}, }}, }, { Display: "privateLinkScopes", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes", "2022-12-27"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes", "2024-07-10"), SubResources: []swagger.ResourceType{ { Display: "{scopeName}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}", "2022-12-27"), - DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}", "2022-12-27"), - PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}", "2022-12-27"), - PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}", "2022-12-27"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}", "2024-07-10"), + DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}", "2024-07-10"), + PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}", "2024-07-10"), + PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}", "2024-07-10"), Children: []swagger.ResourceType{ + { + Display: "networkSecurityPerimeterConfigurations", + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/networkSecurityPerimeterConfigurations", "2024-07-10"), + SubResources: []swagger.ResourceType{ + { + Display: "{perimeterName}", + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/networkSecurityPerimeterConfigurations/{perimeterName}", "2024-07-10"), + Children: []swagger.ResourceType{}, + }}, + }, { Display: "privateEndpointConnections", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections", "2022-12-27"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections", "2024-07-10"), SubResources: []swagger.ResourceType{ { Display: "{privateEndpointConnectionName}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}", "2022-12-27"), - DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}", "2022-12-27"), - PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}", "2022-12-27"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}", "2024-07-10"), + DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}", "2024-07-10"), + PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}", "2024-07-10"), }}, }, { Display: "privateLinkResources", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateLinkResources", "2022-12-27"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateLinkResources", "2024-07-10"), SubResources: []swagger.ResourceType{ { Display: "{groupName}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateLinkResources/{groupName}", "2022-12-27"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateLinkResources/{groupName}", "2024-07-10"), }}, }}, }}, @@ -12382,48 +12463,48 @@ func (e *SwaggerAPISetARMResources) loadResourceTypes() []swagger.ResourceType { }, { Display: "mongoClusters", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/mongoClusters", "2024-06-01-preview"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/mongoClusters", "2024-07-01"), }, { Display: "mongoClusters", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters", "2024-06-01-preview"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters", "2024-07-01"), SubResources: []swagger.ResourceType{ { Display: "{mongoClusterName}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}", "2024-06-01-preview"), - DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}", "2024-06-01-preview"), - PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}", "2024-06-01-preview"), - PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}", "2024-06-01-preview"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}", "2024-07-01"), + DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}", "2024-07-01"), + PatchEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}", "2024-07-01"), + PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}", "2024-07-01"), Children: []swagger.ResourceType{ { Display: "firewallRules", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules", "2024-06-01-preview"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules", "2024-07-01"), SubResources: []swagger.ResourceType{ { Display: "{firewallRuleName}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules/{firewallRuleName}", "2024-06-01-preview"), - DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules/{firewallRuleName}", "2024-06-01-preview"), - PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules/{firewallRuleName}", "2024-06-01-preview"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules/{firewallRuleName}", "2024-07-01"), + DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules/{firewallRuleName}", "2024-07-01"), + PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules/{firewallRuleName}", "2024-07-01"), }}, }, { Display: "privateEndpointConnections", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateEndpointConnections", "2024-06-01-preview"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateEndpointConnections", "2024-07-01"), SubResources: []swagger.ResourceType{ { Display: "{privateEndpointConnectionName}", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateEndpointConnections/{privateEndpointConnectionName}", "2024-06-01-preview"), - DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateEndpointConnections/{privateEndpointConnectionName}", "2024-06-01-preview"), - PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateEndpointConnections/{privateEndpointConnectionName}", "2024-06-01-preview"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateEndpointConnections/{privateEndpointConnectionName}", "2024-07-01"), + DeleteEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateEndpointConnections/{privateEndpointConnectionName}", "2024-07-01"), + PutEndpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateEndpointConnections/{privateEndpointConnectionName}", "2024-07-01"), }}, }, { Display: "privateLinkResources", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateLinkResources", "2024-06-01-preview"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/privateLinkResources", "2024-07-01"), }, { Display: "replicas", - Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/replicas", "2024-06-01-preview"), + Endpoint: endpoints.MustGetEndpointInfoFromURL("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/replicas", "2024-07-01"), }}, }}, }, diff --git a/swagger-specs/ai/data-plane/OpenAI.Assistants/OpenApiV2/preview/2024-05-01-preview/assistants_generated.json b/swagger-specs/ai/data-plane/OpenAI.Assistants/OpenApiV2/preview/2024-05-01-preview/assistants_generated.json index 4865bb161..b4ab33219 100644 --- a/swagger-specs/ai/data-plane/OpenAI.Assistants/OpenApiV2/preview/2024-05-01-preview/assistants_generated.json +++ b/swagger-specs/ai/data-plane/OpenAI.Assistants/OpenApiV2/preview/2024-05-01-preview/assistants_generated.json @@ -4799,13 +4799,14 @@ "type": "object", "description": "Request object to update `code_interpreted` tool resources.", "properties": { - "fileIds": { + "file_ids": { "type": "array", "description": "A list of file IDs to override the current list of the assistant.", "maxItems": 20, "items": { "type": "string" - } + }, + "x-ms-client-name": "fileIds" } } }, diff --git a/swagger-specs/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/azurefleet.json b/swagger-specs/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/azurefleet.json index 905787886..f5f76b971 100644 --- a/swagger-specs/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/azurefleet.json +++ b/swagger-specs/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/azurefleet.json @@ -682,6 +682,7 @@ }, "storageUri": { "type": "string", + "format": "uri", "description": "Uri of the storage account to use for placing the console output and\nscreenshot. If storageUri is not specified while enabling boot diagnostics,\nmanaged storage will be used." } } @@ -1223,6 +1224,7 @@ "properties": { "secretUrl": { "type": "string", + "format": "uri", "description": "The URL referencing a secret in a Key Vault." }, "sourceVault": { @@ -1435,7 +1437,7 @@ "modelAsString": true, "values": [ { - "name": "2020-11-01", + "name": "v2020_11_01", "value": "2020-11-01", "description": "Initial version supported. Later versions are supported as well." } @@ -2257,6 +2259,7 @@ "properties": { "certificateUrl": { "type": "string", + "format": "uri", "description": "This is the URL of a certificate that has been uploaded to Key Vault as a\nsecret. For adding a secret to the Key Vault, see [Add a key or secret to the\nkey\nvault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add).\nIn this case, your certificate needs to be It is the Base64 encoding of the\nfollowing JSON Object which is encoded in UTF-8:

{
\n\"data\":\"\",
\"dataType\":\"pfx\",
\n\"password\":\"\"
}
To install certificates on a virtual\nmachine it is recommended to use the [Azure Key Vault virtual machine extension\nfor\nLinux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux)\nor the [Azure Key Vault virtual machine extension for\nWindows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)." }, "certificateStore": { @@ -2291,6 +2294,7 @@ "properties": { "uri": { "type": "string", + "format": "uri", "description": "Specifies the virtual hard disk's uri." } } @@ -2996,6 +3000,7 @@ }, "certificateUrl": { "type": "string", + "format": "uri", "description": "This is the URL of a certificate that has been uploaded to Key Vault as a\nsecret. For adding a secret to the Key Vault, see [Add a key or secret to the\nkey\nvault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add).\nIn this case, your certificate needs to be the Base64 encoding of the following\nJSON Object which is encoded in UTF-8:

{
\n\"data\":\"\",
\"dataType\":\"pfx\",
\n\"password\":\"\"
}
To install certificates on a virtual\nmachine it is recommended to use the [Azure Key Vault virtual machine extension\nfor\nLinux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux)\nor the [Azure Key Vault virtual machine extension for\nWindows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)." } } diff --git a/swagger-specs/batch/data-plane/Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json b/swagger-specs/batch/data-plane/Microsoft.Batch/stable/2024-07-01.20.0/BatchService.json similarity index 96% rename from swagger-specs/batch/data-plane/Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json rename to swagger-specs/batch/data-plane/Microsoft.Batch/stable/2024-07-01.20.0/BatchService.json index 6605ee990..6e9bcbe2a 100644 --- a/swagger-specs/batch/data-plane/Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json +++ b/swagger-specs/batch/data-plane/Microsoft.Batch/stable/2024-07-01.20.0/BatchService.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "BatchServiceClient", - "version": "2024-02-01.19.0", + "version": "2024-07-01.20.0", "description": "A client for issuing REST requests to the Azure Batch service." }, "x-ms-parameterized-host": { @@ -326,7 +326,7 @@ "in": "query", "required": false, "type": "string", - "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-account-usage-metrics.", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/rest/api/batchservice/odata-filters-in-batch#list-account-usage-metrics.", "x-ms-parameter-grouping": { "postfix": "Options" } @@ -455,7 +455,7 @@ "in": "query", "required": false, "type": "string", - "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-support-images.", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/rest/api/batchservice/odata-filters-in-batch#list-support-images.", "x-ms-parameter-grouping": { "postfix": "Options" } @@ -583,7 +583,7 @@ "in": "query", "required": false, "type": "string", - "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch.", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/rest/api/batchservice/odata-filters-in-batch.", "x-ms-parameter-grouping": { "postfix": "Options" } @@ -816,7 +816,7 @@ "in": "query", "required": false, "type": "string", - "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-certificates.", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/rest/api/batchservice/odata-filters-in-batch#list-certificates.", "x-ms-parameter-grouping": { "postfix": "Options" } @@ -2252,7 +2252,7 @@ "in": "query", "required": false, "type": "string", - "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-task-files.", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/rest/api/batchservice/odata-filters-in-batch#list-task-files.", "x-ms-parameter-grouping": { "postfix": "Options" } @@ -2402,7 +2402,7 @@ "in": "query", "required": false, "type": "string", - "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-compute-node-files.", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/rest/api/batchservice/odata-filters-in-batch#list-compute-node-files.", "x-ms-parameter-grouping": { "postfix": "Options" } @@ -2774,6 +2774,17 @@ "postfix": "Options" } }, + { + "name": "force", + "default": false, + "in": "query", + "required": false, + "type": "boolean", + "description": "If true, the server will delete the JobSchedule even if the corresponding nodes have not fully processed the deletion. The default value is false.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, { "$ref": "#/parameters/ApiVersionParameter" } @@ -3699,6 +3710,17 @@ "postfix": "Options" } }, + { + "name": "force", + "default": false, + "in": "query", + "required": false, + "type": "boolean", + "description": "If true, the server will terminate the JobSchedule even if the corresponding nodes have not fully processed the termination. The default value is false.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, { "$ref": "#/parameters/ApiVersionParameter" } @@ -3875,7 +3897,7 @@ "in": "query", "required": false, "type": "string", - "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-schedules.", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/rest/api/batchservice/odata-filters-in-batch#list-job-schedules.", "x-ms-parameter-grouping": { "postfix": "Options" } @@ -4112,6 +4134,17 @@ "postfix": "Options" } }, + { + "name": "force", + "default": false, + "in": "query", + "required": false, + "type": "boolean", + "description": "If true, the server will delete the Job even if the corresponding nodes have not fully processed the deletion. The default value is false.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, { "$ref": "#/parameters/ApiVersionParameter" } @@ -5057,6 +5090,17 @@ "postfix": "Options" } }, + { + "name": "force", + "default": false, + "in": "query", + "required": false, + "type": "boolean", + "description": "If true, the server will terminate the Job even if the corresponding nodes have not fully processed the termination. The default value is false.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, { "$ref": "#/parameters/ApiVersionParameter" } @@ -5234,7 +5278,7 @@ "in": "query", "required": false, "type": "string", - "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs.", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/rest/api/batchservice/odata-filters-in-batch#list-jobs.", "x-ms-parameter-grouping": { "postfix": "Options" } @@ -5390,7 +5434,7 @@ "in": "query", "required": false, "type": "string", - "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs-in-a-job-schedule.", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/rest/api/batchservice/odata-filters-in-batch#list-jobs-in-a-job-schedule.", "x-ms-parameter-grouping": { "postfix": "Options" } @@ -5547,7 +5591,7 @@ "in": "query", "required": false, "type": "string", - "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-preparation-and-release-status.", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/rest/api/batchservice/odata-filters-in-batch#list-job-preparation-and-release-status.", "x-ms-parameter-grouping": { "postfix": "Options" } @@ -5774,9 +5818,6 @@ "Add a simple pool with resourceTags": { "$ref": "./examples/PoolAdd_ResourceTags.json" }, - "Add a CloudServiceConfiguration pool": { - "$ref": "./examples/PoolAdd_CloudServiceConfiguration.json" - }, "Add a VirtualMachineConfiguration pool": { "$ref": "./examples/PoolAdd_VirtualMachineConfiguration.json" }, @@ -5918,7 +5959,7 @@ "$ref": "./examples/PoolList_Basic.json" } }, - "summary": "Lists all of the Pools in the specified Account.", + "summary": "Lists all of the Pools which be mounted", "x-ms-request-id": "request-id", "parameters": [ { @@ -5926,7 +5967,7 @@ "in": "query", "required": false, "type": "string", - "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-pools.", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/rest/api/batchservice/odata-filters-in-batch#list-pools.", "x-ms-parameter-grouping": { "postfix": "Options" } @@ -7686,6 +7727,12 @@ }, "Add a task with extra slot requirement": { "$ref": "./examples/TaskAdd_RequiredSlots.json" + }, + "Add a container task with container data isolation": { + "$ref": "./examples/TaskAdd_ContainerSettingsWithDataIsolation.json" + }, + "Add a container task with container data isolation bad request duplicate sources": { + "$ref": "./examples/TaskAdd_ContainerSettingsWithDataIsolation_DuplicateSources.json" } }, "summary": "Adds a Task to the specified Job.", @@ -7824,7 +7871,7 @@ "in": "query", "required": false, "type": "string", - "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-tasks.", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/rest/api/batchservice/odata-filters-in-batch#list-tasks.", "x-ms-parameter-grouping": { "postfix": "Options" } @@ -9623,7 +9670,7 @@ } }, "summary": "Reinstalls the operating system on the specified Compute Node.", - "description": "You can reinstall the operating system on a Compute Node only if it is in an idle or running state. This API can be invoked only on Pools created with the cloud service configuration property.", + "description": "You can reinstall the operating system on a Compute Node only if it is in an idle or running state.", "x-ms-request-id": "request-id", "parameters": [ { @@ -9980,19 +10027,19 @@ } } }, - "/pools/{poolId}/nodes/{nodeId}/remoteloginsettings": { - "get": { + "/pools/{poolId}/nodes/{nodeId}/start": { + "post": { "tags": [ "ComputeNodes" ], - "operationId": "ComputeNode_GetRemoteLoginSettings", + "operationId": "ComputeNode_Start", "x-ms-examples": { - "Node get remote login settings": { - "$ref": "./examples/NodeGetRemoteLoginSettings.json" + "Node reboot": { + "$ref": "./examples/NodeStart.json" } }, - "summary": "Gets the settings required for remote login to a Compute Node.", - "description": "Before you can remotely login to a Compute Node using the remote login settings, you must create a user Account on the Compute Node. This API can be invoked only on Pools created with the virtual machine configuration property. For Pools created with a cloud service configuration, see the GetRemoteDesktop API.", + "summary": "Starts the specified Compute Node.", + "description": "You can start a Compute Node only if it has been deallocated", "x-ms-request-id": "request-id", "parameters": [ { @@ -10007,7 +10054,7 @@ "in": "path", "required": true, "type": "string", - "description": "The ID of the Compute Node for which to obtain the remote login settings." + "description": "The ID of the Compute Node that you want to start." }, { "name": "timeout", @@ -10060,7 +10107,7 @@ } ], "responses": { - "200": { + "202": { "headers": { "client-request-id": { "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", @@ -10080,13 +10127,140 @@ "description": "The time at which the resource was last modified.", "type": "string", "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" } }, - "description": "A response containing the login settings.", + "description": "The request to the Batch service was successful." + }, + "default": { + "description": "The error from the Batch service.", "schema": { - "$ref": "#/definitions/ComputeNodeGetRemoteLoginSettingsResult" + "$ref": "#/definitions/BatchError" + } + } + } + } + }, + "/pools/{poolId}/nodes/{nodeId}/deallocate": { + "post": { + "tags": [ + "ComputeNodes" + ], + "operationId": "ComputeNode_Deallocate", + "x-ms-examples": { + "Node reboot": { + "$ref": "./examples/NodeDeallocate.json" + } + }, + "summary": "Deallocates the specified Compute Node.", + "description": "You can deallocate a Compute Node only if it is in an idle or running state.", + "x-ms-request-id": "request-id", + "parameters": [ + { + "name": "poolId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Pool that contains the Compute Node." + }, + { + "name": "nodeId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Compute Node that you want to deallocate." + }, + { + "name": "nodeDeallocateParameter", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/NodeDeallocateParameter" + }, + "description": "The parameters for the request." + }, + { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "default": 30, + "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. If the value is larger than 30, the default will be used instead.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.", + "x-ms-parameter-grouping": { + "postfix": "Options" + }, + "x-ms-client-request-id": true + }, + { + "name": "return-client-request-id", + "default": false, + "in": "header", + "required": false, + "type": "boolean", + "description": "Whether the server should return the client-request-id in the response.", + "x-ms-parameter-grouping": { + "postfix": "Options" + } + }, + { + "name": "ocp-date", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "description": "The time the request was issued. Client libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API directly.", + "x-ms-parameter-grouping": { + "postfix": "Options" } }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "client-request-id": { + "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true.", + "type": "string", + "format": "uuid" + }, + "request-id": { + "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in.", + "type": "string", + "format": "uuid" + }, + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers.", + "type": "string" + }, + "Last-Modified": { + "description": "The time at which the resource was last modified.", + "type": "string", + "format": "date-time-rfc1123" + }, + "DataServiceId": { + "description": "The OData ID of the resource to which the request applied.", + "type": "string" + } + }, + "description": "The request to the Batch service was successful." + }, "default": { "description": "The error from the Batch service.", "schema": { @@ -10096,19 +10270,19 @@ } } }, - "/pools/{poolId}/nodes/{nodeId}/rdp": { + "/pools/{poolId}/nodes/{nodeId}/remoteloginsettings": { "get": { "tags": [ "ComputeNodes" ], - "operationId": "ComputeNode_GetRemoteDesktop", + "operationId": "ComputeNode_GetRemoteLoginSettings", "x-ms-examples": { - "Get RDP file of the compute node": { - "$ref": "./examples/NodeGetRemoteDesktop.json" + "Node get remote login settings": { + "$ref": "./examples/NodeGetRemoteLoginSettings.json" } }, - "summary": "Gets the Remote Desktop Protocol file for the specified Compute Node.", - "description": "Before you can access a Compute Node by using the RDP file, you must create a user Account on the Compute Node. This API can only be invoked on Pools created with a cloud service configuration. For Pools created with a virtual machine configuration, see the GetRemoteLoginSettings API.", + "summary": "Gets the settings required for remote login to a Compute Node.", + "description": "Before you can remotely login to a Compute Node using the remote login settings, you must create a user Account on the Compute Node.", "x-ms-request-id": "request-id", "parameters": [ { @@ -10123,7 +10297,7 @@ "in": "path", "required": true, "type": "string", - "description": "The ID of the Compute Node for which you want to get the Remote Desktop Protocol file." + "description": "The ID of the Compute Node for which to obtain the remote login settings." }, { "name": "timeout", @@ -10175,10 +10349,6 @@ "$ref": "#/parameters/ApiVersionParameter" } ], - "produces": [ - "application/json", - "application/octet-stream" - ], "responses": { "200": { "headers": { @@ -10202,10 +10372,9 @@ "format": "date-time-rfc1123" } }, - "description": "A response containing the RDP information.", + "description": "A response containing the login settings.", "schema": { - "type": "object", - "format": "file" + "$ref": "#/definitions/ComputeNodeGetRemoteLoginSettingsResult" } }, "default": { @@ -10362,7 +10531,7 @@ "in": "query", "required": false, "type": "string", - "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-nodes-in-a-pool.", + "description": "An OData $filter clause. For more information on constructing this filter, see https://docs.microsoft.com/rest/api/batchservice/odata-filters-in-batch#list-nodes-in-a-pool.", "x-ms-parameter-grouping": { "postfix": "Options" } @@ -11494,12 +11663,17 @@ "properties": { "subnetId": { "type": "string", - "title": "The ARM resource identifier of the virtual network subnet which Compute Nodes running Tasks from the Job will join for the duration of the Task. This will only work with a VirtualMachineConfiguration Pool.", - "description": "The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes which will run Tasks from the Job. This can be up to the number of Compute Nodes in the Pool. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet so that Azure Batch service can schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication from the Azure Batch service. For Pools created with a Virtual Machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. Port 443 is also required to be open for outbound connections for communications to Azure Storage. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration", + "title": "The ARM resource identifier of the virtual network subnet which Compute Nodes running Tasks from the Job will join for the duration of the Task.", + "description": "The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes which will run Tasks from the Job. This can be up to the number of Compute Nodes in the Pool. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet so that Azure Batch service can schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication from the Azure Batch service. For Pools created with a Virtual Machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. Port 443 is also required to be open for outbound connections for communications to Azure Storage. For more details see: https://docs.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration", "externalDocs": { - "url": "https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor", + "url": "https://azure.microsoft.com/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor", "description": "Setting up RBAC for Azure Batch VNETs" } + }, + "skipWithdrawFromVNet": { + "type": "boolean", + "title": "Whether to withdraw Compute Nodes from the virtual network to DNC when the job is terminated or deleted.", + "description": "If true, nodes will remain joined to the virtual network to DNC. If false, nodes will automatically withdraw when the job ends. Defaults to false." } }, "required": [ @@ -11547,6 +11721,14 @@ } ] } + }, + "containerHostBatchBindMounts": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerHostBatchBindMountEntry" + }, + "title": "The paths you want to mounted to container task.", + "description": "If this array is null or be not present, container task will mount entire temporary disk drive in windows (or AZ_BATCH_NODE_ROOT_DIR in Linux). It won't' mount any data paths into container if this array is set as empty." } }, "required": [ @@ -11843,7 +12025,7 @@ "loginMode": { "type": "string", "title": "The login mode for the user", - "description": "The default value for VirtualMachineConfiguration Pools is 'batch' and for CloudServiceConfiguration Pools is 'interactive'.", + "description": "The default is 'batch'.", "enum": [ "batch", "interactive" @@ -11858,7 +12040,7 @@ }, { "value": "interactive", - "description": "The LOGON32_LOGON_INTERACTIVE Win32 login mode. UAC is enabled on Windows VirtualMachineConfiguration Pools. If this option is used with an elevated user identity in a Windows VirtualMachineConfiguration Pool, the user session will not be elevated unless the application executed by the Task command line is configured to always require administrative privilege or to always require maximum privilege." + "description": "The LOGON32_LOGON_INTERACTIVE Win32 login mode. UAC is enabled on Windows Pools. If this option is used with an elevated user identity in a Windows Pool, the user session will not be elevated unless the application executed by the Task command line is configured to always require administrative privilege or to always require maximum privilege." } ] } @@ -11939,7 +12121,7 @@ "commandLine": { "type": "string", "title": "The command line of the Job Manager Task.", - "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)." + "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/azure/batch/batch-compute-node-environment-variables)." }, "containerSettings": { "$ref": "#/definitions/TaskContainerSettings", @@ -12031,7 +12213,7 @@ "commandLine": { "type": "string", "title": "The command line of the Job Preparation Task.", - "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)." + "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/azure/batch/batch-compute-node-environment-variables)." }, "containerSettings": { "$ref": "#/definitions/TaskContainerSettings", @@ -12090,7 +12272,7 @@ "commandLine": { "type": "string", "title": "The command line of the Job Release Task.", - "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)." + "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/azure/batch/batch-compute-node-environment-variables)." }, "containerSettings": { "$ref": "#/definitions/TaskContainerSettings", @@ -12173,7 +12355,7 @@ "commandLine": { "type": "string", "title": "The command line of the StartTask.", - "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)." + "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/azure/batch/batch-compute-node-environment-variables)." }, "containerSettings": { "$ref": "#/definitions/TaskContainerSettings", @@ -12232,7 +12414,7 @@ "storeLocation": { "type": "string", "title": "The location of the Certificate store on the Compute Node into which to install the Certificate.", - "description": "The default value is currentuser. This property is applicable only for Pools configured with Windows Compute Nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows Image reference). For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory.", + "description": "The default value is currentuser. This property is applicable only for Pools configured with Windows Compute Nodes. For Linux Compute Nodes, the Certificates are stored in a directory inside the Task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the Task to query for this location. For Certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and Certificates are placed in that directory.", "enum": [ "currentuser", "localmachine" @@ -12257,7 +12439,7 @@ "storeName": { "type": "string", "title": "The name of the Certificate store on the Compute Node into which to install the Certificate.", - "description": "This property is applicable only for Pools configured with Windows Compute Nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows Image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My." + "description": "This property is applicable only for Pools configured with Windows Compute Nodes. Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My." }, "visibility": { "type": "array", @@ -12333,15 +12515,10 @@ "title": "The size of the virtual machines in the Pool. All virtual machines in a Pool are the same size.", "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)." }, - "cloudServiceConfiguration": { - "$ref": "#/definitions/CloudServiceConfiguration", - "title": "The cloud service configuration for the Pool.", - "description": "This property must be specified if the Pool needs to be created with Azure PaaS VMs. This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). This property cannot be specified if the Batch Account was created with its poolAllocationMode property set to 'UserSubscription'." - }, "virtualMachineConfiguration": { "$ref": "#/definitions/VirtualMachineConfiguration", "title": "The virtual machine configuration for the Pool.", - "description": "This property must be specified if the Pool needs to be created with Azure IaaS VMs. This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + "description": "This property must be specified." }, "taskSlotsPerNode": { "type": "integer", @@ -12417,14 +12594,6 @@ "title": "The list of Packages to be installed on each Compute Node in the Pool.", "description": "When creating a pool, the package's application ID must be fully qualified (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}). Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool." }, - "applicationLicenses": { - "type": "array", - "items": { - "type": "string" - }, - "title": "The list of application licenses the Batch service will make available on each Compute Node in the Pool.", - "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, Pool creation will fail. The permitted licenses available on the Pool are 'maya', 'vray', '3dsmax', 'arnold'. An additional charge applies for each application license added to the Pool." - }, "userAccounts": { "type": "array", "items": { @@ -13610,25 +13779,6 @@ }, "title": "An error that occurred when resizing a Pool." }, - "CloudServiceConfiguration": { - "type": "object", - "properties": { - "osFamily": { - "type": "string", - "title": "The Azure Guest OS family to be installed on the virtual machines in the Pool.", - "description": "Possible values are:\n2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1.\n3 - OS Family 3, equivalent to Windows Server 2012.\n4 - OS Family 4, equivalent to Windows Server 2012 R2.\n5 - OS Family 5, equivalent to Windows Server 2016.\n6 - OS Family 6, equivalent to Windows Server 2019. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)." - }, - "osVersion": { - "type": "string", - "title": "The Azure Guest OS version to be installed on the virtual machines in the Pool.", - "description": "The default value is * which specifies the latest operating system version for the specified OS family." - } - }, - "required": [ - "osFamily" - ], - "title": "The configuration for Compute Nodes in a Pool based on the Azure Cloud Services platform." - }, "ImageReference": { "type": "object", "properties": { @@ -13655,12 +13805,22 @@ "virtualMachineImageId": { "type": "string", "title": "The ARM resource identifier of the Azure Compute Gallery Image. Compute Nodes in the Pool will be created using this Image Id. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{VersionId} or /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName} for always defaulting to the latest image version.", - "description": "This property is mutually exclusive with other ImageReference properties. The Azure Compute Gallery Image must have replicas in the same region and must be in the same subscription as the Azure Batch account. If the image version is not specified in the imageId, the latest version will be used. For information about the firewall settings for the Batch Compute Node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration." + "description": "This property is mutually exclusive with other ImageReference properties. The Azure Compute Gallery Image must have replicas in the same region and must be in the same subscription as the Azure Batch account. If the image version is not specified in the imageId, the latest version will be used. For information about the firewall settings for the Batch Compute Node agent to communicate with the Batch service see https://docs.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration." }, "exactVersion": { "type": "string", "readOnly": true, "description": "The specific version of the platform image or marketplace image used to create the node. This read-only field differs from 'version' only if the value specified for 'version' when the pool was created was 'latest'." + }, + "sharedGalleryImageId": { + "type": "string", + "title": "The shared gallery image unique identifier", + "description": "This property is mutually exclusive with other properties and can be fetched from shared gallery image GET call." + }, + "communityGalleryImageId": { + "type": "string", + "title": "The community gallery image unique identifier", + "description": "This property is mutually exclusive with other properties and can be fetched from community gallery image GET call." } }, "title": "A reference to an Azure Virtual Machines Marketplace Image or a Azure Compute Gallery Image. To get the list of all Azure Marketplace Image references verified by Azure Batch, see the 'List Supported Images' operation." @@ -13767,6 +13927,63 @@ ] } }, + "ContainerHostDataPath": { + "type": "string", + "title": "The paths which will be mounted to container task's container.", + "enum": [ + "Shared", + "Startup", + "VfsMounts", + "Task", + "JobPrep", + "Applications" + ], + "x-ms-enum": { + "name": "ContainerHostDataPath", + "modelAsString": true, + "values": [ + { + "value": "Shared", + "description": "The path for multi-instances task to shared their files." + }, + { + "value": "Startup", + "description": "The path for start task." + }, + { + "value": "VfsMounts", + "description": "The path contains all virtual file systems are mounted on this node." + }, + { + "value": "Task", + "description": "The task path." + }, + { + "value": "JobPrep", + "description": "The job-prep task path." + }, + { + "value": "Applications", + "description": "The applications path." + } + ] + } + }, + "ContainerHostBatchBindMountEntry": { + "type": "object", + "title": "The entry of path and mount mode you want to mount into task container.", + "properties": { + "source": { + "$ref": "#/definitions/ContainerHostDataPath", + "title": "The path which be mounted to container customer can select." + }, + "isReadOnly": { + "type": "boolean", + "title": "Mount this source path as read-only mode or not. Default value is false (read/write mode).", + "description": "For Linux, if you mount this path as a read/write mode, this does not mean that all users in container have the read/write access for the path, it depends on the access in host VM. If this path is mounted read-only, all users within the container will not be able to modify the path." + } + } + }, "ServiceArtifactReference": { "type": "object", "properties": { @@ -13804,7 +14021,7 @@ "$ref": "#/definitions/DataDisk" }, "title": "The configuration for data disks attached to the Compute Nodes in the Pool.", - "description": "This property must be specified if the Compute Nodes in the Pool need to have empty data disks attached to them. This cannot be updated. Each Compute Node gets its own disk (the disk is not a file share). Existing disks cannot be attached, each attached disk is empty. When the Compute Node is removed from the Pool, the disk and all data associated with it is also deleted. The disk is not formatted after being attached, it must be formatted before use - for more information see https://docs.microsoft.com/en-us/azure/virtual-machines/linux/classic/attach-disk#initialize-a-new-data-disk-in-linux and https://docs.microsoft.com/en-us/azure/virtual-machines/windows/attach-disk-ps#add-an-empty-data-disk-to-a-virtual-machine." + "description": "This property must be specified if the Compute Nodes in the Pool need to have empty data disks attached to them. This cannot be updated. Each Compute Node gets its own disk (the disk is not a file share). Existing disks cannot be attached, each attached disk is empty. When the Compute Node is removed from the Pool, the disk and all data associated with it is also deleted. The disk is not formatted after being attached, it must be formatted before use - for more information see https://docs.microsoft.com/azure/virtual-machines/linux/classic/attach-disk#initialize-a-new-data-disk-in-linux and https://docs.microsoft.com/azure/virtual-machines/windows/attach-disk-ps#add-an-empty-data-disk-to-a-virtual-machine." }, "licenseType": { "type": "string", @@ -13956,7 +14173,7 @@ } }, "title": "The list of disk targets Batch Service will encrypt on the compute node.", - "description": "If omitted, no disks on the compute nodes in the pool will be encrypted. On Linux pool, only \"TemporaryDisk\" is supported; on Windows pool, \"OsDisk\" and \"TemporaryDisk\" must be specified." + "description": "The list of disk targets Batch Service will encrypt on the compute node." } }, "description": "The disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Azure Compute Gallery Image." @@ -14158,7 +14375,7 @@ "DiffDiskPlacement": { "type": "string", "title": "Specifies the ephemeral disk placement for operating system disk for all compute nodes (VMs) in the pool.", - "description": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements", + "description": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements", "enum": [ "CacheDisk" ], @@ -14180,7 +14397,7 @@ "placement": { "$ref": "#/definitions/DiffDiskPlacement", "title": "Specifies the ephemeral disk placement for operating system disk for all VMs in the pool.", - "description": "This property can be used by user in the request to choose the location e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements." + "description": "This property can be used by user in the request to choose the location e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements." } }, "title": "Specifies the ephemeral Disk Settings for the operating system disk used by the compute node (VM)." @@ -14267,9 +14484,9 @@ "subnetId": { "type": "string", "title": "The ARM resource identifier of the virtual network subnet which the Compute Nodes of the Pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}.", - "description": "The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes in the Pool. If the subnet doesn't have enough free IP addresses, the Pool will partially allocate Nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. For Pools created with virtualMachineConfiguration only ARM virtual networks ('Microsoft.Network/virtualNetworks') are supported, but for Pools created with cloudServiceConfiguration both ARM and classic virtual networks are supported. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For Pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For Pools created with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration", + "description": "The virtual network must be in the same region and subscription as the Azure Batch Account. The specified subnet should have enough free IP addresses to accommodate the number of Compute Nodes in the Pool. If the subnet doesn't have enough free IP addresses, the Pool will partially allocate Nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule Tasks on the Nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the Nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the Compute Nodes to unusable. Only ARM virtual networks ('Microsoft.Network/virtualNetworks') are supported. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. Enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration", "externalDocs": { - "url": "https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor", + "url": "https://azure.microsoft.com/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor", "description": "Setting up RBAC for Azure Batch VNETs" } }, @@ -14297,13 +14514,11 @@ }, "endpointConfiguration": { "$ref": "#/definitions/PoolEndpointConfiguration", - "title": "The configuration for endpoints on Compute Nodes in the Batch Pool.", - "description": "Pool endpoint configuration is only supported on Pools with the virtualMachineConfiguration property." + "title": "The configuration for endpoints on Compute Nodes in the Batch Pool." }, "publicIPAddressConfiguration": { "$ref": "#/definitions/PublicIPAddressConfiguration", - "title": "The Public IPAddress configuration for Compute Nodes in the Batch Pool.", - "description": "Public IP configuration property is only supported on Pools with the virtualMachineConfiguration property." + "title": "The Public IPAddress configuration for Compute Nodes in the Batch Pool." }, "enableAcceleratedNetworking": { "type": "boolean", @@ -14441,15 +14656,10 @@ "title": "The size of virtual machines in the Pool. All virtual machines in a Pool are the same size.", "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes)." }, - "cloudServiceConfiguration": { - "$ref": "#/definitions/CloudServiceConfiguration", - "title": "The cloud service configuration for the Pool.", - "description": "This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch Account was created with its poolAllocationMode property set to 'UserSubscription'." - }, "virtualMachineConfiguration": { "$ref": "#/definitions/VirtualMachineConfiguration", "title": "The virtual machine configuration for the Pool.", - "description": "This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified." + "description": "This property must be specified." }, "resizeTimeout": { "type": "string", @@ -14536,14 +14746,6 @@ "title": "The list of Packages to be installed on each Compute Node in the Pool.", "description": "Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool." }, - "applicationLicenses": { - "type": "array", - "items": { - "type": "string" - }, - "title": "The list of application licenses the Batch service will make available on each Compute Node in the Pool.", - "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, Pool creation will fail." - }, "taskSlotsPerNode": { "type": "integer", "format": "int32", @@ -14630,17 +14832,12 @@ "vmSize": { "type": "string", "title": "The size of virtual machines in the Pool. All virtual machines in a Pool are the same size.", - "description": "For information about available sizes of virtual machines for Cloud Services Pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, A1V2 and A2V2. For information about available VM sizes for Pools using Images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)." - }, - "cloudServiceConfiguration": { - "$ref": "#/definitions/CloudServiceConfiguration", - "title": "The cloud service configuration for the Pool.", - "description": "This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch Account was created with its poolAllocationMode property set to 'UserSubscription'." + "description": "For information about available VM sizes, see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)." }, "virtualMachineConfiguration": { "$ref": "#/definitions/VirtualMachineConfiguration", "title": "The virtual machine configuration for the Pool.", - "description": "This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified." + "description": "This property must be specified." }, "resizeTimeout": { "type": "string", @@ -14706,14 +14903,6 @@ "title": "The list of Packages to be installed on each Compute Node in the Pool.", "description": "When creating a pool, the package's application ID must be fully qualified (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}). Changes to Package references affect all new Nodes joining the Pool, but do not affect Compute Nodes that are already in the Pool until they are rebooted or reimaged. There is a maximum of 10 Package references on any given Pool." }, - "applicationLicenses": { - "type": "array", - "items": { - "type": "string" - }, - "title": "The list of application licenses the Batch service will make available on each Compute Node in the Pool.", - "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, Pool creation will fail." - }, "taskSlotsPerNode": { "type": "integer", "format": "int32", @@ -15144,7 +15333,7 @@ "commandLine": { "type": "string", "title": "The command line of the Task.", - "description": "For multi-instance Tasks, the command line is executed as the primary Task, after the primary Task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)." + "description": "For multi-instance Tasks, the command line is executed as the primary Task, after the primary Task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/azure/batch/batch-compute-node-environment-variables)." }, "containerSettings": { "$ref": "#/definitions/TaskContainerSettings", @@ -15247,7 +15436,7 @@ "commandLine": { "type": "string", "title": "The command line of the Task.", - "description": "For multi-instance Tasks, the command line is executed as the primary Task, after the primary Task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables)." + "description": "For multi-instance Tasks, the command line is executed as the primary Task, after the primary Task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/azure/batch/batch-compute-node-environment-variables)." }, "containerSettings": { "$ref": "#/definitions/TaskContainerSettings", @@ -15683,7 +15872,9 @@ "leavingpool", "offline", "preempted", - "upgradingos" + "upgradingos", + "deallocated", + "deallocating" ], "x-ms-enum": { "name": "ComputeNodeState", @@ -15748,6 +15939,14 @@ "value": "upgradingos", "description": "The Compute Node is undergoing an OS upgrade operation.", "name": "upgradingOS" + }, + { + "value": "deallocated", + "description": "The Compute Node is deallocated." + }, + { + "value": "deallocating", + "description": "The Compute Node is deallocating." } ] } @@ -16101,7 +16300,7 @@ "password": { "type": "string", "title": "The password of the Account.", - "description": "The password is required for Windows Compute Nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows Image reference). For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property." + "description": "The password is required for Windows Compute Nodes. For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property." }, "sshPublicKey": { "type": "string", @@ -16266,6 +16465,10 @@ "title": "The Pool on which the Batch service runs the Job's Tasks.", "description": "You may change the Pool for a Job only when the Job is disabled. The Patch Job call will fail if you include the poolInfo element and the Job is not disabled. If you specify an autoPoolSpecification in the poolInfo, only the keepAlive property of the autoPoolSpecification can be updated, and then only if the autoPoolSpecification has a poolLifetimeOption of Job (other job properties can be updated as normal). If omitted, the Job continues to run on its current Pool." }, + "networkConfiguration": { + "$ref": "#/definitions/JobNetworkConfiguration", + "title": "The network configuration for the Job." + }, "metadata": { "type": "array", "items": { @@ -16333,7 +16536,7 @@ "autoScaleFormula": { "type": "string", "title": "The formula for the desired number of Compute Nodes in the Pool.", - "description": "The formula is checked for validity before it is applied to the Pool. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling)." + "description": "The formula is checked for validity before it is applied to the Pool. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://azure.microsoft.com/documentation/articles/batch-automatic-scaling)." }, "autoScaleEvaluationInterval": { "type": "string", @@ -16350,7 +16553,7 @@ "autoScaleFormula": { "type": "string", "title": "The formula for the desired number of Compute Nodes in the Pool.", - "description": "The formula is validated and its results calculated, but it is not applied to the Pool. To apply the formula to the Pool, 'Enable automatic scaling on a Pool'. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling)." + "description": "The formula is validated and its results calculated, but it is not applied to the Pool. To apply the formula to the Pool, 'Enable automatic scaling on a Pool'. For more information about specifying this formula, see Automatically scale Compute Nodes in an Azure Batch Pool (https://azure.microsoft.com/documentation/articles/batch-automatic-scaling)." } }, "required": [ @@ -16466,6 +16669,71 @@ "title": "The desired node communication mode for the pool.", "description": "If this element is present, it replaces the existing targetNodeCommunicationMode configured on the Pool. If omitted, any existing metadata is left unchanged.", "$ref": "#/definitions/NodeCommunicationMode" + }, + "displayName": { + "type": "string", + "title": "The display name for the Pool.", + "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024.

This field can be updated only when the pool is empty." + }, + "vmSize": { + "type": "string", + "title": "The size of virtual machines in the Pool. All VMs in a Pool are the same size.", + "description": "For information about available sizes of virtual machines in Pools, see Choose a VM size for Compute Nodes in an Azure Batch Pool (https://docs.microsoft.com/azure/batch/batch-pool-vm-sizes).

This field can be updated only when the pool is empty." + }, + "taskSlotsPerNode": { + "type": "integer", + "format": "int32", + "title": "The number of task slots that can be used to run concurrent tasks on a single compute node in the pool.", + "description": "The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256.

This field can be updated only when the pool is empty." + }, + "taskSchedulingPolicy": { + "$ref": "#/definitions/TaskSchedulingPolicy", + "title": "How Tasks are distributed across Compute Nodes in a Pool.", + "description": "If not specified, the default is spread.

This field can be updated only when the pool is empty." + }, + "enableInterNodeCommunication": { + "type": "boolean", + "title": "Whether the Pool permits direct communication between Compute Nodes.", + "description": "Enabling inter-node communication limits the maximum size of the Pool due to deployment restrictions on the Compute Nodes of the Pool. This may result in the Pool not reaching its desired size. The default value is false.

This field can be updated only when the pool is empty." + }, + "virtualMachineConfiguration": { + "$ref": "#/definitions/VirtualMachineConfiguration", + "title": "The virtual machine configuration for the Pool.", + "description": "This property must be specified.

This field can be updated only when the pool is empty." + }, + "networkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration", + "title": "The network configuration for the Pool.", + "description": "This field can be updated only when the pool is empty." + }, + "userAccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/UserAccount" + }, + "title": "The list of user Accounts to be created on each Compute Node in the Pool.", + "description": "This field can be updated only when the pool is empty." + }, + "mountConfiguration": { + "type": "array", + "items": { + "$ref": "#/definitions/MountConfiguration" + }, + "title": "Mount storage using specified file system for the entire lifetime of the pool.", + "description": "Mount the storage using Azure fileshare, NFS, CIFS or Blobfuse based file system.

This field can be updated only when the pool is empty." + }, + "upgradePolicy": { + "$ref": "#/definitions/UpgradePolicy", + "title": "The upgrade policy for the Pool.", + "description": "Describes an upgrade policy - automatic, manual, or rolling.

This field can be updated only when the pool is empty." + }, + "resourceTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "The user-specified tags associated with the pool.", + "description": "The user-defined tags to be associated with the Azure Batch Pool. When specified, these tags are propagated to the backing Azure resources associated with the pool. This property can only be specified when the Batch account was created with the poolAllocationMode property set to 'UserSubscription'.

This field can be updated only when the pool is empty." } }, "title": "The set of changes to be made to a Pool." @@ -16487,7 +16755,7 @@ "password": { "type": "string", "title": "The password of the Account.", - "description": "The password is required for Windows Compute Nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows Image reference). For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property. If omitted, any existing password is removed." + "description": "The password is required for Windows Compute Nodes. For Linux Compute Nodes, the password can optionally be specified along with the sshPublicKey property. If omitted, any existing password is removed." }, "expiryTime": { "type": "string", @@ -16620,6 +16888,47 @@ }, "title": "Options for disabling scheduling on a Compute Node." }, + "NodeDeallocateParameter": { + "type": "object", + "properties": { + "nodeDeallocateOption": { + "type": "string", + "title": "When to deallocate the Compute Node and what to do with currently running Tasks.", + "description": "The default value is requeue.", + "enum": [ + "requeue", + "terminate", + "taskcompletion", + "retaineddata" + ], + "x-ms-enum": { + "name": "ComputeNodeDeallocateOption", + "modelAsString": false, + "values": [ + { + "value": "requeue", + "description": "Terminate running Task processes and requeue the Tasks. The Tasks will run again when a Compute Node is available. Deallocate the Compute Node as soon as Tasks have been terminated." + }, + { + "value": "terminate", + "description": "Terminate running Tasks. The Tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Deallocate the Compute Node as soon as Tasks have been terminated." + }, + { + "value": "taskcompletion", + "description": "Allow currently running Tasks to complete. Schedule no new Tasks while waiting. Deallocate the Compute Node when all Tasks have completed.", + "name": "taskCompletion" + }, + { + "value": "retaineddata", + "description": "Allow currently running Tasks to complete, then wait for all Task data retention periods to expire. Schedule no new Tasks while waiting. Deallocate the Compute Node when all Task retention periods have expired.", + "name": "retainedData" + } + ] + } + } + }, + "title": "Options for deallocating a Compute Node." + }, "NodeRemoveParameter": { "type": "object", "properties": { @@ -16708,7 +17017,7 @@ "$ref": "#/definitions/HttpHeader" }, "title": "A list of name-value pairs for headers to be used in uploading output files", - "description": "These headers will be specified when uploading files to Azure Storage. Official document on allowed headers when uploading blobs: https://docs.microsoft.com/en-us/rest/api/storageservices/put-blob#request-headers-all-blob-types" + "description": "These headers will be specified when uploading files to Azure Storage. Official document on allowed headers when uploading blobs: https://docs.microsoft.com/rest/api/storageservices/put-blob#request-headers-all-blob-types" } }, "required": [ @@ -17322,6 +17631,16 @@ "format": "int32", "title": "The number of Compute Nodes in the upgradingOS state." }, + "deallocated": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the deallocated state." + }, + "deallocating": { + "type": "integer", + "format": "int32", + "title": "The number of Compute Nodes in the deallocating state." + }, "total": { "type": "integer", "format": "int32", @@ -17343,6 +17662,8 @@ "unusable", "waitingForStartTask", "upgradingOS", + "deallocated", + "deallocating", "total" ], "title": "The number of Compute Nodes in each Compute Node state." @@ -17589,6 +17910,10 @@ "storageAccountType": { "$ref": "#/definitions/StorageAccountType", "title": "The storage account type for managed disk." + }, + "securityProfile": { + "$ref": "#/definitions/VMDiskSecurityProfile", + "title": "Specifies the security profile settings for the managed disk." } } }, @@ -17599,7 +17924,8 @@ "type": "string", "title": "Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings.", "enum": [ - "trustedLaunch" + "trustedLaunch", + "confidentialVM" ], "x-ms-enum": { "name": "SecurityTypes", @@ -17608,13 +17934,17 @@ { "value": "trustedLaunch", "description": "Trusted launch protects against advanced and persistent attack techniques." + }, + { + "value": "confidentialVM", + "description": "Azure confidential computing offers confidential VMs are for tenants with high security and confidentiality requirements. These VMs provide a strong, hardware-enforced boundary to help meet your security needs. You can use confidential VMs for migrations without making changes to your code, with the platform protecting your VM's state from being read or modified." } ] } }, "encryptionAtHost": { "type": "boolean", - "description": "This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself." + "description": "This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. For more information on encryption at host requirements, please refer to https://learn.microsoft.com/azure/virtual-machines/disk-encryption#supported-vm-sizes." }, "uefiSettings": { "$ref": "#/definitions/UefiSettings", @@ -17675,8 +18005,7 @@ }, "rollingUpgradePolicy": { "$ref": "#/definitions/RollingUpgradePolicy", - "title": "The configuration parameters used while performing a rolling upgrade.", - "description": "This property is only supported on Pools with the virtualMachineConfiguration property." + "title": "The configuration parameters used while performing a rolling upgrade." } }, "required": [ @@ -17693,7 +18022,7 @@ }, "enableAutomaticOSUpgrade": { "type": "boolean", - "description": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available.

If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/en-us/rest/api/batchservice/pool/add?tabs=HTTP#windowsconfiguration) cannot be set to true." + "description": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available.

If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/rest/api/batchservice/pool/add?tabs=HTTP#windowsconfiguration) cannot be set to true." }, "useRollingUpgradePolicy": { "type": "boolean", @@ -17749,6 +18078,32 @@ } }, "description": "The configuration parameters used while performing a rolling upgrade." + }, + "VMDiskSecurityProfile": { + "type": "object", + "properties": { + "securityEncryptionType": { + "type": "string", + "title": "Specifies the EncryptionType of the managed disk. It is set to VMGuestStateOnly for encryption of just the VMGuestState blob, and NonPersistedTPM for not persisting firmware state in the VMGuestState blob. **Note**: It can be set for only Confidential VMs and is required when using Confidential VMs.", + "enum": [ + "NonPersistedTPM", + "VMGuestStateOnly" + ], + "x-ms-enum": { + "name": "SecurityEncryptionTypes", + "modelAsString": true, + "values": [ + { + "value": "NonPersistedTPM" + }, + { + "value": "VMGuestStateOnly" + } + ] + } + } + }, + "description": "Specifies the security profile settings for the managed disk. **Note**: It can only be set for Confidential VMs and required when using Confidential VMs." } }, "parameters": { diff --git a/swagger-specs/batch/data-plane/api-set.json b/swagger-specs/batch/data-plane/api-set.json index fc6d4fb76..5e3f53895 100644 --- a/swagger-specs/batch/data-plane/api-set.json +++ b/swagger-specs/batch/data-plane/api-set.json @@ -1 +1 @@ -{"addition_input_file_paths": [], "input_files": ["Microsoft.Batch/stable/2024-02-01.19.0/BatchService.json"], "name": "package-2024-02"} \ No newline at end of file +{"addition_input_file_paths": [], "input_files": ["Microsoft.Batch/stable/2024-07-01.20.0/BatchService.json"], "name": "package-2024-07"} \ No newline at end of file diff --git a/swagger-specs/batch/resource-manager/Microsoft.Batch/stable/2024-02-01/BatchManagement.json b/swagger-specs/batch/resource-manager/Microsoft.Batch/stable/2024-07-01/BatchManagement.json similarity index 97% rename from swagger-specs/batch/resource-manager/Microsoft.Batch/stable/2024-02-01/BatchManagement.json rename to swagger-specs/batch/resource-manager/Microsoft.Batch/stable/2024-07-01/BatchManagement.json index 372db6d50..1bd2630ee 100644 --- a/swagger-specs/batch/resource-manager/Microsoft.Batch/stable/2024-02-01/BatchManagement.json +++ b/swagger-specs/batch/resource-manager/Microsoft.Batch/stable/2024-07-01/BatchManagement.json @@ -3,7 +3,7 @@ "info": { "title": "BatchManagementClient", "description": "The Batch Management Client.", - "version": "2024-02-01" + "version": "2024-07-01" }, "host": "management.azure.com", "schemes": [ @@ -1098,67 +1098,6 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/cloudServiceSkus": { - "get": { - "tags": [ - "Location" - ], - "operationId": "Location_ListSupportedCloudServiceSkus", - "x-ms-examples": { - "LocationListCloudServiceSkus": { - "$ref": "./examples/LocationListCloudServiceSkus.json" - } - }, - "description": "Gets the list of Batch supported Cloud Service VM sizes available at the given location.", - "parameters": [ - { - "name": "locationName", - "in": "path", - "required": true, - "type": "string", - "description": "The region for which to retrieve Batch service supported SKUs." - }, - { - "name": "maxresults", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "description": "The maximum number of items to return in the response." - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "OData filter expression. Valid properties for filtering are \"familyName\"." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The operation was successful. The response contains the Batch service supported Cloud Service VM sizes for the subscription in the specified location.", - "schema": { - "$ref": "#/definitions/SupportedSkusResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, "/providers/Microsoft.Batch/operations": { "get": { "tags": [ @@ -2131,15 +2070,9 @@ "operationId": "Pool_Create", "description": "Creates a new pool inside the specified account.", "x-ms-examples": { - "CreatePool - Minimal CloudServiceConfiguration": { - "$ref": "./examples/PoolCreate_MinimalCloudServiceConfiguration.json" - }, "CreatePool - Minimal VirtualMachineConfiguration": { "$ref": "./examples/PoolCreate_MinimalVirtualMachineConfiguration.json" }, - "CreatePool - Full CloudServiceConfiguration": { - "$ref": "./examples/PoolCreate_CloudServiceConfiguration.json" - }, "CreatePool - ResourceTags": { "$ref": "./examples/PoolCreate_ResourceTags.json" }, @@ -2175,6 +2108,9 @@ }, "CreatePool - VirtualMachineConfiguration OSDisk": { "$ref": "./examples/PoolCreate_VirtualMachineConfiguration_ManagedOSDisk.json" + }, + "CreatePool - Tags": { + "$ref": "./examples/PoolCreate_Tags.json" } }, "parameters": [ @@ -3064,7 +3000,7 @@ }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/AzureResource" } ], "description": "Contains information about an Azure Batch account." @@ -3229,7 +3165,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "#/definitions/AzureProxyResource" } ], "description": "Contains information about an application in a Batch account." @@ -3263,7 +3199,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "#/definitions/AzureProxyResource" } ], "description": "An application package which represents a particular version of an application." @@ -3365,7 +3301,7 @@ }, "description": "Quotas associated with a Batch region for a particular subscription." }, - "Resource": { + "AzureResource": { "type": "object", "properties": { "id": { @@ -3400,7 +3336,7 @@ "description": "A definition of an Azure resource.", "x-ms-azure-resource": true }, - "ProxyResource": { + "AzureProxyResource": { "type": "object", "properties": { "id": { @@ -3422,6 +3358,13 @@ "readOnly": true, "type": "string", "description": "The ETag of the resource, used for concurrency statements." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags of the resource." } }, "description": "A definition of an Azure resource.", @@ -3433,7 +3376,8 @@ "default": "Enabled", "enum": [ "Enabled", - "Disabled" + "Disabled", + "SecuredByPerimeter" ], "x-ms-enum": { "name": "PublicNetworkAccessType", @@ -3446,6 +3390,10 @@ { "value": "Disabled", "description": "Disables public connectivity and enables private connectivity to Azure Batch Service through private endpoint resource." + }, + { + "value": "SecuredByPerimeter", + "description": "Secures connectivity to Azure Batch through NSP configuration." } ] } @@ -3731,7 +3679,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "#/definitions/AzureProxyResource" } ], "description": "Contains information about a certificate." @@ -3747,7 +3695,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "#/definitions/AzureProxyResource" } ], "description": "Contains information about a certificate." @@ -3829,7 +3777,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "#/definitions/AzureProxyResource" } ], "description": "Contains the information for a detector." @@ -3855,7 +3803,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "#/definitions/AzureProxyResource" } ], "description": "Contains information about a private link resource." @@ -3899,7 +3847,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "#/definitions/AzureProxyResource" } ], "description": "Contains information about a private link resource." @@ -4053,7 +4001,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "#/definitions/AzureProxyResource" } ], "description": "Contains information about a pool." @@ -4145,12 +4093,11 @@ "vmSize": { "type": "string", "title": "The size of virtual machines in the pool. All VMs in a pool are the same size.", - "description": "For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)." + "description": "For information about available VM sizes, see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)." }, "deploymentConfiguration": { "$ref": "#/definitions/DeploymentConfiguration", - "title": "This property describes how the pool nodes will be deployed - using Cloud Services or Virtual Machines.", - "description": "Using CloudServiceConfiguration specifies that the nodes should be creating using Azure Cloud Services (PaaS), while VirtualMachineConfiguration uses Azure Virtual Machines (IaaS)." + "title": "This property describes the virtual machines that the pool nodes will be deployed on." }, "currentDedicatedNodes": { "type": "integer", @@ -4344,15 +4291,9 @@ "DeploymentConfiguration": { "type": "object", "properties": { - "cloudServiceConfiguration": { - "$ref": "#/definitions/CloudServiceConfiguration", - "title": "The cloud service configuration for the pool.", - "description": "This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'." - }, "virtualMachineConfiguration": { "$ref": "#/definitions/VirtualMachineConfiguration", - "title": "The virtual machine configuration for the pool.", - "description": "This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified." + "title": "The virtual machine configuration for the pool." } }, "title": "Deployment configuration properties." @@ -4473,7 +4414,7 @@ "storeLocation": { "type": "string", "title": "The location of the certificate store on the compute node into which to install the certificate.", - "description": "The default value is currentUser. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.", + "description": "The default value is currentUser. This property is applicable only for pools configured with Windows compute nodes. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.", "enum": [ "CurrentUser", "LocalMachine" @@ -4496,7 +4437,7 @@ "storeName": { "type": "string", "title": "The name of the certificate store on the compute node into which to install the certificate.", - "description": "This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My." + "description": "This property is applicable only for pools configured with Windows compute nodes. Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My." }, "visibility": { "type": "array", @@ -4993,6 +4934,16 @@ "type": "string", "title": "The ARM resource identifier of the Azure Compute Gallery Image. Compute Nodes in the Pool will be created using this Image Id. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{versionId}.", "description": "This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration." + }, + "sharedGalleryImageId": { + "type": "string", + "title": "The shared gallery image unique identifier", + "description": "This property is mutually exclusive with other properties and can be fetched from shared gallery image GET call." + }, + "communityGalleryImageId": { + "type": "string", + "title": "The community gallery image unique identifier", + "description": "This property is mutually exclusive with other properties and can be fetched from community gallery image GET call." } }, "title": "A reference to an Azure Virtual Machines Marketplace image or the Azure Image resource of a custom Virtual Machine. To get the list of all imageReferences verified by Azure Batch, see the 'List supported node agent SKUs' operation." @@ -5090,7 +5041,7 @@ "loginMode": { "type": "string", "title": "Login mode for user", - "description": "Specifies login mode for the user. The default value for VirtualMachineConfiguration pools is interactive mode and for CloudServiceConfiguration pools is batch mode.", + "description": "Specifies login mode for the user. The default value is Interactive.", "enum": [ "Batch", "Interactive" @@ -5240,6 +5191,14 @@ } ] } + }, + "containerHostBatchBindMounts": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerHostBatchBindMountEntry" + }, + "title": "The paths you want to mounted to container task.", + "description": "If this array is null or be not present, container task will mount entire temporary disk drive in windows (or AZ_BATCH_NODE_ROOT_DIR in Linux). It won't' mount any data paths into container if this array is set as empty." } }, "required": [ @@ -5457,6 +5416,63 @@ ] } }, + "ContainerHostDataPath": { + "type": "string", + "title": "The paths which will be mounted to container task's container.", + "enum": [ + "Shared", + "Startup", + "VfsMounts", + "Task", + "JobPrep", + "Applications" + ], + "x-ms-enum": { + "name": "ContainerHostDataPath", + "modelAsString": true, + "values": [ + { + "value": "Shared", + "description": "The path for multi-instances task to shared their files." + }, + { + "value": "Startup", + "description": "The path for start task." + }, + { + "value": "VfsMounts", + "description": "The path contains all virtual file systems are mounted on this node." + }, + { + "value": "Task", + "description": "The task path." + }, + { + "value": "JobPrep", + "description": "The job-prep task path." + }, + { + "value": "Applications", + "description": "The applications path." + } + ] + } + }, + "ContainerHostBatchBindMountEntry": { + "type": "object", + "title": "The entry of path and mount mode you want to mount into task container.", + "properties": { + "source": { + "$ref": "#/definitions/ContainerHostDataPath", + "title": "The path which be mounted to container customer can select." + }, + "isReadOnly": { + "type": "boolean", + "title": "Mount this source path as read-only mode or not. Default value is false (read/write mode).", + "description": "For Linux, if you mount this path as a read/write mode, this does not mean that all users in container have the read/write access for the path, it depends on the access in host VM. If this path is mounted read-only, all users within the container will not be able to modify the path." + } + } + }, "DiffDiskPlacement": { "type": "string", "title": "Specifies the ephemeral disk placement for operating system disk for all VMs in the pool.", @@ -5566,7 +5582,7 @@ "subnetId": { "type": "string", "title": "The ARM resource identifier of the virtual network subnet which the compute nodes of the pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}.", - "description": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For pools created with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For cloudServiceConfiguration pools, only 'classic' VNETs are supported. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration", + "description": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. Enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration", "externalDocs": { "url": "https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor", "description": "Setting up RBAC for Azure Batch VNets" @@ -5597,13 +5613,11 @@ }, "endpointConfiguration": { "$ref": "#/definitions/PoolEndpointConfiguration", - "title": "The configuration for endpoints on compute nodes in the Batch pool.", - "description": "Pool endpoint configuration is only supported on pools with the virtualMachineConfiguration property." + "title": "The configuration for endpoints on compute nodes in the Batch pool." }, "publicIPAddressConfiguration": { "$ref": "#/definitions/PublicIPAddressConfiguration", - "title": "The Public IPAddress configuration for Compute Nodes in the Batch Pool.", - "description": "This property is only supported on Pools with the virtualMachineConfiguration property." + "title": "The Public IPAddress configuration for Compute Nodes in the Batch Pool." }, "enableAcceleratedNetworking": { "type": "boolean", @@ -5617,25 +5631,6 @@ }, "description": "The network configuration for a pool." }, - "CloudServiceConfiguration": { - "type": "object", - "properties": { - "osFamily": { - "type": "string", - "title": "The Azure Guest OS family to be installed on the virtual machines in the pool.", - "description": "Possible values are: 2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1. 3 - OS Family 3, equivalent to Windows Server 2012. 4 - OS Family 4, equivalent to Windows Server 2012 R2. 5 - OS Family 5, equivalent to Windows Server 2016. 6 - OS Family 6, equivalent to Windows Server 2019. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)." - }, - "osVersion": { - "type": "string", - "title": "The Azure Guest OS version to be installed on the virtual machines in the pool.", - "description": "The default value is * which specifies the latest operating system version for the specified OS family." - } - }, - "required": [ - "osFamily" - ], - "title": "The configuration for nodes in a pool based on the Azure Cloud Services platform." - }, "MetadataItem": { "type": "object", "properties": { @@ -6393,6 +6388,10 @@ "storageAccountType": { "$ref": "#/definitions/StorageAccountType", "title": "The storage account type for managed disk." + }, + "securityProfile": { + "$ref": "#/definitions/VMDiskSecurityProfile", + "title": "Specifies the security profile for the managed disk." } } }, @@ -6403,7 +6402,8 @@ "type": "string", "title": "Specifies the SecurityType of the virtual machine. It has to be set to any specified value to enable UefiSettings.", "enum": [ - "trustedLaunch" + "trustedLaunch", + "confidentialVM" ], "x-ms-enum": { "name": "SecurityTypes", @@ -6412,6 +6412,10 @@ { "value": "trustedLaunch", "description": "Trusted launch protects against advanced and persistent attack techniques." + }, + { + "value": "confidentialVM", + "description": "Azure confidential computing offers confidential VMs are for tenants with high security and confidentiality requirements. These VMs provide a strong, hardware-enforced boundary to help meet your security needs. You can use confidential VMs for migrations without making changes to your code, with the platform protecting your VM's state from being read or modified." } ] } @@ -6479,8 +6483,7 @@ }, "rollingUpgradePolicy": { "$ref": "#/definitions/RollingUpgradePolicy", - "title": "The configuration parameters used while performing a rolling upgrade.", - "description": "This property is only supported on Pools with the virtualMachineConfiguration property." + "title": "The configuration parameters used while performing a rolling upgrade." } }, "required": [ @@ -6552,6 +6555,32 @@ } }, "description": "The configuration parameters used while performing a rolling upgrade." + }, + "VMDiskSecurityProfile": { + "type": "object", + "properties": { + "securityEncryptionType": { + "type": "string", + "title": "Specifies the EncryptionType of the managed disk. It is set to VMGuestStateOnly for encryption of just the VMGuestState blob, and NonPersistedTPM for not persisting firmware state in the VMGuestState blob. **Note**: It can be set for only Confidential VMs and required when using Confidential VMs.", + "enum": [ + "NonPersistedTPM", + "VMGuestStateOnly" + ], + "x-ms-enum": { + "name": "SecurityEncryptionTypes", + "modelAsString": true, + "values": [ + { + "value": "NonPersistedTPM" + }, + { + "value": "VMGuestStateOnly" + } + ] + } + } + }, + "description": "Specifies the security profile settings for the managed disk. **Note**: It can only be set for Confidential VMs and is required when using Confidential VMs." } }, "parameters": { diff --git a/swagger-specs/batch/resource-manager/Microsoft.Batch/stable/2024-07-01/NetworkSecurityPerimeter.json b/swagger-specs/batch/resource-manager/Microsoft.Batch/stable/2024-07-01/NetworkSecurityPerimeter.json new file mode 100644 index 000000000..b0bca5fba --- /dev/null +++ b/swagger-specs/batch/resource-manager/Microsoft.Batch/stable/2024-07-01/NetworkSecurityPerimeter.json @@ -0,0 +1,197 @@ +{ + "swagger": "2.0", + "info": { + "title": "BatchManagementClient", + "description": "The Batch Management Client.", + "version": "2024-07-01" + }, + "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": "Microsoft Entra OAuth 2.0 auth code flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/networkSecurityPerimeterConfigurations": { + "get": { + "tags": [ + "NetworkSecurityPerimeter" + ], + "operationId": "NetworkSecurityPerimeter_ListConfigurations", + "description": "Lists all of the NSP configurations in the specified account.", + "x-ms-examples": { + "ListNspConfigurations": { + "$ref": "./examples/NspConfigurationsList.json" + } + }, + "parameters": [ + { + "$ref": "./BatchManagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./BatchManagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./BatchManagement.json#/parameters/AccountNameParameter" + }, + { + "$ref": "./BatchManagement.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of NSP configurations associated with the account.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/networksecurityperimeter.json#/definitions/NetworkSecurityPerimeterConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./BatchManagement.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/networkSecurityPerimeterConfigurations/{networkSecurityPerimeterConfigurationName}": { + "get": { + "tags": [ + "NetworkSecurityPerimeter" + ], + "operationId": "NetworkSecurityPerimeter_GetConfiguration", + "description": "Gets information about the specified NSP configuration.", + "x-ms-examples": { + "GetNspConfiguration": { + "$ref": "./examples/NspConfigurationGet.json" + } + }, + "parameters": [ + { + "$ref": "./BatchManagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./BatchManagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./BatchManagement.json#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/networkSecurityPerimeterConfigurationName" + }, + { + "$ref": "./BatchManagement.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the NSP configuration.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/networksecurityperimeter.json#/definitions/NetworkSecurityPerimeterConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./BatchManagement.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/networkSecurityPerimeterConfigurations/{networkSecurityPerimeterConfigurationName}/reconcile": { + "post": { + "tags": [ + "NetworkSecurityPerimeter" + ], + "operationId": "NetworkSecurityPerimeter_ReconcileConfiguration", + "description": "Reconciles the specified NSP configuration.", + "x-ms-examples": { + "ReconcileNspConfiguration": { + "$ref": "./examples/NspConfigurationReconcile.json" + } + }, + "parameters": [ + { + "$ref": "./BatchManagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./BatchManagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./BatchManagement.json#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/networkSecurityPerimeterConfigurationName" + }, + { + "$ref": "./BatchManagement.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The operation was accepted and will be performed in the background.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that specifies the delay in seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "parameters": { + "networkSecurityPerimeterConfigurationName": { + "name": "networkSecurityPerimeterConfigurationName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^.*$", + "description": "The name for Network Security Perimeter configuration", + "x-ms-parameter-location": "method" + } + } +} diff --git a/swagger-specs/batch/resource-manager/api-set.json b/swagger-specs/batch/resource-manager/api-set.json index 89ec472ea..cf1c95c1b 100644 --- a/swagger-specs/batch/resource-manager/api-set.json +++ b/swagger-specs/batch/resource-manager/api-set.json @@ -1 +1 @@ -{"addition_input_file_paths": [], "input_files": ["Microsoft.Batch/stable/2024-02-01/BatchManagement.json"], "name": "package-2024-02"} \ No newline at end of file +{"addition_input_file_paths": [], "input_files": ["Microsoft.Batch/stable/2024-07-01/BatchManagement.json", "Microsoft.Batch/stable/2024-07-01/NetworkSecurityPerimeter.json"], "name": "package-2024-07"} \ No newline at end of file diff --git a/swagger-specs/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2024-07-01/computeRPCommon.json b/swagger-specs/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2024-07-01/computeRPCommon.json index 7ce39314f..044f31f3e 100644 --- a/swagger-specs/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2024-07-01/computeRPCommon.json +++ b/swagger-specs/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2024-07-01/computeRPCommon.json @@ -867,7 +867,7 @@ }, "DetachOption": { "type": "string", - "description": "Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values are: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview** mode. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.", + "description": "Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values are: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview**. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.", "enum": [ "ForceDetach" ], @@ -1091,7 +1091,7 @@ }, "detachOption": { "$ref": "#/definitions/DetachOption", - "description": "Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview** mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'." + "description": "Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach.** detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior. **This feature is still in preview**. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'." }, "deleteOption": { "$ref": "#/definitions/DeleteOption", diff --git a/swagger-specs/computeschedule/resource-manager/Microsoft.ComputeSchedule/preview/2024-06-01-preview/computeschedule.json b/swagger-specs/computeschedule/resource-manager/Microsoft.ComputeSchedule/preview/2024-08-15-preview/computeschedule.json similarity index 86% rename from swagger-specs/computeschedule/resource-manager/Microsoft.ComputeSchedule/preview/2024-06-01-preview/computeschedule.json rename to swagger-specs/computeschedule/resource-manager/Microsoft.ComputeSchedule/preview/2024-08-15-preview/computeschedule.json index b600d7ff5..2b03268ae 100644 --- a/swagger-specs/computeschedule/resource-manager/Microsoft.ComputeSchedule/preview/2024-06-01-preview/computeschedule.json +++ b/swagger-specs/computeschedule/resource-manager/Microsoft.ComputeSchedule/preview/2024-08-15-preview/computeschedule.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "Microsoft.ComputeSchedule", - "version": "2024-06-01-preview", + "version": "2024-08-15-preview", "description": "Microsoft.ComputeSchedule Resource Provider management API.", "x-typespec-generated": [ { @@ -71,10 +71,10 @@ } }, "x-ms-examples": { - "Operations_ListMax - generated by [MaximumSet] rule": { + "Operations_ListMax - generated by [MaximumSet] rule - generated by [MaximumSet] rule": { "$ref": "./examples/Operations_List_MaximumSet_Gen.json" }, - "Operations_ListMax - generated by [MinimumSet] rule": { + "Operations_ListMax - generated by [MaximumSet] rule - generated by [MinimumSet] rule": { "$ref": "./examples/Operations_List_MinimumSet_Gen.json" } }, @@ -127,10 +127,10 @@ } }, "x-ms-examples": { - "ScheduledActions_VirtualMachinesCancelOperations - generated by [MaximumSet] rule": { + "ScheduledActions_VirtualMachinesCancelOperations - generated by [MaximumSet] rule - generated by [MaximumSet] rule": { "$ref": "./examples/ScheduledActions_VirtualMachinesCancelOperations_MaximumSet_Gen.json" }, - "ScheduledActions_VirtualMachinesCancelOperations - generated by [MinimumSet] rule": { + "ScheduledActions_VirtualMachinesCancelOperations - generated by [MaximumSet] rule - generated by [MinimumSet] rule": { "$ref": "./examples/ScheduledActions_VirtualMachinesCancelOperations_MinimumSet_Gen.json" } } @@ -180,10 +180,10 @@ } }, "x-ms-examples": { - "ScheduledActions_VirtualMachinesExecuteDeallocate - generated by [MaximumSet] rule": { + "ScheduledActions_VirtualMachinesExecuteDeallocate - generated by [MaximumSet] rule - generated by [MaximumSet] rule": { "$ref": "./examples/ScheduledActions_VirtualMachinesExecuteDeallocate_MaximumSet_Gen.json" }, - "ScheduledActions_VirtualMachinesExecuteDeallocate - generated by [MinimumSet] rule": { + "ScheduledActions_VirtualMachinesExecuteDeallocate - generated by [MaximumSet] rule - generated by [MinimumSet] rule": { "$ref": "./examples/ScheduledActions_VirtualMachinesExecuteDeallocate_MinimumSet_Gen.json" } } @@ -233,10 +233,10 @@ } }, "x-ms-examples": { - "ScheduledActions_VirtualMachinesExecuteHibernate - generated by [MaximumSet] rule": { + "ScheduledActions_VirtualMachinesExecuteHibernate - generated by [MaximumSet] rule - generated by [MaximumSet] rule": { "$ref": "./examples/ScheduledActions_VirtualMachinesExecuteHibernate_MaximumSet_Gen.json" }, - "ScheduledActions_VirtualMachinesExecuteHibernate - generated by [MinimumSet] rule": { + "ScheduledActions_VirtualMachinesExecuteHibernate - generated by [MaximumSet] rule - generated by [MinimumSet] rule": { "$ref": "./examples/ScheduledActions_VirtualMachinesExecuteHibernate_MinimumSet_Gen.json" } } @@ -286,15 +286,68 @@ } }, "x-ms-examples": { - "ScheduledActions_VirtualMachinesExecuteStart - generated by [MaximumSet] rule": { + "ScheduledActions_VirtualMachinesExecuteStart - generated by [MaximumSet] rule - generated by [MaximumSet] rule": { "$ref": "./examples/ScheduledActions_VirtualMachinesExecuteStart_MaximumSet_Gen.json" }, - "ScheduledActions_VirtualMachinesExecuteStart - generated by [MinimumSet] rule": { + "ScheduledActions_VirtualMachinesExecuteStart - generated by [MaximumSet] rule - generated by [MinimumSet] rule": { "$ref": "./examples/ScheduledActions_VirtualMachinesExecuteStart_MinimumSet_Gen.json" } } } }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ComputeSchedule/locations/{locationparameter}/virtualMachinesGetOperationErrors": { + "post": { + "operationId": "ScheduledActions_VirtualMachinesGetOperationErrors", + "description": "virtualMachinesGetOperationErrors: getOperationErrors associated with an operation on a virtual machine", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "locationparameter", + "in": "path", + "description": "The location name.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "name": "requestBody", + "in": "body", + "description": "The request body", + "required": true, + "schema": { + "$ref": "#/definitions/GetOperationErrorsRequest" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/GetOperationErrorsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CS_ScheduledActions_VirtualMachinesGetOperationErrors_Max": { + "$ref": "./examples/ScheduledActions_VirtualMachinesGetOperationErrors_MaximumSet_Gen.json" + }, + "CS_ScheduledActions_VirtualMachinesGetOperationErrors_Min": { + "$ref": "./examples/ScheduledActions_VirtualMachinesGetOperationErrors_MinimumSet_Gen.json" + } + } + } + }, "/subscriptions/{subscriptionId}/providers/Microsoft.ComputeSchedule/locations/{locationparameter}/virtualMachinesGetOperationStatus": { "post": { "operationId": "ScheduledActions_VirtualMachinesGetOperationStatus", @@ -339,11 +392,11 @@ } }, "x-ms-examples": { - "ScheduledActions_VirtualMachinesGetOperationStatus - generated by [MaximumSet] rule": { - "$ref": "./examples/ScheduledActions_VirtualMachinesGetOperationStatus_MaximumSet_Gen.json" - }, "ScheduledActions_VirtualMachinesGetOperationStatus - generated by [MinimumSet] rule": { "$ref": "./examples/ScheduledActions_VirtualMachinesGetOperationStatus_MinimumSet_Gen.json" + }, + "ScheduledActions_VirtualMachinesGetOperationStatus - generated by [MinimumSet] rule - generated by [MaximumSet] rule": { + "$ref": "./examples/ScheduledActions_VirtualMachinesGetOperationStatus_MaximumSet_Gen.json" } } } @@ -392,10 +445,10 @@ } }, "x-ms-examples": { - "ScheduledActions_VirtualMachinesSubmitDeallocate - generated by [MaximumSet] rule": { + "ScheduledActions_VirtualMachinesSubmitDeallocate - generated by [MaximumSet] rule - generated by [MaximumSet] rule": { "$ref": "./examples/ScheduledActions_VirtualMachinesSubmitDeallocate_MaximumSet_Gen.json" }, - "ScheduledActions_VirtualMachinesSubmitDeallocate - generated by [MinimumSet] rule": { + "ScheduledActions_VirtualMachinesSubmitDeallocate - generated by [MaximumSet] rule - generated by [MinimumSet] rule": { "$ref": "./examples/ScheduledActions_VirtualMachinesSubmitDeallocate_MinimumSet_Gen.json" } } @@ -445,10 +498,10 @@ } }, "x-ms-examples": { - "ScheduledActions_VirtualMachinesSubmitHibernate - generated by [MaximumSet] rule": { + "ScheduledActions_VirtualMachinesSubmitHibernate - generated by [MaximumSet] rule - generated by [MaximumSet] rule": { "$ref": "./examples/ScheduledActions_VirtualMachinesSubmitHibernate_MaximumSet_Gen.json" }, - "ScheduledActions_VirtualMachinesSubmitHibernate - generated by [MinimumSet] rule": { + "ScheduledActions_VirtualMachinesSubmitHibernate - generated by [MaximumSet] rule - generated by [MinimumSet] rule": { "$ref": "./examples/ScheduledActions_VirtualMachinesSubmitHibernate_MinimumSet_Gen.json" } } @@ -498,10 +551,10 @@ } }, "x-ms-examples": { - "ScheduledActions_VirtualMachinesSubmitStart - generated by [MaximumSet] rule": { + "ScheduledActions_VirtualMachinesSubmitStart - generated by [MaximumSet] rule - generated by [MaximumSet] rule": { "$ref": "./examples/ScheduledActions_VirtualMachinesSubmitStart_MaximumSet_Gen.json" }, - "ScheduledActions_VirtualMachinesSubmitStart - generated by [MinimumSet] rule": { + "ScheduledActions_VirtualMachinesSubmitStart - generated by [MaximumSet] rule - generated by [MinimumSet] rule": { "$ref": "./examples/ScheduledActions_VirtualMachinesSubmitStart_MinimumSet_Gen.json" } } @@ -699,6 +752,41 @@ } } }, + "GetOperationErrorsRequest": { + "type": "object", + "description": "This is the request to get errors per vm operations", + "properties": { + "operationIds": { + "type": "array", + "description": "The list of operation ids to query errors of", + "items": { + "type": "string" + } + } + }, + "required": [ + "operationIds" + ] + }, + "GetOperationErrorsResponse": { + "type": "object", + "description": "This is the response from a get operations errors request", + "properties": { + "results": { + "type": "array", + "description": "An array of operationids and their corresponding errors if any", + "items": { + "$ref": "#/definitions/OperationErrorsResult" + }, + "x-ms-identifiers": [ + "operationId" + ] + } + }, + "required": [ + "results" + ] + }, "GetOperationStatusRequest": { "type": "object", "description": "This is the request to get operation status using operationids", @@ -776,6 +864,77 @@ "location" ] }, + "OperationErrorDetails": { + "type": "object", + "description": "This defines a list of operation errors associated with a unique operationId", + "properties": { + "errorCode": { + "type": "string", + "description": "The error code of the operation" + }, + "errorDetails": { + "type": "string", + "format": "date-time", + "description": "The error details of the operation" + }, + "timeStamp": { + "type": "string", + "format": "date-time", + "description": "The timestamp of the error occurence" + }, + "crpOperationId": { + "type": "string", + "description": "CRP operationid of the operation for deeper analysis" + } + }, + "required": [ + "errorCode", + "errorDetails", + "timeStamp", + "crpOperationId" + ] + }, + "OperationErrorsResult": { + "type": "object", + "description": "This is the first level of operation errors from the request when clients get errors per vm operation", + "properties": { + "operationId": { + "type": "string", + "description": "The operationId identifying a vm operation" + }, + "creationTime": { + "type": "string", + "format": "date-time", + "description": "The creation time of the error result" + }, + "activationTime": { + "type": "string", + "format": "date-time", + "description": "The activation time of a vm operation" + }, + "completedAt": { + "type": "string", + "format": "date-time", + "description": "The completion time of the operation if the operation was completed" + }, + "operationErrors": { + "type": "array", + "description": "A list of errors associated with the operationid", + "items": { + "$ref": "#/definitions/OperationErrorDetails" + }, + "x-ms-identifiers": [] + }, + "requestErrorCode": { + "type": "string", + "description": "Request level error code" + }, + "requestErrorDetails": { + "type": "string", + "description": "Request level error details" + } + } + }, "OperationState": { "type": "string", "description": "Values that define the states of operations in Scheduled Actions", diff --git a/swagger-specs/computeschedule/resource-manager/api-set.json b/swagger-specs/computeschedule/resource-manager/api-set.json index ddac9728a..d518e49e4 100644 --- a/swagger-specs/computeschedule/resource-manager/api-set.json +++ b/swagger-specs/computeschedule/resource-manager/api-set.json @@ -1 +1 @@ -{"addition_input_file_paths": [], "input_files": ["Microsoft.ComputeSchedule/preview/2024-06-01-preview/computeschedule.json"], "name": "package-2024-06-01-preview"} \ No newline at end of file +{"addition_input_file_paths": [], "input_files": ["Microsoft.ComputeSchedule/preview/2024-08-15-preview/computeschedule.json"], "name": "package-2024-08-15-preview"} \ No newline at end of file diff --git a/swagger-specs/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json b/swagger-specs/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json index 8acf172c9..ccdb8b731 100644 --- a/swagger-specs/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json +++ b/swagger-specs/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json @@ -3800,6 +3800,19 @@ "type": "object", "x-ms-format": "dfe-string", "description": "The scope of the access required. It describes what kind of access will be requested. Type: string (or Expression with resultType string)." + }, + "servicePrincipalCredentialType": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string)." + }, + "servicePrincipalEmbeddedCert": { + "description": "Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string).", + "$ref": "../datafactory.json#/definitions/SecretBase" + }, + "servicePrincipalEmbeddedCertPassword": { + "description": "Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string).", + "$ref": "../datafactory.json#/definitions/SecretBase" } }, "required": [ @@ -8085,6 +8098,19 @@ "description": "The client secret of your application registered in Azure Active Directory. Type: string (or Expression with resultType string).", "$ref": "../datafactory.json#/definitions/SecretBase" }, + "servicePrincipalCredentialType": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string)." + }, + "servicePrincipalEmbeddedCert": { + "description": "Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string).", + "$ref": "../datafactory.json#/definitions/SecretBase" + }, + "servicePrincipalEmbeddedCertPassword": { + "description": "Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string).", + "$ref": "../datafactory.json#/definitions/SecretBase" + }, "encryptedCredential": { "type": "string", "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string." @@ -8093,8 +8119,7 @@ "required": [ "siteUrl", "tenantId", - "servicePrincipalId", - "servicePrincipalKey" + "servicePrincipalId" ] }, "AzureSynapseArtifactsLinkedService": { diff --git a/swagger-specs/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/GeneratedSystemEvents.json b/swagger-specs/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/GeneratedSystemEvents.json index ad15d6759..5e58d359d 100644 --- a/swagger-specs/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/GeneratedSystemEvents.json +++ b/swagger-specs/eventgrid/data-plane/Microsoft.EventGrid/stable/2018-01-01/GeneratedSystemEvents.json @@ -8067,6 +8067,48 @@ "storageDiagnostics" ] }, + "StorageBlobAccessTier": { + "type": "string", + "description": "The access tier of the blob.", + "enum": [ + "Hot", + "Cool", + "Cold", + "Archive", + "Default" + ], + "x-ms-enum": { + "name": "StorageBlobAccessTier", + "modelAsString": true, + "values": [ + { + "name": "Hot", + "value": "Hot", + "description": "The blob is in access tier Hot" + }, + { + "name": "Cool", + "value": "Cool", + "description": "The blob is in access tier Cool" + }, + { + "name": "Cold", + "value": "Cold", + "description": "The blob is in access tier Cold" + }, + { + "name": "Archive", + "value": "Archive", + "description": "The blob is in access tier Archive" + }, + { + "name": "Default", + "value": "Default", + "description": "The blob is in access tier Default(Inferred)" + } + ] + } + }, "StorageBlobCreatedEventData": { "type": "object", "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Storage.BlobCreated event.", @@ -8105,6 +8147,10 @@ "type": "string", "description": "The type of blob." }, + "accessTier": { + "$ref": "#/definitions/StorageBlobAccessTier", + "description": "The current tier of the blob." + }, "url": { "type": "string", "description": "The path to the blob." @@ -8124,6 +8170,7 @@ } }, "required": [ + "accessTier", "storageDiagnostics" ] }, @@ -8279,6 +8326,14 @@ "type": "string", "description": "The type of blob." }, + "accessTier": { + "$ref": "#/definitions/StorageBlobAccessTier", + "description": "The current tier of the blob." + }, + "previousTier": { + "$ref": "#/definitions/StorageBlobAccessTier", + "description": "The previous tier of the blob." + }, "url": { "type": "string", "description": "The path to the blob." @@ -8298,6 +8353,8 @@ } }, "required": [ + "accessTier", + "previousTier", "storageDiagnostics" ] }, diff --git a/swagger-specs/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json b/swagger-specs/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json index 2e4f9a09a..6f3d7dfa8 100644 --- a/swagger-specs/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json +++ b/swagger-specs/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json @@ -7,6 +7,48 @@ }, "paths": {}, "definitions": { + "StorageBlobAccessTier": { + "type": "string", + "description": "The access tier of the blob.", + "enum": [ + "Hot", + "Cool", + "Cold", + "Archive", + "Default" + ], + "x-ms-enum": { + "name": "StorageBlobAccessTier", + "modelAsString": true, + "values": [ + { + "name": "Hot", + "value": "Hot", + "description": "The blob is in access tier Hot" + }, + { + "name": "Cool", + "value": "Cool", + "description": "The blob is in access tier Cool" + }, + { + "name": "Cold", + "value": "Cold", + "description": "The blob is in access tier Cold" + }, + { + "name": "Archive", + "value": "Archive", + "description": "The blob is in access tier Archive" + }, + { + "name": "Default", + "value": "Default", + "description": "The blob is in access tier Default(Inferred)" + } + ] + } + }, "StorageBlobCreatedEventData": { "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Storage.BlobCreated event.", "type": "object", @@ -45,6 +87,10 @@ "description": "The type of blob.", "type": "string" }, + "accessTier": { + "$ref": "#/definitions/StorageBlobAccessTier", + "description": "The current tier of the blob." + }, "url": { "description": "The path to the blob.", "type": "string" @@ -61,7 +107,10 @@ "description": "For service use only. Diagnostic data occasionally included by the Azure Storage service. This property should be ignored by event consumers.", "type": "object" } - } + }, + "required": [ + "accessTier" + ] }, "StorageBlobDeletedEventData": { "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Storage.BlobDeleted event.", @@ -325,6 +374,14 @@ "description": "The type of blob.", "type": "string" }, + "accessTier": { + "$ref": "#/definitions/StorageBlobAccessTier", + "description": "The current tier of the blob." + }, + "previousTier": { + "$ref": "#/definitions/StorageBlobAccessTier", + "description": "The previous tier of the blob." + }, "url": { "description": "The path to the blob.", "type": "string" @@ -341,7 +398,11 @@ "description": "For service use only. Diagnostic data occasionally included by the Azure Storage service. This property should be ignored by event consumers.", "type": "object" } - } + }, + "required": [ + "accessTier", + "previousTier" + ] }, "StorageAsyncOperationInitiatedEventData": { "description": "Schema of the Data property of an EventGridEvent for a Microsoft.Storage.AsyncOperationInitiated event.", diff --git a/swagger-specs/hardwaresecuritymodules/resource-manager/Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json b/swagger-specs/hardwaresecuritymodules/resource-manager/Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json new file mode 100644 index 000000000..b30fe9ca6 --- /dev/null +++ b/swagger-specs/hardwaresecuritymodules/resource-manager/Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json @@ -0,0 +1,980 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Cloud HSM Resource Provider", + "description": "The Azure management API provides a RESTful set of web services that interact with Azure Cloud HSM RP.", + "version": "2023-12-10-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}": { + "put": { + "tags": [ + "" + ], + "operationId": "CloudHsmClusters_CreateOrUpdate", + "description": "Create or Update a Cloud HSM Cluster in the specified subscription.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "original-uri" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/cloudHsmClusterName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CloudHsmCluster" + }, + "description": "Parameters to create Cloud HSM Cluster" + } + ], + "responses": { + "200": { + "description": "Created or Update Cloud HSM Cluster", + "schema": { + "$ref": "#/definitions/CloudHsmCluster" + } + }, + "201": { + "description": "Created or Update Cloud HSM Cluster", + "schema": { + "$ref": "#/definitions/CloudHsmCluster" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudHsmClusterError" + } + } + }, + "x-ms-examples": { + "CloudHsmCluster_CreateOrUpdate_MaximumSet_Gen": { + "$ref": "./examples/CloudHsmCluster_CreateOrUpdate_MaximumSet_Gen.json" + } + } + }, + "patch": { + "tags": [ + "" + ], + "operationId": "CloudHsmClusters_Update", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Update a Cloud HSM Cluster in the specified subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/cloudHsmClusterName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CloudHsmClusterPatchParameters" + }, + "description": "Parameters to create Cloud HSM Cluster" + } + ], + "responses": { + "200": { + "description": "Patched Cloud HSM Cluster", + "schema": { + "$ref": "#/definitions/CloudHsmCluster" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudHsmClusterError" + } + } + }, + "x-ms-examples": { + "CloudHsmCluster_Update_MaximumSet_Gen": { + "$ref": "./examples/CloudHsmCluster_Update_MaximumSet_Gen.json" + } + } + }, + "get": { + "tags": [ + "" + ], + "operationId": "CloudHsmClusters_Get", + "description": "Gets the specified Cloud HSM Cluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/cloudHsmClusterName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved Cloud HSM Cluster", + "schema": { + "$ref": "#/definitions/CloudHsmCluster" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudHsmClusterError" + } + } + }, + "x-ms-examples": { + "CloudHsmCluster_Get_MaximumSet_Gen": { + "$ref": "./examples/CloudHsmCluster_Get_MaximumSet_Gen.json" + } + } + }, + "delete": { + "tags": [ + "" + ], + "operationId": "CloudHsmClusters_Delete", + "description": "Deletes the specified Cloud HSM Cluster", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/cloudHsmClusterName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK Response." + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudHsmClusterError" + } + } + }, + "x-ms-examples": { + "CloudHsmCluster_Delete_MaximumSet_Gen": { + "$ref": "./examples/CloudHsmCluster_Delete_MaximumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters": { + "get": { + "tags": [ + "" + ], + "operationId": "CloudHsmClusters_ListByResourceGroup", + "description": "The List operation gets information about the Cloud HSM Clusters associated with the subscription and within the specified resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "in": "query", + "name": "$skiptoken", + "type": "string", + "required": false, + "description": "The page-continuation token to use with a paged version of this API" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Get information about all Cloud HSM Clusters in the specified resource group.", + "schema": { + "$ref": "#/definitions/CloudHsmClusterListResult" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudHsmClusterError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "CloudHsmCluster_ListByResourceGroup_MaximumSet_Gen": { + "$ref": "./examples/CloudHsmCluster_ListByResourceGroup_MaximumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters": { + "get": { + "tags": [ + "" + ], + "operationId": "CloudHsmClusters_ListBySubscription", + "description": "The List operation gets information about the Cloud HSM Clusters associated with the subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "in": "query", + "name": "$skiptoken", + "type": "string", + "required": false, + "description": "The page-continuation token to use with a paged version of this API" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Get information about all Cloud HSM Clusters in the specified subscription.", + "schema": { + "$ref": "#/definitions/CloudHsmClusterListResult" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudHsmClusterError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "CloudHsmCluster_ListBySubscription_MaximumSet_Gen": { + "$ref": "./examples/CloudHsmCluster_ListBySubscription_MaximumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}/privateLinkResources": { + "get": { + "tags": [ + "" + ], + "operationId": "CloudHsmClusterPrivateLinkResources_ListByCloudHsmCluster", + "description": "Gets the private link resources supported for the Cloud Hsm Cluster.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/cloudHsmClusterName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudHsmClusterError" + } + } + }, + "x-ms-examples": { + "CloudHsmClusterPrivateLinkResources_ListByResource_MaximumSet_Gen": { + "$ref": "./examples/CloudHsmClusterPrivateLinkResource_ListByCloudHsmCluster_MaximumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}/privateEndpointConnections/{peConnectionName}": { + "put": { + "tags": [ + "" + ], + "operationId": "CloudHsmClusterPrivateEndpointConnections_Create", + "description": "Creates or updates the private endpoint connection for the Cloud Hsm Cluster.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/cloudHsmClusterName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/peConnectionName" + }, + { + "in": "body", + "name": "properties", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "Parameters of the PrivateEndpointConnection" + } + ], + "responses": { + "200": { + "description": "OK -- Create or Update the private endpoint connection properties successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudHsmClusterError" + } + } + }, + "x-ms-examples": { + "CloudHsmClusterPrivateEndpointConnection_Create_MaximumSet_Gen": { + "$ref": "./examples/CloudHsmClusterPrivateEndpointConnection_Create_MaximumSet_Gen.json" + } + } + }, + "delete": { + "tags": [ + "" + ], + "operationId": "CloudHsmClusterPrivateEndpointConnections_Delete", + "description": "Deletes the private endpoint connection for the Cloud Hsm Cluster.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/cloudHsmClusterName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/peConnectionName" + } + ], + "responses": { + "200": { + "description": "The private endpoint connection was successfully deleted." + }, + "202": { + "description": "The private endpoint connection is being deleted.", + "headers": { + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "204": { + "description": "The private endpoint connection does not exist." + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudHsmClusterError" + } + } + }, + "x-ms-examples": { + "CloudHsmClusterPrivateEndpointConnection_Delete_MaximumSet_Gen": { + "$ref": "./examples/CloudHsmClusterPrivateEndpointConnection_Delete_MaximumSet_Gen.json" + } + } + }, + "get": { + "tags": [ + "" + ], + "operationId": "CloudHsmClusterPrivateEndpointConnections_Get", + "description": "Gets the private endpoint connection for the Cloud Hsm Cluster.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/cloudHsmClusterName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/peConnectionName" + } + ], + "responses": { + "200": { + "description": "Private endpoint connection successfully returned.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudHsmClusterError" + } + } + }, + "x-ms-examples": { + "CloudHsmClusterPrivateEndpointConnection_Get_MaximumSet_Gen": { + "$ref": "./examples/CloudHsmClusterPrivateEndpointConnection_Get_MaximumSet_Gen.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/{cloudHsmClusterName}/privateEndpointConnections": { + "get": { + "tags": [ + "" + ], + "operationId": "PrivateEndpointConnections_ListByCloudHsmCluster", + "description": "The List operation gets information about the private endpoint connections associated with the Cloud HSM Cluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/cloudHsmClusterName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of all CloudHsmCluster private endpoint connections associated with the Cloud HSM Cluster.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudHsmClusterError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "CloudHsmClusterPrivateEndpointConnection_ListByResource_MaximumSet_Gen": { + "$ref": "./examples/CloudHsmClusterPrivateEndpointConnection_ListByCloudHsmCluster_MaximumSet_Gen.json" + } + } + } + } + }, + "definitions": { + "CloudHsmProperties": { + "type": "object", + "description": "The Cloud HSM Properties", + "properties": { + "fqdn": { + "type": "string", + "description": "FQDN of the Cloud HSM" + }, + "state": { + "type": "string", + "description": "The Cloud HSM State" + }, + "stateMessage": { + "type": "string", + "description": "The Cloud HSM State message" + } + } + }, + "CloudHsmCluster": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CloudHsmClusterProperties", + "description": "Properties of the Cloud HSM Cluster" + } + }, + "allOf": [ + { + "$ref": "#/definitions/CloudHsmClusterResource" + } + ], + "description": "Resource information with extended details.", + "type": "object" + }, + "CloudHsmClusterResource": { + "properties": { + "sku": { + "$ref": "#/definitions/CloudHsmClusterSku", + "description": "SKU details" + }, + "identity": { + "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "description": "Cloud HSM Cluster Resource", + "type": "object", + "x-ms-azure-resource": true + }, + "CloudHsmClusterProperties": { + "properties": { + "provisioningState": { + "type": "string", + "description": "The Cloud HSM Cluster's provisioningState", + "enum": [ + "Provisioning", + "Succeeded", + "Failed", + "Deleting", + "Canceled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "autoGeneratedDomainNameLabelScope": { + "type": "string", + "description": "The Cloud HSM Cluster's auto-generated Domain Name Label Scope" + }, + "securityDomain": { + "$ref": "#/definitions/CloudHsmClusterSecurityDomainProperties" + }, + "hsms": { + "type": "array", + "description": "An array of Cloud HSM Cluster's HSMs", + "x-ms-identifiers": [ + "fqdn" + ], + "items": { + "$ref": "#/definitions/CloudHsmProperties" + } + }, + "publicNetworkAccess": { + "type": "string", + "description": "The Cloud HSM Cluster public network access" + }, + "privateEndpointConnections": { + "type": "array", + "description": "List of private endpoint connection resources", + "x-ms-identifiers": [ + "name" + ], + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "statusMessage": { + "type": "string", + "description": "Cloud HSM Cluster status message", + "readOnly": true + }, + "restoreProperties": { + "$ref": "#/definitions/RestoreProperties" + }, + "backupProperties": { + "$ref": "#/definitions/BackupProperties" + } + }, + "description": "Properties of a Cloud HSM Cluster.", + "type": "object" + }, + "CloudHsmClusterPatchParameters": { + "properties": { + "tags": { + "type": "object", + "description": "The Cloud HSM Cluster's tags", + "additionalProperties": { + "type": "string", + "description": "The Cloud HSM Cluster's tag's additional properties" + } + }, + "sku": { + "$ref": "#/definitions/CloudHsmClusterSku", + "description": "SKU details" + }, + "identity": { + "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "type": "object", + "description": "Properties of the Cloud HSM Cluster", + "properties": { + "backupProperties": { + "$ref": "#/definitions/BackupProperties" + } + } + } + }, + "description": "Patchable properties of the Cloud HSM Cluster", + "type": "object" + }, + "CloudHsmClusterSecurityDomainProperties": { + "type": "object", + "description": "Security domain properties information for Cloud HSM cluster", + "properties": { + "fipsState": { + "format": "int32", + "type": "integer", + "description": "FIPS state information for security domain" + }, + "activationStatus": { + "type": "string", + "description": "status of security domain activation" + } + } + }, + "CloudHsmClusterSku": { + "type": "object", + "description": "Cloud Hsm Cluster SKU information", + "required": [ + "name", + "family" + ], + "properties": { + "family": { + "type": "string", + "description": "Sku family of the Cloud HSM Cluster", + "enum": [ + "B" + ], + "x-ms-client-default": "B", + "x-ms-enum": { + "name": "CloudHsmClusterSkuFamily", + "modelAsString": true + } + }, + "name": { + "type": "string", + "description": "Sku name of the Cloud HSM Cluster", + "enum": [ + "Standard_B1", + "Standard B10" + ], + "x-ms-enum": { + "name": "CloudHsmClusterSkuName", + "modelAsString": false + } + }, + "capacity": { + "format": "int32", + "type": "integer", + "description": "Sku capacity" + } + } + }, + "BackupProperties": { + "type": "object", + "description": "Cloud Hsm Cluster backup information", + "properties": { + "azureStorageResourceUri": { + "type": "string", + "description": "Azure storage Resource Uri" + }, + "lastBackupDateTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Last Date Time that Customer Enabled Backup was taken" + }, + "lastBackupStatus": { + "type": "string", + "readOnly": true, + "description": "Status of last backup" + } + } + }, + "RestoreProperties": { + "type": "object", + "description": "Cloud Hsm Cluster restore information", + "properties": { + "foldername": { + "type": "string", + "description": "Directory name in Azure Storage Blob where the backup is stored" + }, + "azureStorageResourceUri": { + "type": "string", + "description": "Azure Blob storage container Uri" + } + } + }, + "CloudHsmClusterError": { + "properties": { + "error": { + "$ref": "#/definitions/CHsmError" + } + }, + "description": "The Cloud HSM Cluster error details", + "type": "object" + }, + "CHsmError": { + "properties": { + "code": { + "type": "string", + "readOnly": true, + "description": "The error code." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The error message." + } + }, + "type": "object", + "description": "Error details" + }, + "CloudHsmClusterListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudHsmCluster" + }, + "description": "The list of Cloud HSM Clusters." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of Cloud HSM Clusters." + } + }, + "description": "List of Cloud HSM Clusters", + "type": "object" + }, + "PrivateEndpointConnection": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + }, + "etag": { + "type": "string", + "description": "Modified whenever there is a change in the state of private endpoint connection." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "description": "The private endpoint connection resource.", + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpoint", + "description": "The private endpoint resource." + }, + "privateLinkServiceConnectionState": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + }, + "groupIds": { + "description": "The group ids for the private endpoint resource.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the private endpoint connection." + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed", + "Updating", + "InternalError", + "Canceled" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections.", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of private endpoint connections." + } + }, + "description": "List of private endpoint connections associated with the specified resource." + } + }, + "parameters": { + "cloudHsmClusterName": { + "name": "cloudHsmClusterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Cloud HSM Cluster within the specified resource group. Cloud HSM Cluster names must be between 3 and 24 characters in length.", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "peConnectionName": { + "name": "peConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the private endpoint connection associated with the Cloud HSM Cluster.", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + } + } +} diff --git a/swagger-specs/hardwaresecuritymodules/resource-manager/Microsoft.HardwareSecurityModules/preview/2018-10-31-preview/dedicatedhsm.json b/swagger-specs/hardwaresecuritymodules/resource-manager/Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json similarity index 69% rename from swagger-specs/hardwaresecuritymodules/resource-manager/Microsoft.HardwareSecurityModules/preview/2018-10-31-preview/dedicatedhsm.json rename to swagger-specs/hardwaresecuritymodules/resource-manager/Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json index dccd39add..9edc4b411 100644 --- a/swagger-specs/hardwaresecuritymodules/resource-manager/Microsoft.HardwareSecurityModules/preview/2018-10-31-preview/dedicatedhsm.json +++ b/swagger-specs/hardwaresecuritymodules/resource-manager/Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json @@ -3,7 +3,7 @@ "info": { "title": "Azure Dedicated HSM Resource Provider", "description": "The Azure management API provides a RESTful set of web services that interact with Azure Dedicated HSM RP.", - "version": "2018-10-31-preview" + "version": "2021-11-30" }, "host": "management.azure.com", "schemes": [ @@ -62,7 +62,10 @@ }, "x-ms-examples": { "Get a list of Dedicated HSM operations": { - "$ref": "./examples//DedicatedHsm_OperationsList.json" + "$ref": "./examples/DedicatedHsm_OperationsList.json" + }, + "Get a list of Payment HSM operations": { + "$ref": "./examples/PaymentHsm_OperationsList.json" } }, "x-ms-pageable": { @@ -107,7 +110,7 @@ "$ref": "#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -132,10 +135,13 @@ }, "x-ms-examples": { "Create a new or update an existing dedicated HSM": { - "$ref": "./examples//DedicatedHsm_CreateOrUpdate.json" + "$ref": "./examples/DedicatedHsm_CreateOrUpdate.json" }, "Create a new or update an existing payment HSM": { - "$ref": "./examples//PaymentHsm_CreateOrUpdate.json" + "$ref": "./examples/PaymentHsm_CreateOrUpdate.json" + }, + "Create a new or update an existing payment HSM with management profile": { + "$ref": "./examples/PaymentHsm_CreateOrUpdate_WithManagementProfile.json" } } }, @@ -176,7 +182,7 @@ "$ref": "#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -195,10 +201,10 @@ }, "x-ms-examples": { "Update an existing dedicated HSM": { - "$ref": "./examples//DedicatedHsm_Update.json" + "$ref": "./examples/DedicatedHsm_Update.json" }, "Update an existing payment HSM": { - "$ref": "./examples//PaymentHsm_Update.json" + "$ref": "./examples/PaymentHsm_Update.json" } } }, @@ -228,7 +234,7 @@ "$ref": "#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -250,7 +256,7 @@ }, "x-ms-examples": { "Delete a dedicated HSM": { - "$ref": "./examples//DedicatedHsm_Delete.json" + "$ref": "./examples/DedicatedHsm_Delete.json" } } }, @@ -279,7 +285,7 @@ "$ref": "#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -298,10 +304,13 @@ }, "x-ms-examples": { "Get a dedicated HSM": { - "$ref": "./examples//DedicatedHsm_Get.json" + "$ref": "./examples/DedicatedHsm_Get.json" }, "Get a payment HSM": { - "$ref": "./examples//PaymentHsm_Get.json" + "$ref": "./examples/PaymentHsm_Get.json" + }, + "Get a payment HSM with 2018-10-31Preview api version": { + "$ref": "./examples/PaymentHsm_Get_With_2018-10-31Preview_Version.json" } } } @@ -332,7 +341,7 @@ "$ref": "#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -354,7 +363,10 @@ }, "x-ms-examples": { "List dedicated HSM devices in a resource group": { - "$ref": "./examples//DedicatedHsm_ListByResourceGroup.json" + "$ref": "./examples/DedicatedHsm_ListByResourceGroup.json" + }, + "List dedicated HSM devices in a resource group including payment HSM": { + "$ref": "./examples/PaymentHsm_ListByResourceGroup.json" } } } @@ -378,7 +390,7 @@ "$ref": "#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -397,7 +409,64 @@ }, "x-ms-examples": { "List dedicated HSM devices in a subscription": { - "$ref": "./examples//DedicatedHsm_ListBySubscription.json" + "$ref": "./examples/DedicatedHsm_ListBySubscription.json" + }, + "List dedicated HSM devices in a subscription including payment HSM": { + "$ref": "./examples/PaymentHsm_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/{name}/outboundNetworkDependenciesEndpoints": { + "get": { + "tags": [ + "DedicatedHsms" + ], + "operationId": "DedicatedHsm_ListOutboundNetworkDependenciesEndpoints", + "summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified dedicated hsm resource.", + "description": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified dedicated hsm resource. The operation returns properties of each egress endpoint.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the dedicated hsm belongs." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dedicated HSM." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OutboundEnvironmentEndpointCollection" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/DedicatedHsmError" + } + } + }, + "x-ms-examples": { + "List OutboundNetworkDependenciesEndpoints by Managed Cluster": { + "$ref": "./examples/GetOutboundNetworkDependenciesEndpointsList.json" } }, "x-ms-pageable": { @@ -417,9 +486,13 @@ }, "isDataAction": { "description": "Gets or sets a value indicating whether it is a data plane action", - "type": "string", + "type": "boolean", "readOnly": true }, + "origin": { + "description": "The origin of the operation", + "type": "string" + }, "display": { "properties": { "provider": { @@ -438,11 +511,14 @@ "description": "The object that represents the operation.", "type": "string" } - } + }, + "description": "The display string.", + "type": "object" } } }, "DedicatedHsmOperationListResult": { + "type": "object", "description": "Result of the request to list Dedicated HSM Provider operations. It contains a list of operations.", "properties": { "value": { @@ -450,6 +526,9 @@ "items": { "$ref": "#/definitions/DedicatedHsmOperation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of Dedicated HSM Resource Provider operations." } } @@ -461,7 +540,8 @@ "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..." } }, - "description": "The API entity reference." + "description": "The API entity reference.", + "type": "object" }, "NetworkInterface": { "properties": { @@ -475,7 +555,8 @@ "description": "Private Ip address of the interface" } }, - "description": "The network interface definition." + "description": "The network interface definition.", + "type": "object" }, "NetworkProfile": { "properties": { @@ -490,9 +571,12 @@ }, "description": "Specifies the list of resource Ids for the network interfaces associated with the dedicated HSM." } - } + }, + "description": "The network profile definition.", + "type": "object" }, "Sku": { + "type": "object", "description": "SKU of the dedicated HSM", "properties": { "name": { @@ -550,6 +634,10 @@ "$ref": "#/definitions/NetworkProfile", "description": "Specifies the network interfaces of the dedicated hsm." }, + "managementNetworkProfile": { + "$ref": "#/definitions/NetworkProfile", + "description": "Specifies the management network interfaces of the dedicated hsm." + }, "stampId": { "type": "string", "description": "This field will be used when RP does not support Availability zones." @@ -608,10 +696,15 @@ } } }, - "description": "Properties of the dedicated hsm" + "description": "Properties of the dedicated hsm", + "type": "object" }, "DedicatedHsm": { "properties": { + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource", + "$ref": "#/definitions/SystemData" + }, "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/DedicatedHsmProperties", @@ -620,7 +713,7 @@ }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/DedicatedHsmResource" } ], "required": [ @@ -628,7 +721,8 @@ "sku", "properties" ], - "description": "Resource information with extended details." + "description": "Resource information with extended details.", + "type": "object" }, "DedicatedHsmPatchParameters": { "properties": { @@ -640,7 +734,8 @@ "description": "Resource tags" } }, - "description": "Patchable properties of the dedicated HSM" + "description": "Patchable properties of the dedicated HSM", + "type": "object" }, "DedicatedHsmListResult": { "properties": { @@ -656,14 +751,15 @@ "description": "The URL to get the next set of dedicated hsms." } }, - "description": "List of dedicated HSMs" + "description": "List of dedicated HSMs", + "type": "object" }, "ResourceListResult": { "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/DedicatedHsmResource" }, "description": "The list of dedicated HSM resources." }, @@ -672,16 +768,19 @@ "description": "The URL to get the next set of dedicated HSM resources." } }, - "description": "List of dedicated HSM resources." + "description": "List of dedicated HSM resources.", + "type": "object" }, "DedicatedHsmError": { "properties": { "error": { + "description": "The error detail of the operation if any.", "readOnly": true, "$ref": "#/definitions/Error" } }, - "description": "The error exception." + "description": "The error exception.", + "type": "object" }, "Error": { "properties": { @@ -696,14 +795,17 @@ "description": "The error message." }, "innererror": { + "description": "Contains more specific error that narrows down the cause. May be null.", "x-ms-client-name": "innerError", "readOnly": true, "$ref": "#/definitions/Error" } }, - "description": "The key vault server error." + "description": "The key vault server error.", + "type": "object" }, - "Resource": { + "DedicatedHsmResource": { + "type": "object", "properties": { "id": { "readOnly": true, @@ -722,7 +824,11 @@ }, "location": { "type": "string", - "description": "The supported Azure location where the dedicated HSM should be created." + "description": "The supported Azure location where the dedicated HSM should be created.", + "x-ms-mutability": [ + "create", + "read" + ] }, "sku": { "$ref": "#/definitions/Sku", @@ -748,16 +854,137 @@ "location" ], "x-ms-azure-resource": true + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of dedicated hsm resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created dedicated hsm resource." + }, + "createdByType": { + "description": "The type of identity that created dedicated hsm resource.", + "$ref": "#/definitions/IdentityType" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of dedicated hsm resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified dedicated hsm resource." + }, + "lastModifiedByType": { + "description": "The type of identity that last modified dedicated hsm resource.", + "$ref": "#/definitions/IdentityType" + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of dedicated hsm resource last modification (UTC)." + } + } + }, + "IdentityType": { + "type": "string", + "description": "The type of identity.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "identityType", + "modelAsString": true + } + }, + "OutboundEnvironmentEndpointCollection": { + "description": "Collection of OutboundEnvironmentEndpoint", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/OutboundEnvironmentEndpoint" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "OutboundEnvironmentEndpoint": { + "description": "Egress endpoints which dedicated hsm service connects to for common purpose.", + "type": "object", + "properties": { + "category": { + "description": "The category of endpoints accessed by the dedicated hsm service, e.g. azure-resource-management, apiserver, etc.", + "type": "string" + }, + "endpoints": { + "description": "The endpoints that dedicated hsm service connects to", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDependency" + }, + "x-ms-identifiers": [] + } + } + }, + "EndpointDependency": { + "description": "A domain name that dedicated hsm services are reaching at.", + "type": "object", + "properties": { + "domainName": { + "description": "The domain name of the dependency.", + "type": "string" + }, + "endpointDetails": { + "description": "The Ports and Protocols used when connecting to domainName.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDetail" + }, + "x-ms-identifiers": [] + } + } + }, + "EndpointDetail": { + "description": "Connect information from the dedicated hsm service to a single endpoint.", + "type": "object", + "properties": { + "ipAddress": { + "description": "An IP Address that Domain Name currently resolves to.", + "type": "string" + }, + "port": { + "format": "int32", + "description": "The port an endpoint is connected to.", + "type": "integer" + }, + "protocol": { + "description": "The protocol used for connection", + "type": "string" + }, + "description": { + "description": "Description of the detail", + "type": "string" + } + } } }, "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." - }, "ApiVersionParameter": { "name": "api-version", "in": "query", diff --git a/swagger-specs/hardwaresecuritymodules/resource-manager/api-set.json b/swagger-specs/hardwaresecuritymodules/resource-manager/api-set.json index 3c79ec95e..d1cfc5268 100644 --- a/swagger-specs/hardwaresecuritymodules/resource-manager/api-set.json +++ b/swagger-specs/hardwaresecuritymodules/resource-manager/api-set.json @@ -1 +1 @@ -{"addition_input_file_paths": [], "input_files": ["Microsoft.HardwareSecurityModules/preview/2018-10-31-preview/dedicatedhsm.json"], "name": "package-2018-10"} \ No newline at end of file +{"addition_input_file_paths": [], "input_files": ["Microsoft.HardwareSecurityModules/preview/2023-12-10-preview/cloudhsm.json", "Microsoft.HardwareSecurityModules/stable/2021-11-30/dedicatedhsm.json"], "name": "package-2023-12-preview"} \ No newline at end of file diff --git a/swagger-specs/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2022-12-27/HybridCompute.json b/swagger-specs/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/HybridCompute.json similarity index 61% rename from swagger-specs/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2022-12-27/HybridCompute.json rename to swagger-specs/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/HybridCompute.json index 35fe24b6e..2aded4173 100644 --- a/swagger-specs/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2022-12-27/HybridCompute.json +++ b/swagger-specs/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/HybridCompute.json @@ -3,7 +3,7 @@ "info": { "title": "HybridComputeManagementClient", "description": "The Hybrid Compute Management Client.", - "version": "2022-12-27" + "version": "2024-07-10" }, "host": "management.azure.com", "schemes": [ @@ -34,13 +34,13 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}": { - "put": { + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/validateLicense": { + "post": { "tags": [ - "machines" + "licenses" ], - "operationId": "Machines_CreateOrUpdate", - "description": "The operation to create or update a hybrid machine. Please note some properties can be set only during machine creation.", + "operationId": "Licenses_ValidateLicense", + "description": "The operation to validate a license.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -48,34 +48,21 @@ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, - { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "machineName", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[a-zA-Z0-9-_\\.]{1,54}$", - "minLength": 1, - "maxLength": 54, - "description": "The name of the hybrid machine." - }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/Machine" + "$ref": "#/definitions/License" }, - "description": "Parameters supplied to the Create hybrid machine operation." + "description": "Parameters supplied to the license validation operation." } ], "responses": { "200": { - "description": "OK", + "description": "Updated Resource", "schema": { - "$ref": "#/definitions/Machine" + "$ref": "#/definitions/License" } }, "default": { @@ -85,18 +72,21 @@ } } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Create or Update a Machine": { - "$ref": "./examples/Machines_CreateOrUpdate.json" + "Validate a License": { + "$ref": "./examples/license/License_ValidateLicense.json" } } - }, - "patch": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/licenses/{licenseName}": { + "put": { "tags": [ - "machines" + "licenses" ], - "operationId": "Machines_Update", - "description": "The operation to update a hybrid machine.", + "operationId": "Licenses_CreateOrUpdate", + "description": "The operation to create or update a license.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -108,30 +98,23 @@ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "machineName", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[a-zA-Z0-9-_\\.]{1,54}$", - "minLength": 1, - "maxLength": 54, - "description": "The name of the hybrid machine." + "$ref": "#/parameters/licenseNameParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/MachineUpdate" + "$ref": "#/definitions/License" }, - "description": "Parameters supplied to the Update hybrid machine operation." + "description": "Parameters supplied to the Create license operation." } ], "responses": { "200": { - "description": "OK", + "description": "Updated Resource", "schema": { - "$ref": "#/definitions/Machine" + "$ref": "#/definitions/License" } }, "default": { @@ -141,18 +124,19 @@ } } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Update a Machine": { - "$ref": "./examples/Machines_Update.json" + "Create or Update a License": { + "$ref": "./examples/license/License_CreateOrUpdate.json" } } }, - "delete": { + "patch": { "tags": [ - "machines" + "licenses" ], - "operationId": "Machines_Delete", - "description": "The operation to delete a hybrid machine.", + "operationId": "Licenses_Update", + "description": "The operation to update a license.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -164,22 +148,24 @@ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "machineName", - "in": "path", + "$ref": "#/parameters/licenseNameParameter" + }, + { + "name": "parameters", + "in": "body", "required": true, - "type": "string", - "pattern": "^[a-zA-Z0-9-_\\.]{1,54}$", - "minLength": 1, - "maxLength": 54, - "description": "The name of the hybrid machine." + "schema": { + "$ref": "#/definitions/LicenseUpdate" + }, + "description": "Parameters supplied to the Update license operation." } ], "responses": { "200": { - "description": "OK" - }, - "204": { - "description": "No Content" + "description": "OK", + "schema": { + "$ref": "#/definitions/License" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -188,18 +174,19 @@ } } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete a Machine": { - "$ref": "./examples/Machines_Delete.json" + "Update a License": { + "$ref": "./examples/license/License_Update.json" } } }, "get": { "tags": [ - "machines" + "licenses" ], - "operationId": "Machines_Get", - "description": "Retrieves information about the model view or the instance view of a hybrid machine.", + "operationId": "Licenses_Get", + "description": "Retrieves information about the view of a license.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -211,35 +198,14 @@ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "machineName", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[a-zA-Z0-9-_\\.]{1,54}$", - "minLength": 1, - "maxLength": 54, - "description": "The name of the hybrid machine." - }, - { - "name": "$expand", - "in": "query", - "required": false, - "type": "string", - "description": "The expand expression to apply on the operation.", - "enum": [ - "instanceView" - ], - "x-ms-enum": { - "name": "InstanceViewTypes", - "modelAsString": true - } + "$ref": "#/parameters/licenseNameParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Machine" + "$ref": "#/definitions/License" } }, "default": { @@ -250,61 +216,37 @@ } }, "x-ms-examples": { - "Get Machine": { - "$ref": "./examples/Machines_Get.json" + "Get License": { + "$ref": "./examples/license/License_Get.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/assessPatches": { - "post": { + }, + "delete": { "tags": [ - "machines" + "licenses" ], - "operationId": "Machines_AssessPatches", - "x-ms-examples": { - "Assess patch state of a machine.": { - "$ref": "./examples/MachineAssessPatches.json" - } - }, - "description": "The operation to assess patches on a hybrid machine identity in Azure.", + "operationId": "Licenses_Delete", + "description": "The operation to delete a license.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the hybrid machine." + "$ref": "#/parameters/licenseNameParameter" } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/MachineAssessPatchesResult" - } + "description": "OK" }, - "202": { - "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", - "headers": { - "Location": { - "description": "The URL of the resource used to check the status of the asynchronous operation.", - "type": "string" - } - } + "204": { + "description": "No Content" }, "default": { "description": "Error response describing why the operation failed.", @@ -314,68 +256,36 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" + "x-ms-examples": { + "Delete a License": { + "$ref": "./examples/license/License_Delete.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/installPatches": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/licenses": { + "get": { "tags": [ - "machines" + "licenses" ], - "operationId": "Machines_InstallPatches", - "description": "The operation to install patches on a hybrid machine identity in Azure.", - "x-ms-examples": { - "Install patch state of a machine.": { - "$ref": "./examples/MachineInstallPatches.json" - } - }, + "operationId": "Licenses_ListByResourceGroup", + "description": "The operation to get all licenses of a non-Azure machine", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the hybrid machine." + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "name": "installPatchesInput", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/MachineInstallPatchesParameters" - }, - "description": "Input for InstallPatches as directly received by the API" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/MachineInstallPatchesResult" - } - }, - "202": { - "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", - "headers": { - "Location": { - "description": "The URL of the resource used to check the status of the asynchronous operation.", - "type": "string" - } + "$ref": "#/definitions/LicensesListResult" } }, "default": { @@ -385,35 +295,36 @@ } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GET all Machine Extensions": { + "$ref": "./examples/license/License_ListByResourceGroup.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines": { + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/licenses": { "get": { "tags": [ - "machines" + "licenses" ], - "operationId": "Machines_ListByResourceGroup", - "description": "Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next page of hybrid machines.", + "operationId": "Licenses_ListBySubscription", + "description": "The operation to get all licenses of a non-Azure machine", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/MachineListResult" + "$ref": "#/definitions/LicensesListResult" } }, "default": { @@ -423,36 +334,65 @@ } } }, - "x-ms-examples": { - "List Machines by resource group": { - "$ref": "./examples/Machines_ListByResourceGroup.json" - } - }, "x-ms-pageable": { "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Licenses by Subscription": { + "$ref": "./examples/license/License_ListBySubscription.json" + } } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}": { + "put": { "tags": [ "machines" ], - "operationId": "Machines_ListBySubscription", - "description": "Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next page of hybrid machines.", + "operationId": "Machines_CreateOrUpdate", + "description": "The operation to create or update a hybrid machine. Please note some properties can be set only during machine creation.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "machineName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_\\.]{1,54}$", + "minLength": 1, + "maxLength": 54, + "description": "The name of the hybrid machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Machine" + }, + "description": "Parameters supplied to the Create hybrid machine operation." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/MachineListResult" + "$ref": "#/definitions/Machine" } }, "default": { @@ -463,23 +403,24 @@ } }, "x-ms-examples": { - "List Machines by resource group": { - "$ref": "./examples/Machines_ListBySubscription.json" + "Create or Update a Machine": { + "$ref": "./examples/machine/Machines_CreateOrUpdate.json" } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}": { - "put": { + }, + "patch": { "tags": [ - "MachineExtensions" + "machines" ], - "operationId": "MachineExtensions_CreateOrUpdate", - "description": "The operation to create or update the extension.", + "operationId": "Machines_Update", + "description": "The operation to update a hybrid machine.", "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, @@ -491,40 +432,71 @@ "pattern": "^[a-zA-Z0-9-_\\.]{1,54}$", "minLength": 1, "maxLength": 54, - "description": "The name of the machine where the extension should be created or updated." - }, - { - "name": "extensionName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the machine extension." + "description": "The name of the hybrid machine." }, { - "name": "extensionParameters", + "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/MachineExtension" + "$ref": "#/definitions/MachineUpdate" }, - "description": "Parameters supplied to the Create Machine Extension operation." + "description": "Parameters supplied to the Update hybrid machine operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update a Machine": { + "$ref": "./examples/machine/Machines_Update.json" + } + } + }, + "delete": { + "tags": [ + "machines" + ], + "operationId": "Machines_Delete", + "description": "The operation to delete a hybrid machine.", + "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "machineName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_\\.]{1,54}$", + "minLength": 1, + "maxLength": 54, + "description": "The name of the hybrid machine." } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/MachineExtension" - } + "description": "OK" }, - "202": { - "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + "204": { + "description": "No Content" }, "default": { "description": "Error response describing why the operation failed.", @@ -534,19 +506,24 @@ } }, "x-ms-examples": { - "Create or Update a Machine Extension": { - "$ref": "./examples/PUTExtension.json" + "Delete a Machine": { + "$ref": "./examples/machine/Machines_Delete.json" } - }, - "x-ms-long-running-operation": true + } }, - "patch": { + "get": { "tags": [ - "MachineExtensions" + "machines" ], - "operationId": "MachineExtensions_Update", - "description": "The operation to create or update the extension.", + "operationId": "Machines_Get", + "description": "Retrieves information about the model view or the instance view of a hybrid machine.", "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, @@ -558,40 +535,92 @@ "pattern": "^[a-zA-Z0-9-_\\.]{1,54}$", "minLength": 1, "maxLength": 54, - "description": "The name of the machine where the extension should be created or updated." + "description": "The name of the hybrid machine." }, { - "name": "extensionName", - "in": "path", - "required": true, + "name": "$expand", + "in": "query", + "required": false, "type": "string", - "description": "The name of the machine extension." + "description": "The expand expression to apply on the operation.", + "enum": [ + "instanceView" + ], + "x-ms-enum": { + "name": "InstanceViewTypes", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } }, - { - "name": "extensionParameters", - "in": "body", - "required": true, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/MachineExtensionUpdate" - }, - "description": "Parameters supplied to the Create Machine Extension operation." + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Machine": { + "$ref": "./examples/machine/Machines_Get.json" }, + "Get Machine with License Profile Instance View": { + "$ref": "./examples/machine/Machines_Get_LicenseProfileInstanceView.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/licenseProfiles/{licenseProfileName}": { + "put": { + "tags": [ + "licenseProfiles" + ], + "operationId": "LicenseProfiles_CreateOrUpdate", + "description": "The operation to create or update a license profile.", + "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/machineNameParameter" + }, + { + "$ref": "#/parameters/licenseProfileNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LicenseProfile" + }, + "description": "Parameters supplied to the Create or Update license profile operation." } ], "responses": { "200": { - "description": "OK", + "description": "Updated Resource", "schema": { - "$ref": "#/definitions/MachineExtension" + "$ref": "#/definitions/LicenseProfile" } }, - "202": { - "description": "Accepted", + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/LicenseProfile" + }, "headers": { "Location": { "description": "The URL of the resource used to check the status of the asynchronous operation.", @@ -615,50 +644,51 @@ } } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Create or Update a Machine Extension": { - "$ref": "./examples/UpdateExtension.json" + "Create or Update a License Profile": { + "$ref": "./examples/licenseProfile/LicenseProfile_CreateOrUpdate.json" } - }, - "x-ms-long-running-operation": true + } }, - "delete": { + "patch": { "tags": [ - "MachineExtensions" + "licenseProfiles" ], - "operationId": "MachineExtensions_Delete", - "description": "The operation to delete the extension.", + "operationId": "LicenseProfiles_Update", + "description": "The operation to update a license profile.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "name": "machineName", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[a-zA-Z0-9-_\\.]{1,54}$", - "minLength": 1, - "maxLength": 54, - "description": "The name of the machine where the extension should be deleted." + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "extensionName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the machine extension." + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "#/parameters/machineNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/licenseProfileNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LicenseProfileUpdate" + }, + "description": "Parameters supplied to the Update license profile operation." } ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/LicenseProfile" + } }, "202": { "description": "Accepted", @@ -678,9 +708,6 @@ } } }, - "204": { - "description": "No Content" - }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -690,50 +717,39 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete a Machine Extension": { - "$ref": "./examples/DELETEExtension.json" + "Update a License Profile": { + "$ref": "./examples/licenseProfile/LicenseProfile_Update.json" } } }, "get": { "tags": [ - "MachineExtensions" + "licenseProfiles" ], - "operationId": "MachineExtensions_Get", - "description": "The operation to get the extension.", + "operationId": "LicenseProfiles_Get", + "description": "Retrieves information about the view of a license profile.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "name": "machineName", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[a-zA-Z0-9-_\\.]{1,54}$", - "minLength": 1, - "maxLength": 54, - "description": "The name of the machine containing the extension." + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "extensionName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the machine extension." + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "#/parameters/machineNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/licenseProfileNameParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/MachineExtension" + "$ref": "#/definitions/LicenseProfile" } }, "default": { @@ -744,39 +760,91 @@ } }, "x-ms-examples": { - "GET Machine Extension": { - "$ref": "./examples/GETExtension.json" + "Get License Profile": { + "$ref": "./examples/licenseProfile/LicenseProfile_Get.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions": { - "get": { + }, + "delete": { "tags": [ - "MachineExtensions" + "licenseProfiles" ], - "operationId": "MachineExtensions_List", - "description": "The operation to get all extensions of a non-Azure machine", + "operationId": "LicenseProfiles_Delete", + "description": "The operation to delete a license profile.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "name": "machineName", - "in": "path", - "required": true, + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/machineNameParameter" + }, + { + "$ref": "#/parameters/licenseProfileNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a License Profile": { + "$ref": "./examples/licenseProfile/LicenseProfile_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/licenseProfiles": { + "get": { + "tags": [ + "licenseProfiles" + ], + "operationId": "LicenseProfiles_List", + "description": "The operation to get all license profiles of a non-Azure machine", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "machineName", + "in": "path", + "required": true, "type": "string", "pattern": "^[a-zA-Z0-9-_\\.]{1,54}$", "minLength": 1, "maxLength": 54, - "description": "The name of the machine containing the extension." - }, - { - "name": "$expand", - "in": "query", - "required": false, - "type": "string", - "description": "The expand expression to apply on the operation." + "description": "The name of the machine." }, { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -789,7 +857,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/MachineExtensionsListResult" + "$ref": "#/definitions/LicenseProfilesListResult" } }, "default": { @@ -803,52 +871,52 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "GET all Machine Extensions": { - "$ref": "./examples/LISTExtension.json" + "List all License Profiles": { + "$ref": "./examples/licenseProfile/LicenseProfile_List.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/upgradeExtensions": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/assessPatches": { "post": { "tags": [ - "MachineExtensions Upgrade" + "machines" ], - "operationId": "UpgradeExtensions", - "description": "The operation to Upgrade Machine Extensions.", + "operationId": "Machines_AssessPatches", + "x-ms-examples": { + "Assess patch state of a machine.": { + "$ref": "./examples/machine/Machine_AssessPatches.json" + } + }, + "description": "The operation to assess patches on a hybrid machine identity in Azure.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "machineName", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "pattern": "^[a-zA-Z0-9-_\\.]{1,54}$", - "minLength": 1, - "maxLength": 54, - "description": "The name of the hybrid machine." + "description": "The name of the resource group." }, { - "name": "extensionUpgradeParameters", - "in": "body", + "name": "name", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/MachineExtensionUpgrade" - }, - "description": "Parameters supplied to the Upgrade Extensions operation." + "type": "string", + "description": "The name of the hybrid machine." } ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineAssessPatchesResult" + } }, "202": { "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", @@ -856,15 +924,6 @@ "Location": { "description": "The URL of the resource used to check the status of the asynchronous operation.", "type": "string" - }, - "Retry-After": { - "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", - "type": "integer", - "format": "int32" - }, - "Azure-AsyncOperation": { - "description": "The URI to poll for completion status.", - "type": "string" } } }, @@ -875,85 +934,91 @@ } } }, - "x-ms-examples": { - "Upgrade Machine Extensions": { - "$ref": "./examples/Extensions_Upgrade.json" - } - }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions/{version}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/installPatches": { + "post": { "tags": [ - "extensions" + "machines" ], - "operationId": "ExtensionMetadata_Get", - "description": "Gets an Extension Metadata based on location, publisher, extensionType and version", + "operationId": "Machines_InstallPatches", + "description": "The operation to install patches on a hybrid machine identity in Azure.", + "x-ms-examples": { + "Install patch state of a machine.": { + "$ref": "./examples/machine/Machine_InstallPatches.json" + } + }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "name": "location", - "in": "path", - "required": true, - "type": "string", - "description": "The location of the Extension being received." + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "publisher", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The publisher of the Extension being received." + "description": "The name of the resource group." }, { - "name": "extensionType", + "name": "name", "in": "path", "required": true, "type": "string", - "description": "The extensionType of the Extension being received." + "description": "The name of the hybrid machine." }, { - "name": "version", - "in": "path", + "name": "installPatchesInput", + "in": "body", "required": true, - "type": "string", - "description": "The version of the Extension being received." + "schema": { + "$ref": "#/definitions/MachineInstallPatchesParameters" + }, + "description": "Input for InstallPatches as directly received by the API" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ExtensionValue" + "$ref": "#/definitions/MachineInstallPatchesResult" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } } }, "default": { - "description": "Error in retrieving an extension metadata", + "description": "Error response describing why the operation failed.", "schema": { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-examples": { - "GET an extensions metadata": { - "$ref": "./examples/ExtensionMetadata_Get.json" - } + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines": { "get": { "tags": [ - "extensions" + "machines" ], - "operationId": "ExtensionMetadata_List", - "description": "Gets all Extension versions based on location, publisher, extensionType", + "operationId": "Machines_ListByResourceGroup", + "description": "Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next page of hybrid machines.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" @@ -962,68 +1027,60 @@ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "location", - "in": "path", - "required": true, - "type": "string", - "description": "The location of the Extension being received." - }, - { - "name": "publisher", - "in": "path", - "required": true, - "type": "string", - "description": "The publisher of the Extension being received." + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "extensionType", - "in": "path", - "required": true, + "name": "$expand", + "in": "query", + "required": false, "type": "string", - "description": "The extensionType of the Extension being received." + "description": "Expands referenced resources." } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ExtensionValueListResult" + "$ref": "#/definitions/MachineListResult" } }, "default": { - "description": "Error in retrieving extension list", + "description": "Error response describing why the operation failed.", "schema": { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": null - }, "x-ms-examples": { - "GET a list of extensions": { - "$ref": "./examples/ExtensionMetadata_List.json" + "List Machines by resource group": { + "$ref": "./examples/machine/Machines_ListByResourceGroup.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/providers/Microsoft.HybridCompute/operations": { + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines": { "get": { "tags": [ - "operations" + "machines" ], - "operationId": "Operations_List", - "description": "Gets a list of hybrid compute operations.", + "operationId": "Machines_ListBySubscription", + "description": "Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next page of hybrid machines.", "parameters": [ { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/OperationListResult" + "$ref": "#/definitions/MachineListResult" } }, "default": { @@ -1034,25 +1091,596 @@ } }, "x-ms-examples": { - "List Hybrid Compute Provider Operations": { - "$ref": "./examples/Operations_List.json" + "List Machines by resource group": { + "$ref": "./examples/machine/Machines_ListBySubscription.json" } }, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/networkProfile": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions/{extensionName}": { + "put": { "tags": [ - "MachineNetworkProfile" + "MachineExtensions" ], - "operationId": "NetworkProfile_Get", - "description": "The operation to get network information of hybrid machine", + "operationId": "MachineExtensions_CreateOrUpdate", + "description": "The operation to create or update the extension.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "machineName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_\\.]{1,54}$", + "minLength": 1, + "maxLength": 54, + "description": "The name of the machine where the extension should be created or updated." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MachineExtension" + }, + "description": "Parameters supplied to the Create Machine Extension operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update a Machine Extension": { + "$ref": "./examples/extension/Extension_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Update", + "description": "The operation to update the extension.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "machineName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_\\.]{1,54}$", + "minLength": 1, + "maxLength": 54, + "description": "The name of the machine where the extension should be created or updated." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MachineExtensionUpdate" + }, + "description": "Parameters supplied to the Create Machine Extension operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update a Machine Extension": { + "$ref": "./examples/extension/Extension_Update.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Delete", + "description": "The operation to delete the extension.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "machineName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_\\.]{1,54}$", + "minLength": 1, + "maxLength": 54, + "description": "The name of the machine where the extension should be deleted." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a Machine Extension": { + "$ref": "./examples/extension/Extension_Delete.json" + } + } + }, + "get": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Get", + "description": "The operation to get the extension.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "machineName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_\\.]{1,54}$", + "minLength": 1, + "maxLength": 54, + "description": "The name of the machine containing the extension." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GET Machine Extension": { + "$ref": "./examples/extension/Extension_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/extensions": { + "get": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_List", + "description": "The operation to get all extensions of a non-Azure machine", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "machineName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_\\.]{1,54}$", + "minLength": 1, + "maxLength": 54, + "description": "The name of the machine containing the extension." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtensionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GET all Machine Extensions - List": { + "$ref": "./examples/extension/Extension_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/upgradeExtensions": { + "post": { + "tags": [ + "MachineExtensions Upgrade" + ], + "operationId": "UpgradeExtensions", + "description": "The operation to Upgrade Machine Extensions.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "machineName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-_\\.]{1,54}$", + "minLength": 1, + "maxLength": 54, + "description": "The name of the hybrid machine." + }, + { + "name": "extensionUpgradeParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MachineExtensionUpgrade" + }, + "description": "Parameters supplied to the Upgrade Extensions operation." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Upgrade Machine Extensions": { + "$ref": "./examples/extension/Extensions_Upgrade.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions/{version}": { + "get": { + "tags": [ + "extensions" + ], + "operationId": "ExtensionMetadata_Get", + "description": "Gets an Extension Metadata based on location, publisher, extensionType and version", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the Extension being received." + }, + { + "name": "publisher", + "in": "path", + "required": true, + "type": "string", + "description": "The publisher of the Extension being received." + }, + { + "name": "extensionType", + "in": "path", + "required": true, + "type": "string", + "description": "The extensionType of the Extension being received." + }, + { + "name": "version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the Extension being received." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionValue" + } + }, + "default": { + "description": "Error in retrieving an extension metadata", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GET an extensions metadata": { + "$ref": "./examples/extension/ExtensionMetadata_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions": { + "get": { + "tags": [ + "extensions" + ], + "operationId": "ExtensionMetadata_List", + "description": "Gets all Extension versions based on location, publisher, extensionType", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the Extension being received." + }, + { + "name": "publisher", + "in": "path", + "required": true, + "type": "string", + "description": "The publisher of the Extension being received." + }, + { + "name": "extensionType", + "in": "path", + "required": true, + "type": "string", + "description": "The extensionType of the Extension being received." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionValueListResult" + } + }, + "default": { + "description": "Error in retrieving extension list", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "GET a list of extensions": { + "$ref": "./examples/extension/ExtensionMetadata_List.json" + } + } + } + }, + "/providers/Microsoft.HybridCompute/operations": { + "get": { + "tags": [ + "operations" + ], + "operationId": "Operations_List", + "description": "Gets a list of hybrid compute operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Hybrid Compute Provider Operations": { + "$ref": "./examples/Operations_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/networkProfile": { + "get": { + "tags": [ + "MachineNetworkProfile" + ], + "operationId": "NetworkProfile_Get", + "description": "The operation to get network information of hybrid machine", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" @@ -1081,619 +1709,1416 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GET Network Profile": { + "$ref": "./examples/NetworkProfile_Get.json" + } + } + } + } + }, + "definitions": { + "ExtensionValueListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ExtensionValue" + }, + "description": "The list of extension metadata", + "x-ms-identifiers": [] + } + }, + "description": "The List Extension Metadata response." + }, + "ExtensionValue": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExtensionValueProperties", + "description": "The single extension based on search criteria" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "description": "Describes a Extension Metadata" + }, + "ExtensionValueProperties": { + "type": "object", + "properties": { + "version": { + "type": "string", + "readOnly": true, + "description": "The version of the Extension being received." + }, + "extensionType": { + "type": "string", + "readOnly": true, + "description": "The type of the Extension being received." + }, + "publisher": { + "type": "string", + "readOnly": true, + "description": "The publisher of the Extension being received." + } + }, + "description": "Describes Extension Metadata properties" + }, + "OperationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "description": "The list of compute operations", + "x-ms-identifiers": [] + } + }, + "description": "The List Compute Operation operation response." + }, + "OperationValue": { + "type": "object", + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the compute operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the compute operation." + }, + "display": { + "$ref": "#/definitions/OperationValueDisplay", + "description": "Display properties" + }, + "isDataAction": { + "type": "boolean", + "readOnly": true, + "description": "This property indicates if the operation is an action or a data action" + } + }, + "description": "Describes the properties of a Compute Operation value." + }, + "OperationValueDisplay": { + "type": "object", + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the compute operation." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "The display name of the resource the operation applies to." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "The description of the operation." + }, + "provider": { + "type": "string", + "readOnly": true, + "description": "The resource provider for the operation." + } + }, + "description": "Describes the properties of a Hybrid Compute Operation Value Display." + }, + "PatchSettings": { + "type": "object", + "properties": { + "assessmentMode": { + "type": "string", + "description": "Specifies the assessment mode.", + "enum": [ + "ImageDefault", + "AutomaticByPlatform" + ], + "x-ms-enum": { + "name": "AssessmentModeTypes", + "modelAsString": true + } + }, + "patchMode": { + "type": "string", + "description": "Specifies the patch mode.", + "enum": [ + "ImageDefault", + "AutomaticByPlatform", + "AutomaticByOS", + "Manual" + ], + "x-ms-enum": { + "name": "PatchModeTypes", + "modelAsString": true + } + }, + "enableHotpatching": { + "type": "boolean", + "description": "Captures the hotpatch capability enrollment intent of the customers, which enables customers to patch their Windows machines without requiring a reboot." + }, + "status": { + "readOnly": true, + "type": "object", + "properties": { + "hotpatchEnablementStatus": { + "$ref": "#/definitions/HotpatchEnablementStatus", + "description": "Indicates the current status of the hotpatch being enabled or disabled." + }, + "error": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorDetail", + "readOnly": true, + "description": "The errors that were encountered during the hotpatch capability enrollment or disenrollment." } + }, + "description": "Status of the hotpatch capability enrollment or disenrollment." + } + }, + "description": "Specifies the patch settings." + }, + "AgentConfiguration": { + "type": "object", + "readOnly": true, + "properties": { + "proxyUrl": { + "type": "string", + "readOnly": true, + "description": "Specifies the URL of the proxy to be used." + }, + "incomingConnectionsPorts": { + "type": "array", + "readOnly": true, + "description": "Specifies the list of ports that the agent will be able to listen on.", + "items": { + "type": "string" + } + }, + "extensionsAllowList": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ConfigurationExtension" + }, + "description": "Array of extensions that are allowed to be installed or updated.", + "x-ms-identifiers": [] + }, + "extensionsBlockList": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ConfigurationExtension" + }, + "description": "Array of extensions that are blocked (cannot be installed or updated)", + "x-ms-identifiers": [] + }, + "proxyBypass": { + "type": "array", + "readOnly": true, + "description": "List of service names which should not use the specified proxy server.", + "items": { + "type": "string" + } + }, + "extensionsEnabled": { + "type": "string", + "readOnly": true, + "description": "Specifies whether the extension service is enabled or disabled." + }, + "guestConfigurationEnabled": { + "type": "string", + "readOnly": true, + "description": "Specified whether the guest configuration service is enabled or disabled." + }, + "configMode": { + "type": "string", + "readOnly": true, + "description": "Name of configuration mode to use. Modes are pre-defined configurations of security controls, extension allowlists and guest configuration, maintained by Microsoft.", + "enum": [ + "full", + "monitor" + ], + "x-ms-enum": { + "name": "agent configuration mode", + "modelAsString": true } + } + }, + "description": "Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM." + }, + "ConfigurationExtension": { + "type": "object", + "properties": { + "publisher": { + "type": "string", + "readOnly": true, + "description": "Publisher of the extension." }, - "x-ms-examples": { - "GET Network Profile": { - "$ref": "./examples/GETNetworkProfile.json" - } + "type": { + "type": "string", + "readOnly": true, + "description": "Type of the extension." } - } - } - }, - "definitions": { - "ExtensionValueListResult": { + }, + "description": "Describes properties that can identify extensions." + }, + "ServiceStatuses": { "type": "object", "properties": { - "value": { - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/ExtensionValue" - }, - "description": "The list of extension metadata", - "x-ms-identifiers": [] + "extensionService": { + "$ref": "#/definitions/ServiceStatus", + "description": "The state of the extension service on the Arc-enabled machine." + }, + "guestConfigurationService": { + "$ref": "#/definitions/ServiceStatus", + "description": "The state of the guest configuration service on the Arc-enabled machine." } }, - "description": "The List Extension Metadata response." + "description": "Reports the state and behavior of dependent services." }, - "ExtensionValue": { + "ServiceStatus": { "type": "object", "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ExtensionValueProperties", - "description": "The single extension based on search criteria" + "status": { + "type": "string", + "description": "The current status of the service." + }, + "startupType": { + "type": "string", + "description": "The behavior of the service when the Arc-enabled machine starts up." } }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "description": "Describes the status and behavior of a service." + }, + "CloudMetadata": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "readOnly": true, + "description": "Specifies the cloud provider (Azure/AWS/GCP...)." } - ], - "description": "Describes a Extension Metadata" + }, + "description": "The metadata of the cloud environment (Azure/GCP/AWS/OCI...)." }, - "ExtensionValueProperties": { + "AgentUpgrade": { "type": "object", "properties": { - "version": { + "desiredVersion": { + "type": "string", + "description": "Specifies the version info w.r.t AgentUpgrade for the machine." + }, + "correlationId": { + "type": "string", + "description": "The correlation ID passed in from RSM per upgrade." + }, + "enableAutomaticUpgrade": { + "type": "boolean", + "description": "Specifies if RSM should try to upgrade this machine" + }, + "lastAttemptDesiredVersion": { "type": "string", "readOnly": true, - "description": "The version of the Extension being received." + "description": "Specifies the version of the last attempt" }, - "extensionType": { + "lastAttemptTimestamp": { "type": "string", "readOnly": true, - "description": "The type of the Extension being received." + "description": "Timestamp of last upgrade attempt" }, - "publisher": { + "lastAttemptStatus": { "type": "string", "readOnly": true, - "description": "The publisher of the Extension being received." + "enum": [ + "Success", + "Failed" + ], + "x-ms-enum": { + "name": "LastAttemptStatusEnum", + "modelAsString": true + }, + "description": "Specifies the status of Agent Upgrade." + }, + "lastAttemptMessage": { + "type": "string", + "readOnly": true, + "description": "Failure message of last upgrade attempt if any." } }, - "description": "Describes Extension Metadata properties" + "description": "The info w.r.t Agent Upgrade." }, - "OperationListResult": { + "OSProfile": { "type": "object", "properties": { - "value": { - "type": "array", + "computerName": { + "type": "string", "readOnly": true, - "items": { - "$ref": "#/definitions/OperationValue" + "description": "Specifies the host OS name of the hybrid machine." + }, + "windowsConfiguration": { + "type": "object", + "properties": { + "patchSettings": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PatchSettings" + } }, - "description": "The list of compute operations", - "x-ms-identifiers": [] + "description": "Specifies the windows configuration for update management." + }, + "linuxConfiguration": { + "type": "object", + "properties": { + "patchSettings": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PatchSettings" + } + }, + "description": "Specifies the linux configuration for update management." } }, - "description": "The List Compute Operation operation response." + "description": "Specifies the operating system settings for the hybrid machine." }, - "OperationValue": { + "DetectedProperties": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Detected properties from the machine." + }, + "MachineProperties": { "type": "object", "properties": { - "origin": { + "locationData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/locationData" + }, + "agentConfiguration": { + "$ref": "#/definitions/AgentConfiguration", + "description": "Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM." + }, + "serviceStatuses": { + "$ref": "#/definitions/ServiceStatuses", + "description": "Statuses of dependent services that are reported back to ARM." + }, + "cloudMetadata": { + "$ref": "#/definitions/CloudMetadata", + "description": "The metadata of the cloud environment (Azure/GCP/AWS/OCI...)." + }, + "agentUpgrade": { + "$ref": "#/definitions/AgentUpgrade", + "description": "The info of the machine w.r.t Agent Upgrade" + }, + "osProfile": { + "$ref": "#/definitions/OSProfile", + "description": "Specifies the operating system settings for the hybrid machine." + }, + "licenseProfile": { + "$ref": "#/definitions/LicenseProfileMachineInstanceView", + "description": "Specifies the License related properties for a machine." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "status": { + "readOnly": true, "type": "string", + "description": "The status of the hybrid machine agent.", + "enum": [ + "Connected", + "Disconnected", + "Error" + ], + "x-ms-enum": { + "name": "StatusTypes", + "modelAsString": true + } + }, + "lastStatusChange": { "readOnly": true, - "description": "The origin of the compute operation." + "type": "string", + "format": "date-time", + "description": "The time of the last status change." + }, + "errorDetails": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorDetail" + }, + "description": "Details about the error state.", + "x-ms-identifiers": [] + }, + "agentVersion": { + "readOnly": true, + "type": "string", + "description": "The hybrid machine agent full version." + }, + "vmId": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "Specifies the hybrid machine unique ID." + }, + "displayName": { + "readOnly": true, + "type": "string", + "description": "Specifies the hybrid machine display name." + }, + "machineFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the hybrid machine FQDN." + }, + "clientPublicKey": { + "type": "string", + "description": "Public Key that the client provides to be used during initial resource onboarding" + }, + "osName": { + "readOnly": true, + "type": "string", + "description": "The Operating System running on the hybrid machine." + }, + "osVersion": { + "readOnly": true, + "type": "string", + "description": "The version of Operating System running on the hybrid machine." + }, + "osType": { + "type": "string", + "description": "The type of Operating System (windows/linux)." + }, + "vmUuid": { + "readOnly": true, + "type": "string", + "description": "Specifies the Arc Machine's unique SMBIOS ID" + }, + "extensions": { + "type": "array", + "items": { + "$ref": "#/definitions/MachineExtensionInstanceView" + }, + "description": "Machine Extensions information (deprecated field)", + "x-ms-identifiers": [] }, - "name": { + "osSku": { + "readOnly": true, "type": "string", + "description": "Specifies the Operating System product SKU." + }, + "osEdition": { "readOnly": true, - "description": "The name of the compute operation." + "type": "string", + "description": "The edition of the Operating System." }, - "display": { - "$ref": "#/definitions/OperationValueDisplay", - "description": "Display properties" + "domainName": { + "readOnly": true, + "type": "string", + "description": "Specifies the Windows domain name." }, - "isDataAction": { - "type": "boolean", + "adFqdn": { "readOnly": true, - "description": "This property indicates if the operation is an action or a data action" - } - }, - "description": "Describes the properties of a Compute Operation value." - }, - "OperationValueDisplay": { - "type": "object", - "properties": { - "operation": { "type": "string", + "description": "Specifies the AD fully qualified display name." + }, + "dnsFqdn": { "readOnly": true, - "description": "The display name of the compute operation." + "type": "string", + "description": "Specifies the DNS fully qualified display name." }, - "resource": { + "privateLinkScopeResourceId": { "type": "string", - "readOnly": true, - "description": "The display name of the resource the operation applies to." + "description": "The resource id of the private link scope this machine is assigned to, if any." }, - "description": { + "parentClusterResourceId": { "type": "string", - "readOnly": true, - "description": "The description of the operation." + "description": "The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any." }, - "provider": { + "mssqlDiscovered": { "type": "string", - "readOnly": true, - "description": "The resource provider for the operation." + "description": "Specifies whether any MS SQL instance is discovered on the machine." + }, + "detectedProperties": { + "$ref": "#/definitions/DetectedProperties", + "description": "Detected properties from the machine." + }, + "networkProfile": { + "$ref": "#/definitions/NetworkProfile", + "description": "Information about the network the machine is on." } }, - "description": "Describes the properties of a Hybrid Compute Operation Value Display." + "description": "Describes the properties of a hybrid machine." }, - "PatchSettings": { + "MachineUpdateProperties": { "type": "object", "properties": { - "assessmentMode": { + "locationData": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/locationData" + }, + "osProfile": { + "$ref": "#/definitions/OSProfile" + }, + "cloudMetadata": { + "$ref": "#/definitions/CloudMetadata", + "description": "The metadata of the cloud environment (Azure/GCP/AWS/OCI...)." + }, + "agentUpgrade": { + "$ref": "#/definitions/AgentUpgrade", + "description": "The info of the machine w.r.t Agent Upgrade" + }, + "parentClusterResourceId": { "type": "string", - "description": "Specifies the assessment mode.", - "enum": [ - "ImageDefault", - "AutomaticByPlatform" - ], - "x-ms-enum": { - "name": "AssessmentModeTypes", - "modelAsString": true - } + "description": "The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any." }, - "patchMode": { + "privateLinkScopeResourceId": { "type": "string", - "description": "Specifies the patch mode.", - "enum": [ - "ImageDefault", - "AutomaticByPlatform", - "AutomaticByOS", - "Manual" - ], - "x-ms-enum": { - "name": "PatchModeTypes", - "modelAsString": true - } + "description": "The resource id of the private link scope this machine is assigned to, if any." } }, - "description": "Specifies the patch settings." + "description": "Describes the ARM updatable properties of a hybrid machine." }, - "AgentConfiguration": { + "Machine": { "type": "object", - "readOnly": true, "properties": { - "proxyUrl": { - "type": "string", - "readOnly": true, - "description": "Specifies the URL of the proxy to be used." - }, - "incomingConnectionsPorts": { - "type": "array", - "readOnly": true, - "description": "Specifies the list of ports that the agent will be able to listen on.", - "items": { - "type": "string" - } + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MachineProperties", + "description": "Hybrid Compute Machine properties" }, - "extensionsAllowList": { - "type": "array", + "resources": { "readOnly": true, - "items": { - "$ref": "#/definitions/ConfigurationExtension" - }, - "description": "Array of extensions that are allowed to be installed or updated.", - "x-ms-identifiers": [] - }, - "extensionsBlockList": { "type": "array", - "readOnly": true, "items": { - "$ref": "#/definitions/ConfigurationExtension" + "$ref": "#/definitions/MachineExtension" }, - "description": "Array of extensions that are blocked (cannot be installed or updated)", - "x-ms-identifiers": [] + "description": "The list of extensions affiliated to the machine" }, - "proxyBypass": { - "type": "array", - "readOnly": true, - "description": "List of service names which should not use the specified proxy server.", - "items": { - "type": "string" - } + "identity": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Identity" }, - "extensionsEnabled": { - "type": "string", - "readOnly": true, - "description": "Specifies whether the extension service is enabled or disabled." + "kind": { + "$ref": "#/definitions/ArcKindEnum" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes a hybrid machine." + }, + "ArcKindEnum": { + "type": "string", + "description": "Indicates which kind of Arc machine placement on-premises, such as HCI, SCVMM or VMware etc.", + "enum": [ + "AVS", + "HCI", + "SCVMM", + "VMware", + "EPS", + "GCP", + "AWS" + ], + "x-ms-enum": { + "name": "ArcKindEnum ", + "modelAsString": true + } + }, + "MachineUpdate": { + "type": "object", + "properties": { + "identity": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Identity" }, - "guestConfigurationEnabled": { - "type": "string", - "readOnly": true, - "description": "Specified whether the guest configuration service is enabled or disabled." + "kind": { + "$ref": "#/definitions/ArcKindEnum" }, - "configMode": { - "type": "string", - "readOnly": true, - "description": "Name of configuration mode to use. Modes are pre-defined configurations of security controls, extension allowlists and guest configuration, maintained by Microsoft.", - "enum": [ - "full", - "monitor" - ], - "x-ms-enum": { - "name": "agent configuration mode", - "modelAsString": true - } + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MachineUpdateProperties", + "description": "Hybrid Compute Machine properties" } }, - "description": "Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM." + "allOf": [ + { + "$ref": "#/definitions/ResourceUpdate" + } + ], + "description": "Describes a hybrid machine Update." }, - "ConfigurationExtension": { + "MachineListResult": { "type": "object", "properties": { - "publisher": { - "type": "string", - "readOnly": true, - "description": "Publisher of the extension." + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Machine" + }, + "description": "The list of hybrid machines." }, - "type": { + "nextLink": { "type": "string", - "readOnly": true, - "description": "Type of the extension." + "description": "The URI to fetch the next page of Machines. Call ListNext() with this URI to fetch the next page of hybrid machines." } }, - "description": "Describes properties that can identify extensions." + "required": [ + "value" + ], + "description": "The List hybrid machine operation response." }, - "ServiceStatuses": { + "ProvisioningState": { + "readOnly": true, + "type": "string", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Accepted", + "Canceled", + "Deleted" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "description": "The provisioning state, which only appears in the response." + }, + "License": { "type": "object", "properties": { - "extensionService": { - "$ref": "#/definitions/ServiceStatus", - "description": "The state of the extension service on the Arc-enabled machine." - }, - "guestConfigurationService": { - "$ref": "#/definitions/ServiceStatus", - "description": "The state of the guest configuration service on the Arc-enabled machine." + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LicenseProperties", + "description": "Hybrid Compute License properties" } }, - "description": "Reports the state and behavior of dependent services." + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes a license in a hybrid machine." }, - "ServiceStatus": { + "LicenseProperties": { "type": "object", "properties": { - "status": { - "type": "string", - "description": "The current status of the service." + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The provisioning state, which only appears in the response." }, - "startupType": { + "tenantId": { "type": "string", - "description": "The behavior of the service when the Arc-enabled machine starts up." + "description": "Describes the tenant id." + }, + "licenseType": { + "$ref": "#/definitions/LicenseType", + "description": "The type of the license resource." + }, + "licenseDetails": { + "$ref": "#/definitions/LicenseDetails", + "description": "Describes the properties of a License." } }, - "description": "Describes the status and behavior of a service." + "description": "Describes the properties of a License Profile." + }, + "LicenseUpdate": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LicenseUpdateProperties", + "description": "License Update properties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceUpdate" + } + ], + "description": "Describes a License Update." }, - "CloudMetadata": { + "LicenseUpdateProperties": { "type": "object", "properties": { - "provider": { - "type": "string", - "readOnly": true, - "description": "Specifies the cloud provider (Azure/AWS/GCP...)." + "licenseType": { + "$ref": "#/definitions/LicenseType", + "description": "The type of the license resource." + }, + "licenseDetails": { + "x-ms-client-flatten": true, + "type": "object", + "properties": { + "state": { + "$ref": "#/definitions/LicenseState" + }, + "target": { + "$ref": "#/definitions/LicenseTarget" + }, + "edition": { + "$ref": "#/definitions/LicenseEdition" + }, + "type": { + "$ref": "#/definitions/LicenseCoreType" + }, + "processors": { + "type": "integer", + "format": "int32", + "description": "Describes the number of processors." + } + } } }, - "description": "The metadata of the cloud environment (Azure/GCP/AWS/OCI...)." + "description": "Describes the Update properties of a License Profile." }, - "AgentUpgrade": { + "LicenseDetails": { "type": "object", "properties": { - "desiredVersion": { - "type": "string", - "description": "Specifies the version info w.r.t AgentUpgrade for the machine." + "state": { + "$ref": "#/definitions/LicenseState" }, - "correlationId": { - "type": "string", - "description": "The correlation ID passed in from RSM per upgrade." + "target": { + "$ref": "#/definitions/LicenseTarget" }, - "enableAutomaticUpgrade": { - "type": "boolean", - "description": "Specifies if RSM should try to upgrade this machine" + "edition": { + "$ref": "#/definitions/LicenseEdition" }, - "lastAttemptTimestamp": { - "type": "string", + "type": { + "$ref": "#/definitions/LicenseCoreType" + }, + "processors": { + "type": "integer", + "format": "int32", + "description": "Describes the number of processors." + }, + "assignedLicenses": { "readOnly": true, - "description": "Timestamp of last upgrade attempt" + "type": "integer", + "format": "int32", + "description": "Describes the number of assigned licenses." }, - "lastAttemptStatus": { - "type": "string", + "immutableId": { "readOnly": true, + "type": "string", + "description": "Describes the immutable id." + }, + "volumeLicenseDetails": { + "type": "array", + "items": { + "$ref": "#/definitions/VolumeLicenseDetails" + }, + "description": "A list of volume license details." + } + }, + "description": "Describes the properties of a License." + }, + "VolumeLicenseDetails": { + "type": "object", + "properties": { + "programYear": { + "type": "string", + "description": "Describes the program year the volume license is for.", "enum": [ - "Success", - "Failed" + "Year 1", + "Year 2", + "Year 3" ], "x-ms-enum": { - "name": "LastAttemptStatusEnum", + "name": "ProgramYear", "modelAsString": true - }, - "description": "Specifies the status of Agent Upgrade." + } }, - "lastAttemptMessage": { + "invoiceId": { "type": "string", - "readOnly": true, - "description": "Failure message of last upgrade attempt if any." + "description": "The invoice id for the volume license." } + } + }, + "LicenseType": { + "type": "string", + "enum": [ + "ESU" + ], + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true }, - "description": "The info w.r.t Agent Upgrade." + "description": "The type of the license resource." }, - "OSProfile": { + "LicenseState": { + "type": "string", + "enum": [ + "Activated", + "Deactivated" + ], + "x-ms-enum": { + "name": "LicenseState", + "modelAsString": true + }, + "description": "Describes the state of the license." + }, + "LicenseEdition": { + "type": "string", + "enum": [ + "Standard", + "Datacenter" + ], + "x-ms-enum": { + "name": "LicenseEdition", + "modelAsString": true + }, + "description": "Describes the edition of the license. The values are either Standard or Datacenter." + }, + "LicenseTarget": { + "type": "string", + "enum": [ + "Windows Server 2012", + "Windows Server 2012 R2" + ], + "x-ms-enum": { + "name": "LicenseTarget", + "modelAsString": true + }, + "description": "Describes the license target server." + }, + "LicenseCoreType": { + "type": "string", + "enum": [ + "pCore", + "vCore" + ], + "x-ms-enum": { + "name": "LicenseCoreType", + "modelAsString": true + }, + "description": "Describes the license core type (pCore or vCore)." + }, + "LicensesListResult": { "type": "object", "properties": { - "computerName": { - "type": "string", - "readOnly": true, - "description": "Specifies the host OS name of the hybrid machine." + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/License" + }, + "description": "The list of licenses." }, - "windowsConfiguration": { + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of Machines. Call ListNext() with this URI to fetch the next page of license profile." + } + }, + "required": [ + "value" + ], + "description": "The List license operation response." + }, + "LicenseProfile": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, "type": "object", "properties": { - "patchSettings": { + "softwareAssurance": { "x-ms-client-flatten": true, - "$ref": "#/definitions/PatchSettings" + "type": "object", + "properties": { + "softwareAssuranceCustomer": { + "type": "boolean", + "description": "Specifies if this machine is licensed as part of a Software Assurance agreement." + } + } + }, + "esuProfile": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LicenseProfileArmEsuProperties", + "description": "Hybrid Compute ESU Profile properties" + }, + "productProfile": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LicenseProfileArmProductProfileProperties", + "description": "Hybrid Compute Product Profile properties" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The provisioning state, which only appears in the response." } }, - "description": "Specifies the windows configuration for update management." - }, - "linuxConfiguration": { + "description": "Describe the properties of a license profile." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes a license profile in a hybrid machine." + }, + "LicenseProfileUpdate": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, "type": "object", "properties": { - "patchSettings": { + "softwareAssurance": { "x-ms-client-flatten": true, - "$ref": "#/definitions/PatchSettings" + "type": "object", + "properties": { + "softwareAssuranceCustomer": { + "type": "boolean", + "description": "Specifies if this machine is licensed as part of a Software Assurance agreement." + } + } + }, + "esuProfile": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EsuProfileUpdateProperties", + "description": "Hybrid Compute ESU Profile Update properties" + }, + "productProfile": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProductProfileUpdateProperties", + "description": "Hybrid Compute Product Profile Update properties" } }, - "description": "Specifies the linux configuration for update management." + "description": "Describe the Update properties of a license profile." } }, - "description": "Specifies the operating system settings for the hybrid machine." - }, - "DetectedProperties": { - "readOnly": true, - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Detected properties from the machine." + "allOf": [ + { + "$ref": "#/definitions/ResourceUpdate" + } + ], + "description": "Describes a License Profile Update." }, - "MachineProperties": { + "LicenseProfilesListResult": { "type": "object", "properties": { - "locationData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/locationData" - }, - "agentConfiguration": { - "$ref": "#/definitions/AgentConfiguration", - "description": "Configurable properties that the user can set locally via the azcmagent config command, or remotely via ARM." - }, - "serviceStatuses": { - "$ref": "#/definitions/ServiceStatuses", - "description": "Statuses of dependent services that are reported back to ARM." - }, - "cloudMetadata": { - "$ref": "#/definitions/CloudMetadata", - "description": "The metadata of the cloud environment (Azure/GCP/AWS/OCI...)." - }, - "agentUpgrade": { - "$ref": "#/definitions/AgentUpgrade", - "description": "The info of the machine w.r.t Agent Upgrade" - }, - "osProfile": { - "$ref": "#/definitions/OSProfile", - "description": "Specifies the operating system settings for the hybrid machine." - }, - "provisioningState": { - "readOnly": true, - "type": "string", - "description": "The provisioning state, which only appears in the response." - }, - "status": { - "readOnly": true, - "type": "string", - "description": "The status of the hybrid machine agent.", - "enum": [ - "Connected", - "Disconnected", - "Error" - ], - "x-ms-enum": { - "name": "StatusTypes", - "modelAsString": true - } - }, - "lastStatusChange": { - "readOnly": true, - "type": "string", - "format": "date-time", - "description": "The time of the last status change." - }, - "errorDetails": { - "readOnly": true, + "value": { "type": "array", "items": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorDetail" + "$ref": "#/definitions/LicenseProfile" }, - "description": "Details about the error state.", - "x-ms-identifiers": [] - }, - "agentVersion": { - "readOnly": true, - "type": "string", - "description": "The hybrid machine agent full version." - }, - "vmId": { - "type": "string", - "x-ms-mutability": [ - "read", - "create" - ], - "description": "Specifies the hybrid machine unique ID." - }, - "displayName": { - "readOnly": true, - "type": "string", - "description": "Specifies the hybrid machine display name." - }, - "machineFqdn": { - "readOnly": true, - "type": "string", - "description": "Specifies the hybrid machine FQDN." - }, - "clientPublicKey": { - "type": "string", - "description": "Public Key that the client provides to be used during initial resource onboarding" - }, - "osName": { - "readOnly": true, - "type": "string", - "description": "The Operating System running on the hybrid machine." + "description": "The list of license profiles." }, - "osVersion": { - "readOnly": true, + "nextLink": { "type": "string", - "description": "The version of Operating System running on the hybrid machine." - }, - "osType": { + "description": "The URI to fetch the next page of Machines. Call ListNext() with this URI to fetch the next page of license profile." + } + }, + "required": [ + "value" + ], + "description": "The List hybrid machine license profile operation response." + }, + "EsuServerType": { + "type": "string", + "enum": [ + "Standard", + "Datacenter" + ], + "x-ms-enum": { + "name": "EsuServerType", + "modelAsString": true + }, + "description": "The server types for Esu." + }, + "EsuEligibility": { + "type": "string", + "enum": [ + "Eligible", + "Ineligible", + "Unknown" + ], + "x-ms-enum": { + "name": "EsuEligibility", + "modelAsString": true + }, + "description": "The ESU eligibility." + }, + "EsuKey": { + "type": "object", + "properties": { + "sku": { "type": "string", - "description": "The type of Operating System (windows/linux)." + "description": "SKU number." }, - "vmUuid": { + "licenseStatus": { + "type": "integer", + "format": "int32", + "description": "The current status of the license profile key. Represented by the same integer value that is presented on the machine itself when querying the license key status." + } + }, + "description": "ESU key" + }, + "EsuKeyState": { + "type": "string", + "enum": [ + "Inactive", + "Active" + ], + "x-ms-enum": { + "name": "EsuKeyState", + "modelAsString": true + }, + "description": "The ESU key state." + }, + "LicenseProfileStorageModelEsuProperties": { + "type": "object", + "properties": { + "assignedLicenseImmutableId": { "readOnly": true, "type": "string", - "description": "Specifies the Arc Machine's unique SMBIOS ID" + "description": "The guid id of the license." }, - "extensions": { + "esuKeys": { + "readOnly": true, "type": "array", "items": { - "$ref": "#/definitions/MachineExtensionInstanceView" + "$ref": "#/definitions/EsuKey" }, - "description": "Machine Extensions information (deprecated field)", + "description": "The list of ESU keys.", "x-ms-identifiers": [] - }, - "osSku": { - "readOnly": true, + } + }, + "description": "License profile storage model for ESU properties." + }, + "LicenseProfileArmEsuProperties": { + "type": "object", + "properties": { + "assignedLicense": { "type": "string", - "description": "Specifies the Operating System product SKU." - }, - "domainName": { + "description": "The resource id of the license." + } + }, + "allOf": [ + { + "$ref": "#/definitions/LicenseProfileArmEsuPropertiesWithoutAssignedLicense" + } + ], + "description": "Describes the properties of a License Profile ARM model." + }, + "LicenseProfileArmEsuPropertiesWithoutAssignedLicense": { + "type": "object", + "properties": { + "serverType": { "readOnly": true, - "type": "string", - "description": "Specifies the Windows domain name." + "$ref": "#/definitions/EsuServerType", + "description": "The type of the Esu servers." }, - "adFqdn": { + "esuEligibility": { "readOnly": true, - "type": "string", - "description": "Specifies the AD fully qualified display name." + "$ref": "#/definitions/EsuEligibility", + "description": "Indicates the eligibility state of Esu." }, - "dnsFqdn": { + "esuKeyState": { "readOnly": true, + "$ref": "#/definitions/EsuKeyState", + "description": "Indicates whether there is an ESU Key currently active for the machine." + } + }, + "allOf": [ + { + "$ref": "#/definitions/LicenseProfileStorageModelEsuProperties" + } + ], + "description": "Describes the properties of a License Profile ARM model." + }, + "EsuProfileUpdateProperties": { + "type": "object", + "properties": { + "assignedLicense": { "type": "string", - "description": "Specifies the DNS fully qualified display name." - }, - "privateLinkScopeResourceId": { + "description": "The resource id of the license." + } + }, + "description": "Describes the Update properties of a ESU License Profile." + }, + "LicenseProfileSubscriptionStatusUpdate": { + "type": "string", + "enum": [ + "Enable", + "Disable" + ], + "x-ms-enum": { + "name": "LicenseProfileSubscriptionStatusUpdate", + "modelAsString": true + }, + "description": "Indicates the new subscription status of the OS or Product Features." + }, + "ProductFeatureUpdate": { + "type": "object", + "properties": { + "name": { "type": "string", - "description": "The resource id of the private link scope this machine is assigned to, if any." + "description": "Product feature name." }, - "parentClusterResourceId": { - "type": "string", - "description": "The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any." + "subscriptionStatus": { + "$ref": "#/definitions/LicenseProfileSubscriptionStatusUpdate", + "description": "Indicates the new status of the product feature." + } + }, + "description": "Product Feature" + }, + "ProductProfileUpdateProperties": { + "type": "object", + "properties": { + "subscriptionStatus": { + "$ref": "#/definitions/LicenseProfileSubscriptionStatusUpdate", + "description": "Indicates the subscription status of the product." }, - "mssqlDiscovered": { - "type": "string", - "description": "Specifies whether any MS SQL instance is discovered on the machine." + "productType": { + "$ref": "#/definitions/LicenseProfileProductType", + "description": "Indicates the product type of the license." }, - "detectedProperties": { - "$ref": "#/definitions/DetectedProperties", - "description": "Detected properties from the machine." + "productFeatures": { + "type": "array", + "items": { + "$ref": "#/definitions/ProductFeatureUpdate" + }, + "description": "The list of product feature updates.", + "x-ms-identifiers": [] } }, - "description": "Describes the properties of a hybrid machine." + "description": "Describes the Update properties of a Product Profile." }, - "MachineUpdateProperties": { + "LicenseProfileMachineInstanceView": { "type": "object", "properties": { - "locationData": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/locationData" - }, - "osProfile": { - "$ref": "#/definitions/OSProfile" + "licenseStatus": { + "$ref": "#/definitions/LicenseStatus", + "description": "Indicates the license status of the OS." }, - "cloudMetadata": { - "$ref": "#/definitions/CloudMetadata", - "description": "The metadata of the cloud environment (Azure/GCP/AWS/OCI...)." + "licenseChannel": { + "readOnly": true, + "type": "string", + "description": "Indicates the license channel." }, - "agentUpgrade": { - "$ref": "#/definitions/AgentUpgrade", - "description": "The info of the machine w.r.t Agent Upgrade" + "softwareAssurance": { + "x-ms-client-flatten": true, + "type": "object", + "readOnly": true, + "properties": { + "softwareAssuranceCustomer": { + "type": "boolean", + "description": "Specifies if this machine is licensed as part of a Software Assurance agreement." + } + } }, - "parentClusterResourceId": { - "type": "string", - "description": "The resource id of the parent cluster (Azure HCI) this machine is assigned to, if any." + "esuProfile": { + "$ref": "#/definitions/LicenseProfileMachineInstanceViewEsuProperties" }, - "privateLinkScopeResourceId": { - "type": "string", - "description": "The resource id of the private link scope this machine is assigned to, if any." + "productProfile": { + "x-ms-client-flatten": true, + "readOnly": true, + "$ref": "#/definitions/LicenseProfileArmProductProfileProperties", + "description": "Hybrid Compute Product Profile properties" } }, - "description": "Describes the ARM updatable properties of a hybrid machine." + "description": "License Profile Instance View in Machine Properties." }, - "Machine": { + "LicenseProfileMachineInstanceViewEsuProperties": { "type": "object", "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/MachineProperties", - "description": "Hybrid Compute Machine properties" - }, - "resources": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/MachineExtension" - }, - "description": "The list of extensions affiliated to the machine" + "assignedLicense": { + "$ref": "#/definitions/License", + "description": "The assigned license resource." }, - "identity": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Identity" + "licenseAssignmentState": { + "type": "string", + "enum": [ + "Assigned", + "NotAssigned" + ], + "description": "Describes the license assignment state (Assigned or NotAssigned).", + "x-ms-enum": { + "name": "licenseAssignmentState", + "modelAsString": true + } } }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "#/definitions/LicenseProfileArmEsuPropertiesWithoutAssignedLicense" } ], - "description": "Describes a hybrid machine." + "description": "Properties for the Machine ESU profile." }, - "MachineUpdate": { + "LicenseStatus": { + "readOnly": true, + "type": "string", + "enum": [ + "Unlicensed", + "Licensed", + "OOBGrace", + "OOTGrace", + "NonGenuineGrace", + "Notification", + "ExtendedGrace" + ], + "x-ms-enum": { + "name": "LicenseStatus", + "modelAsString": true + }, + "description": "The license status." + }, + "LicenseProfileSubscriptionStatus": { + "type": "string", + "enum": [ + "Unknown", + "Enabling", + "Enabled", + "Disabled", + "Disabling", + "Failed" + ], + "x-ms-enum": { + "name": "LicenseProfileSubscriptionStatus", + "modelAsString": true + }, + "description": "Subscription status of the OS or Product feature." + }, + "LicenseProfileProductType": { + "type": "string", + "enum": [ + "WindowsServer", + "WindowsIoTEnterprise" + ], + "x-ms-enum": { + "name": "LicenseProfileProductType", + "modelAsString": true + }, + "description": "The product type of the license." + }, + "ProductFeature": { "type": "object", "properties": { - "identity": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Identity" + "name": { + "type": "string", + "description": "Product feature name." }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/MachineUpdateProperties", - "description": "Hybrid Compute Machine properties" + "subscriptionStatus": { + "$ref": "#/definitions/LicenseProfileSubscriptionStatus", + "description": "Indicates the current status of the product features." + }, + "enrollmentDate": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The timestamp in UTC when the user enrolls the feature." + }, + "billingStartDate": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The timestamp in UTC when the billing starts." + }, + "disenrollmentDate": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The timestamp in UTC when the user disenrolled the feature." + }, + "billingEndDate": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The timestamp in UTC when the billing ends." + }, + "error": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorDetail", + "readOnly": true, + "description": "The errors that were encountered during the feature enrollment or disenrollment." } }, - "allOf": [ - { - "$ref": "#/definitions/ResourceUpdate" - } - ], - "description": "Describes a hybrid machine Update." + "description": "Product Feature" }, - "MachineListResult": { + "LicenseProfileArmProductProfileProperties": { "type": "object", "properties": { - "value": { + "subscriptionStatus": { + "$ref": "#/definitions/LicenseProfileSubscriptionStatus", + "description": "Indicates the subscription status of the product." + }, + "productType": { + "$ref": "#/definitions/LicenseProfileProductType", + "description": "Indicates the product type of the license." + }, + "enrollmentDate": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The timestamp in UTC when the user enrolls the feature." + }, + "billingStartDate": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The timestamp in UTC when the billing starts." + }, + "disenrollmentDate": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The timestamp in UTC when the user disenrolled the feature." + }, + "billingEndDate": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The timestamp in UTC when the billing ends." + }, + "error": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorDetail", + "readOnly": true, + "description": "The errors that were encountered during the feature enrollment or disenrollment." + }, + "productFeatures": { "type": "array", "items": { - "$ref": "#/definitions/Machine" + "$ref": "#/definitions/ProductFeature" }, - "description": "The list of hybrid machines." - }, - "nextLink": { - "type": "string", - "description": "The URI to fetch the next page of Machines. Call ListNext() with this URI to fetch the next page of hybrid machines." + "description": "The list of product features.", + "x-ms-identifiers": [] } }, - "required": [ - "value" + "description": "Describes the properties of a Product License Profile ARM model." + }, + "HotpatchEnablementStatus": { + "type": "string", + "enum": [ + "Unknown", + "PendingEvaluation", + "Disabled", + "ActionRequired", + "Enabled" ], - "description": "The List hybrid machine operation response." + "x-ms-enum": { + "name": "HotpatchEnablementStatus", + "modelAsString": true + }, + "description": "Status of hotpatch enablement or disablement." }, "ResourceUpdate": { "type": "object", @@ -2408,7 +3833,105 @@ } }, "description": "The result summary of an installation operation." + }, + "ExtensionsResourceStatus": { + "properties": { + "code": { + "type": "string", + "description": "The status code." + }, + "level": { + "type": "string", + "description": "The level code.", + "enum": [ + "Info", + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "ExtensionsStatusLevelTypes", + "modelAsString": false + } + }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, + "message": { + "type": "string", + "description": "The detailed status message, including for alerts and error messages." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "The time of the status." + } + }, + "type": "object", + "description": "Instance view status." } }, - "parameters": {} + "parameters": { + "machineNameParameter": { + "name": "machineName", + "in": "path", + "required": true, + "type": "string", + "pattern": "[a-zA-Z0-9-_\\.]+", + "description": "The name of the hybrid machine.", + "x-ms-parameter-location": "method" + }, + "licenseProfileNameParameter": { + "name": "licenseProfileName", + "in": "path", + "description": "The name of the license profile.", + "required": true, + "type": "string", + "pattern": "[a-zA-Z0-9-_\\.]+", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method", + "x-ms-enum": { + "name": "LicenseProfileName", + "modelAsString": false + } + }, + "licenseNameParameter": { + "name": "licenseName", + "in": "path", + "required": true, + "type": "string", + "pattern": "[a-zA-Z0-9-_\\.]+", + "description": "The name of the license.", + "x-ms-parameter-location": "method" + }, + "baseProviderParameter": { + "name": "baseProvider", + "in": "path", + "required": true, + "type": "string", + "pattern": "[a-zA-Z0-9-_\\.]+", + "description": "The name of the base Resource Provider.", + "x-ms-parameter-location": "method" + }, + "baseResourceTypeParameter": { + "name": "baseResourceType", + "in": "path", + "required": true, + "type": "string", + "pattern": "[a-zA-Z0-9-_\\.]+", + "description": "The name of the base Resource Type.", + "x-ms-parameter-location": "method" + }, + "baseResourceNameParameter": { + "name": "baseResourceName", + "in": "path", + "required": true, + "type": "string", + "pattern": "[a-zA-Z0-9-_\\.]+", + "description": "The name of the base resource.", + "x-ms-parameter-location": "method" + } + } } diff --git a/swagger-specs/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2022-12-27/privateLinkScopes.json b/swagger-specs/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/privateLinkScopes.json similarity index 64% rename from swagger-specs/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2022-12-27/privateLinkScopes.json rename to swagger-specs/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/privateLinkScopes.json index 56f706487..fc608abf3 100644 --- a/swagger-specs/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2022-12-27/privateLinkScopes.json +++ b/swagger-specs/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/privateLinkScopes.json @@ -6,7 +6,7 @@ "name": "HybridComputeManagementClient" }, "description": "Azure Arc( Servers and K8s Clusters) API reference for Private Link's Scopes management.", - "version": "2022-12-27" + "version": "2024-07-10" }, "host": "management.azure.com", "schemes": [ @@ -65,7 +65,7 @@ }, "x-ms-examples": { "PrivateLinkScopesList.json": { - "$ref": "./examples/PrivateLinkScopesList.json" + "$ref": "./examples/privateLinkScope/PrivateLinkScopes_List.json" } }, "x-ms-pageable": { @@ -104,7 +104,7 @@ }, "x-ms-examples": { "PrivateLinkScopeListByResourceGroup": { - "$ref": "./examples/PrivateLinkScopesListByResourceGroup.json" + "$ref": "./examples/privateLinkScope/PrivateLinkScopes_ListByResourceGroup.json" } }, "x-ms-pageable": { @@ -165,7 +165,7 @@ "x-ms-long-running-operation": true, "x-ms-examples": { "PrivateLinkScopesDelete": { - "$ref": "./examples/PrivateLinkScopesDelete.json" + "$ref": "./examples/privateLinkScope/PrivateLinkScopes_Delete.json" } } }, @@ -202,7 +202,7 @@ }, "x-ms-examples": { "PrivateLinkScopeGet": { - "$ref": "./examples/PrivateLinkScopesGet.json" + "$ref": "./examples/privateLinkScope/PrivateLinkScopes_Get.json" } } }, @@ -254,10 +254,10 @@ }, "x-ms-examples": { "PrivateLinkScopeCreate": { - "$ref": "./examples/PrivateLinkScopesCreate.json" + "$ref": "./examples/privateLinkScope/PrivateLinkScopes_Create.json" }, "PrivateLinkScopeUpdate": { - "$ref": "./examples/PrivateLinkScopesUpdate.json" + "$ref": "./examples/privateLinkScope/PrivateLinkScopes_Update.json" } } }, @@ -303,7 +303,7 @@ }, "x-ms-examples": { "PrivateLinkScopeUpdateTagsOnly": { - "$ref": "./examples/PrivateLinkScopesUpdateTagsOnly.json" + "$ref": "./examples/privateLinkScope/PrivateLinkScopes_UpdateTagsOnly.json" } } } @@ -348,7 +348,7 @@ }, "x-ms-examples": { "Gets private endpoint connection.": { - "$ref": "./examples/PrivateLinkScopePrivateLinkResourceListGet.json" + "$ref": "./examples/privateLinkScope/PrivateLinkScopePrivateLinkResource_ListGet.json" } } } @@ -393,7 +393,7 @@ }, "x-ms-examples": { "Gets private endpoint connection.": { - "$ref": "./examples/PrivateLinkScopePrivateLinkResourceGet.json" + "$ref": "./examples/privateLinkScope/PrivateLinkScopePrivateLinkResource_Get.json" } } } @@ -442,7 +442,7 @@ }, "x-ms-examples": { "Gets private endpoint connection.": { - "$ref": "./examples/PrivateEndpointConnectionGet.json" + "$ref": "./examples/privateEndpoint/PrivateEndpointConnection_Get.json" } } }, @@ -501,7 +501,7 @@ "x-ms-long-running-operation": true, "x-ms-examples": { "Approve or reject a private endpoint connection with a given name.": { - "$ref": "./examples/PrivateEndpointConnectionUpdate.json" + "$ref": "./examples/privateEndpoint/PrivateEndpointConnection_Update.json" } } }, @@ -567,7 +567,7 @@ "x-ms-long-running-operation": true, "x-ms-examples": { "Deletes a private endpoint connection with a given name.": { - "$ref": "./examples/PrivateEndpointConnectionDelete.json" + "$ref": "./examples/privateEndpoint/PrivateEndpointConnection_Delete.json" } } } @@ -612,7 +612,7 @@ }, "x-ms-examples": { "Gets list of private endpoint connections on a private link scope.": { - "$ref": "./examples/PrivateEndpointConnectionList.json" + "$ref": "./examples/privateEndpoint/PrivateEndpointConnection_List.json" } } } @@ -651,7 +651,7 @@ }, "x-ms-examples": { "PrivateLinkScopeGet": { - "$ref": "./examples/PrivateLinkScopesGetValidation.json" + "$ref": "./examples/privateLinkScope/PrivateLinkScopes_GetValidation.json" } } } @@ -690,13 +690,566 @@ }, "x-ms-examples": { "PrivateLinkScopeGet": { - "$ref": "./examples/PrivateLinkScopesGetValidationForMachine.json" + "$ref": "./examples/privateLinkScope/PrivateLinkScopes_GetValidationForMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/networkSecurityPerimeterConfigurations/{perimeterName}": { + "get": { + "tags": [ + "NetworkSecurityPerimeterConfiguration" + ], + "description": "Gets the network security perimeter configuration for a private link scope.", + "operationId": "NetworkSecurityPerimeterConfigurations_GetByPrivateLinkScope", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "$ref": "#/parameters/PerimeterName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved network security perimeter configuration details.", + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeterConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets the network security perimeter configuration of the private link scope.": { + "$ref": "./examples/networkSecurityPerimeterConfiguration/NetworkSecurityPerimeterConfigurationGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/networkSecurityPerimeterConfigurations": { + "get": { + "tags": [ + "NetworkSecurityPerimeterConfiguration" + ], + "description": "Lists the network security perimeter configurations for a private link scope.", + "operationId": "NetworkSecurityPerimeterConfigurations_ListByPrivateLinkScope", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved network security perimeter configuration details.", + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeterConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of network security perimeter configurations of the private link scope.": { + "$ref": "./examples/networkSecurityPerimeterConfiguration/NetworkSecurityPerimeterConfigurationList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/networkSecurityPerimeterConfigurations/{perimeterName}/reconcile": { + "post": { + "tags": [ + "NetworkSecurityPerimeterConfiguration" + ], + "description": "Forces the network security perimeter configuration to refresh for a private link scope.", + "operationId": "NetworkSecurityPerimeterConfigurations_ReconcileForPrivateLinkScope", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "$ref": "#/parameters/PerimeterName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkSecurityPerimeterConfigurationReconcileResult" + } + }, + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Reconciles the network security perimeter configuration of the private link scope.": { + "$ref": "./examples/networkSecurityPerimeterConfiguration/NetworkSecurityPerimeterConfigurationReconcile.json" } } } } }, "definitions": { + "KeyProperties": { + "type": "object", + "description": "Public key information for client authentication", + "properties": { + "clientPublicKey": { + "description": "Current public key details", + "readOnly": true, + "$ref": "#/definitions/KeyDetails" + }, + "candidatePublicKey": { + "description": "Candidate public key details", + "readOnly": true, + "$ref": "#/definitions/KeyDetails" + } + } + }, + "KeyDetails": { + "type": "object", + "description": "Public key details", + "properties": { + "publicKey": { + "type": "string", + "description": "Public key", + "readOnly": true + }, + "notAfter": { + "type": "string", + "format": "date-time", + "description": "Key expiration date", + "readOnly": true + }, + "renewAfter": { + "type": "string", + "format": "date-time", + "description": "Recommended key renewal date", + "readOnly": true + } + } + }, + "NetworkSecurityPerimeterConfiguration": { + "type": "object", + "description": "Properties that define a Network Security Perimeter resource.", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id" + }, + "name": { + "type": "string", + "description": "Azure resource name", + "readOnly": true + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Azure resource type" + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Properties that define a Network Security Perimeter resource.", + "$ref": "#/definitions/NetworkSecurityPerimeterConfigurationProperties" + } + }, + "x-ms-azure-resource": true + }, + "NetworkSecurityPerimeterConfigurationProperties": { + "type": "object", + "description": "Properties that define a Network Security Perimeter resource.", + "properties": { + "provisioningState": { + "type": "string", + "description": "Current state of this NetworkSecurityPerimeter: whether or not is has been provisioned within the resource group it is defined. Users cannot change this value but are able to read from it. Values will include Provisioning ,Succeeded, Canceled and Failed.", + "readOnly": true + }, + "provisioningIssues": { + "type": "array", + "description": "Provisioning issues.", + "readOnly": true, + "items": { + "$ref": "#/definitions/ProvisioningIssue" + }, + "x-ms-identifiers": [] + }, + "networkSecurityPerimeter": { + "description": "The Network Security Perimeter associated with this configuration.", + "$ref": "#/definitions/NetworkSecurityPerimeter" + }, + "resourceAssociation": { + "description": "The Resource Association.", + "$ref": "#/definitions/ResourceAssociation" + }, + "profile": { + "description": "Network Security Perimeter profile", + "$ref": "#/definitions/NetworkSecurityPerimeterProfile" + } + } + }, + "NetworkSecurityPerimeterProfile": { + "type": "object", + "description": "Network Security Perimeter profile", + "properties": { + "name": { + "type": "string", + "description": "Name of the resource", + "readOnly": true + }, + "accessRulesVersion": { + "type": "integer", + "format": "int32", + "description": "Access rules version number", + "readOnly": true + }, + "accessRules": { + "type": "array", + "description": "Collection of access rules for the profile", + "readOnly": true, + "items": { + "$ref": "#/definitions/AccessRule" + }, + "x-ms-identifiers": [] + }, + "diagnosticSettingsVersion": { + "type": "integer", + "format": "int32", + "description": "Diagnostic settings version number", + "readOnly": true + }, + "enabledLogCategories": { + "type": "array", + "description": "Collection of enabled log categories for the profile", + "readOnly": true, + "items": { + "type": "string" + } + } + } + }, + "ProvisioningIssue": { + "type": "object", + "description": "Details on issues that occurred during provisioning.", + "properties": { + "name": { + "type": "string", + "description": "Name of the provisioning issue.", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Provisioning issue properties", + "readOnly": true, + "$ref": "#/definitions/ProvisioningIssueProperties" + } + } + }, + "ProvisioningIssueProperties": { + "type": "object", + "description": "Properties of a provisioning issue.", + "properties": { + "issueType": { + "description": "Issue type", + "readOnly": true, + "$ref": "#/definitions/ProvisioningIssueType" + }, + "severity": { + "description": "Severity of the provisioning issue.", + "readOnly": true, + "$ref": "#/definitions/ProvisioningIssueSeverity" + }, + "description": { + "type": "string", + "description": "Description of the provisioning issue.", + "readOnly": true + }, + "suggestedResourceIds": { + "type": "array", + "description": "ARM Ids of the resources that can be associated to the same perimeter to remediate the issue", + "readOnly": true, + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "suggestedAccessRules": { + "type": "array", + "description": "Access rules that can be added to the perimeter to remediate the issue", + "readOnly": true, + "items": { + "$ref": "#/definitions/AccessRule" + }, + "x-ms-identifiers": [] + } + } + }, + "ProvisioningIssueType": { + "type": "string", + "description": "Type of provisioning issue.", + "enum": [ + "MissingPerimeterConfiguration", + "MissingIdentityConfiguration", + "ConfigurationPropagationFailure", + "Other" + ], + "x-ms-enum": { + "name": "ProvisioningIssueType", + "modelAsString": true, + "values": [ + { + "value": "MissingPerimeterConfiguration", + "description": "Perimeter configuration is missing." + }, + { + "value": "MissingIdentityConfiguration", + "description": "Identity configuration is missing." + }, + { + "value": "ConfigurationPropagationFailure", + "description": "Configuration failed to propagate." + }, + { + "value": "Other", + "description": "Other failure." + } + ] + } + }, + "ProvisioningIssueSeverity": { + "type": "string", + "description": "Severity of the provisioning issue.", + "enum": [ + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "ProvisioningIssueSeverity", + "modelAsString": true, + "values": [ + { + "value": "Warning", + "description": "Warnings can cause connectivity issues after provisioning succeeds." + }, + { + "value": "Error", + "description": "Errors will cause association provisioning to fail." + } + ] + } + }, + "AccessMode": { + "type": "string", + "description": "Property that impacts a resource's logging behavior and its connectivity with other resources and public networks.", + "enum": [ + "enforced", + "audit", + "learning" + ], + "x-ms-enum": { + "name": "AccessMode", + "modelAsString": true, + "values": [ + { + "value": "enforced", + "description": "Indicates that resource access is controlled by the NSP definition." + }, + { + "value": "audit", + "description": "Dry run mode, where traffic is evaluated against NSP Rules, logged but not enforced." + }, + { + "value": "learning", + "description": "Enables traffic evaluation to fall back to resource-specific firewall configurations." + } + ] + } + }, + "AccessRuleDirection": { + "type": "string", + "description": "Indicates direction of an access rule.", + "enum": [ + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "AccessRuleDirection", + "modelAsString": true, + "values": [ + { + "value": "Inbound", + "description": "Traffic originates outside of network." + }, + { + "value": "Outbound", + "description": "Traffic originates inside the network" + } + ] + } + }, + "AccessRule": { + "type": "object", + "description": "Access rule.", + "properties": { + "name": { + "type": "string", + "description": "Name of the access rule.", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Access rule properties", + "readOnly": true, + "$ref": "#/definitions/AccessRuleProperties" + } + } + }, + "AccessRuleProperties": { + "type": "object", + "description": "Properties of an access rule.", + "properties": { + "direction": { + "description": "Direction of the access rule.", + "readOnly": true, + "$ref": "#/definitions/AccessRuleDirection" + }, + "addressPrefixes": { + "type": "array", + "description": "Address prefixes that are allowed access.", + "readOnly": true, + "items": { + "type": "string" + } + } + } + }, + "NetworkSecurityPerimeter": { + "type": "object", + "description": "Properties that define a Network Security Perimeter resource.", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id" + }, + "perimeterGuid": { + "type": "string", + "description": "Guid of the Network Security Perimeter", + "readOnly": true + }, + "location": { + "type": "string", + "readOnly": true, + "description": "Regional location of the perimeter" + } + } + }, + "NetworkSecurityPerimeterConfigurationListResult": { + "type": "object", + "description": "A list of network security perimeter configurations.", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityPerimeterConfiguration" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "NetworkSecurityPerimeterConfigurationReconcileResult": { + "type": "object", + "description": "Result of network security perimeter configurations.", + "properties": { + "location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "ResourceAssociation": { + "type": "object", + "description": "Properties that define a Resource Association.", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "Name of the Resource Association" + }, + "accessMode": { + "description": "The access mode", + "readOnly": true, + "$ref": "#/definitions/AccessMode" + } + } + }, "PrivateLinkScopesResource": { "type": "object", "properties": { @@ -1078,6 +1631,10 @@ { "value": "Disabled", "description": "Does not allow Azure Arc agents to communicate with Azure Arc services over public (internet) endpoints. The agents must use the private link." + }, + { + "value": "SecuredByPerimeter", + "description": "Azure Arc agent communication with Azure Arc services over public (internet) is enforced by Network Security Perimeter (NSP)" } ] } @@ -1090,7 +1647,8 @@ "required": true, "type": "string", "description": "The name of the Azure Arc PrivateLinkScope resource.", - "x-ms-parameter-location": "method" + "x-ms-parameter-location": "method", + "pattern": "[a-zA-Z0-9-_\\.]+" }, "PrivateLinkScopeId": { "name": "privateLinkScopeId", @@ -1125,6 +1683,32 @@ "description": "The name of the target machine to get the private link scope validation details for.", "minLength": 1, "x-ms-parameter-location": "method" + }, + "ResourceUriParameter": { + "name": "resourceUri", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified Azure Resource manager identifier of the resource to be connected.", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "NetworkConfigurationScopeId": { + "name": "scopeId", + "in": "path", + "required": true, + "type": "string", + "description": "The id (Guid) of the Azure Arc Network Configuration Scope resource.", + "x-ms-parameter-location": "method" + }, + "PerimeterName": { + "name": "perimeterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name, in the format {perimeterGuid}.{associationName}, of the Network Security Perimeter resource.", + "x-ms-parameter-location": "method", + "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[.]{1}.+$" } } } diff --git a/swagger-specs/hybridcompute/resource-manager/api-set.json b/swagger-specs/hybridcompute/resource-manager/api-set.json index b0e7111a4..6626e9ce8 100644 --- a/swagger-specs/hybridcompute/resource-manager/api-set.json +++ b/swagger-specs/hybridcompute/resource-manager/api-set.json @@ -1 +1 @@ -{"addition_input_file_paths": [], "input_files": ["Microsoft.HybridCompute/stable/2022-12-27/HybridCompute.json", "Microsoft.HybridCompute/stable/2022-12-27/privateLinkScopes.json"], "name": "package-2022-12"} \ No newline at end of file +{"addition_input_file_paths": [], "input_files": ["Microsoft.HybridCompute/stable/2024-07-10/HybridCompute.json", "Microsoft.HybridCompute/stable/2024-07-10/privateLinkScopes.json"], "name": "package-2024-07"} \ No newline at end of file diff --git a/swagger-specs/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-06-01-preview/mongoCluster.json b/swagger-specs/mongocluster/resource-manager/Microsoft.DocumentDB/stable/2024-07-01/mongoCluster.json similarity index 93% rename from swagger-specs/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-06-01-preview/mongoCluster.json rename to swagger-specs/mongocluster/resource-manager/Microsoft.DocumentDB/stable/2024-07-01/mongoCluster.json index b16f4cb69..789f2216b 100644 --- a/swagger-specs/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-06-01-preview/mongoCluster.json +++ b/swagger-specs/mongocluster/resource-manager/Microsoft.DocumentDB/stable/2024-07-01/mongoCluster.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "MongoClusterManagementClient", - "version": "2024-06-01-preview", + "version": "2024-07-01", "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure Cosmos DB for MongoDB vCore resources including clusters and firewall rules.", "x-typespec-generated": [ { @@ -1250,10 +1250,56 @@ } }, "definitions": { + "AdministratorProperties": { + "type": "object", + "description": "The local administrator login properties.", + "properties": { + "userName": { + "type": "string", + "description": "The administrator user name.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "password": { + "type": "string", + "format": "password", + "description": "The administrator password.", + "x-ms-mutability": [ + "update", + "create" + ], + "x-ms-secret": true + } + } + }, "Azure.Core.azureLocation": { "type": "string", "description": "Represents an Azure geography region where supported resource providers live." }, + "BackupProperties": { + "type": "object", + "description": "The backup properties of the cluster. This includes the earliest restore time and retention settings.", + "properties": { + "earliestRestoreTime": { + "type": "string", + "description": "Earliest restore timestamp in UTC ISO8601 format.", + "readOnly": true + } + } + }, + "ComputeProperties": { + "type": "object", + "description": "The compute properties of the cluster. This includes the virtual-cores/memory and scaling options applied to servers in the cluster.", + "properties": { + "tier": { + "type": "string", + "description": "The compute tier to assign to the cluster, where each tier maps to a virtual-core and memory size. Example values: 'M30', 'M40'." + } + } + }, "ConnectionString": { "type": "object", "description": "Connection string for the mongo cluster", @@ -1267,6 +1313,11 @@ "type": "string", "description": "Description of the connection string", "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of the connection string.", + "readOnly": true } } }, @@ -1312,8 +1363,7 @@ "properties": { "properties": { "$ref": "#/definitions/FirewallRuleProperties", - "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true + "description": "The resource-specific properties for this resource." } }, "allOf": [ @@ -1368,6 +1418,46 @@ "endIpAddress" ] }, + "HighAvailabilityMode": { + "type": "string", + "description": "The high availability modes for a cluster.", + "enum": [ + "Disabled", + "SameZone", + "ZoneRedundantPreferred" + ], + "x-ms-enum": { + "name": "HighAvailabilityMode", + "modelAsString": true, + "values": [ + { + "name": "Disabled", + "value": "Disabled", + "description": "High availability mode is disabled. This mode is can see availability impact during faults or maintenance and is not recommended for production." + }, + { + "name": "SameZone", + "value": "SameZone", + "description": "High availability mode is enabled, where each server in a shard is placed in the same availability zone." + }, + { + "name": "ZoneRedundantPreferred", + "value": "ZoneRedundantPreferred", + "description": "High availability mode is enabled and preferences ZoneRedundant if availability zones capacity is available in the region, otherwise falls-back to provisioning with SameZone." + } + ] + } + }, + "HighAvailabilityProperties": { + "type": "object", + "description": "The high availability properties of the cluster.", + "properties": { + "targetMode": { + "$ref": "#/definitions/HighAvailabilityMode", + "description": "The target high availability mode requested for the cluster." + } + } + }, "ListConnectionStringsResult": { "type": "object", "description": "The connection strings for the given mongo cluster.", @@ -1389,8 +1479,7 @@ "properties": { "properties": { "$ref": "#/definitions/MongoClusterProperties", - "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true + "description": "The resource-specific properties for this resource." } }, "allOf": [ @@ -1445,24 +1534,9 @@ "create" ] }, - "administratorLogin": { - "type": "string", - "description": "The administrator's login for the mongo cluster.", - "x-ms-mutability": [ - "read", - "update", - "create" - ] - }, - "administratorLoginPassword": { - "type": "string", - "format": "password", - "description": "The password of the administrator login.", - "x-ms-mutability": [ - "update", - "create" - ], - "x-ms-secret": true + "administrator": { + "$ref": "#/definitions/AdministratorProperties", + "description": "The local administrator properties for the mongo cluster." }, "serverVersion": { "type": "string", @@ -1473,11 +1547,6 @@ "description": "The default mongo connection string for the cluster.", "readOnly": true }, - "earliestRestoreTime": { - "type": "string", - "description": "Earliest restore timestamp in UTC ISO8601 format.", - "readOnly": true - }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", "description": "The provisioning state of the mongo cluster.", @@ -1492,13 +1561,25 @@ "$ref": "#/definitions/PublicNetworkAccess", "description": "Whether or not public endpoint access is allowed for this mongo cluster." }, - "nodeGroupSpecs": { - "type": "array", - "description": "The list of node group specs in the cluster.", - "items": { - "$ref": "#/definitions/NodeGroupSpec" - }, - "x-ms-identifiers": [] + "highAvailability": { + "$ref": "#/definitions/HighAvailabilityProperties", + "description": "The high availability properties of the mongo cluster." + }, + "storage": { + "$ref": "#/definitions/StorageProperties", + "description": "The storage properties of the mongo cluster." + }, + "sharding": { + "$ref": "#/definitions/ShardingProperties", + "description": "The sharding properties of the mongo cluster." + }, + "compute": { + "$ref": "#/definitions/ComputeProperties", + "description": "The compute properties of the mongo cluster." + }, + "backup": { + "$ref": "#/definitions/BackupProperties", + "description": "The backup properties of the mongo cluster." }, "privateEndpointConnections": { "type": "array", @@ -1639,8 +1720,7 @@ }, "properties": { "$ref": "#/definitions/MongoClusterUpdateProperties", - "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true + "description": "The resource-specific properties for this resource." } } }, @@ -1648,24 +1728,9 @@ "type": "object", "description": "The updatable properties of the MongoCluster.", "properties": { - "administratorLogin": { - "type": "string", - "description": "The administrator's login for the mongo cluster.", - "x-ms-mutability": [ - "read", - "update", - "create" - ] - }, - "administratorLoginPassword": { - "type": "string", - "format": "password", - "description": "The password of the administrator login.", - "x-ms-mutability": [ - "update", - "create" - ], - "x-ms-secret": true + "administrator": { + "$ref": "#/definitions/AdministratorProperties", + "description": "The local administrator properties for the mongo cluster." }, "serverVersion": { "type": "string", @@ -1675,13 +1740,25 @@ "$ref": "#/definitions/PublicNetworkAccess", "description": "Whether or not public endpoint access is allowed for this mongo cluster." }, - "nodeGroupSpecs": { - "type": "array", - "description": "The list of node group specs in the cluster.", - "items": { - "$ref": "#/definitions/NodeGroupSpec" - }, - "x-ms-identifiers": [] + "highAvailability": { + "$ref": "#/definitions/HighAvailabilityProperties", + "description": "The high availability properties of the mongo cluster." + }, + "storage": { + "$ref": "#/definitions/StorageProperties", + "description": "The storage properties of the mongo cluster." + }, + "sharding": { + "$ref": "#/definitions/ShardingProperties", + "description": "The sharding properties of the mongo cluster." + }, + "compute": { + "$ref": "#/definitions/ComputeProperties", + "description": "The compute properties of the mongo cluster." + }, + "backup": { + "$ref": "#/definitions/BackupProperties", + "description": "The backup properties of the mongo cluster." }, "previewFeatures": { "type": "array", @@ -1692,71 +1769,6 @@ } } }, - "NodeGroupProperties": { - "type": "object", - "description": "The properties of the node group on a cluster.", - "properties": { - "sku": { - "type": "string", - "description": "The resource sku for the node group. This defines the size of CPU and memory that is provisioned for each node. Example values: 'M30', 'M40'." - }, - "diskSizeGB": { - "type": "integer", - "format": "int64", - "description": "The disk storage size for the node group in GB. Example values: 128, 256, 512, 1024." - }, - "enableHa": { - "type": "boolean", - "description": "Whether high availability is enabled on the node group." - } - } - }, - "NodeGroupSpec": { - "type": "object", - "description": "Specification for a node group.", - "properties": { - "sku": { - "type": "string", - "description": "The resource sku for the node group. This defines the size of CPU and memory that is provisioned for each node. Example values: 'M30', 'M40'." - }, - "diskSizeGB": { - "type": "integer", - "format": "int64", - "description": "The disk storage size for the node group in GB. Example values: 128, 256, 512, 1024." - }, - "enableHa": { - "type": "boolean", - "description": "Whether high availability is enabled on the node group." - }, - "kind": { - "$ref": "#/definitions/NodeKind", - "description": "The node type deployed in the node group." - }, - "nodeCount": { - "type": "integer", - "format": "int32", - "description": "The number of nodes in the node group." - } - } - }, - "NodeKind": { - "type": "string", - "description": "The kind of the node on the cluster.", - "enum": [ - "Shard" - ], - "x-ms-enum": { - "name": "NodeKind", - "modelAsString": true, - "values": [ - { - "name": "Shard", - "value": "Shard", - "description": "The node is a shard kind." - } - ] - } - }, "PreviewFeature": { "type": "string", "description": "Preview features that can be enabled on a mongo cluster.", @@ -1781,8 +1793,7 @@ "properties": { "properties": { "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnectionProperties", - "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true + "description": "The resource-specific properties for this resource." } }, "allOf": [ @@ -1818,8 +1829,7 @@ "properties": { "properties": { "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateLinkResourceProperties", - "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true + "description": "The resource-specific properties for this resource." } }, "allOf": [ @@ -1981,8 +1991,7 @@ "properties": { "properties": { "$ref": "#/definitions/MongoClusterProperties", - "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true + "description": "The resource-specific properties for this resource." } }, "allOf": [ @@ -2110,6 +2119,28 @@ } ] } + }, + "ShardingProperties": { + "type": "object", + "description": "The sharding properties of the cluster. This includes the shard count and scaling options for the cluster.", + "properties": { + "shardCount": { + "type": "integer", + "format": "int32", + "description": "Number of shards to provision on the cluster." + } + } + }, + "StorageProperties": { + "type": "object", + "description": "The storage properties of the cluster. This includes the data storage size and scaling applied to servers in the cluster.", + "properties": { + "sizeGb": { + "type": "integer", + "format": "int64", + "description": "The size of the data disk assigned to each server." + } + } } }, "parameters": {} diff --git a/swagger-specs/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-06-01-preview/scenarios/basic.yaml b/swagger-specs/mongocluster/resource-manager/Microsoft.DocumentDB/stable/2024-07-01/scenarios/basic.yaml similarity index 92% rename from swagger-specs/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-06-01-preview/scenarios/basic.yaml rename to swagger-specs/mongocluster/resource-manager/Microsoft.DocumentDB/stable/2024-07-01/scenarios/basic.yaml index 7266e9a84..f1c21345d 100644 --- a/swagger-specs/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-06-01-preview/scenarios/basic.yaml +++ b/swagger-specs/mongocluster/resource-manager/Microsoft.DocumentDB/stable/2024-07-01/scenarios/basic.yaml @@ -38,7 +38,7 @@ scenarios: value: $(primaryClusterName) - replace: /resource/location value: $(primaryRegion) - - replace: /resource/properties/administratorLoginPassword + - replace: /resource/properties/administrator/password value: $(administratorLoginPassword) - add: /resource/properties/previewFeatures value: @@ -89,7 +89,7 @@ scenarios: requestUpdate: - replace: /mongoClusterName value: $(primaryClusterName) - - replace: /properties/properties/administratorLoginPassword + - replace: /properties/properties/administrator/password value: $(administratorLoginPassword2) - step: Check_Replica_NameAvailability exampleFile: ../examples/MongoClusters_NameAvailability.json @@ -109,6 +109,13 @@ scenarios: value: $(sourceResourceId) - replace: /resource/properties/replicaParameters/sourceLocation value: $(primaryRegion) + - step: MongoClusters_ListByResourceGroup_WithReplicas + exampleFile: ../examples/MongoClusters_ListByResourceGroup.json + - step: MongoClusters_Get_Replica + exampleFile: ../examples/MongoClusters_Get.json + requestUpdate: + - replace: /mongoClusterName + value: $(replicaClusterName) - step: MongoClusters_ReplicaList exampleFile: ../examples/MongoClusters_ReplicaList.json requestUpdate: diff --git a/swagger-specs/mongocluster/resource-manager/api-set.json b/swagger-specs/mongocluster/resource-manager/api-set.json index 7f5caa790..6a65addb1 100644 --- a/swagger-specs/mongocluster/resource-manager/api-set.json +++ b/swagger-specs/mongocluster/resource-manager/api-set.json @@ -1 +1 @@ -{"addition_input_file_paths": [], "input_files": ["Microsoft.DocumentDB/preview/2024-06-01-preview/mongoCluster.json"], "name": "package-2024-06-01-preview"} \ No newline at end of file +{"addition_input_file_paths": [], "input_files": ["Microsoft.DocumentDB/stable/2024-07-01/mongoCluster.json"], "name": "package-2024-07-01"} \ No newline at end of file