Package com.pulumi.aws.eks
Class Capability
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.eks.Capability
-
public class Capability extends com.pulumi.resources.CustomResourceManages an EKS Capability for an EKS cluster. ## Example Usage ### Basic Usage
### Controller Log Delivery Capability controllers run in AWS-managed infrastructure outside your cluster, and their logs are exposed through [CloudWatch Vended Logs](https://docs.aws.amazon.com/eks/latest/userguide/capabilities-controller-logs.html) rather than the EKS API. Configure delivery with the `aws.cloudwatch.LogDeliverySource`, `aws.cloudwatch.LogDeliveryDestination`, and `aws.cloudwatch.LogDelivery` resources, using the capability ARN as the source. Valid log types are `EKS_CAPABILITY_ACK_LOGS` (ACK), `EKS_CAPABILITY_KRO_LOGS` (kro), and `EKS_CAPABILITY_ARGOCD_APPLICATION_LOGS`, `EKS_CAPABILITY_ARGOCD_APPLICATIONSET_LOGS`, `EKS_CAPABILITY_ARGOCD_COMMITSERVER_LOGS`, `EKS_CAPABILITY_ARGOCD_REPOSERVER_LOGS`, and `EKS_CAPABILITY_ARGOCD_SERVER_LOGS` (Argo CD, one per controller component).package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.eks.Capability; import com.pulumi.aws.eks.CapabilityArgs; import com.pulumi.aws.eks.inputs.CapabilityConfigurationArgs; import com.pulumi.aws.eks.inputs.CapabilityConfigurationArgoCdArgs; import com.pulumi.aws.eks.inputs.CapabilityConfigurationArgoCdAwsIdcArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new Capability("example", CapabilityArgs.builder() .configuration(CapabilityConfigurationArgs.builder() .argoCd(CapabilityConfigurationArgoCdArgs.builder() .awsIdc(CapabilityConfigurationArgoCdAwsIdcArgs.builder() .idcInstanceArn("arn:aws:sso:::instance/ssoins-1234567890abcdef0") .build()) .namespace("argocd") .build()) .build()) .clusterName(exampleAwsEksCluster.name()) .capabilityName("argocd") .type("ARGOCD") .roleArn(exampleAwsIamRole.arn()) .deletePropagationPolicy("RETAIN") .tags(Map.of("Name", "example-capability")) .build()); } }
## Import ### Identity Schema #### Required * `clusterName` (String) Name of the EKS Cluster. * `capabilityName` (String) Name of the capability. #### Optional * `accountId` (String) AWS Account where this resource is managed. * `region` (String) Region where this resource is managed. Using `pulumi import`, import Capabilities using `clusterName` and `capabilityName` separated by a comma (`,`). For example: ```sh $ pulumi import aws:eks/capability:Capability example example-cluster,example-capability ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.eks.Capability; import com.pulumi.aws.eks.CapabilityArgs; import com.pulumi.aws.cloudwatch.LogGroup; import com.pulumi.aws.cloudwatch.LogGroupArgs; import com.pulumi.aws.cloudwatch.LogDeliverySource; import com.pulumi.aws.cloudwatch.LogDeliverySourceArgs; import com.pulumi.aws.cloudwatch.LogDeliveryDestination; import com.pulumi.aws.cloudwatch.LogDeliveryDestinationArgs; import com.pulumi.aws.cloudwatch.inputs.LogDeliveryDestinationDeliveryDestinationConfigurationArgs; import com.pulumi.aws.cloudwatch.LogDelivery; import com.pulumi.aws.cloudwatch.LogDeliveryArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new Capability("example", CapabilityArgs.builder() .clusterName(exampleAwsEksCluster.name()) .capabilityName("ack") .type("ACK") .roleArn(exampleAwsIamRole.arn()) .deletePropagationPolicy("RETAIN") .build()); var ack = new LogGroup("ack", LogGroupArgs.builder() .name("/aws/eks/example/capabilities/ack") .build()); var ackLogDeliverySource = new LogDeliverySource("ackLogDeliverySource", LogDeliverySourceArgs.builder() .name("eks-capability-ack-logs") .logType("EKS_CAPABILITY_ACK_LOGS") .resourceArn(example.arn()) .build()); var ackLogDeliveryDestination = new LogDeliveryDestination("ackLogDeliveryDestination", LogDeliveryDestinationArgs.builder() .deliveryDestinationConfiguration(LogDeliveryDestinationDeliveryDestinationConfigurationArgs.builder() .destinationResourceArn(ack.arn()) .build()) .name("eks-capability-ack-logs") .build()); var ackLogDelivery = new LogDelivery("ackLogDelivery", LogDeliveryArgs.builder() .deliverySourceName(ackLogDeliverySource.name()) .deliveryDestinationArn(ackLogDeliveryDestination.arn()) .build()); } }
-
-
Constructor Summary
Constructors Constructor Description Capability(java.lang.String name)Capability(java.lang.String name, CapabilityArgs args)Capability(java.lang.String name, CapabilityArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>arn()com.pulumi.core.Output<java.lang.String>capabilityName()com.pulumi.core.Output<java.lang.String>clusterName()com.pulumi.core.Output<java.util.Optional<CapabilityConfiguration>>configuration()com.pulumi.core.Output<java.lang.String>deletePropagationPolicy()static Capabilityget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, CapabilityState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.lang.String>roleArn()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.util.Optional<CapabilityTimeouts>>timeouts()com.pulumi.core.Output<java.lang.String>type()com.pulumi.core.Output<java.lang.String>version()
-
-
-
Constructor Detail
-
Capability
public Capability(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
Capability
public Capability(java.lang.String name, CapabilityArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
Capability
public Capability(java.lang.String name, CapabilityArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
arn
public com.pulumi.core.Output<java.lang.String> arn()
- Returns:
- ARN of the capability.
-
capabilityName
public com.pulumi.core.Output<java.lang.String> capabilityName()
- Returns:
- Name of the capability. Must be unique within the cluster.
-
clusterName
public com.pulumi.core.Output<java.lang.String> clusterName()
- Returns:
- Name of the EKS cluster.
-
configuration
public com.pulumi.core.Output<java.util.Optional<CapabilityConfiguration>> configuration()
- Returns:
- Configuration for the capability. See `configuration` below.
-
deletePropagationPolicy
public com.pulumi.core.Output<java.lang.String> deletePropagationPolicy()
- Returns:
- Delete propagation policy for the capability. Valid values: `RETAIN`.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
roleArn
public com.pulumi.core.Output<java.lang.String> roleArn()
- Returns:
- ARN of the IAM role to associate with the capability.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- Key-value map of resource tags.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
timeouts
public com.pulumi.core.Output<java.util.Optional<CapabilityTimeouts>> timeouts()
-
type
public com.pulumi.core.Output<java.lang.String> type()
- Returns:
- Type of the capability. Valid values: `ACK`, `KRO`, `ARGOCD`.
-
version
public com.pulumi.core.Output<java.lang.String> version()
- Returns:
- Version of the capability.
-
get
public static Capability get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable CapabilityState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-