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

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}
@desc Deletes the specified network security group.
@required {resourceGroupName: any # The name of the resource group., networkSecurityGroupName: any # The name of the network security group.}
@returns(200) Delete successful.
@returns(202) Accepted and the operation will complete asynchronously.
@returns(204) Request successful. Resource does not exist.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}
@desc Gets the specified network security group.
@required {resourceGroupName: any # The name of the resource group., networkSecurityGroupName: any # The name of the network security group.}
@optional {$expand: any # Expands referenced resources.}
@returns(200) Request successful. The operation returns the resulting NetworkSecurityGroup resource.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}
@desc Creates or updates a network security group in the specified resource group.
@required {resourceGroupName: any # The name of the resource group., networkSecurityGroupName: any # The name of the network security group., parameters: any # Parameters supplied to the create or update network security group operation.}
@returns(200) Update successful. The operation returns the resulting NetworkSecurityGroup resource.
@returns(201) Create successful. The operation returns the resulting NetworkSecurityGroup resource.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}
@desc Updates a network security group tags.
@required {resourceGroupName: any # The name of the resource group., networkSecurityGroupName: any # The name of the network security group., parameters: any # Parameters supplied to update network security group tags.}
@returns(200) Update successful. The operation returns the resulting NetworkSecurityGroup resource.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups
@desc Gets all network security groups in a subscription.
@returns(200) Request successful. The operation returns a list of NetworkSecurityGroup resources.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups
@desc Gets all network security groups in a resource group.
@required {resourceGroupName: any # The name of the resource group.}
@returns(200) Request successful. The operation returns a list of NetworkSecurityGroup resources.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}
@desc Deletes the specified network security rule.
@required {resourceGroupName: any # The name of the resource group., networkSecurityGroupName: any # The name of the network security group., securityRuleName: any # The name of the security rule.}
@returns(200) Delete successful.
@returns(202) Accepted and the operation will complete asynchronously.
@returns(204) Request successful. Resource does not exist.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}
@desc Get the specified network security rule.
@required {resourceGroupName: any # The name of the resource group., networkSecurityGroupName: any # The name of the network security group., securityRuleName: any # The name of the security rule.}
@returns(200) Request successful. The operation returns the resulting SecurityRule resource.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}
@desc Creates or updates a security rule in the specified network security group.
@required {resourceGroupName: any # The name of the resource group., networkSecurityGroupName: any # The name of the network security group., securityRuleName: any # The name of the security rule., securityRuleParameters: any # Parameters supplied to the create or update network security rule operation.}
@returns(200) Update successful. The operation returns the resulting SecurityRule resource.
@returns(201) Create successful. The operation returns the resulting SecurityRule resource.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules
@desc Gets all security rules in a network security group.
@required {resourceGroupName: any # The name of the resource group., networkSecurityGroupName: any # The name of the network security group.}
@returns(200) Request successful. The operation returns a list of SecurityRule resources.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules
@desc Gets all default security rules in a network security group.
@required {resourceGroupName: any # The name of the resource group., networkSecurityGroupName: any # The name of the network security group.}
@returns(200) Request successful. The operation returns a list of SecurityRule resources.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}
@desc Get the specified default network security rule.
@required {resourceGroupName: any # The name of the resource group., networkSecurityGroupName: any # The name of the network security group., defaultSecurityRuleName: any # The name of the default security rule.}
@returns(200) Request successful. The operation returns the resulting SecurityRule resource.

@end
