KubernetesObjectValueProps

class aws_cdk.aws_eks_v2.KubernetesObjectValueProps(*, cluster, json_path, object_name, object_type, object_namespace=None, removal_policy=None, timeout=None)

Bases: object

Properties for KubernetesObjectValue.

Parameters:
  • cluster (ICluster) – The EKS cluster to fetch attributes from. [disable-awslint:ref-via-interface]

  • json_path (str) – JSONPath to the specific value.

  • object_name (str) – The name of the object to query.

  • object_type (str) – The object type to query. (e.g ‘service’, ‘pod’…)

  • object_namespace (Optional[str]) – The namespace the object belongs to. Default: ‘default’

  • removal_policy (Optional[RemovalPolicy]) – 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

  • timeout (Optional[Duration]) – Timeout for waiting on a value. Default: Duration.minutes(5)

ExampleMetadata:

infused

Example:

# cluster: eks.Cluster

# query the load balancer address
my_service_address = eks.KubernetesObjectValue(self, "LoadBalancerAttribute",
    cluster=cluster,
    object_type="service",
    object_name="my-service",
    json_path=".status.loadBalancer.ingress[0].hostname"
)

# pass the address to a lambda function
proxy_function = lambda_.Function(self, "ProxyFunction",
    handler="index.handler",
    code=lambda_.Code.from_inline("my-code"),
    runtime=lambda_.Runtime.NODEJS_LATEST,
    environment={
        "my_service_address": my_service_address.value
    }
)

Attributes

cluster

The EKS cluster to fetch attributes from.

[disable-awslint:ref-via-interface]

json_path

JSONPath to the specific value.

See:

https://kubernetes.io/docs/reference/kubectl/jsonpath/

object_name

The name of the object to query.

object_namespace

The namespace the object belongs to.

Default:

‘default’

object_type

The object type to query.

(e.g ‘service’, ‘pod’…)

removal_policy

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

timeout

Timeout for waiting on a value.

Default:

Duration.minutes(5)