@azure/arm-automation
Version:
AutomationClient Library with typescript type definitions for node.js and browser.
2,058 lines (1,970 loc) • 182 kB
text/typescript
/*
* 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 { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js";
import * as msRest from "@azure/ms-rest-js";
export { BaseResource, CloudError };
/**
* The account SKU.
*/
export interface Sku {
/**
* Gets or sets the SKU name of the account. Possible values include: 'Free', 'Basic'
*/
name: SkuNameEnum;
/**
* Gets or sets the SKU family.
*/
family?: string;
/**
* Gets or sets the SKU capacity.
*/
capacity?: number;
}
/**
* The core properties of ARM resources
*/
export interface Resource extends BaseResource {
/**
* Fully qualified resource Id for the resource
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly id?: string;
/**
* The name of the resource
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly name?: string;
/**
* The type of the resource.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly type?: string;
}
/**
* The resource model definition for a ARM tracked top level resource
*/
export interface TrackedResource extends Resource {
/**
* Resource tags.
*/
tags?: { [propertyName: string]: string };
/**
* The Azure Region where the resource lives
*/
location?: string;
}
/**
* Definition of the automation account type.
*/
export interface AutomationAccount extends TrackedResource {
/**
* Gets or sets the SKU of account.
*/
sku?: Sku;
/**
* Gets or sets the last modified by.
*/
lastModifiedBy?: string;
/**
* Gets status of account. Possible values include: 'Ok', 'Unavailable', 'Suspended'
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly state?: AutomationAccountState;
/**
* Gets the creation time.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly creationTime?: Date;
/**
* Gets the last modified time.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly lastModifiedTime?: Date;
/**
* Gets or sets the description.
*/
description?: string;
/**
* Gets or sets the etag of the resource.
*/
etag?: string;
}
/**
* The parameters supplied to the create or update automation account operation.
*/
export interface AutomationAccountCreateOrUpdateParameters {
/**
* Gets or sets account SKU.
*/
sku?: Sku;
/**
* Gets or sets name of the resource.
*/
name?: string;
/**
* Gets or sets the location of the resource.
*/
location?: string;
/**
* Gets or sets the tags attached to the resource.
*/
tags?: { [propertyName: string]: string };
}
/**
* Provider, Resource and Operation values
*/
export interface OperationDisplay {
/**
* Service provider: Microsoft.Automation
*/
provider?: string;
/**
* Resource on which the operation is performed: Runbooks, Jobs etc.
*/
resource?: string;
/**
* Operation type: Read, write, delete, etc.
*/
operation?: string;
}
/**
* Automation REST API operation
*/
export interface Operation {
/**
* Operation name: {provider}/{resource}/{operation}
*/
name?: string;
/**
* Provider, Resource and Operation values
*/
display?: OperationDisplay;
}
/**
* Definition of the statistic.
*/
export interface Statistics {
/**
* Gets the property value of the statistic.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly counterProperty?: string;
/**
* Gets the value of the statistic.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly counterValue?: number;
/**
* Gets the startTime of the statistic.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly startTime?: Date;
/**
* Gets the endTime of the statistic.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly endTime?: Date;
/**
* Gets the id.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly id?: string;
}
/**
* Definition of usage counter name.
*/
export interface UsageCounterName {
/**
* Gets or sets the usage counter name.
*/
value?: string;
/**
* Gets or sets the localized usage counter name.
*/
localizedValue?: string;
}
/**
* Definition of Usage.
*/
export interface Usage {
/**
* Gets or sets the id of the resource.
*/
id?: string;
/**
* Gets or sets the usage counter name.
*/
name?: UsageCounterName;
/**
* Gets or sets the usage unit name.
*/
unit?: string;
/**
* Gets or sets the current usage value.
*/
currentValue?: number;
/**
* Gets or sets max limit. -1 for unlimited
*/
limit?: number;
/**
* Gets or sets the throttle status.
*/
throttleStatus?: string;
}
/**
* Automation key which is used to register a DSC Node
*/
export interface Key {
/**
* Automation key name. Possible values include: 'Primary', 'Secondary'
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly keyName?: AutomationKeyName;
/**
* Automation key permissions. Possible values include: 'Read', 'Full'
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly permissions?: AutomationKeyPermissions;
/**
* Value of the Automation Key used for registration.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly value?: string;
}
/**
* An interface representing KeyListResult.
*/
export interface KeyListResult {
/**
* Lists the automation keys.
*/
keys?: Key[];
}
/**
* The parameters supplied to the update automation account operation.
*/
export interface AutomationAccountUpdateParameters {
/**
* Gets or sets account SKU.
*/
sku?: Sku;
/**
* Gets or sets the name of the resource.
*/
name?: string;
/**
* Gets or sets the location of the resource.
*/
location?: string;
/**
* Gets or sets the tags attached to the resource.
*/
tags?: { [propertyName: string]: string };
}
/**
* ARM proxy resource.
*/
export interface ProxyResource extends Resource {
}
/**
* Error response of an operation failure
*/
export interface ErrorResponse {
/**
* Error code
*/
code?: string;
/**
* Error message indicating why the operation failed.
*/
message?: string;
}
/**
* The parameters supplied to the create or update or replace certificate operation.
*/
export interface CertificateCreateOrUpdateParameters {
/**
* Gets or sets the name of the certificate.
*/
name: string;
/**
* Gets or sets the base64 encoded value of the certificate.
*/
base64Value: string;
/**
* Gets or sets the description of the certificate.
*/
description?: string;
/**
* Gets or sets the thumbprint of the certificate.
*/
thumbprint?: string;
/**
* Gets or sets the is exportable flag of the certificate.
*/
isExportable?: boolean;
}
/**
* Definition of the certificate.
*/
export interface Certificate extends ProxyResource {
/**
* Gets the thumbprint of the certificate.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly thumbprint?: string;
/**
* Gets the expiry time of the certificate.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly expiryTime?: Date;
/**
* Gets the is exportable flag of the certificate.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly isExportable?: boolean;
/**
* Gets the creation time.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly creationTime?: Date;
/**
* Gets the last modified time.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly lastModifiedTime?: Date;
/**
* Gets or sets the description.
*/
description?: string;
}
/**
* The parameters supplied to the update certificate operation.
*/
export interface CertificateUpdateParameters {
/**
* Gets or sets the name of the certificate.
*/
name?: string;
/**
* Gets or sets the description of the certificate.
*/
description?: string;
}
/**
* The connection type property associated with the entity.
*/
export interface ConnectionTypeAssociationProperty {
/**
* Gets or sets the name of the connection type.
*/
name?: string;
}
/**
* The parameters supplied to the create or update connection operation.
*/
export interface ConnectionCreateOrUpdateParameters {
/**
* Gets or sets the name of the connection.
*/
name: string;
/**
* Gets or sets the description of the connection.
*/
description?: string;
/**
* Gets or sets the connectionType of the connection.
*/
connectionType: ConnectionTypeAssociationProperty;
/**
* Gets or sets the field definition properties of the connection.
*/
fieldDefinitionValues?: { [propertyName: string]: string };
}
/**
* Definition of the connection.
*/
export interface Connection extends ProxyResource {
/**
* Gets or sets the connectionType of the connection.
*/
connectionType?: ConnectionTypeAssociationProperty;
/**
* Gets the field definition values of the connection.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly fieldDefinitionValues?: { [propertyName: string]: string };
/**
* Gets the creation time.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly creationTime?: Date;
/**
* Gets the last modified time.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly lastModifiedTime?: Date;
/**
* Gets or sets the description.
*/
description?: string;
}
/**
* The parameters supplied to the update connection operation.
*/
export interface ConnectionUpdateParameters {
/**
* Gets or sets the name of the connection.
*/
name?: string;
/**
* Gets or sets the description of the connection.
*/
description?: string;
/**
* Gets or sets the field definition values of the connection.
*/
fieldDefinitionValues?: { [propertyName: string]: string };
}
/**
* Definition of the connection fields.
*/
export interface FieldDefinition {
/**
* Gets or sets the isEncrypted flag of the connection field definition.
*/
isEncrypted?: boolean;
/**
* Gets or sets the isOptional flag of the connection field definition.
*/
isOptional?: boolean;
/**
* Gets or sets the type of the connection field definition.
*/
type: string;
}
/**
* Definition of the connection type.
*/
export interface ConnectionType {
/**
* Gets the id of the resource.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly id?: string;
/**
* Gets the name of the connection type.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly name?: string;
/**
* Resource type
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly type?: string;
/**
* Gets or sets a Boolean value to indicate if the connection type is global.
*/
isGlobal?: boolean;
/**
* Gets the field definitions of the connection type.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly fieldDefinitions?: { [propertyName: string]: FieldDefinition };
/**
* Gets the creation time.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly creationTime?: Date;
/**
* Gets or sets the last modified time.
*/
lastModifiedTime?: Date;
/**
* Gets or sets the description.
*/
description?: string;
}
/**
* The parameters supplied to the create or update connection type operation.
*/
export interface ConnectionTypeCreateOrUpdateParameters {
/**
* Gets or sets the name of the connection type.
*/
name: string;
/**
* Gets or sets a Boolean value to indicate if the connection type is global.
*/
isGlobal?: boolean;
/**
* Gets or sets the field definitions of the connection type.
*/
fieldDefinitions: { [propertyName: string]: FieldDefinition };
}
/**
* The parameters supplied to the create or update credential operation.
*/
export interface CredentialCreateOrUpdateParameters {
/**
* Gets or sets the name of the credential.
*/
name: string;
/**
* Gets or sets the user name of the credential.
*/
userName: string;
/**
* Gets or sets the password of the credential.
*/
password: string;
/**
* Gets or sets the description of the credential.
*/
description?: string;
}
/**
* Definition of the credential.
*/
export interface Credential extends ProxyResource {
/**
* Gets the user name of the credential.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly userName?: string;
/**
* Gets the creation time.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly creationTime?: Date;
/**
* Gets the last modified time.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly lastModifiedTime?: Date;
/**
* Gets or sets the description.
*/
description?: string;
}
/**
* The parameters supplied to the Update credential operation.
*/
export interface CredentialUpdateParameters {
/**
* Gets or sets the name of the credential.
*/
name?: string;
/**
* Gets or sets the user name of the credential.
*/
userName?: string;
/**
* Gets or sets the password of the credential.
*/
password?: string;
/**
* Gets or sets the description of the credential.
*/
description?: string;
}
/**
* Definition of the runbook property type.
*/
export interface ContentHash {
/**
* Gets or sets the content hash algorithm used to hash the content.
*/
algorithm: string;
/**
* Gets or sets expected hash value of the content.
*/
value: string;
}
/**
* Definition of the content source.
*/
export interface ContentSource {
/**
* Gets or sets the hash.
*/
hash?: ContentHash;
/**
* Gets or sets the content source type. Possible values include: 'embeddedContent', 'uri'
*/
type?: ContentSourceType;
/**
* Gets or sets the value of the content. This is based on the content source type.
*/
value?: string;
/**
* Gets or sets the version of the content.
*/
version?: string;
}
/**
* Definition of the configuration parameter type.
*/
export interface DscConfigurationParameter {
/**
* Gets or sets the type of the parameter.
*/
type?: string;
/**
* Gets or sets a Boolean value to indicate whether the parameter is mandatory or not.
*/
isMandatory?: boolean;
/**
* Get or sets the position of the parameter.
*/
position?: number;
/**
* Gets or sets the default value of parameter.
*/
defaultValue?: string;
}
/**
* The parameters supplied to the create or update configuration operation.
*/
export interface DscConfigurationCreateOrUpdateParameters {
/**
* Gets or sets verbose log option.
*/
logVerbose?: boolean;
/**
* Gets or sets progress log option.
*/
logProgress?: boolean;
/**
* Gets or sets the source.
*/
source: ContentSource;
/**
* Gets or sets the configuration parameters.
*/
parameters?: { [propertyName: string]: DscConfigurationParameter };
/**
* Gets or sets the description of the configuration.
*/
description?: string;
/**
* Gets or sets name of the resource.
*/
name?: string;
/**
* Gets or sets the location of the resource.
*/
location?: string;
/**
* Gets or sets the tags attached to the resource.
*/
tags?: { [propertyName: string]: string };
}
/**
* Definition of the configuration type.
*/
export interface DscConfiguration extends TrackedResource {
/**
* Gets or sets the provisioning state of the configuration. Possible values include: 'Succeeded'
*/
provisioningState?: DscConfigurationProvisioningState;
/**
* Gets or sets the job count of the configuration.
*/
jobCount?: number;
/**
* Gets or sets the configuration parameters.
*/
parameters?: { [propertyName: string]: DscConfigurationParameter };
/**
* Gets or sets the source.
*/
source?: ContentSource;
/**
* Gets or sets the state of the configuration. Possible values include: 'New', 'Edit',
* 'Published'
*/
state?: DscConfigurationState;
/**
* Gets or sets verbose log option.
*/
logVerbose?: boolean;
/**
* Gets or sets the creation time.
*/
creationTime?: Date;
/**
* Gets or sets the last modified time.
*/
lastModifiedTime?: Date;
/**
* Gets the number of compiled node configurations.
*/
nodeConfigurationCount?: number;
/**
* Gets or sets the description.
*/
description?: string;
/**
* Gets or sets the etag of the resource.
*/
etag?: string;
}
/**
* The parameters supplied to the create or update configuration operation.
*/
export interface DscConfigurationUpdateParameters {
/**
* Gets or sets verbose log option.
*/
logVerbose?: boolean;
/**
* Gets or sets progress log option.
*/
logProgress?: boolean;
/**
* Gets or sets the source.
*/
source: ContentSource;
/**
* Gets or sets the configuration parameters.
*/
parameters?: { [propertyName: string]: DscConfigurationParameter };
/**
* Gets or sets the description of the configuration.
*/
description?: string;
/**
* Gets or sets name of the resource.
*/
name?: string;
/**
* Gets or sets the tags attached to the resource.
*/
tags?: { [propertyName: string]: string };
}
/**
* Definition of RunAs credential to use for hybrid worker.
*/
export interface RunAsCredentialAssociationProperty {
/**
* Gets or sets the name of the credential.
*/
name?: string;
}
/**
* Definition of hybrid runbook worker.
*/
export interface HybridRunbookWorker {
/**
* Gets or sets the worker machine name.
*/
name?: string;
/**
* Gets or sets the assigned machine IP address.
*/
ip?: string;
/**
* Gets or sets the registration time of the worker machine.
*/
registrationTime?: Date;
/**
* Last Heartbeat from the Worker
*/
lastSeenDateTime?: Date;
}
/**
* Definition of hybrid runbook worker group.
*/
export interface HybridRunbookWorkerGroup {
/**
* Gets or sets the id of the resource.
*/
id?: string;
/**
* Gets or sets the name of the group.
*/
name?: string;
/**
* Gets or sets the list of hybrid runbook workers.
*/
hybridRunbookWorkers?: HybridRunbookWorker[];
/**
* Sets the credential of a worker group.
*/
credential?: RunAsCredentialAssociationProperty;
/**
* Type of the HybridWorkerGroup. Possible values include: 'User', 'System'
*/
groupType?: GroupTypeEnum;
}
/**
* Parameters supplied to the update operation.
*/
export interface HybridRunbookWorkerGroupUpdateParameters {
/**
* Sets the credential of a worker group.
*/
credential?: RunAsCredentialAssociationProperty;
}
/**
* The schedule property associated with the entity.
*/
export interface ScheduleAssociationProperty {
/**
* Gets or sets the name of the Schedule.
*/
name?: string;
}
/**
* The runbook property associated with the entity.
*/
export interface RunbookAssociationProperty {
/**
* Gets or sets the name of the runbook.
*/
name?: string;
}
/**
* Definition of the job schedule.
*/
export interface JobSchedule {
/**
* Gets the id of the resource.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly id?: string;
/**
* Gets the name of the variable.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly name?: string;
/**
* Resource type
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly type?: string;
/**
* Gets or sets the id of job schedule.
*/
jobScheduleId?: string;
/**
* Gets or sets the schedule.
*/
schedule?: ScheduleAssociationProperty;
/**
* Gets or sets the runbook.
*/
runbook?: RunbookAssociationProperty;
/**
* Gets or sets the hybrid worker group that the scheduled job should run on.
*/
runOn?: string;
/**
* Gets or sets the parameters of the job schedule.
*/
parameters?: { [propertyName: string]: string };
}
/**
* The parameters supplied to the create job schedule operation.
*/
export interface JobScheduleCreateParameters {
/**
* Gets or sets the schedule.
*/
schedule: ScheduleAssociationProperty;
/**
* Gets or sets the runbook.
*/
runbook: RunbookAssociationProperty;
/**
* Gets or sets the hybrid worker group that the scheduled job should run on.
*/
runOn?: string;
/**
* Gets or sets a list of job properties.
*/
parameters?: { [propertyName: string]: string };
}
/**
* Definition of the linked workspace.
*/
export interface LinkedWorkspace {
/**
* Gets the id of the linked workspace.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly id?: string;
}
/**
* Definition of the activity parameter validation set.
*/
export interface ActivityParameterValidationSet {
/**
* Gets or sets the name of the activity parameter validation set member.
*/
memberValue?: string;
}
/**
* Definition of the activity parameter.
*/
export interface ActivityParameter {
/**
* Gets or sets the name of the activity parameter.
*/
name?: string;
/**
* Gets or sets the type of the activity parameter.
*/
type?: string;
/**
* Gets or sets a Boolean value that indicates true if the parameter is required. If the value is
* false, the parameter is optional.
*/
isMandatory?: boolean;
/**
* Gets or sets a Boolean value that indicates true if the parameter is dynamic.
*/
isDynamic?: boolean;
/**
* Gets or sets the position of the activity parameter.
*/
position?: number;
/**
* Gets or sets a Boolean value that indicates true if the parameter can take values from the
* incoming pipeline objects. This setting is used if the cmdlet must access the complete input
* object. false indicates that the parameter cannot take values from the complete input object.
*/
valueFromPipeline?: boolean;
/**
* Gets or sets a Boolean value that indicates true if the parameter can be filled from a
* property of the incoming pipeline object that has the same name as this parameter. false
* indicates that the parameter cannot be filled from the incoming pipeline object property with
* the same name.
*/
valueFromPipelineByPropertyName?: boolean;
/**
* Gets or sets a Boolean value that indicates true if the cmdlet parameter accepts all the
* remaining command-line arguments that are associated with this parameter in the form of an
* array. false if the cmdlet parameter does not accept all the remaining argument values.
*/
valueFromRemainingArguments?: boolean;
/**
* Gets or sets the description of the activity parameter.
*/
description?: string;
/**
* Gets or sets the validation set of activity parameter.
*/
validationSet?: ActivityParameterValidationSet[];
}
/**
* Definition of the activity parameter set.
*/
export interface ActivityParameterSet {
/**
* Gets or sets the name of the activity parameter set.
*/
name?: string;
/**
* Gets or sets the parameters of the activity parameter set.
*/
parameters?: ActivityParameter[];
}
/**
* Definition of the activity output type.
*/
export interface ActivityOutputType {
/**
* Gets or sets the name of the activity output type.
*/
name?: string;
/**
* Gets or sets the type of the activity output type.
*/
type?: string;
}
/**
* Definition of the activity.
*/
export interface Activity {
/**
* Gets or sets the id of the resource.
*/
id?: string;
/**
* Gets the name of the activity.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly name?: string;
/**
* Gets or sets the user name of the activity.
*/
definition?: string;
/**
* Gets or sets the parameter sets of the activity.
*/
parameterSets?: ActivityParameterSet[];
/**
* Gets or sets the output types of the activity.
*/
outputTypes?: ActivityOutputType[];
/**
* Gets or sets the creation time.
*/
creationTime?: Date;
/**
* Gets or sets the last modified time.
*/
lastModifiedTime?: Date;
/**
* Gets or sets the description.
*/
description?: string;
}
/**
* Definition of the module error info type.
*/
export interface ModuleErrorInfo {
/**
* Gets or sets the error code.
*/
code?: string;
/**
* Gets or sets the error message.
*/
message?: string;
}
/**
* Definition of the content link.
*/
export interface ContentLink {
/**
* Gets or sets the uri of the runbook content.
*/
uri?: string;
/**
* Gets or sets the hash.
*/
contentHash?: ContentHash;
/**
* Gets or sets the version of the content.
*/
version?: string;
}
/**
* Definition of the module type.
*/
export interface Module extends TrackedResource {
/**
* Gets or sets the isGlobal flag of the module.
*/
isGlobal?: boolean;
/**
* Gets or sets the version of the module.
*/
version?: string;
/**
* Gets or sets the size in bytes of the module.
*/
sizeInBytes?: number;
/**
* Gets or sets the activity count of the module.
*/
activityCount?: number;
/**
* Gets or sets the provisioning state of the module. Possible values include: 'Created',
* 'Creating', 'StartingImportModuleRunbook', 'RunningImportModuleRunbook', 'ContentRetrieved',
* 'ContentDownloaded', 'ContentValidated', 'ConnectionTypeImported', 'ContentStored',
* 'ModuleDataStored', 'ActivitiesStored', 'ModuleImportRunbookComplete', 'Succeeded', 'Failed',
* 'Cancelled', 'Updating'
*/
provisioningState?: ModuleProvisioningState;
/**
* Gets or sets the contentLink of the module.
*/
contentLink?: ContentLink;
/**
* Gets or sets the error info of the module.
*/
error?: ModuleErrorInfo;
/**
* Gets or sets the creation time.
*/
creationTime?: Date;
/**
* Gets or sets the last modified time.
*/
lastModifiedTime?: Date;
/**
* Gets or sets the description.
*/
description?: string;
/**
* Gets or sets type of module, if its composite or not.
*/
isComposite?: boolean;
/**
* Gets or sets the etag of the resource.
*/
etag?: string;
}
/**
* The parameters supplied to the create or update module operation.
*/
export interface ModuleCreateOrUpdateParameters {
/**
* Gets or sets the module content link.
*/
contentLink: ContentLink;
/**
* Gets or sets name of the resource.
*/
name?: string;
/**
* Gets or sets the location of the resource.
*/
location?: string;
/**
* Gets or sets the tags attached to the resource.
*/
tags?: { [propertyName: string]: string };
}
/**
* The parameters supplied to the update module operation.
*/
export interface ModuleUpdateParameters {
/**
* Gets or sets the module content link.
*/
contentLink?: ContentLink;
/**
* Gets or sets name of the resource.
*/
name?: string;
/**
* Gets or sets the location of the resource.
*/
location?: string;
/**
* Gets or sets the tags attached to the resource.
*/
tags?: { [propertyName: string]: string };
}
/**
* Information about a field of a type.
*/
export interface TypeField {
/**
* Gets or sets the name of the field.
*/
name?: string;
/**
* Gets or sets the type of the field.
*/
type?: string;
}
/**
* The properties of the create advanced schedule monthly occurrence.
*/
export interface AdvancedScheduleMonthlyOccurrence {
/**
* Occurrence of the week within the month. Must be between 1 and 5
*/
occurrence?: number;
/**
* Day of the occurrence. Must be one of monday, tuesday, wednesday, thursday, friday, saturday,
* sunday. Possible values include: 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday',
* 'Saturday', 'Sunday'
*/
day?: ScheduleDay;
}
/**
* The properties of the create Advanced Schedule.
*/
export interface AdvancedSchedule {
/**
* Days of the week that the job should execute on.
*/
weekDays?: string[];
/**
* Days of the month that the job should execute on. Must be between 1 and 31.
*/
monthDays?: number[];
/**
* Occurrences of days within a month.
*/
monthlyOccurrences?: AdvancedScheduleMonthlyOccurrence[];
}
/**
* The parameters supplied to the create or update schedule operation.
*/
export interface ScheduleCreateOrUpdateParameters {
/**
* Gets or sets the name of the Schedule.
*/
name: string;
/**
* Gets or sets the description of the schedule.
*/
description?: string;
/**
* Gets or sets the start time of the schedule.
*/
startTime: Date;
/**
* Gets or sets the end time of the schedule.
*/
expiryTime?: Date;
/**
* Gets or sets the interval of the schedule.
*/
interval?: any;
/**
* Possible values include: 'OneTime', 'Day', 'Hour', 'Week', 'Month'
*/
frequency: ScheduleFrequency;
/**
* Gets or sets the time zone of the schedule.
*/
timeZone?: string;
/**
* Gets or sets the AdvancedSchedule.
*/
advancedSchedule?: AdvancedSchedule;
}
/**
* Definition of schedule parameters.
*/
export interface ScheduleProperties {
/**
* Gets or sets the start time of the schedule.
*/
startTime?: Date;
/**
* Gets the start time's offset in minutes.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly startTimeOffsetMinutes?: number;
/**
* Gets or sets the end time of the schedule.
*/
expiryTime?: Date;
/**
* Gets or sets the expiry time's offset in minutes.
*/
expiryTimeOffsetMinutes?: number;
/**
* Gets or sets a value indicating whether this schedule is enabled. Default value: false.
*/
isEnabled?: boolean;
/**
* Gets or sets the next run time of the schedule.
*/
nextRun?: Date;
/**
* Gets or sets the next run time's offset in minutes.
*/
nextRunOffsetMinutes?: number;
/**
* Gets or sets the interval of the schedule.
*/
interval?: number;
/**
* Gets or sets the frequency of the schedule. Possible values include: 'OneTime', 'Day', 'Hour',
* 'Week', 'Month'
*/
frequency?: ScheduleFrequency;
/**
* Gets or sets the time zone of the schedule.
*/
timeZone?: string;
/**
* Gets or sets the advanced schedule.
*/
advancedSchedule?: AdvancedSchedule;
/**
* Gets or sets the creation time.
*/
creationTime?: Date;
/**
* Gets or sets the last modified time.
*/
lastModifiedTime?: Date;
/**
* Gets or sets the description.
*/
description?: string;
}
/**
* Definition of the schedule.
*/
export interface Schedule extends ProxyResource {
/**
* Gets or sets the start time of the schedule.
*/
startTime?: Date;
/**
* Gets the start time's offset in minutes.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly startTimeOffsetMinutes?: number;
/**
* Gets or sets the end time of the schedule.
*/
expiryTime?: Date;
/**
* Gets or sets the expiry time's offset in minutes.
*/
expiryTimeOffsetMinutes?: number;
/**
* Gets or sets a value indicating whether this schedule is enabled. Default value: false.
*/
isEnabled?: boolean;
/**
* Gets or sets the next run time of the schedule.
*/
nextRun?: Date;
/**
* Gets or sets the next run time's offset in minutes.
*/
nextRunOffsetMinutes?: number;
/**
* Gets or sets the interval of the schedule.
*/
interval?: number;
/**
* Gets or sets the frequency of the schedule. Possible values include: 'OneTime', 'Day', 'Hour',
* 'Week', 'Month'
*/
frequency?: ScheduleFrequency;
/**
* Gets or sets the time zone of the schedule.
*/
timeZone?: string;
/**
* Gets or sets the advanced schedule.
*/
advancedSchedule?: AdvancedSchedule;
/**
* Gets or sets the creation time.
*/
creationTime?: Date;
/**
* Gets or sets the last modified time.
*/
lastModifiedTime?: Date;
/**
* Gets or sets the description.
*/
description?: string;
}
/**
* The parameters supplied to the update schedule operation.
*/
export interface ScheduleUpdateParameters {
/**
* Gets or sets the name of the Schedule.
*/
name?: string;
/**
* Gets or sets the description of the schedule.
*/
description?: string;
/**
* Gets or sets a value indicating whether this schedule is enabled.
*/
isEnabled?: boolean;
}
/**
* The parameters supplied to the create or update variable operation.
*/
export interface VariableCreateOrUpdateParameters {
/**
* Gets or sets the name of the variable.
*/
name: string;
/**
* Gets or sets the value of the variable.
*/
value?: string;
/**
* Gets or sets the description of the variable.
*/
description?: string;
/**
* Gets or sets the encrypted flag of the variable.
*/
isEncrypted?: boolean;
}
/**
* Definition of the variable.
*/
export interface Variable extends ProxyResource {
/**
* Gets or sets the value of the variable.
*/
value?: string;
/**
* Gets or sets the encrypted flag of the variable.
*/
isEncrypted?: boolean;
/**
* Gets or sets the creation time.
*/
creationTime?: Date;
/**
* Gets or sets the last modified time.
*/
lastModifiedTime?: Date;
/**
* Gets or sets the description.
*/
description?: string;
}
/**
* The parameters supplied to the update variable operation.
*/
export interface VariableUpdateParameters {
/**
* Gets or sets the name of the variable.
*/
name?: string;
/**
* Gets or sets the value of the variable.
*/
value?: string;
/**
* Gets or sets the description of the variable.
*/
description?: string;
}
/**
* Definition of the webhook type.
*/
export interface Webhook extends ProxyResource {
/**
* Gets or sets the value of the enabled flag of the webhook. Default value: false.
*/
isEnabled?: boolean;
/**
* Gets or sets the webhook uri.
*/
uri?: string;
/**
* Gets or sets the expiry time.
*/
expiryTime?: Date;
/**
* Gets or sets the last invoked time.
*/
lastInvokedTime?: Date;
/**
* Gets or sets the parameters of the job that is created when the webhook calls the runbook it
* is associated with.
*/
parameters?: { [propertyName: string]: string };
/**
* Gets or sets the runbook the webhook is associated with.
*/
runbook?: RunbookAssociationProperty;
/**
* Gets or sets the name of the hybrid worker group the webhook job will run on.
*/
runOn?: string;
/**
* Gets or sets the creation time.
*/
creationTime?: Date;
/**
* Gets or sets the last modified time.
*/
lastModifiedTime?: Date;
/**
* Details of the user who last modified the Webhook
*/
lastModifiedBy?: string;
/**
* Gets or sets the description.
*/
description?: string;
}
/**
* The parameters supplied to the update webhook operation.
*/
export interface WebhookUpdateParameters {
/**
* Gets or sets the name of the webhook.
*/
name?: string;
/**
* Gets or sets the value of the enabled flag of webhook.
*/
isEnabled?: boolean;
/**
* Gets or sets the name of the hybrid worker group the webhook job will run on.
*/
runOn?: string;
/**
* Gets or sets the parameters of the job.
*/
parameters?: { [propertyName: string]: string };
/**
* Gets or sets the description of the webhook.
*/
description?: string;
}
/**
* The parameters supplied to the create or update webhook operation.
*/
export interface WebhookCreateOrUpdateParameters {
/**
* Gets or sets the name of the webhook.
*/
name: string;
/**
* Gets or sets the value of the enabled flag of webhook.
*/
isEnabled?: boolean;
/**
* Gets or sets the uri.
*/
uri?: string;
/**
* Gets or sets the expiry time.
*/
expiryTime?: Date;
/**
* Gets or sets the parameters of the job.
*/
parameters?: { [propertyName: string]: string };
/**
* Gets or sets the runbook.
*/
runbook?: RunbookAssociationProperty;
/**
* Gets or sets the name of the hybrid worker group the webhook job will run on.
*/
runOn?: string;
}
/**
* Definition of the watcher type.
*/
export interface Watcher extends TrackedResource {
/**
* Gets or sets the frequency at which the watcher is invoked.
*/
executionFrequencyInSeconds?: number;
/**
* Gets or sets the name of the script the watcher is attached to, i.e. the name of an existing
* runbook.
*/
scriptName?: string;
/**
* Gets or sets the parameters of the script.
*/
scriptParameters?: { [propertyName: string]: string };
/**
* Gets or sets the name of the hybrid worker group the watcher will run on.
*/
scriptRunOn?: string;
/**
* Gets the current status of the watcher.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly status?: string;
/**
* Gets or sets the creation time.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly creationTime?: Date;
/**
* Gets or sets the last modified time.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly lastModifiedTime?: Date;
/**
* Details of the user who last modified the watcher.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly lastModifiedBy?: string;
/**
* Gets or sets the description.
*/
description?: string;
/**
* Gets or sets the etag of the resource.
*/
etag?: string;
}
/**
* An interface representing WatcherUpdateParameters.
*/
export interface WatcherUpdateParameters {
/**
* Gets or sets the frequency at which the watcher is invoked.
*/
executionFrequencyInSeconds?: number;
/**
* Gets or sets the name of the resource.
*/
name?: string;
}
/**
* Windows specific update configuration.
*/
export interface WindowsProperties {
/**
* Update classification included in the software update configuration. A comma separated string
* with required values. Possible values include: 'Unclassified', 'Critical', 'Security',
* 'UpdateRollup', 'FeaturePack', 'ServicePack', 'Definition', 'Tools', 'Updates'
*/
includedUpdateClassifications?: WindowsUpdateClasses;
/**
* KB numbers excluded from the software update configuration.
*/
excludedKbNumbers?: string[];
/**
* KB numbers included from the software update configuration.
*/
includedKbNumbers?: string[];
/**
* Reboot setting for the software update configuration.
*/
rebootSetting?: string;
}
/**
* Linux specific update configuration.
*/
export interface LinuxProperties {
/**
* Update classifications included in the software update configuration. Possible values include:
* 'Unclassified', 'Critical', 'Security', 'Other'
*/
includedPackageClassifications?: LinuxUpdateClasses;
/**
* packages excluded from the software update configuration.
*/
excludedPackageNameMasks?: string[];
/**
* packages included from the software update configuration.
*/
includedPackageNameMasks?: string[];
/**
* Reboot setting for the software update configuration.
*/
rebootSetting?: string;
}
/**
* Tag filter information for the VM.
*/
export interface TagSettingsProperties {
/**
* Dictionary of tags with its list of values.
*/
tags?: { [propertyName: string]: string[] };
/**
* Filter VMs by Any or All specified tags. Possible values include: 'All', 'Any'
*/
filterOperator?: TagOperators;
}
/**
* Azure query for the update configuration.
*/
export interface AzureQueryProperties {
/**
* List of Subscription or Resource Group ARM Ids.
*/
scope?: string[];
/**
* List of locations to scope the query to.
*/
locations?: string[];
/**
* Tag settings for the VM.
*/
tagSettings?: TagSettingsProperties;
}
/**
* Non Azure query for the update configuration.
*/
export interface NonAzureQueryProperties {
/**
* Log Analytics Saved Search name.
*/
functionAlias?: string;
/**
* Workspace Id for Log Analytics in which the saved Search is resided.
*/
workspaceId?: string;
}
/**
* Group specific to the update configuration.
*/
export interface TargetProperties {
/**
* List of Azure queries in the software update configuration.
*/
azureQueries?: AzureQueryProperties[];
/**
* List of non Azure queries in the software update configuration.
*/
nonAzureQueries?: NonAzureQueryProperties[];
}
/**
* Update specific properties of the software update configuration.
*/
export interface UpdateConfiguration {
/**
* operating system of target machines. Possible values include: 'Windows', 'Linux'
*/
operatingSystem: OperatingSystemType;
/**
* Windows specific update configuration.
*/
windows?: WindowsProperties;
/**
* Linux specific update configuration.
*/
linux?: LinuxProperties;
/**
* Maximum time allowed for the software update configuration run. Duration needs to be specified
* using the format PT[n]H[n]M[n]S as per ISO8601
*/
duration?: string;
/**
* List of azure resource Ids for azure virtual machines targeted by the software update
* configuration.
*/
azureVirtualMachines?: string[];
/**
* List of names of non-azure machines targeted by the software update configuration.
*/
nonAzureComputerNames?: string[];
/**
* Group targets for the software update configuration.
*/
targets?: TargetProperties;
}
/**
* Task properties of the software update configuration.
*/
export interface TaskProperties {
/**
* Gets or sets the parameters of the task.
*/
parameters?: { [propertyName: string]: string };
/**
* Gets or sets the name of the runbook.
*/
source?: string;
}
/**
* Task properties of the software update configuration.
*/
export interface SoftwareUpdateConfigurationTasks {
/**
* Pre task properties.
*/
preTask?: TaskProperties;
/**
* Post task properties.
*/
postTask?: TaskProperties;
}
/**
* Software update configuration properties.
*/
export interface SoftwareUpdateConfiguration extends BaseResource {
/**
* Resource name.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly name?: string;
/**
* Resource Id.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly id?: string;
/**
* Resource type
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly type?: string;
/**
* update specific properties for the Software update configuration
*/
updateConfiguration: UpdateConfiguration;
/**
* Schedule information for the Software update configuration
*/
scheduleInfo: ScheduleProperties;
/**
* Provisioning state for the software update configuration, which only appears in the response.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly provisioningState?: string;
/**
* Details of provisioning error
*/
error?: ErrorResponse;
/**
* Creation time of the resource, which only appears in the response.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly creationTime?: Date;
/**
* CreatedBy property, which only appears in the response.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly createdBy?: string;
/**
* Last time resource was modified, which only appears in the response.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly lastModifiedTime?: Date;
/**
* LastModifiedBy property, which only appears in the response.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly lastModifiedBy?: string;
/**
* Tasks information for the Software update configuration.
*/
tasks?: SoftwareUpdateConfigurationTasks;
}
/**
* object returned when requesting a collection of software update configuration
*/
export interface CollectionItemUpdateConfiguration {
/**
* List of azure resource Ids for azure virtual machines targeted by the software update
* configuration.
*/
azureVirtualMachines?: string[];
/**
* Maximum time allowed for the software update configuration run. Duration needs to be specified
* using the format PT[n]H[n]M[n]S as per ISO8601
*/
duration?: string;
}
/**
* Software update configuration collection item properties.
*/
export interface SoftwareUpdateConfigurationCollectionItem {
/**
* Name of the software update configuration.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly name?: string;
/**
* Resource Id of the software update configuration
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly id?: string;
/**
* Update specific properties of the software update configuration.
*/
updateConfiguration?: CollectionItemUpdateConfiguration;
/**
* execution frequency of the schedule associated with the software update configuration.
* Possible values include: 'OneTime', 'Day', 'Hour', 'Week', 'Month'
*/
frequency?: ScheduleFrequency;
/**
* the start time of the update.
*/
startTime?: Date;
/**
* Creation time of the software update configuration, which only appears in the response.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly creationTime?: Date;
/**
* Last time software update configuration was modified, which only appears in the response.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly lastModifiedTime?: Date;
/**
* Provisioning state for the software update configuration, which only appears in the response.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly provisioningState?: string;
/**
* ext run time of the update.
*/
nextRun?: Date;
}
/**
* result of listing all software update configuration
*/
export interface SoftwareUpdateConfigurationListResult {
/**
* outer object returned when listing all software update configurations
*/
value?: SoftwareUpdateConfigurationCollectionItem[];
}
/**
* Software update configuration Run Navigation model.
*/
export interface UpdateConfigurationNavigation {
/**
* Name of the software update configuration triggered the software update configuration run
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly name?: string;
}
/**
* Task properties of the software update configuration.
*/
export interface SoftareUpdateConfigurationRunTaskProperties {
/**
* The status of the task.
*/
status?: string;
/**
* The name of the source of the task.
*/
source?: string;
/**
* The job id of the task.
*/
jobId?: string;
}
/**
* Software update configuration run tasks model.
*/
export interface SoftareUpdateConfigurationRunTasks {
/**
* Pre task properties.
*/
preTask?: SoftareUpdateConfigurationRunTaskProperties;
/**
* Post task properties.
*/
postTask?: SoftareUpdateConfigurationRunTaskProperties;
}
/**
* Software update configuration Run properties.
*/
export interface SoftwareUpdateConfigurationRun {
/**
* Name of the software update configuration run.
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly name?: string;
/**
* Resource Id of the software update configuration run
* **NOTE: This property will not be serialized. It can only be populated by the server.**
*/
readonly id?: string;
/**
* software update configuration triggered this run
*/
softwareUpdateConfiguration?: UpdateConfigurationNavigation;