@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api NetworkExperiments
@base https://management.azure.com
@version 2019-11-01
@auth OAuth2
@endpoints 14
@toc subscriptions(14)

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Network/NetworkExperimentProfiles
@desc Gets a list of Network Experiment Profiles under a subscription
@returns(200) successful operation

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles
@desc Gets a list of Network Experiment Profiles within a resource group under a subscription
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription.}
@returns(200) successful operation

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}
@desc Gets an NetworkExperiment Profile by ProfileName
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., profileName: any # The Profile identifier associated with the Tenant and Partner}
@returns(200) successful operation

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}
@desc Creates an NetworkExperiment Profile
@required {profileName: any # The Profile identifier associated with the Tenant and Partner, resourceGroupName: any # Name of the Resource group within the Azure subscription., parameters: any # An Network Experiment Profile}
@returns(200) OK. The request has succeeded.
@returns(201) Created. The request has been fulfilled and a new protection policy has been created.
@returns(202) Accepted. The request has been accepted for processing and the operation will complete asynchronously.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}
@desc Updates an NetworkExperimentProfiles by NetworkExperimentProfile name
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., profileName: any # The Profile identifier associated with the Tenant and Partner, parameters: map # The Profile Update Model}
@returns(200) OK. successful operation
@returns(202) Accepted. The request has been accepted for processing and the operation will complete asynchronously.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}
@desc Deletes an NetworkExperiment Profile by ProfileName
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., profileName: any # The Profile identifier associated with the Tenant and Partner}
@returns(200) Delete successful.
@returns(202) Accepted. The request has been accepted for processing and the operation will complete asynchronously.
@returns(204) No Content. The request has been accepted but the profile was not found.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/PreconfiguredEndpoints
@desc Gets a list of Preconfigured Endpoints
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., profileName: any # The Profile identifier associated with the Tenant and Partner}
@returns(200) OK. The request has succeeded.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments
@desc Gets a list of Experiments
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., profileName: any # The Profile identifier associated with the Tenant and Partner}
@returns(200) successful operation

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}
@desc Gets an Experiment by ExperimentName
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., profileName: any # The Profile identifier associated with the Tenant and Partner, experimentName: any # The Experiment identifier associated with the Experiment}
@returns(200) successful operation

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}
@desc Creates or updates an Experiment
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., profileName: any # The Profile identifier associated with the Tenant and Partner, experimentName: any # The Experiment identifier associated with the Experiment, parameters: any # The Experiment resource}
@returns(200) OK. The request has succeeded.
@returns(201) Created. The request has been fulfilled and a new experiment has been created.
@returns(202) Accepted. The request has been accepted for processing and the operation will complete asynchronously.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}
@desc Updates an Experiment by Experiment id
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., profileName: any # The Profile identifier associated with the Tenant and Partner, experimentName: any # The Experiment identifier associated with the Experiment, parameters: map # The Experiment Update Model}
@returns(200) OK. successful operation
@returns(202) Accepted. The request has been accepted for processing and the operation will complete asynchronously.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}
@desc Deletes an Experiment
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., profileName: any # The Profile identifier associated with the Tenant and Partner, experimentName: any # The Experiment identifier associated with the Experiment}
@returns(200) Delete successful.
@returns(202) Accepted. The request has been accepted for processing and the operation will complete asynchronously.
@returns(204) No Content. The request has been accepted but the policy was not found.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}/LatencyScorecard
@desc Gets a Latency Scorecard for a given Experiment
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., profileName: any # The Profile identifier associated with the Tenant and Partner, experimentName: any # The Experiment identifier associated with the Experiment, aggregationInterval: any # The aggregation interval of the Latency Scorecard}
@optional {endDateTimeUTC: any # The end DateTime of the Latency Scorecard in UTC, country: any # The country associated with the Latency Scorecard. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html}
@returns(200) successful operation

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}/Timeseries
@desc Gets a Timeseries for a given Experiment
@required {resourceGroupName: any # Name of the Resource group within the Azure subscription., profileName: any # The Profile identifier associated with the Tenant and Partner, experimentName: any # The Experiment identifier associated with the Experiment, startDateTimeUTC: any # The start DateTime of the Timeseries in UTC, endDateTimeUTC: any # The end DateTime of the Timeseries in UTC, aggregationInterval: any # The aggregation interval of the Timeseries, timeseriesType: any # The type of Timeseries}
@optional {endpoint: any # The specific endpoint, country: any # The country associated with the Timeseries. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html}
@returns(200) successful operation

@end
