@kubernetes-models/argo-cd
Version:
103 lines (102 loc) • 5.39 kB
TypeScript
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ClusterResourceRestrictionItem } from "./ClusterResourceRestrictionItem.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationDestinationServiceAccount } from "./ApplicationDestinationServiceAccount.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationDestination } from "./ApplicationDestination.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1OrphanedResourcesMonitorSettings } from "./OrphanedResourcesMonitorSettings.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ProjectRole } from "./ProjectRole.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SignatureKey } from "./SignatureKey.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncWindows } from "./SyncWindows.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
* AppProjectSpec is the specification of an AppProject
*/
export interface IAppProjectSpec {
/**
* ClusterResourceBlacklist contains list of blacklisted cluster level resources
*/
"clusterResourceBlacklist"?: Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ClusterResourceRestrictionItem>;
/**
* ClusterResourceWhitelist contains list of whitelisted cluster level resources
*/
"clusterResourceWhitelist"?: Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ClusterResourceRestrictionItem>;
/**
* Description contains optional project description
*/
"description"?: string;
/**
* DestinationServiceAccounts holds information about the service accounts to be impersonated for the application sync operation for each destination.
*/
"destinationServiceAccounts"?: Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationDestinationServiceAccount>;
/**
* Destinations contains list of destinations available for deployment
*/
"destinations"?: Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationDestination>;
/**
* NamespaceResourceBlacklist contains list of blacklisted namespace level resources
*/
"namespaceResourceBlacklist"?: Array<{
"group": string;
"kind": string;
}>;
/**
* NamespaceResourceWhitelist contains list of whitelisted namespace level resources
*/
"namespaceResourceWhitelist"?: Array<{
"group": string;
"kind": string;
}>;
/**
* OrphanedResources specifies if controller should monitor orphaned resources of apps in this project
*/
"orphanedResources"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1OrphanedResourcesMonitorSettings;
/**
* PermitOnlyProjectScopedClusters determines whether destinations can only reference clusters which are project-scoped
*/
"permitOnlyProjectScopedClusters"?: boolean;
/**
* Roles are user defined RBAC roles associated with this project
*/
"roles"?: Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ProjectRole>;
/**
* SignatureKeys contains a list of PGP key IDs that commits in Git must be signed with in order to be allowed for sync
*/
"signatureKeys"?: Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SignatureKey>;
/**
* SourceNamespaces defines the namespaces application resources are allowed to be created in
*/
"sourceNamespaces"?: Array<string>;
/**
* SourceRepos contains list of repository URLs which can be used for deployment
*/
"sourceRepos"?: Array<string>;
/**
* SyncWindows controls when syncs can be run for apps in this project
*/
"syncWindows"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncWindows;
}
/**
* AppProjectSpec is the specification of an AppProject
*/
export declare class AppProjectSpec extends Model<IAppProjectSpec> implements IAppProjectSpec {
"clusterResourceBlacklist"?: Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ClusterResourceRestrictionItem>;
"clusterResourceWhitelist"?: Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ClusterResourceRestrictionItem>;
"description"?: string;
"destinationServiceAccounts"?: Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationDestinationServiceAccount>;
"destinations"?: Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationDestination>;
"namespaceResourceBlacklist"?: Array<{
"group": string;
"kind": string;
}>;
"namespaceResourceWhitelist"?: Array<{
"group": string;
"kind": string;
}>;
"orphanedResources"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1OrphanedResourcesMonitorSettings;
"permitOnlyProjectScopedClusters"?: boolean;
"roles"?: Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ProjectRole>;
"signatureKeys"?: Array<IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SignatureKey>;
"sourceNamespaces"?: Array<string>;
"sourceRepos"?: Array<string>;
"syncWindows"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncWindows;
constructor(data?: ModelData<IAppProjectSpec>);
}
export type { IAppProjectSpec as IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1AppProjectSpec, AppProjectSpec as ComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1AppProjectSpec };