UNPKG

@azure/arm-automation

Version:

AutomationClient Library with typescript type definitions for node.js and browser.

409 lines (393 loc) 16.6 kB
/* * 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. * Changes may cause incorrect behavior and will be lost if the code is * regenerated. */ import * as msRest from "@azure/ms-rest-js"; import * as Models from "../models"; import * as Mappers from "../models/scheduleOperationsMappers"; import * as Parameters from "../models/parameters"; import { AutomationClientContext } from "../automationClientContext"; /** Class representing a ScheduleOperations. */ export class ScheduleOperations { private readonly client: AutomationClientContext; /** * Create a ScheduleOperations. * @param {AutomationClientContext} client Reference to the service client. */ constructor(client: AutomationClientContext) { this.client = client; } /** * Create a schedule. * @param resourceGroupName Name of an Azure Resource group. * @param automationAccountName The name of the automation account. * @param scheduleName The schedule name. * @param parameters The parameters supplied to the create or update schedule operation. * @param [options] The optional parameters * @returns Promise<Models.ScheduleCreateOrUpdateResponse> */ createOrUpdate(resourceGroupName: string, automationAccountName: string, scheduleName: string, parameters: Models.ScheduleCreateOrUpdateParameters, options?: msRest.RequestOptionsBase): Promise<Models.ScheduleCreateOrUpdateResponse>; /** * @param resourceGroupName Name of an Azure Resource group. * @param automationAccountName The name of the automation account. * @param scheduleName The schedule name. * @param parameters The parameters supplied to the create or update schedule operation. * @param callback The callback */ createOrUpdate(resourceGroupName: string, automationAccountName: string, scheduleName: string, parameters: Models.ScheduleCreateOrUpdateParameters, callback: msRest.ServiceCallback<Models.Schedule>): void; /** * @param resourceGroupName Name of an Azure Resource group. * @param automationAccountName The name of the automation account. * @param scheduleName The schedule name. * @param parameters The parameters supplied to the create or update schedule operation. * @param options The optional parameters * @param callback The callback */ createOrUpdate(resourceGroupName: string, automationAccountName: string, scheduleName: string, parameters: Models.ScheduleCreateOrUpdateParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.Schedule>): void; createOrUpdate(resourceGroupName: string, automationAccountName: string, scheduleName: string, parameters: Models.ScheduleCreateOrUpdateParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.Schedule>, callback?: msRest.ServiceCallback<Models.Schedule>): Promise<Models.ScheduleCreateOrUpdateResponse> { return this.client.sendOperationRequest( { resourceGroupName, automationAccountName, scheduleName, parameters, options }, createOrUpdateOperationSpec, callback) as Promise<Models.ScheduleCreateOrUpdateResponse>; } /** * Update the schedule identified by schedule name. * @param resourceGroupName Name of an Azure Resource group. * @param automationAccountName The name of the automation account. * @param scheduleName The schedule name. * @param parameters The parameters supplied to the update schedule operation. * @param [options] The optional parameters * @returns Promise<Models.ScheduleUpdateResponse> */ update(resourceGroupName: string, automationAccountName: string, scheduleName: string, parameters: Models.ScheduleUpdateParameters, options?: msRest.RequestOptionsBase): Promise<Models.ScheduleUpdateResponse>; /** * @param resourceGroupName Name of an Azure Resource group. * @param automationAccountName The name of the automation account. * @param scheduleName The schedule name. * @param parameters The parameters supplied to the update schedule operation. * @param callback The callback */ update(resourceGroupName: string, automationAccountName: string, scheduleName: string, parameters: Models.ScheduleUpdateParameters, callback: msRest.ServiceCallback<Models.Schedule>): void; /** * @param resourceGroupName Name of an Azure Resource group. * @param automationAccountName The name of the automation account. * @param scheduleName The schedule name. * @param parameters The parameters supplied to the update schedule operation. * @param options The optional parameters * @param callback The callback */ update(resourceGroupName: string, automationAccountName: string, scheduleName: string, parameters: Models.ScheduleUpdateParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.Schedule>): void; update(resourceGroupName: string, automationAccountName: string, scheduleName: string, parameters: Models.ScheduleUpdateParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.Schedule>, callback?: msRest.ServiceCallback<Models.Schedule>): Promise<Models.ScheduleUpdateResponse> { return this.client.sendOperationRequest( { resourceGroupName, automationAccountName, scheduleName, parameters, options }, updateOperationSpec, callback) as Promise<Models.ScheduleUpdateResponse>; } /** * Retrieve the schedule identified by schedule name. * @param resourceGroupName Name of an Azure Resource group. * @param automationAccountName The name of the automation account. * @param scheduleName The schedule name. * @param [options] The optional parameters * @returns Promise<Models.ScheduleGetResponse> */ get(resourceGroupName: string, automationAccountName: string, scheduleName: string, options?: msRest.RequestOptionsBase): Promise<Models.ScheduleGetResponse>; /** * @param resourceGroupName Name of an Azure Resource group. * @param automationAccountName The name of the automation account. * @param scheduleName The schedule name. * @param callback The callback */ get(resourceGroupName: string, automationAccountName: string, scheduleName: string, callback: msRest.ServiceCallback<Models.Schedule>): void; /** * @param resourceGroupName Name of an Azure Resource group. * @param automationAccountName The name of the automation account. * @param scheduleName The schedule name. * @param options The optional parameters * @param callback The callback */ get(resourceGroupName: string, automationAccountName: string, scheduleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.Schedule>): void; get(resourceGroupName: string, automationAccountName: string, scheduleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.Schedule>, callback?: msRest.ServiceCallback<Models.Schedule>): Promise<Models.ScheduleGetResponse> { return this.client.sendOperationRequest( { resourceGroupName, automationAccountName, scheduleName, options }, getOperationSpec, callback) as Promise<Models.ScheduleGetResponse>; } /** * Delete the schedule identified by schedule name. * @param resourceGroupName Name of an Azure Resource group. * @param automationAccountName The name of the automation account. * @param scheduleName The schedule name. * @param [options] The optional parameters * @returns Promise<msRest.RestResponse> */ deleteMethod(resourceGroupName: string, automationAccountName: string, scheduleName: string, options?: msRest.RequestOptionsBase): Promise<msRest.RestResponse>; /** * @param resourceGroupName Name of an Azure Resource group. * @param automationAccountName The name of the automation account. * @param scheduleName The schedule name. * @param callback The callback */ deleteMethod(resourceGroupName: string, automationAccountName: string, scheduleName: string, callback: msRest.ServiceCallback<void>): void; /** * @param resourceGroupName Name of an Azure Resource group. * @param automationAccountName The name of the automation account. * @param scheduleName The schedule name. * @param options The optional parameters * @param callback The callback */ deleteMethod(resourceGroupName: string, automationAccountName: string, scheduleName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<void>): void; deleteMethod(resourceGroupName: string, automationAccountName: string, scheduleName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<void>, callback?: msRest.ServiceCallback<void>): Promise<msRest.RestResponse> { return this.client.sendOperationRequest( { resourceGroupName, automationAccountName, scheduleName, options }, deleteMethodOperationSpec, callback); } /** * Retrieve a list of schedules. * @param resourceGroupName Name of an Azure Resource group. * @param automationAccountName The name of the automation account. * @param [options] The optional parameters * @returns Promise<Models.ScheduleListByAutomationAccountResponse> */ listByAutomationAccount(resourceGroupName: string, automationAccountName: string, options?: msRest.RequestOptionsBase): Promise<Models.ScheduleListByAutomationAccountResponse>; /** * @param resourceGroupName Name of an Azure Resource group. * @param automationAccountName The name of the automation account. * @param callback The callback */ listByAutomationAccount(resourceGroupName: string, automationAccountName: string, callback: msRest.ServiceCallback<Models.ScheduleListResult>): void; /** * @param resourceGroupName Name of an Azure Resource group. * @param automationAccountName The name of the automation account. * @param options The optional parameters * @param callback The callback */ listByAutomationAccount(resourceGroupName: string, automationAccountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.ScheduleListResult>): void; listByAutomationAccount(resourceGroupName: string, automationAccountName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.ScheduleListResult>, callback?: msRest.ServiceCallback<Models.ScheduleListResult>): Promise<Models.ScheduleListByAutomationAccountResponse> { return this.client.sendOperationRequest( { resourceGroupName, automationAccountName, options }, listByAutomationAccountOperationSpec, callback) as Promise<Models.ScheduleListByAutomationAccountResponse>; } /** * Retrieve a list of schedules. * @param nextPageLink The NextLink from the previous successful call to List operation. * @param [options] The optional parameters * @returns Promise<Models.ScheduleListByAutomationAccountNextResponse> */ listByAutomationAccountNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise<Models.ScheduleListByAutomationAccountNextResponse>; /** * @param nextPageLink The NextLink from the previous successful call to List operation. * @param callback The callback */ listByAutomationAccountNext(nextPageLink: string, callback: msRest.ServiceCallback<Models.ScheduleListResult>): void; /** * @param nextPageLink The NextLink from the previous successful call to List operation. * @param options The optional parameters * @param callback The callback */ listByAutomationAccountNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.ScheduleListResult>): void; listByAutomationAccountNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.ScheduleListResult>, callback?: msRest.ServiceCallback<Models.ScheduleListResult>): Promise<Models.ScheduleListByAutomationAccountNextResponse> { return this.client.sendOperationRequest( { nextPageLink, options }, listByAutomationAccountNextOperationSpec, callback) as Promise<Models.ScheduleListByAutomationAccountNextResponse>; } } // Operation Specifications const serializer = new msRest.Serializer(Mappers); const createOrUpdateOperationSpec: msRest.OperationSpec = { httpMethod: "PUT", path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules/{scheduleName}", urlParameters: [ Parameters.resourceGroupName, Parameters.automationAccountName, Parameters.scheduleName, Parameters.subscriptionId ], queryParameters: [ Parameters.apiVersion0 ], headerParameters: [ Parameters.acceptLanguage ], requestBody: { parameterPath: "parameters", mapper: { ...Mappers.ScheduleCreateOrUpdateParameters, required: true } }, responses: { 200: { bodyMapper: Mappers.Schedule }, 201: { bodyMapper: Mappers.Schedule }, 409: {}, default: { bodyMapper: Mappers.ErrorResponse } }, serializer }; const updateOperationSpec: msRest.OperationSpec = { httpMethod: "PATCH", path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules/{scheduleName}", urlParameters: [ Parameters.resourceGroupName, Parameters.automationAccountName, Parameters.scheduleName, Parameters.subscriptionId ], queryParameters: [ Parameters.apiVersion0 ], headerParameters: [ Parameters.acceptLanguage ], requestBody: { parameterPath: "parameters", mapper: { ...Mappers.ScheduleUpdateParameters, required: true } }, responses: { 200: { bodyMapper: Mappers.Schedule }, default: { bodyMapper: Mappers.ErrorResponse } }, serializer }; const getOperationSpec: msRest.OperationSpec = { httpMethod: "GET", path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules/{scheduleName}", urlParameters: [ Parameters.resourceGroupName, Parameters.automationAccountName, Parameters.scheduleName, Parameters.subscriptionId ], queryParameters: [ Parameters.apiVersion0 ], headerParameters: [ Parameters.acceptLanguage ], responses: { 200: { bodyMapper: Mappers.Schedule }, default: { bodyMapper: Mappers.ErrorResponse } }, serializer }; const deleteMethodOperationSpec: msRest.OperationSpec = { httpMethod: "DELETE", path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules/{scheduleName}", urlParameters: [ Parameters.resourceGroupName, Parameters.automationAccountName, Parameters.scheduleName, Parameters.subscriptionId ], queryParameters: [ Parameters.apiVersion0 ], headerParameters: [ Parameters.acceptLanguage ], responses: { 200: {}, default: { bodyMapper: Mappers.ErrorResponse } }, serializer }; const listByAutomationAccountOperationSpec: msRest.OperationSpec = { httpMethod: "GET", path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules", urlParameters: [ Parameters.resourceGroupName, Parameters.automationAccountName, Parameters.subscriptionId ], queryParameters: [ Parameters.apiVersion0 ], headerParameters: [ Parameters.acceptLanguage ], responses: { 200: { bodyMapper: Mappers.ScheduleListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, serializer }; const listByAutomationAccountNextOperationSpec: msRest.OperationSpec = { httpMethod: "GET", baseUrl: "https://management.azure.com", path: "{nextLink}", urlParameters: [ Parameters.nextPageLink ], headerParameters: [ Parameters.acceptLanguage ], responses: { 200: { bodyMapper: Mappers.ScheduleListResult }, default: { bodyMapper: Mappers.ErrorResponse } }, serializer };