# This file was generated by the Julia Swagger Code Generator
# Do not modify this file directly. Modify the swagger specification instead.


struct DeploymentOperationsApi <: SwaggerApi
    client::Swagger.Client
end

"""

Gets a deployments operation.
Param: resourceGroupName::String (required)
Param: deploymentName::String (required)
Param: operationId::String (required)
Param: api_version::String (required)
Param: subscriptionId::String (required)
Return: DeploymentOperation
"""
function deploymentOperationsGet(_api::DeploymentOperationsApi, resourceGroupName::String, deploymentName::String, operationId::String, api_version::String, subscriptionId::String; _mediaType=nothing)
    Swagger.validate_param("resourceGroupName", "deploymentOperationsGet", :maxLength, resourceGroupName, 90)
    Swagger.validate_param("resourceGroupName", "deploymentOperationsGet", :minLength, resourceGroupName, 1)

    Swagger.validate_param("deploymentName", "deploymentOperationsGet", :maxLength, deploymentName, 64)
    Swagger.validate_param("deploymentName", "deploymentOperationsGet", :minLength, deploymentName, 1)

    _ctx = Swagger.Ctx(_api.client, "GET", DeploymentOperation, "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}", ["azure_auth"])
    Swagger.set_param(_ctx.path, "resourceGroupName", resourceGroupName)  # type String
    Swagger.set_param(_ctx.path, "deploymentName", deploymentName)  # type String
    Swagger.set_param(_ctx.path, "operationId", operationId)  # type String
    Swagger.set_param(_ctx.path, "subscriptionId", subscriptionId)  # type String
    Swagger.set_param(_ctx.query, "api-version", api_version)  # type String
    Swagger.set_header_accept(_ctx, ["application/json"])
    Swagger.set_header_content_type(_ctx, (_mediaType === nothing) ? ["application/json"] : [_mediaType])
    Swagger.exec(_ctx)
end

"""

Gets all deployments operations for a deployment.
Param: resourceGroupName::String (required)
Param: deploymentName::String (required)
Param: api_version::String (required)
Param: subscriptionId::String (required)
Param: top::Int32
Return: DeploymentOperationsListResult
"""
function deploymentOperationsList(_api::DeploymentOperationsApi, resourceGroupName::String, deploymentName::String, api_version::String, subscriptionId::String; top=nothing, _mediaType=nothing)
    Swagger.validate_param("resourceGroupName", "deploymentOperationsList", :maxLength, resourceGroupName, 90)
    Swagger.validate_param("resourceGroupName", "deploymentOperationsList", :minLength, resourceGroupName, 1)

    Swagger.validate_param("deploymentName", "deploymentOperationsList", :maxLength, deploymentName, 64)
    Swagger.validate_param("deploymentName", "deploymentOperationsList", :minLength, deploymentName, 1)

    _ctx = Swagger.Ctx(_api.client, "GET", DeploymentOperationsListResult, "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations", ["azure_auth"])
    Swagger.set_param(_ctx.path, "resourceGroupName", resourceGroupName)  # type String
    Swagger.set_param(_ctx.path, "deploymentName", deploymentName)  # type String
    Swagger.set_param(_ctx.path, "subscriptionId", subscriptionId)  # type String
    Swagger.set_param(_ctx.query, "\$top", top)  # type Int32
    Swagger.set_param(_ctx.query, "api-version", api_version)  # type String
    Swagger.set_header_accept(_ctx, ["application/json"])
    Swagger.set_header_content_type(_ctx, (_mediaType === nothing) ? ["application/json"] : [_mediaType])
    Swagger.exec(_ctx)
end

export deploymentOperationsGet, deploymentOperationsList
