@kubernetes-models/argo-cd
Version:
40 lines (39 loc) • 2.8 kB
TypeScript
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSetNestedGenerator } from "./ApplicationSetNestedGenerator.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSetTemplate } from "./ApplicationSetTemplate.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
* MergeGenerator merges the output of two or more generators. Where the values for all specified merge keys are equal
* between two sets of generated parameters, the parameter sets will be merged with the parameters from the latter
* generator taking precedence. Parameter sets with merge keys not present in the base generator's params will be
* ignored.
* For example, if the first generator produced [{a: '1', b: '2'}, {c: '1', d: '1'}] and the second generator produced
* [{'a': 'override'}], the united parameters for merge keys = ['a'] would be
* [{a: 'override', b: '1'}, {c: '1', d: '1'}].
*
* MergeGenerator supports template overriding. If a MergeGenerator is one of multiple top-level generators, its
* template will be merged with the top-level generator before the parameters are applied.
*/
export interface IMergeGenerator {
"generators": Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSetNestedGenerator>;
"mergeKeys": Array<string>;
"template"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSetTemplate;
}
/**
* MergeGenerator merges the output of two or more generators. Where the values for all specified merge keys are equal
* between two sets of generated parameters, the parameter sets will be merged with the parameters from the latter
* generator taking precedence. Parameter sets with merge keys not present in the base generator's params will be
* ignored.
* For example, if the first generator produced [{a: '1', b: '2'}, {c: '1', d: '1'}] and the second generator produced
* [{'a': 'override'}], the united parameters for merge keys = ['a'] would be
* [{a: 'override', b: '1'}, {c: '1', d: '1'}].
*
* MergeGenerator supports template overriding. If a MergeGenerator is one of multiple top-level generators, its
* template will be merged with the top-level generator before the parameters are applied.
*/
export declare class MergeGenerator extends Model<IMergeGenerator> implements IMergeGenerator {
"generators": Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSetNestedGenerator>;
"mergeKeys": Array<string>;
"template"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSetTemplate;
constructor(data?: ModelData<IMergeGenerator>);
}
export type { IMergeGenerator as IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1MergeGenerator, MergeGenerator as ComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1MergeGenerator };