Show / Hide Table of Contents

Namespace Pulumi.Aws.Eks

Classes

Cluster

Manages an EKS Cluster.

Example Usage

Example IAM Role for EKS Cluster

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
public MyStack()
{
    var example = new Aws.Iam.Role("example", new Aws.Iam.RoleArgs
    {
        AssumeRolePolicy = @"{
""Version"": ""2012-10-17"",
""Statement"": [
{
  ""Effect"": ""Allow"",
  ""Principal"": {
    ""Service"": ""eks.amazonaws.com""
  },
  ""Action"": ""sts:AssumeRole""
}
]
}

",
    });
    var example_AmazonEKSClusterPolicy = new Aws.Iam.RolePolicyAttachment("example-AmazonEKSClusterPolicy", new Aws.Iam.RolePolicyAttachmentArgs
    {
        PolicyArn = "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy",
        Role = example.Name,
    });
    var example_AmazonEKSServicePolicy = new Aws.Iam.RolePolicyAttachment("example-AmazonEKSServicePolicy", new Aws.Iam.RolePolicyAttachmentArgs
    {
        PolicyArn = "arn:aws:iam::aws:policy/AmazonEKSServicePolicy",
        Role = example.Name,
    });
}

}

Enabling Control Plane Logging

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
public MyStack()
{
    var config = new Config();
    var clusterName = config.Get("clusterName") ?? "example";
    var exampleCluster = new Aws.Eks.Cluster("exampleCluster", new Aws.Eks.ClusterArgs
    {
        EnabledClusterLogTypes = 
        {
            "api",
            "audit",
        },
    });
    var exampleLogGroup = new Aws.CloudWatch.LogGroup("exampleLogGroup", new Aws.CloudWatch.LogGroupArgs
    {
        RetentionInDays = 7,
    });
}

}

ClusterArgs

ClusterState

FargateProfile

Manages an EKS Fargate Profile.

Example Usage

Example IAM Role for EKS Fargate Profile

using System.Collections.Generic;
using System.Text.Json;
using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
public MyStack()
{
    var example = new Aws.Iam.Role("example", new Aws.Iam.RoleArgs
    {
        AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary<string, object?>
        {
            { "Statement", new[]
                {
                    new Dictionary<string, object?>
                    {
                        { "Action", "sts:AssumeRole" },
                        { "Effect", "Allow" },
                        { "Principal", new Dictionary<string, object?>
                        {
                            { "Service", "eks-fargate-pods.amazonaws.com" },
                        } },
                    },
                }
             },
            { "Version", "2012-10-17" },
        }),
    });
    var example_AmazonEKSFargatePodExecutionRolePolicy = new Aws.Iam.RolePolicyAttachment("example-AmazonEKSFargatePodExecutionRolePolicy", new Aws.Iam.RolePolicyAttachmentArgs
    {
        PolicyArn = "arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy",
        Role = example.Name,
    });
}

}

FargateProfileArgs

FargateProfileState

GetCluster

GetClusterArgs

GetClusterAuth

GetClusterAuthArgs

GetClusterAuthResult

GetClusterResult

NodeGroup

Manages an EKS Node Group, which can provision and optionally update an Auto Scaling Group of Kubernetes worker nodes compatible with EKS. Additional documentation about this functionality can be found in the EKS User Guide.

Example Usage

Example IAM Role for EKS Node Group

using System.Collections.Generic;
using System.Text.Json;
using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
public MyStack()
{
    var example = new Aws.Iam.Role("example", new Aws.Iam.RoleArgs
    {
        AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary<string, object?>
        {
            { "Statement", new[]
                {
                    new Dictionary<string, object?>
                    {
                        { "Action", "sts:AssumeRole" },
                        { "Effect", "Allow" },
                        { "Principal", new Dictionary<string, object?>
                        {
                            { "Service", "ec2.amazonaws.com" },
                        } },
                    },
                }
             },
            { "Version", "2012-10-17" },
        }),
    });
    var example_AmazonEKSWorkerNodePolicy = new Aws.Iam.RolePolicyAttachment("example-AmazonEKSWorkerNodePolicy", new Aws.Iam.RolePolicyAttachmentArgs
    {
        PolicyArn = "arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy",
        Role = example.Name,
    });
    var example_AmazonEKSCNIPolicy = new Aws.Iam.RolePolicyAttachment("example-AmazonEKSCNIPolicy", new Aws.Iam.RolePolicyAttachmentArgs
    {
        PolicyArn = "arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy",
        Role = example.Name,
    });
    var example_AmazonEC2ContainerRegistryReadOnly = new Aws.Iam.RolePolicyAttachment("example-AmazonEC2ContainerRegistryReadOnly", new Aws.Iam.RolePolicyAttachmentArgs
    {
        PolicyArn = "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly",
        Role = example.Name,
    });
}

}

NodeGroupArgs

NodeGroupState

Back to top Copyright 2016-2020, Pulumi Corporation.