import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface HttpAuthentication { type?: Expressionable<('NotSpecified' | 'ClientCertificate' | 'ActiveDirectoryOAuth' | 'Basic')>; } export interface HttpRequest { authentication?: Expressionable; uri?: Expressionable; method?: Expressionable; body?: Expressionable; } export interface JobAction { type?: Expressionable<('Http' | 'Https' | 'StorageQueue' | 'ServiceBusQueue' | 'ServiceBusTopic')>; request?: Expressionable; queueMessage?: Expressionable; serviceBusQueueMessage?: Expressionable; serviceBusTopicMessage?: Expressionable; retryPolicy?: Expressionable; errorAction?: Expressionable; } export interface JobCollectionProperties { sku?: Expressionable; state?: Expressionable<('Enabled' | 'Disabled' | 'Suspended' | 'Deleted')>; quota?: Expressionable; } export interface JobCollectionQuota { maxJobCount?: Expressionable; maxJobOccurrence?: Expressionable; maxRecurrence?: Expressionable; } export interface JobErrorAction { type?: Expressionable<('Http' | 'Https' | 'StorageQueue' | 'ServiceBusQueue' | 'ServiceBusTopic')>; request?: Expressionable; queueMessage?: Expressionable; serviceBusQueueMessage?: Expressionable; serviceBusTopicMessage?: Expressionable; retryPolicy?: Expressionable; } export interface JobMaxRecurrence { frequency?: Expressionable<('Minute' | 'Hour' | 'Day' | 'Week' | 'Month')>; interval?: Expressionable; } export interface JobProperties { startTime?: Expressionable; action?: Expressionable; recurrence?: Expressionable; state?: Expressionable<('Enabled' | 'Disabled' | 'Faulted' | 'Completed')>; } export interface JobRecurrence { frequency?: Expressionable<('Minute' | 'Hour' | 'Day' | 'Week' | 'Month')>; interval?: Expressionable; count?: Expressionable; endTime?: Expressionable; schedule?: Expressionable; } export interface JobRecurrenceSchedule { weekDays?: Expressionable<('Sunday' | 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday')>; hours?: Expressionable; minutes?: Expressionable; monthDays?: Expressionable; monthlyOccurrences?: Expressionable; } export interface JobRecurrenceScheduleMonthlyOccurrence { day?: Expressionable<('Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday' | 'Sunday')>; Occurrence?: Expressionable; } export interface RetryPolicy { retryType?: Expressionable<('None' | 'Fixed')>; retryInterval?: Expressionable; retryCount?: Expressionable; } export interface ServiceBusAuthentication { sasKey?: Expressionable; sasKeyName?: Expressionable; type?: Expressionable<('NotSpecified' | 'SharedAccessKey')>; } export interface ServiceBusBrokeredMessageProperties { contentType?: Expressionable; correlationId?: Expressionable; forcePersistence?: Expressionable; label?: Expressionable; messageId?: Expressionable; partitionKey?: Expressionable; replyTo?: Expressionable; replyToSessionId?: Expressionable; scheduledEnqueueTimeUtc?: Expressionable; sessionId?: Expressionable; timeToLive?: Expressionable; to?: Expressionable; viaPartitionKey?: Expressionable; } export interface ServiceBusQueueMessage { authentication?: Expressionable; brokeredMessageProperties?: Expressionable; message?: Expressionable; namespace?: Expressionable; transportType?: Expressionable<('NotSpecified' | 'NetMessaging' | 'AMQP')>; queueName?: Expressionable; } export interface ServiceBusTopicMessage { authentication?: Expressionable; brokeredMessageProperties?: Expressionable; message?: Expressionable; namespace?: Expressionable; transportType?: Expressionable<('NotSpecified' | 'NetMessaging' | 'AMQP')>; topicPath?: Expressionable; } export interface Sku { name?: Expressionable<('Standard' | 'Free' | 'P10Premium' | 'P20Premium')>; } export interface StorageQueueMessage { storageAccount?: Expressionable; queueName?: Expressionable; sasToken?: Expressionable; message?: Expressionable; } export declare namespace jobCollections { type JobCollectionsResource = ResourceDefinition; function create(name: Expressionable, properties: JobCollectionProperties, location?: Expressionable): JobCollectionsResource; } export declare namespace jobCollections { namespace jobs { type JobsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: JobProperties): JobsResource; } }