import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface ArtifactSourceProperties { artifactRoot?: Expressionable; authentication: Expressionable; sourceType: Expressionable; } export interface Authentication { } export interface Identity { identityIds: Expressionable; type: Expressionable; } export interface PrePostStep { stepId: Expressionable; } export interface RolloutRequestPropertiesModel { 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 Step { dependsOnStepGroups?: Expressionable; deploymentTargetId: Expressionable; name: Expressionable; postDeploymentSteps?: Expressionable; preDeploymentSteps?: Expressionable; } export interface StepPropertiesModel { } export interface WaitStepAttributes { duration: Expressionable; } export interface WaitStepPropertiesModel { 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: RolloutRequestPropertiesModel, 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: StepPropertiesModel, location: Expressionable, tags?: Expressionable): StepsResource; }