kubricate / stack/BaseStack / BaseStack
Class: abstract
BaseStack<ConfigureComposerFunc, SecretManager>
BaseStack is the base class for all stacks.
Note
BaseStack fields and methods need to be public, type inference is not working with private fields when using with createSt
Extended by
Type Parameters
ConfigureComposerFunc
ConfigureComposerFunc
extends FunctionLike
<any
[], ResourceComposer
> = FunctionLike
<any
, ResourceComposer
>
SecretManager
SecretManager
extends AnySecretManager
= AnySecretManager
Constructors
Constructor
new BaseStack<ConfigureComposerFunc, SecretManager>(): BaseStack<ConfigureComposerFunc, SecretManager>;
Returns
BaseStack
<ConfigureComposerFunc
, SecretManager
>
Properties
_composer
_composer: ReturnType<ConfigureComposerFunc>;
_defaultSecretManagerId
readonly _defaultSecretManagerId: "default" = 'default';
_name?
optional _name: string;
The name of the stack. This is used to identify the stack, generally used with Stack.
_secretManagers
_secretManagers: Record<number, SecretManager> = {};
_targetInjects
_targetInjects: ProviderInjection<string, string>[] = [];
logger?
optional logger: BaseLogger;
Accessors
resources
Get Signature
get resources(): ReturnType<ConfigureComposerFunc>;
Get the resources from the composer.
Returns
ReturnType
<ConfigureComposerFunc
>
The resources from the composer.
Methods
build()
build(): Record<string, unknown>;
Build the stack and return the resources.
Returns
Record
<string
, unknown
>
The resources in the stack.
from()
abstract from(data): unknown;
Configure the stack with the provided data.
Parameters
data
unknown
The configuration data for the stack.
Returns
unknown
The Kubricate Composer instance.
getComposer()
getComposer(): undefined | ReturnType<ConfigureComposerFunc>;
Returns
undefined
| ReturnType
<ConfigureComposerFunc
>
getName()
getName(): undefined | string;
Returns
undefined
| string
getSecretManager()
getSecretManager(id): SecretManager;
Get the secret manager instance.
Parameters
id
number
The ID of the secret manager. defaults to 'default'.
Returns
SecretManager
The secret manager instance.
getSecretManagers()
getSecretManagers(): Record<number, SecretManager>;
Get all secret managers in the stack.
Returns
Record
<number
, SecretManager
>
The secret managers in the stack.
getTargetInjects()
getTargetInjects(): ProviderInjection<string, string>[];
Retrieves all registered secret injections.
Returns
ProviderInjection
<string
, string
>[]
injectLogger()
injectLogger(logger): void;
Internal
This method is used to inject the logger into the stack. It is called by the orchestrator to inject the logger into all components of the stack.
Inject a logger instance into all components of the stack e.g. secret managers, connector, providers, etc. This is useful for logging purposes and debugging.
Parameters
logger
BaseLogger
The logger instance to be injected.
Returns
void
override()
override(data): BaseStack<ConfigureComposerFunc, SecretManager>;
Parameters
data
Partial
<InferConfigureComposerFunc
<ConfigureComposerFunc
>>
Returns
BaseStack
<ConfigureComposerFunc
, SecretManager
>
registerSecretInjection()
registerSecretInjection(inject): void;
Registers a secret injection to be processed during stack build/render.
Parameters
inject
ProviderInjection
Returns
void
setComposer()
setComposer(composer): void;
Parameters
composer
ReturnType
<ConfigureComposerFunc
>
Returns
void
setName()
setName(name): void;
Parameters
name
string
Returns
void
useSecrets()
useSecrets<NewSecretManager>(secretManager, builder): this;
Type Parameters
NewSecretManager
NewSecretManager
extends AnySecretManager
Parameters
secretManager
NewSecretManager
builder
(injector
) => void
Returns
this