aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
71 lines (70 loc) • 2.23 kB
TypeScript
import { Construct } from 'constructs';
import type { ICluster } from './cluster';
import type { RemovalPolicy } from '../../core';
import { Duration } from '../../core';
/**
* Properties for KubernetesObjectValue.
*/
export interface KubernetesObjectValueProps {
/**
* The EKS cluster to fetch attributes from.
*
* [disable-awslint:ref-via-interface]
*/
readonly cluster: ICluster;
/**
* The object type to query. (e.g 'service', 'pod'...)
*/
readonly objectType: string;
/**
* The name of the object to query.
*/
readonly objectName: string;
/**
* The namespace the object belongs to.
*
* @default 'default'
*/
readonly objectNamespace?: string;
/**
* JSONPath to the specific value.
*
* @see https://kubernetes.io/docs/reference/kubectl/jsonpath/
*/
readonly jsonPath: string;
/**
* Timeout for waiting on a value.
*
* @default Duration.minutes(5)
*/
readonly timeout?: Duration;
/**
* The removal policy applied to the custom resource that manages the Kubernetes object value.
*
* The removal policy controls what happens to the resource if it stops being managed by CloudFormation.
* This can happen in one of three situations:
*
* - The resource is removed from the template, so CloudFormation stops managing it
* - A change to the resource is made that requires it to be replaced, so CloudFormation stops managing it
* - The stack is deleted, so CloudFormation stops managing all resources in it
*
* @default RemovalPolicy.DESTROY
*/
readonly removalPolicy?: RemovalPolicy;
}
/**
* Represents a value of a specific object deployed in the cluster.
* Use this to fetch any information available by the `kubectl get` command.
*/
export declare class KubernetesObjectValue extends Construct {
/**
* The CloudFormation resource type.
*/
static readonly RESOURCE_TYPE = "Custom::AWSCDK-EKS-KubernetesObjectValue";
private _resource;
constructor(scope: Construct, id: string, props: KubernetesObjectValueProps);
/**
* The value as a string token.
*/
get value(): string;
}