// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.

// AlertRules is the monitor Management Client
import Foundation
import azureSwiftRuntime
extension Commands {
public struct AlertRules {
    public static func CreateOrUpdate(resourceGroupName: String, ruleName: String, subscriptionId: String, parameters: AlertRuleResourceProtocol) -> AlertRulesCreateOrUpdate {
        return CreateOrUpdateCommand(resourceGroupName: resourceGroupName, ruleName: ruleName, subscriptionId: subscriptionId, parameters: parameters)
    }
    public static func Delete(resourceGroupName: String, ruleName: String, subscriptionId: String) -> AlertRulesDelete {
        return DeleteCommand(resourceGroupName: resourceGroupName, ruleName: ruleName, subscriptionId: subscriptionId)
    }
    public static func Get(resourceGroupName: String, ruleName: String, subscriptionId: String) -> AlertRulesGet {
        return GetCommand(resourceGroupName: resourceGroupName, ruleName: ruleName, subscriptionId: subscriptionId)
    }
    public static func ListByResourceGroup(resourceGroupName: String, subscriptionId: String) -> AlertRulesListByResourceGroup {
        return ListByResourceGroupCommand(resourceGroupName: resourceGroupName, subscriptionId: subscriptionId)
    }
    public static func Update(subscriptionId: String, resourceGroupName: String, ruleName: String, alertRulesResource: AlertRuleResourcePatchProtocol) -> AlertRulesUpdate {
        return UpdateCommand(subscriptionId: subscriptionId, resourceGroupName: resourceGroupName, ruleName: ruleName, alertRulesResource: alertRulesResource)
    }
}
}
