@atomist/sdm
Version:
Atomist Software Delivery Machine SDK
60 lines • 2.14 kB
TypeScript
import { BaseParameter, BaseValue } from "@atomist/automation-client/lib/internal/metadata/decoratorSupport";
export declare type ParametersDefinition<PARAMS = any> = ParametersListing | ParametersObject<PARAMS>;
/**
* Interface mixed in with BaseParameter to allow adding a default value to a parameter.
* When the class-style decorated approach is used, this is unnecessary as any field
* value will be used as a default.
*/
export interface HasDefaultValue {
defaultValue?: any;
}
export declare type ParametersObjectValue = BaseParameter & HasDefaultValue;
export declare type MappedParameterOrSecretObjectValue = MappedParameterOrSecretDeclaration;
export declare type ValueParameterObjectValue = ValueDeclaration;
/**
* Object with properties defining parameters, secrets, mapped parameters and values.
* Useful for combination via spreads.
*/
export declare type ParametersObject<PARAMS, K extends keyof PARAMS = keyof PARAMS> = Record<K, ParametersObjectValue | MappedParameterOrSecretObjectValue | ValueParameterObjectValue>;
export declare enum DeclarationType {
Mapped = "mapped",
Secret = "secret"
}
export interface MappedParameterOrSecretDeclaration {
declarationType: DeclarationType;
uri: string;
/**
* Only valid on mapped parameters
*/
required?: boolean;
}
/**
* Define values to be injected from the SDM configuration
*/
export declare type ValueDeclaration = BaseValue;
/**
* Define parameters used in a command
*/
export interface ParametersListing {
readonly parameters: NamedParameter[];
readonly mappedParameters: NamedMappedParameter[];
readonly secrets: NamedSecret[];
readonly values: NamedValue[];
}
export declare type NamedParameter = BaseParameter & {
name: string;
} & HasDefaultValue;
export interface NamedSecret {
name: string;
uri: string;
}
export interface NamedMappedParameter {
name: string;
uri: string;
required?: boolean;
}
export declare type NamedValue = NamedValueParameter;
export interface NamedValueParameter extends BaseValue {
name: string;
}
//# sourceMappingURL=ParametersDefinition.d.ts.map