@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Service Map
@base https://management.azure.com
@version 2015-11-01-preview
@auth OAuth2
@common_fields {subscriptionId: any # Azure subscription identifier., resourceGroupName: any # Resource group name within the specified subscriptionId., workspaceName: any # OMS workspace containing the resources of interest., api-version: any # API version.}
@endpoints 25
@hint download_for_search
@toc subscriptions(25)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines
@desc Returns a collection of machines matching the specified conditions.  The returned collection represents either machines that are active/live during the specified interval  of time (`live=true` and `startTime`/`endTime` are specified) or that are known to have existed at or  some time prior to the specified point in time (`live=false` and `timestamp` is specified).
@optional {live: any # Specifies whether to return live resources (true) or inventory resources (false). Defaults to **true**. When retrieving live resources, the start time (`startTime`) and end time (`endTime`) of the desired interval should be included. When retrieving inventory resources, an optional timestamp (`timestamp`) parameter can be specified to return the version of each resource closest (not-after) that timestamp., startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow, timestamp: any # UTC date and time specifying a time instance relative to which to evaluate each machine resource. Only applies when `live=false`. When not specified, the service uses DateTime.UtcNow., $top: any # Page size to use. When not specified, the default page size is 100 records.}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}
@desc Returns the specified machine.
@required {machineName: any # Machine resource name.}
@optional {timestamp: any # UTC date and time specifying a time instance relative to which to evaluate the machine resource. When not specified, the service uses DateTime.UtcNow.}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/liveness
@desc Obtains the liveness status of the machine during the specified time interval.
@required {machineName: any # Machine resource name.}
@optional {startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/connections
@desc Returns a collection of connections terminating or originating at the specified machine
@required {machineName: any # Machine resource name.}
@optional {startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes
@desc Returns a collection of processes on the specified machine matching the specified conditions. The returned collection represents either processes that are active/live during the specified interval  of time (`live=true` and `startTime`/`endTime` are specified) or that are known to have existed at or  some time prior to the specified point in time (`live=false` and `timestamp` is specified).
@required {machineName: any # Machine resource name.}
@optional {live: any # Specifies whether to return live resources (true) or inventory resources (false). Defaults to **true**. When retrieving live resources, the start time (`startTime`) and end time (`endTime`) of the desired interval should be included. When retrieving inventory resources, an optional timestamp (`timestamp`) parameter can be specified to return the version of each resource closest (not-after) that timestamp., startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow, timestamp: any # UTC date and time specifying a time instance relative to which to evaluate all process resource. Only applies when `live=false`. When not specified, the service uses DateTime.UtcNow.}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}
@desc Returns the specified process.
@required {machineName: any # Machine resource name., processName: any # Process resource name.}
@optional {timestamp: any # UTC date and time specifying a time instance relative to which to evaluate a resource. When not specified, the service uses DateTime.UtcNow.}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/liveness
@desc Obtains the liveness status of the process during the specified time interval.
@required {machineName: any # Machine resource name., processName: any # Process resource name.}
@optional {startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/acceptingPorts
@desc Returns a collection of ports on which this process is accepting
@required {machineName: any # Machine resource name., processName: any # Process resource name.}
@optional {startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/processes/{processName}/connections
@desc Returns a collection of connections terminating or originating at the specified process
@required {machineName: any # Machine resource name., processName: any # Process resource name.}
@optional {startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports
@desc Returns a collection of live ports on the specified machine during the specified time interval.
@required {machineName: any # Machine resource name.}
@optional {startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}
@desc Returns the specified port. The port must be live during the specified time interval. If the port is not live during the interval, status 404 (Not Found) is returned.
@required {machineName: any # Machine resource name., portName: any # Port resource name.}
@optional {startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/liveness
@desc Obtains the liveness status of the port during the specified time interval.
@required {machineName: any # Machine resource name., portName: any # Port resource name.}
@optional {startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/acceptingProcesses
@desc Returns a collection of processes accepting on the specified port
@required {machineName: any # Machine resource name., portName: any # Port resource name.}
@optional {startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/ports/{portName}/connections
@desc Returns a collection of connections established via the specified port.
@required {machineName: any # Machine resource name., portName: any # Port resource name.}
@optional {startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machines/{machineName}/machineGroups
@desc Returns a collection of machine groups this machine belongs to during the specified time interval.
@required {machineName: any # Machine resource name.}
@optional {startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}
@desc Retrieves the specified client group
@required {clientGroupName: any # Client Group resource name.}
@optional {startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/membersCount
@desc Returns the approximate number of members in the client group.
@required {clientGroupName: any # Client Group resource name.}
@optional {startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/clientGroups/{clientGroupName}/members
@desc Returns the members of the client group during the specified time interval.
@required {clientGroupName: any # Client Group resource name.}
@optional {startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow, $top: any # Page size to use. When not specified, the default page size is 100 records.}
@returns(200) The operation completed successfully.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/generateMap
@desc Generates the specified map.
@required {request: map # Request options.}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/summaries/machines
@desc Returns summary information about the machines in the workspace.
@optional {startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow}
@returns(200) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups
@desc Returns all machine groups during the specified time interval.
@optional {startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow}
@returns(200) The operation completed successfully.

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups
@desc Creates a new machine group.
@required {machineGroup: any # Machine Group resource to create.}
@returns(201) The operation completed successfully.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups/{machineGroupName}
@desc Returns the specified machine group as it existed during the specified time interval.
@required {machineGroupName: any # Machine Group resource name.}
@optional {startTime: any # UTC date and time specifying the start time of an interval. When not specified the service uses DateTime.UtcNow - 10m, endTime: any # UTC date and time specifying the end time of an interval. When not specified the service uses DateTime.UtcNow}
@returns(200) The operation completed successfully.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups/{machineGroupName}
@desc Updates a machine group.
@required {machineGroupName: any # Machine Group resource name., machineGroup: any # Machine Group resource to update.}
@returns(200) The operation completed successfully.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/features/serviceMap/machineGroups/{machineGroupName}
@desc Deletes the specified Machine Group.
@required {machineGroupName: any # Machine Group resource name.}
@returns(204) The operation completed successfully.

@end
