import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface ApiKeyAuthentication { in: Expressionable<('Query' | 'Header')>; name: Expressionable; type: Expressionable<('ApiKey')>; value: Expressionable; } export interface ArtifactSourceProperties { artifactRoot?: Expressionable; authentication: Expressionable; sourceType: Expressionable; } export interface Authentication { } export interface HealthCheckStepAttributes { healthyStateDuration: Expressionable; maxElasticDuration?: Expressionable; waitDuration?: Expressionable; } export interface HealthCheckStepProperties { attributes: Expressionable; stepType: Expressionable<('HealthCheck')>; } export interface Identity { identityIds: Expressionable; type: Expressionable; } export interface PrePostStep { stepId: Expressionable; } export interface RestHealthCheck { name: Expressionable; request: Expressionable; response?: Expressionable; } export interface RestHealthCheckStepAttributes { properties?: Expressionable; type: Expressionable<('REST')>; } export interface RestParameters { healthChecks: Expressionable; } export interface RestRequest { authentication: Expressionable; method: Expressionable<('GET' | 'POST')>; uri: Expressionable; } export interface RestRequestAuthentication { } export interface RestResponse { regex?: Expressionable; successStatusCodes?: Expressionable; } export interface RestResponseRegex { matches?: Expressionable; matchQuantifier?: Expressionable<('All' | 'Any')>; } export interface RolloutIdentityAuthentication { type: Expressionable<('RolloutIdentity')>; } export interface RolloutRequestProperties { artifactSourceId?: Expressionable; buildVersion: Expressionable; stepGroups: Expressionable; targetServiceTopologyId: Expressionable; } export interface SasAuthentication { properties?: Expressionable; type: Expressionable<('Sas')>; } export interface SasProperties { sasUri: Expressionable; } export interface ServiceResourceProperties { targetLocation: Expressionable; targetSubscriptionId: Expressionable; } export interface ServiceTopologyResourceProperties { artifactSourceId?: Expressionable; } export interface ServiceUnitArtifacts { parametersArtifactSourceRelativePath?: Expressionable; parametersUri?: Expressionable; templateArtifactSourceRelativePath?: Expressionable; templateUri?: Expressionable; } export interface ServiceUnitResourceProperties { artifacts?: Expressionable; deploymentMode: Expressionable<('Incremental' | 'Complete')>; targetResourceGroup: Expressionable; } export interface StepGroup { dependsOnStepGroups?: Expressionable; deploymentTargetId: Expressionable; name: Expressionable; postDeploymentSteps?: Expressionable; preDeploymentSteps?: Expressionable; } export interface StepProperties { } export interface WaitStepAttributes { duration: Expressionable; } export interface WaitStepProperties { attributes: Expressionable; stepType: Expressionable<('Wait')>; } export declare namespace artifactSources { interface AdditionalProps { tags?: Expressionable; } type ArtifactSourcesResource = ResourceDefinition; function create(name: Expressionable, properties: ArtifactSourceProperties, location: Expressionable, tags?: Expressionable): ArtifactSourcesResource; } export declare namespace rollouts { interface AdditionalProps { identity: Expressionable; tags?: Expressionable; } type RolloutsResource = ResourceDefinition; function create(name: Expressionable, properties: RolloutRequestProperties, location: Expressionable, identity: Expressionable, tags?: Expressionable): RolloutsResource; } export declare namespace serviceTopologies { interface AdditionalProps { tags?: Expressionable; } type ServiceTopologiesResource = ResourceDefinition; function create(name: Expressionable, properties: ServiceTopologyResourceProperties, location: Expressionable, tags?: Expressionable): ServiceTopologiesResource; } export declare namespace serviceTopologies { namespace services { interface AdditionalProps { tags?: Expressionable; } type ServicesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: ServiceResourceProperties, location: Expressionable, tags?: Expressionable): ServicesResource; } } export declare namespace serviceTopologies { namespace services { namespace serviceUnits { interface AdditionalProps { tags?: Expressionable; } type ServiceUnitsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: ServiceUnitResourceProperties, location: Expressionable, tags?: Expressionable): ServiceUnitsResource; } } } export declare namespace steps { interface AdditionalProps { tags?: Expressionable; } type StepsResource = ResourceDefinition; function create(name: Expressionable, properties: StepProperties, location: Expressionable, tags?: Expressionable): StepsResource; }