aws-iam.RoleForServiceAccountsEks
Explore with Pulumi AI
This resources helps you create an IAM role which can be assumed by AWS EKS ServiceAccounts with optional policies for commonly used controllers/custom resources within EKS. The optional policies you can specify are:
- Cert-Manager
- Cluster Autoscaler
- EBS CSI Driver
- EFS CSI Driver
- External DNS
- External Secrets
- FSx for Lustre CSI Driver
- Karpenter
- Load Balancer Controller
- Load Balancer Controller Target Group Binding Only
- App Mesh Controller
- App Mesh Envoy Proxy
- Managed Service for Prometheus
- Node Termination Handler
- Velero
- VPC CNI
Example Usage
using Pulumi;
using Pulumi.AwsIam;
using Pulumi.AwsIam.Inputs;
class MyStack : Stack
{
    public MyStack()
    {
        var roleForServiceAccountEks = new RoleForServiceAccountsEks("role-for-service-account-eks", new RoleForServiceAccountsEksArgs
        {
            Role = new EKSServiceAccountRoleArgs
            {
                Name = "vpn-cni",
            },
            Tags = {
                {"Name", "vpc-cni-irsa"},
            },
            OidcProviders = {
                {"main", new OIDCProviderArgs
                {
                    ProviderArn = "arn:aws:iam::012345678901:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/5C54DDF35ER19312844C7333374CC09D",
                    NamespaceServiceAccounts = {"default:my-app", "canary:my-app"},
                }},
            },
            Policies = new EKSRolePoliciesArgs
            {
                VpnCni = new EKSVPNCNIPolicyArgs
                {
                    Attach = true,
                    EnableIpv4 = true,
                },
            },
        });
        this.RoleForServiceAccountEks = Output.Create<RoleForServiceAccountsEks>(roleForServiceAccountEks);
    }
    [Output]
    public Output<RoleForServiceAccountsEks> RoleForServiceAccountEks { get; set; }
}
package main
import (
    iam "github.com/pulumi/pulumi-aws-iam/sdk/go/aws-iam"
    "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        roleForServiceAccountsEKS, err := iam.NewRoleForServiceAccountsEks(ctx, "role-for-service-accounts-eks", &iam.RoleForServiceAccountsEksArgs{
            Role: iam.EKSServiceAccountRolePtr(&iam.EKSServiceAccountRoleArgs{
                Name: pulumi.String("vpc-cni"),
            }),
            Tags: pulumi.ToStringMap(map[string]string{
                "Name": "vpc-cni-irsa",
            }),
            OidcProviders: iam.OIDCProviderMap{
                "main": iam.OIDCProviderArgs{
                    ProviderArn:              pulumi.String("arn:aws:iam::012345678901:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/5C54DDF35ER19312844C7333374CC09D"),
                    NamespaceServiceAccounts: pulumi.ToStringArray([]string{"default:my-app", "canary:my-app"}),
                },
            },
            Policies: iam.EKSRolePoliciesPtr(&iam.EKSRolePoliciesArgs{
                VpnCni: iam.EKSVPNCNIPolicyPtr(&iam.EKSVPNCNIPolicyArgs{
                    Attach:     pulumi.Bool(true),
                    EnableIpv4: pulumi.BoolPtr(true),
                }),
            }),
        })
        if err != nil {
            return err
        }
        ctx.Export("roleForServiceAccountsEKS", roleForServiceAccountsEKS)
        return nil
    })
}
Coming soon!
import * as iam from "@pulumi/aws-iam";
export const roleForServiceAccountsEks = new iam.RoleForServiceAccountsEks("aws-iam-example-role-for-service-accounts-eks", {
    role: {
        name: "vpc-cni"
    },
    tags: {
        Name: "vpc-cni-irsa",
    },
    oidcProviders: {
        main: {
            providerArn: "arn:aws:iam::012345678901:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/5C54DDF35ER19312844C7333374CC09D",
            namespaceServiceAccounts: ["default:my-app", "canary:my-app"],
        }
    },
    policies: {
        vpnCni: {
            attach: true,
            enableIpv4: true,
        },
    },
});
import pulumi
import pulumi_aws_iam as iam
role_for_service_account_eks = iam.RoleForServiceAccountsEks(
    'role_for_service_account_eks',
    role=iam.RoleArgs(
        name='vpc-cni'
    ),
    tags={
        'Name': 'vpc-cni-irsa',
    },
    oidc_providers={
        'main': iam.OIDCProviderArgs(
            provider_arn='arn:aws:iam::012345678901:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/5C54DDF35ER19312844C7333374CC09D',
            namespace_service_accounts=['default:my-app', 'canary:my-app'],
        ),
    },
    policies=iam.EKSRolePoliciesArgs(
        vpn_cni=iam.EKSVPNCNIPolicyArgs(
            attach=True,
            enable_ipv4=True,
        ),
    ),
)
pulumi.export('role_for_service_account_eks', role_for_service_account_eks)
name: awsiam-yaml
runtime: yaml
resources:
    roleForServiceAccountsEks:
        type: "aws-iam:index:RoleForServiceAccountsEks"
        properties:
            role:
                name: "vpc-cni"
            tags:
                Name: "vpc-cni-irsa"
            oidcProviders:
                main:
                    providerArn: "arn:aws:iam::012345678901:oidc-provider/oidc.eks.us-east-1.amazonaws.com/id/5C54DDF35ER19312844C7333374CC09D"
                    namespaceServiceAccounts:
                        - "default:my-app"
                        - "canary:my-app"
            policies:
                vpnCni:
                    attach: true
                    enableIpv4: true
outputs:
    roleForServiceAccountsEks: ${roleForServiceAccountsEks}
Create RoleForServiceAccountsEks Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new RoleForServiceAccountsEks(name: string, args?: RoleForServiceAccountsEksArgs, opts?: ComponentResourceOptions);@overload
def RoleForServiceAccountsEks(resource_name: str,
                              args: Optional[RoleForServiceAccountsEksArgs] = None,
                              opts: Optional[ResourceOptions] = None)
@overload
def RoleForServiceAccountsEks(resource_name: str,
                              opts: Optional[ResourceOptions] = None,
                              assume_role_condition_test: Optional[str] = None,
                              force_detach_policies: Optional[bool] = None,
                              max_session_duration: Optional[int] = None,
                              oidc_providers: Optional[Mapping[str, OIDCProviderArgs]] = None,
                              policies: Optional[EKSRolePoliciesArgs] = None,
                              policy_name_prefix: Optional[str] = None,
                              role: Optional[EKSServiceAccountRoleArgs] = None,
                              tags: Optional[Mapping[str, str]] = None)func NewRoleForServiceAccountsEks(ctx *Context, name string, args *RoleForServiceAccountsEksArgs, opts ...ResourceOption) (*RoleForServiceAccountsEks, error)public RoleForServiceAccountsEks(string name, RoleForServiceAccountsEksArgs? args = null, ComponentResourceOptions? opts = null)
public RoleForServiceAccountsEks(String name, RoleForServiceAccountsEksArgs args)
public RoleForServiceAccountsEks(String name, RoleForServiceAccountsEksArgs args, ComponentResourceOptions options)
type: aws-iam:RoleForServiceAccountsEks
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args RoleForServiceAccountsEksArgs
- The arguments to resource properties.
- opts ComponentResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args RoleForServiceAccountsEksArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args RoleForServiceAccountsEksArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args RoleForServiceAccountsEksArgs
- The arguments to resource properties.
- opts ComponentResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args RoleForServiceAccountsEksArgs
- The arguments to resource properties.
- options ComponentResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var roleForServiceAccountsEksResource = new AwsIam.RoleForServiceAccountsEks("roleForServiceAccountsEksResource", new()
{
    AssumeRoleConditionTest = "string",
    ForceDetachPolicies = false,
    MaxSessionDuration = 0,
    OidcProviders = 
    {
        { "string", new AwsIam.Inputs.OIDCProviderArgs
        {
            NamespaceServiceAccounts = new[]
            {
                "string",
            },
            ProviderArn = "string",
        } },
    },
    Policies = new AwsIam.Inputs.EKSRolePoliciesArgs
    {
        AmazonManagedServicePrometheus = new AwsIam.Inputs.EKSAmazonManagedServicePrometheusPolicyArgs
        {
            Attach = false,
            WorkspaceArns = new[]
            {
                "string",
            },
        },
        Appmesh = new AwsIam.Inputs.EKSAppmeshPolicyArgs
        {
            Controller = false,
            EnvoyProxy = false,
        },
        CertManager = new AwsIam.Inputs.EKSCertManagerPolicyArgs
        {
            Attach = false,
            HostedZoneArns = new[]
            {
                "string",
            },
        },
        ClusterAutoScaling = new AwsIam.Inputs.EKSClusterAutoscalerPolicyArgs
        {
            Attach = false,
            ClusterIds = new[]
            {
                "string",
            },
        },
        EbsCsi = new AwsIam.Inputs.EKSEBSCSIPolicyArgs
        {
            Attach = false,
            KmsCmkIds = new[]
            {
                "string",
            },
        },
        EfsCsi = new AwsIam.Inputs.EKSEFSCSIPolicyArgs
        {
            Attach = false,
        },
        ExternalDns = new AwsIam.Inputs.EKSExternalDNSPolicyArgs
        {
            Attach = false,
            HostedZoneArns = new[]
            {
                "string",
            },
        },
        ExternalSecrets = new AwsIam.Inputs.EKSExternalSecretsPolicyArgs
        {
            Attach = false,
            SecretsManagerArns = new[]
            {
                "string",
            },
            SsmParameterArns = new[]
            {
                "string",
            },
        },
        FsxLustreCsi = new AwsIam.Inputs.FSxLustreCSIPolicyArgs
        {
            Attach = false,
            ServiceRoleArns = new[]
            {
                "string",
            },
        },
        KarpenterController = new AwsIam.Inputs.EKSKarpenterControllerPolicyArgs
        {
            Attach = false,
            ClusterId = "string",
            NodeIamRoleArns = new[]
            {
                "string",
            },
            SsmParameterArns = new[]
            {
                "string",
            },
            SubnetAccountId = "string",
            TagKey = "string",
        },
        LoadBalancer = new AwsIam.Inputs.EKSLoadBalancerPolicyArgs
        {
            Controller = false,
            TargetGroupBindingOnly = false,
        },
        NodeTerminationHandler = new AwsIam.Inputs.EKSNodeTerminationHandlerPolicyArgs
        {
            Attach = false,
            SqsQueueArns = new[]
            {
                "string",
            },
        },
        Velero = new AwsIam.Inputs.EKSVeleroPolicyArgs
        {
            Attach = false,
            S3BucketArns = new[]
            {
                "string",
            },
        },
        VpnCni = new AwsIam.Inputs.EKSVPNCNIPolicyArgs
        {
            Attach = false,
            EnableIpv4 = false,
            EnableIpv6 = false,
        },
    },
    PolicyNamePrefix = "string",
    Role = new AwsIam.Inputs.EKSServiceAccountRoleArgs
    {
        Description = "string",
        Name = "string",
        NamePrefix = "string",
        Path = "string",
        PermissionsBoundaryArn = "string",
        PolicyArns = new[]
        {
            "string",
        },
    },
    Tags = 
    {
        { "string", "string" },
    },
});
example, err := awsiam.NewRoleForServiceAccountsEks(ctx, "roleForServiceAccountsEksResource", &awsiam.RoleForServiceAccountsEksArgs{
	AssumeRoleConditionTest: pulumi.String("string"),
	ForceDetachPolicies:     pulumi.Bool(false),
	MaxSessionDuration:      pulumi.Int(0),
	OidcProviders: awsiam.OIDCProviderMap{
		"string": &awsiam.OIDCProviderArgs{
			NamespaceServiceAccounts: pulumi.StringArray{
				pulumi.String("string"),
			},
			ProviderArn: pulumi.String("string"),
		},
	},
	Policies: &awsiam.EKSRolePoliciesArgs{
		AmazonManagedServicePrometheus: &awsiam.EKSAmazonManagedServicePrometheusPolicyArgs{
			Attach: pulumi.Bool(false),
			WorkspaceArns: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
		Appmesh: &awsiam.EKSAppmeshPolicyArgs{
			Controller: pulumi.Bool(false),
			EnvoyProxy: pulumi.Bool(false),
		},
		CertManager: &awsiam.EKSCertManagerPolicyArgs{
			Attach: pulumi.Bool(false),
			HostedZoneArns: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
		ClusterAutoScaling: &awsiam.EKSClusterAutoscalerPolicyArgs{
			Attach: pulumi.Bool(false),
			ClusterIds: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
		EbsCsi: &awsiam.EKSEBSCSIPolicyArgs{
			Attach: pulumi.Bool(false),
			KmsCmkIds: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
		EfsCsi: &awsiam.EKSEFSCSIPolicyArgs{
			Attach: pulumi.Bool(false),
		},
		ExternalDns: &awsiam.EKSExternalDNSPolicyArgs{
			Attach: pulumi.Bool(false),
			HostedZoneArns: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
		ExternalSecrets: &awsiam.EKSExternalSecretsPolicyArgs{
			Attach: pulumi.Bool(false),
			SecretsManagerArns: pulumi.StringArray{
				pulumi.String("string"),
			},
			SsmParameterArns: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
		FsxLustreCsi: &awsiam.FSxLustreCSIPolicyArgs{
			Attach: pulumi.Bool(false),
			ServiceRoleArns: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
		KarpenterController: &awsiam.EKSKarpenterControllerPolicyArgs{
			Attach:    pulumi.Bool(false),
			ClusterId: pulumi.String("string"),
			NodeIamRoleArns: pulumi.StringArray{
				pulumi.String("string"),
			},
			SsmParameterArns: pulumi.StringArray{
				pulumi.String("string"),
			},
			SubnetAccountId: pulumi.String("string"),
			TagKey:          pulumi.String("string"),
		},
		LoadBalancer: &awsiam.EKSLoadBalancerPolicyArgs{
			Controller:             pulumi.Bool(false),
			TargetGroupBindingOnly: pulumi.Bool(false),
		},
		NodeTerminationHandler: &awsiam.EKSNodeTerminationHandlerPolicyArgs{
			Attach: pulumi.Bool(false),
			SqsQueueArns: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
		Velero: &awsiam.EKSVeleroPolicyArgs{
			Attach: pulumi.Bool(false),
			S3BucketArns: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
		VpnCni: &awsiam.EKSVPNCNIPolicyArgs{
			Attach:     pulumi.Bool(false),
			EnableIpv4: pulumi.Bool(false),
			EnableIpv6: pulumi.Bool(false),
		},
	},
	PolicyNamePrefix: pulumi.String("string"),
	Role: &awsiam.EKSServiceAccountRoleArgs{
		Description:            pulumi.String("string"),
		Name:                   pulumi.String("string"),
		NamePrefix:             pulumi.String("string"),
		Path:                   pulumi.String("string"),
		PermissionsBoundaryArn: pulumi.String("string"),
		PolicyArns: pulumi.StringArray{
			pulumi.String("string"),
		},
	},
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
})
var roleForServiceAccountsEksResource = new RoleForServiceAccountsEks("roleForServiceAccountsEksResource", RoleForServiceAccountsEksArgs.builder()
    .assumeRoleConditionTest("string")
    .forceDetachPolicies(false)
    .maxSessionDuration(0)
    .oidcProviders(Map.of("string", Map.ofEntries(
        Map.entry("namespaceServiceAccounts", "string"),
        Map.entry("providerArn", "string")
    )))
    .policies(EKSRolePoliciesArgs.builder()
        .amazonManagedServicePrometheus(EKSAmazonManagedServicePrometheusPolicyArgs.builder()
            .attach(false)
            .workspaceArns("string")
            .build())
        .appmesh(EKSAppmeshPolicyArgs.builder()
            .controller(false)
            .envoyProxy(false)
            .build())
        .certManager(EKSCertManagerPolicyArgs.builder()
            .attach(false)
            .hostedZoneArns("string")
            .build())
        .clusterAutoScaling(EKSClusterAutoscalerPolicyArgs.builder()
            .attach(false)
            .clusterIds("string")
            .build())
        .ebsCsi(EKSEBSCSIPolicyArgs.builder()
            .attach(false)
            .kmsCmkIds("string")
            .build())
        .efsCsi(EKSEFSCSIPolicyArgs.builder()
            .attach(false)
            .build())
        .externalDns(EKSExternalDNSPolicyArgs.builder()
            .attach(false)
            .hostedZoneArns("string")
            .build())
        .externalSecrets(EKSExternalSecretsPolicyArgs.builder()
            .attach(false)
            .secretsManagerArns("string")
            .ssmParameterArns("string")
            .build())
        .fsxLustreCsi(FSxLustreCSIPolicyArgs.builder()
            .attach(false)
            .serviceRoleArns("string")
            .build())
        .karpenterController(EKSKarpenterControllerPolicyArgs.builder()
            .attach(false)
            .clusterId("string")
            .nodeIamRoleArns("string")
            .ssmParameterArns("string")
            .subnetAccountId("string")
            .tagKey("string")
            .build())
        .loadBalancer(EKSLoadBalancerPolicyArgs.builder()
            .controller(false)
            .targetGroupBindingOnly(false)
            .build())
        .nodeTerminationHandler(EKSNodeTerminationHandlerPolicyArgs.builder()
            .attach(false)
            .sqsQueueArns("string")
            .build())
        .velero(EKSVeleroPolicyArgs.builder()
            .attach(false)
            .s3BucketArns("string")
            .build())
        .vpnCni(EKSVPNCNIPolicyArgs.builder()
            .attach(false)
            .enableIpv4(false)
            .enableIpv6(false)
            .build())
        .build())
    .policyNamePrefix("string")
    .role(EKSServiceAccountRoleArgs.builder()
        .description("string")
        .name("string")
        .namePrefix("string")
        .path("string")
        .permissionsBoundaryArn("string")
        .policyArns("string")
        .build())
    .tags(Map.of("string", "string"))
    .build());
role_for_service_accounts_eks_resource = aws_iam.RoleForServiceAccountsEks("roleForServiceAccountsEksResource",
    assume_role_condition_test="string",
    force_detach_policies=False,
    max_session_duration=0,
    oidc_providers={
        "string": {
            "namespace_service_accounts": ["string"],
            "provider_arn": "string",
        },
    },
    policies={
        "amazon_managed_service_prometheus": {
            "attach": False,
            "workspace_arns": ["string"],
        },
        "appmesh": {
            "controller": False,
            "envoy_proxy": False,
        },
        "cert_manager": {
            "attach": False,
            "hosted_zone_arns": ["string"],
        },
        "cluster_auto_scaling": {
            "attach": False,
            "cluster_ids": ["string"],
        },
        "ebs_csi": {
            "attach": False,
            "kms_cmk_ids": ["string"],
        },
        "efs_csi": {
            "attach": False,
        },
        "external_dns": {
            "attach": False,
            "hosted_zone_arns": ["string"],
        },
        "external_secrets": {
            "attach": False,
            "secrets_manager_arns": ["string"],
            "ssm_parameter_arns": ["string"],
        },
        "fsx_lustre_csi": {
            "attach": False,
            "service_role_arns": ["string"],
        },
        "karpenter_controller": {
            "attach": False,
            "cluster_id": "string",
            "node_iam_role_arns": ["string"],
            "ssm_parameter_arns": ["string"],
            "subnet_account_id": "string",
            "tag_key": "string",
        },
        "load_balancer": {
            "controller": False,
            "target_group_binding_only": False,
        },
        "node_termination_handler": {
            "attach": False,
            "sqs_queue_arns": ["string"],
        },
        "velero": {
            "attach": False,
            "s3_bucket_arns": ["string"],
        },
        "vpn_cni": {
            "attach": False,
            "enable_ipv4": False,
            "enable_ipv6": False,
        },
    },
    policy_name_prefix="string",
    role={
        "description": "string",
        "name": "string",
        "name_prefix": "string",
        "path": "string",
        "permissions_boundary_arn": "string",
        "policy_arns": ["string"],
    },
    tags={
        "string": "string",
    })
const roleForServiceAccountsEksResource = new aws_iam.RoleForServiceAccountsEks("roleForServiceAccountsEksResource", {
    assumeRoleConditionTest: "string",
    forceDetachPolicies: false,
    maxSessionDuration: 0,
    oidcProviders: {
        string: {
            namespaceServiceAccounts: ["string"],
            providerArn: "string",
        },
    },
    policies: {
        amazonManagedServicePrometheus: {
            attach: false,
            workspaceArns: ["string"],
        },
        appmesh: {
            controller: false,
            envoyProxy: false,
        },
        certManager: {
            attach: false,
            hostedZoneArns: ["string"],
        },
        clusterAutoScaling: {
            attach: false,
            clusterIds: ["string"],
        },
        ebsCsi: {
            attach: false,
            kmsCmkIds: ["string"],
        },
        efsCsi: {
            attach: false,
        },
        externalDns: {
            attach: false,
            hostedZoneArns: ["string"],
        },
        externalSecrets: {
            attach: false,
            secretsManagerArns: ["string"],
            ssmParameterArns: ["string"],
        },
        fsxLustreCsi: {
            attach: false,
            serviceRoleArns: ["string"],
        },
        karpenterController: {
            attach: false,
            clusterId: "string",
            nodeIamRoleArns: ["string"],
            ssmParameterArns: ["string"],
            subnetAccountId: "string",
            tagKey: "string",
        },
        loadBalancer: {
            controller: false,
            targetGroupBindingOnly: false,
        },
        nodeTerminationHandler: {
            attach: false,
            sqsQueueArns: ["string"],
        },
        velero: {
            attach: false,
            s3BucketArns: ["string"],
        },
        vpnCni: {
            attach: false,
            enableIpv4: false,
            enableIpv6: false,
        },
    },
    policyNamePrefix: "string",
    role: {
        description: "string",
        name: "string",
        namePrefix: "string",
        path: "string",
        permissionsBoundaryArn: "string",
        policyArns: ["string"],
    },
    tags: {
        string: "string",
    },
});
type: aws-iam:RoleForServiceAccountsEks
properties:
    assumeRoleConditionTest: string
    forceDetachPolicies: false
    maxSessionDuration: 0
    oidcProviders:
        string:
            namespaceServiceAccounts:
                - string
            providerArn: string
    policies:
        amazonManagedServicePrometheus:
            attach: false
            workspaceArns:
                - string
        appmesh:
            controller: false
            envoyProxy: false
        certManager:
            attach: false
            hostedZoneArns:
                - string
        clusterAutoScaling:
            attach: false
            clusterIds:
                - string
        ebsCsi:
            attach: false
            kmsCmkIds:
                - string
        efsCsi:
            attach: false
        externalDns:
            attach: false
            hostedZoneArns:
                - string
        externalSecrets:
            attach: false
            secretsManagerArns:
                - string
            ssmParameterArns:
                - string
        fsxLustreCsi:
            attach: false
            serviceRoleArns:
                - string
        karpenterController:
            attach: false
            clusterId: string
            nodeIamRoleArns:
                - string
            ssmParameterArns:
                - string
            subnetAccountId: string
            tagKey: string
        loadBalancer:
            controller: false
            targetGroupBindingOnly: false
        nodeTerminationHandler:
            attach: false
            sqsQueueArns:
                - string
        velero:
            attach: false
            s3BucketArns:
                - string
        vpnCni:
            attach: false
            enableIpv4: false
            enableIpv6: false
    policyNamePrefix: string
    role:
        description: string
        name: string
        namePrefix: string
        path: string
        permissionsBoundaryArn: string
        policyArns:
            - string
    tags:
        string: string
RoleForServiceAccountsEks Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The RoleForServiceAccountsEks resource accepts the following input properties:
- AssumeRole stringCondition Test 
- Name of the IAM condition operator to evaluate when assuming the role.
- ForceDetach boolPolicies 
- Whether policies should be detached from this role when destroying.
- MaxSession intDuration 
- Maximum CLI/API session duration in seconds between 3600 and 43200.
- OidcProviders Dictionary<string, Pulumi.Aws Iam. Inputs. OIDCProvider Args> 
- Map of OIDC providers.
- Policies
Pulumi.Aws Iam. Inputs. EKSRole Policies 
- PolicyName stringPrefix 
- IAM policy name prefix.
- Role
Pulumi.Aws Iam. Inputs. EKSService Account Role 
- Dictionary<string, string>
- A map of tags to add.
- AssumeRole stringCondition Test 
- Name of the IAM condition operator to evaluate when assuming the role.
- ForceDetach boolPolicies 
- Whether policies should be detached from this role when destroying.
- MaxSession intDuration 
- Maximum CLI/API session duration in seconds between 3600 and 43200.
- OidcProviders map[string]OIDCProviderArgs 
- Map of OIDC providers.
- Policies
EKSRolePolicies Args 
- PolicyName stringPrefix 
- IAM policy name prefix.
- Role
EKSServiceAccount Role Args 
- map[string]string
- A map of tags to add.
- assumeRole StringCondition Test 
- Name of the IAM condition operator to evaluate when assuming the role.
- forceDetach BooleanPolicies 
- Whether policies should be detached from this role when destroying.
- maxSession IntegerDuration 
- Maximum CLI/API session duration in seconds between 3600 and 43200.
- oidcProviders Map<String,OIDCProviderArgs> 
- Map of OIDC providers.
- policies
EKSRolePolicies 
- policyName StringPrefix 
- IAM policy name prefix.
- role
EKSServiceAccount Role 
- Map<String,String>
- A map of tags to add.
- assumeRole stringCondition Test 
- Name of the IAM condition operator to evaluate when assuming the role.
- forceDetach booleanPolicies 
- Whether policies should be detached from this role when destroying.
- maxSession numberDuration 
- Maximum CLI/API session duration in seconds between 3600 and 43200.
- oidcProviders {[key: string]: OIDCProviderArgs} 
- Map of OIDC providers.
- policies
EKSRolePolicies 
- policyName stringPrefix 
- IAM policy name prefix.
- role
EKSServiceAccount Role 
- {[key: string]: string}
- A map of tags to add.
- assume_role_ strcondition_ test 
- Name of the IAM condition operator to evaluate when assuming the role.
- force_detach_ boolpolicies 
- Whether policies should be detached from this role when destroying.
- max_session_ intduration 
- Maximum CLI/API session duration in seconds between 3600 and 43200.
- oidc_providers Mapping[str, OIDCProviderArgs] 
- Map of OIDC providers.
- policies
EKSRolePolicies Args 
- policy_name_ strprefix 
- IAM policy name prefix.
- role
EKSServiceAccount Role Args 
- Mapping[str, str]
- A map of tags to add.
- assumeRole StringCondition Test 
- Name of the IAM condition operator to evaluate when assuming the role.
- forceDetach BooleanPolicies 
- Whether policies should be detached from this role when destroying.
- maxSession NumberDuration 
- Maximum CLI/API session duration in seconds between 3600 and 43200.
- oidcProviders Map<Property Map>
- Map of OIDC providers.
- policies Property Map
- policyName StringPrefix 
- IAM policy name prefix.
- role Property Map
- Map<String>
- A map of tags to add.
Outputs
All input properties are implicitly available as output properties. Additionally, the RoleForServiceAccountsEks resource produces the following output properties:
Supporting Types
EKSAmazonManagedServicePrometheusPolicy, EKSAmazonManagedServicePrometheusPolicyArgs          
- Attach bool
- Determines whether to attach the Amazon Managed Service for Prometheus IAM policy to the role.
- WorkspaceArns List<string>
- List of AMP Workspace ARNs to read and write metrics. If not provided, a default ARN of "*" will be provided.
- Attach bool
- Determines whether to attach the Amazon Managed Service for Prometheus IAM policy to the role.
- WorkspaceArns []string
- List of AMP Workspace ARNs to read and write metrics. If not provided, a default ARN of "*" will be provided.
- attach Boolean
- Determines whether to attach the Amazon Managed Service for Prometheus IAM policy to the role.
- workspaceArns List<String>
- List of AMP Workspace ARNs to read and write metrics. If not provided, a default ARN of "*" will be provided.
- attach boolean
- Determines whether to attach the Amazon Managed Service for Prometheus IAM policy to the role.
- workspaceArns string[]
- List of AMP Workspace ARNs to read and write metrics. If not provided, a default ARN of "*" will be provided.
- attach bool
- Determines whether to attach the Amazon Managed Service for Prometheus IAM policy to the role.
- workspace_arns Sequence[str]
- List of AMP Workspace ARNs to read and write metrics. If not provided, a default ARN of "*" will be provided.
- attach Boolean
- Determines whether to attach the Amazon Managed Service for Prometheus IAM policy to the role.
- workspaceArns List<String>
- List of AMP Workspace ARNs to read and write metrics. If not provided, a default ARN of "*" will be provided.
EKSAppmeshPolicy, EKSAppmeshPolicyArgs    
- Controller bool
- Determines whether to attach the Appmesh Controller policy to the role.
- EnvoyProxy bool
- Determines whether to attach the Appmesh envoy proxy policy to the role.
- Controller bool
- Determines whether to attach the Appmesh Controller policy to the role.
- EnvoyProxy bool
- Determines whether to attach the Appmesh envoy proxy policy to the role.
- controller Boolean
- Determines whether to attach the Appmesh Controller policy to the role.
- envoyProxy Boolean
- Determines whether to attach the Appmesh envoy proxy policy to the role.
- controller boolean
- Determines whether to attach the Appmesh Controller policy to the role.
- envoyProxy boolean
- Determines whether to attach the Appmesh envoy proxy policy to the role.
- controller bool
- Determines whether to attach the Appmesh Controller policy to the role.
- envoy_proxy bool
- Determines whether to attach the Appmesh envoy proxy policy to the role.
- controller Boolean
- Determines whether to attach the Appmesh Controller policy to the role.
- envoyProxy Boolean
- Determines whether to attach the Appmesh envoy proxy policy to the role.
EKSCertManagerPolicy, EKSCertManagerPolicyArgs      
- Attach bool
- Determines whether to attach the Cert Manager IAM policy to the role.
- HostedZone List<string>Arns 
- Route53 hosted zone ARNs to allow Cert manager to manage records. If not provided, the default ARN "arn:aws:route53:::hostedzone/*" will be applied.
- Attach bool
- Determines whether to attach the Cert Manager IAM policy to the role.
- HostedZone []stringArns 
- Route53 hosted zone ARNs to allow Cert manager to manage records. If not provided, the default ARN "arn:aws:route53:::hostedzone/*" will be applied.
- attach Boolean
- Determines whether to attach the Cert Manager IAM policy to the role.
- hostedZone List<String>Arns 
- Route53 hosted zone ARNs to allow Cert manager to manage records. If not provided, the default ARN "arn:aws:route53:::hostedzone/*" will be applied.
- attach boolean
- Determines whether to attach the Cert Manager IAM policy to the role.
- hostedZone string[]Arns 
- Route53 hosted zone ARNs to allow Cert manager to manage records. If not provided, the default ARN "arn:aws:route53:::hostedzone/*" will be applied.
- attach bool
- Determines whether to attach the Cert Manager IAM policy to the role.
- hosted_zone_ Sequence[str]arns 
- Route53 hosted zone ARNs to allow Cert manager to manage records. If not provided, the default ARN "arn:aws:route53:::hostedzone/*" will be applied.
- attach Boolean
- Determines whether to attach the Cert Manager IAM policy to the role.
- hostedZone List<String>Arns 
- Route53 hosted zone ARNs to allow Cert manager to manage records. If not provided, the default ARN "arn:aws:route53:::hostedzone/*" will be applied.
EKSClusterAutoscalerPolicy, EKSClusterAutoscalerPolicyArgs      
- Attach bool
- Determines whether to attach the Cluster Autoscaler IAM policy to the role.
- ClusterIds List<string>
- List of cluster IDs to appropriately scope permissions within the Cluster Autoscaler IAM policy.
- Attach bool
- Determines whether to attach the Cluster Autoscaler IAM policy to the role.
- ClusterIds []string
- List of cluster IDs to appropriately scope permissions within the Cluster Autoscaler IAM policy.
- attach Boolean
- Determines whether to attach the Cluster Autoscaler IAM policy to the role.
- clusterIds List<String>
- List of cluster IDs to appropriately scope permissions within the Cluster Autoscaler IAM policy.
- attach boolean
- Determines whether to attach the Cluster Autoscaler IAM policy to the role.
- clusterIds string[]
- List of cluster IDs to appropriately scope permissions within the Cluster Autoscaler IAM policy.
- attach bool
- Determines whether to attach the Cluster Autoscaler IAM policy to the role.
- cluster_ids Sequence[str]
- List of cluster IDs to appropriately scope permissions within the Cluster Autoscaler IAM policy.
- attach Boolean
- Determines whether to attach the Cluster Autoscaler IAM policy to the role.
- clusterIds List<String>
- List of cluster IDs to appropriately scope permissions within the Cluster Autoscaler IAM policy.
EKSEBSCSIPolicy, EKSEBSCSIPolicyArgs  
- attach bool
- Determines whether to attach the EBS CSI IAM policy to the role.
- kms_cmk_ Sequence[str]ids 
- KMS CMK IDs to allow EBS CSI to manage encrypted volumes.
EKSEFSCSIPolicy, EKSEFSCSIPolicyArgs  
- Attach bool
- Determines whether to attach the EFS CSI IAM policy to the role.
- Attach bool
- Determines whether to attach the EFS CSI IAM policy to the role.
- attach Boolean
- Determines whether to attach the EFS CSI IAM policy to the role.
- attach boolean
- Determines whether to attach the EFS CSI IAM policy to the role.
- attach bool
- Determines whether to attach the EFS CSI IAM policy to the role.
- attach Boolean
- Determines whether to attach the EFS CSI IAM policy to the role.
EKSExternalDNSPolicy, EKSExternalDNSPolicyArgs    
- Attach bool
- Determines whether to attach the External DNS IAM policy to the role.
- HostedZone List<string>Arns 
- Route53 hosted zone ARNs to allow External DNS to manage records. If not provided, the default ARN "arn:aws:route53:::hostedzone/*" will be applied.
- Attach bool
- Determines whether to attach the External DNS IAM policy to the role.
- HostedZone []stringArns 
- Route53 hosted zone ARNs to allow External DNS to manage records. If not provided, the default ARN "arn:aws:route53:::hostedzone/*" will be applied.
- attach Boolean
- Determines whether to attach the External DNS IAM policy to the role.
- hostedZone List<String>Arns 
- Route53 hosted zone ARNs to allow External DNS to manage records. If not provided, the default ARN "arn:aws:route53:::hostedzone/*" will be applied.
- attach boolean
- Determines whether to attach the External DNS IAM policy to the role.
- hostedZone string[]Arns 
- Route53 hosted zone ARNs to allow External DNS to manage records. If not provided, the default ARN "arn:aws:route53:::hostedzone/*" will be applied.
- attach bool
- Determines whether to attach the External DNS IAM policy to the role.
- hosted_zone_ Sequence[str]arns 
- Route53 hosted zone ARNs to allow External DNS to manage records. If not provided, the default ARN "arn:aws:route53:::hostedzone/*" will be applied.
- attach Boolean
- Determines whether to attach the External DNS IAM policy to the role.
- hostedZone List<String>Arns 
- Route53 hosted zone ARNs to allow External DNS to manage records. If not provided, the default ARN "arn:aws:route53:::hostedzone/*" will be applied.
EKSExternalSecretsPolicy, EKSExternalSecretsPolicyArgs      
- Attach bool
- Determines whether to attach the External Secrets policy to the role.
- SecretsManager List<string>Arns 
- List of Secrets Manager ARNs that contain secrets to mount using External Secrets. If not provided, the default ARN "arn:aws:secretsmanager:::secret:*" will be applied.
- SsmParameter List<string>Arns 
- List of Systems Manager Parameter ARNs that contain secrets to mount using External Secrets. If not provided, the default ARN "arn:aws:ssm:::parameter/*" will be applied.
- Attach bool
- Determines whether to attach the External Secrets policy to the role.
- SecretsManager []stringArns 
- List of Secrets Manager ARNs that contain secrets to mount using External Secrets. If not provided, the default ARN "arn:aws:secretsmanager:::secret:*" will be applied.
- SsmParameter []stringArns 
- List of Systems Manager Parameter ARNs that contain secrets to mount using External Secrets. If not provided, the default ARN "arn:aws:ssm:::parameter/*" will be applied.
- attach Boolean
- Determines whether to attach the External Secrets policy to the role.
- secretsManager List<String>Arns 
- List of Secrets Manager ARNs that contain secrets to mount using External Secrets. If not provided, the default ARN "arn:aws:secretsmanager:::secret:*" will be applied.
- ssmParameter List<String>Arns 
- List of Systems Manager Parameter ARNs that contain secrets to mount using External Secrets. If not provided, the default ARN "arn:aws:ssm:::parameter/*" will be applied.
- attach boolean
- Determines whether to attach the External Secrets policy to the role.
- secretsManager string[]Arns 
- List of Secrets Manager ARNs that contain secrets to mount using External Secrets. If not provided, the default ARN "arn:aws:secretsmanager:::secret:*" will be applied.
- ssmParameter string[]Arns 
- List of Systems Manager Parameter ARNs that contain secrets to mount using External Secrets. If not provided, the default ARN "arn:aws:ssm:::parameter/*" will be applied.
- attach bool
- Determines whether to attach the External Secrets policy to the role.
- secrets_manager_ Sequence[str]arns 
- List of Secrets Manager ARNs that contain secrets to mount using External Secrets. If not provided, the default ARN "arn:aws:secretsmanager:::secret:*" will be applied.
- ssm_parameter_ Sequence[str]arns 
- List of Systems Manager Parameter ARNs that contain secrets to mount using External Secrets. If not provided, the default ARN "arn:aws:ssm:::parameter/*" will be applied.
- attach Boolean
- Determines whether to attach the External Secrets policy to the role.
- secretsManager List<String>Arns 
- List of Secrets Manager ARNs that contain secrets to mount using External Secrets. If not provided, the default ARN "arn:aws:secretsmanager:::secret:*" will be applied.
- ssmParameter List<String>Arns 
- List of Systems Manager Parameter ARNs that contain secrets to mount using External Secrets. If not provided, the default ARN "arn:aws:ssm:::parameter/*" will be applied.
EKSKarpenterControllerPolicy, EKSKarpenterControllerPolicyArgs      
- Attach bool
- Determines whether to attach the Karpenter Controller policy to the role.
- ClusterId string
- Cluster ID where the Karpenter controller is provisioned/managing.
- NodeIam List<string>Role Arns 
- List of node IAM role ARNs Karpenter can use to launch nodes. If not provided, the default ARN "*" will be applied.
- SsmParameter List<string>Arns 
- List of SSM Parameter ARNs that contain AMI IDs launched by Karpenter. If not provided, the default ARN "arn:aws:ssm:::parameter/aws/service/*" will be applied.
- SubnetAccount stringId 
- Account ID of where the subnets Karpenter will utilize resides. Used when subnets are shared from another account.
- TagKey string
- Tag key ({key = value}) applied to resources launched by Karpenter through the Karpenter provisioner.
- Attach bool
- Determines whether to attach the Karpenter Controller policy to the role.
- ClusterId string
- Cluster ID where the Karpenter controller is provisioned/managing.
- NodeIam []stringRole Arns 
- List of node IAM role ARNs Karpenter can use to launch nodes. If not provided, the default ARN "*" will be applied.
- SsmParameter []stringArns 
- List of SSM Parameter ARNs that contain AMI IDs launched by Karpenter. If not provided, the default ARN "arn:aws:ssm:::parameter/aws/service/*" will be applied.
- SubnetAccount stringId 
- Account ID of where the subnets Karpenter will utilize resides. Used when subnets are shared from another account.
- TagKey string
- Tag key ({key = value}) applied to resources launched by Karpenter through the Karpenter provisioner.
- attach Boolean
- Determines whether to attach the Karpenter Controller policy to the role.
- clusterId String
- Cluster ID where the Karpenter controller is provisioned/managing.
- nodeIam List<String>Role Arns 
- List of node IAM role ARNs Karpenter can use to launch nodes. If not provided, the default ARN "*" will be applied.
- ssmParameter List<String>Arns 
- List of SSM Parameter ARNs that contain AMI IDs launched by Karpenter. If not provided, the default ARN "arn:aws:ssm:::parameter/aws/service/*" will be applied.
- subnetAccount StringId 
- Account ID of where the subnets Karpenter will utilize resides. Used when subnets are shared from another account.
- tagKey String
- Tag key ({key = value}) applied to resources launched by Karpenter through the Karpenter provisioner.
- attach boolean
- Determines whether to attach the Karpenter Controller policy to the role.
- clusterId string
- Cluster ID where the Karpenter controller is provisioned/managing.
- nodeIam string[]Role Arns 
- List of node IAM role ARNs Karpenter can use to launch nodes. If not provided, the default ARN "*" will be applied.
- ssmParameter string[]Arns 
- List of SSM Parameter ARNs that contain AMI IDs launched by Karpenter. If not provided, the default ARN "arn:aws:ssm:::parameter/aws/service/*" will be applied.
- subnetAccount stringId 
- Account ID of where the subnets Karpenter will utilize resides. Used when subnets are shared from another account.
- tagKey string
- Tag key ({key = value}) applied to resources launched by Karpenter through the Karpenter provisioner.
- attach bool
- Determines whether to attach the Karpenter Controller policy to the role.
- cluster_id str
- Cluster ID where the Karpenter controller is provisioned/managing.
- node_iam_ Sequence[str]role_ arns 
- List of node IAM role ARNs Karpenter can use to launch nodes. If not provided, the default ARN "*" will be applied.
- ssm_parameter_ Sequence[str]arns 
- List of SSM Parameter ARNs that contain AMI IDs launched by Karpenter. If not provided, the default ARN "arn:aws:ssm:::parameter/aws/service/*" will be applied.
- subnet_account_ strid 
- Account ID of where the subnets Karpenter will utilize resides. Used when subnets are shared from another account.
- tag_key str
- Tag key ({key = value}) applied to resources launched by Karpenter through the Karpenter provisioner.
- attach Boolean
- Determines whether to attach the Karpenter Controller policy to the role.
- clusterId String
- Cluster ID where the Karpenter controller is provisioned/managing.
- nodeIam List<String>Role Arns 
- List of node IAM role ARNs Karpenter can use to launch nodes. If not provided, the default ARN "*" will be applied.
- ssmParameter List<String>Arns 
- List of SSM Parameter ARNs that contain AMI IDs launched by Karpenter. If not provided, the default ARN "arn:aws:ssm:::parameter/aws/service/*" will be applied.
- subnetAccount StringId 
- Account ID of where the subnets Karpenter will utilize resides. Used when subnets are shared from another account.
- tagKey String
- Tag key ({key = value}) applied to resources launched by Karpenter through the Karpenter provisioner.
EKSLoadBalancerPolicy, EKSLoadBalancerPolicyArgs      
- Controller bool
- Determines whether to attach the Load Balancer Controller policy to the role.
- TargetGroup boolBinding Only 
- Determines whether to attach the Load Balancer Controller policy for the TargetGroupBinding only.
- Controller bool
- Determines whether to attach the Load Balancer Controller policy to the role.
- TargetGroup boolBinding Only 
- Determines whether to attach the Load Balancer Controller policy for the TargetGroupBinding only.
- controller Boolean
- Determines whether to attach the Load Balancer Controller policy to the role.
- targetGroup BooleanBinding Only 
- Determines whether to attach the Load Balancer Controller policy for the TargetGroupBinding only.
- controller boolean
- Determines whether to attach the Load Balancer Controller policy to the role.
- targetGroup booleanBinding Only 
- Determines whether to attach the Load Balancer Controller policy for the TargetGroupBinding only.
- controller bool
- Determines whether to attach the Load Balancer Controller policy to the role.
- target_group_ boolbinding_ only 
- Determines whether to attach the Load Balancer Controller policy for the TargetGroupBinding only.
- controller Boolean
- Determines whether to attach the Load Balancer Controller policy to the role.
- targetGroup BooleanBinding Only 
- Determines whether to attach the Load Balancer Controller policy for the TargetGroupBinding only.
EKSNodeTerminationHandlerPolicy, EKSNodeTerminationHandlerPolicyArgs        
- Attach bool
- Determines whether to attach the Node Termination Handler policy to the role.
- SqsQueue List<string>Arns 
- List of SQS ARNs that contain node termination events. If not provided, then a default ARN of "*" will be provided.
- Attach bool
- Determines whether to attach the Node Termination Handler policy to the role.
- SqsQueue []stringArns 
- List of SQS ARNs that contain node termination events. If not provided, then a default ARN of "*" will be provided.
- attach Boolean
- Determines whether to attach the Node Termination Handler policy to the role.
- sqsQueue List<String>Arns 
- List of SQS ARNs that contain node termination events. If not provided, then a default ARN of "*" will be provided.
- attach boolean
- Determines whether to attach the Node Termination Handler policy to the role.
- sqsQueue string[]Arns 
- List of SQS ARNs that contain node termination events. If not provided, then a default ARN of "*" will be provided.
- attach bool
- Determines whether to attach the Node Termination Handler policy to the role.
- sqs_queue_ Sequence[str]arns 
- List of SQS ARNs that contain node termination events. If not provided, then a default ARN of "*" will be provided.
- attach Boolean
- Determines whether to attach the Node Termination Handler policy to the role.
- sqsQueue List<String>Arns 
- List of SQS ARNs that contain node termination events. If not provided, then a default ARN of "*" will be provided.
EKSRolePolicies, EKSRolePoliciesArgs    
- AmazonManaged Pulumi.Service Prometheus Aws Iam. Inputs. EKSAmazon Managed Service Prometheus Policy 
- The Amazon Managed Service for Prometheus IAM policy.
- Appmesh
Pulumi.Aws Iam. Inputs. EKSAppmesh Policy 
- The Appmesh policies.
- CertManager Pulumi.Aws Iam. Inputs. EKSCert Manager Policy 
- The Cert Manager IAM policy.
- ClusterAuto Pulumi.Scaling Aws Iam. Inputs. EKSCluster Autoscaler Policy 
- The Cluster Autoscaler IAM policy.
- EbsCsi Pulumi.Aws Iam. Inputs. EKSEBSCSIPolicy 
- The EBS CSI IAM policy.
- EfsCsi Pulumi.Aws Iam. Inputs. EKSEFSCSIPolicy 
- The EFS CSI IAM policy.
- ExternalDns Pulumi.Aws Iam. Inputs. EKSExternal DNSPolicy 
- The External DNS IAM policy.
- ExternalSecrets Pulumi.Aws Iam. Inputs. EKSExternal Secrets Policy 
- The External Secrets policy.
- FsxLustre Pulumi.Csi Aws Iam. Inputs. FSx Lustre CSIPolicy 
- The FSx for Lustre CSI Driver IAM policy.
- KarpenterController Pulumi.Aws Iam. Inputs. EKSKarpenter Controller Policy 
- The Karpenter Controller policy.
- LoadBalancer Pulumi.Aws Iam. Inputs. EKSLoad Balancer Policy 
- The Load Balancer policy.
- NodeTermination Pulumi.Handler Aws Iam. Inputs. EKSNode Termination Handler Policy 
- The Node Termination Handler policy to the role.
- Velero
Pulumi.Aws Iam. Inputs. EKSVelero Policy 
- The Velero IAM policy.
- VpnCni Pulumi.Aws Iam. Inputs. EKSVPNCNIPolicy 
- The VPC CNI IAM policy to the role.
- AmazonManaged EKSAmazonService Prometheus Managed Service Prometheus Policy 
- The Amazon Managed Service for Prometheus IAM policy.
- Appmesh
EKSAppmeshPolicy 
- The Appmesh policies.
- CertManager EKSCertManager Policy 
- The Cert Manager IAM policy.
- ClusterAuto EKSClusterScaling Autoscaler Policy 
- The Cluster Autoscaler IAM policy.
- EbsCsi EKSEBSCSIPolicy
- The EBS CSI IAM policy.
- EfsCsi EKSEFSCSIPolicy
- The EFS CSI IAM policy.
- ExternalDns EKSExternalDNSPolicy 
- The External DNS IAM policy.
- ExternalSecrets EKSExternalSecrets Policy 
- The External Secrets policy.
- FsxLustre FSxCsi Lustre CSIPolicy 
- The FSx for Lustre CSI Driver IAM policy.
- KarpenterController EKSKarpenterController Policy 
- The Karpenter Controller policy.
- LoadBalancer EKSLoadBalancer Policy 
- The Load Balancer policy.
- NodeTermination EKSNodeHandler Termination Handler Policy 
- The Node Termination Handler policy to the role.
- Velero
EKSVeleroPolicy 
- The Velero IAM policy.
- VpnCni EKSVPNCNIPolicy
- The VPC CNI IAM policy to the role.
- amazonManaged EKSAmazonService Prometheus Managed Service Prometheus Policy 
- The Amazon Managed Service for Prometheus IAM policy.
- appmesh
EKSAppmeshPolicy 
- The Appmesh policies.
- certManager EKSCertManager Policy 
- The Cert Manager IAM policy.
- clusterAuto EKSClusterScaling Autoscaler Policy 
- The Cluster Autoscaler IAM policy.
- ebsCsi EKSEBSCSIPolicy
- The EBS CSI IAM policy.
- efsCsi EKSEFSCSIPolicy
- The EFS CSI IAM policy.
- externalDns EKSExternalDNSPolicy 
- The External DNS IAM policy.
- externalSecrets EKSExternalSecrets Policy 
- The External Secrets policy.
- fsxLustre FSxCsi Lustre CSIPolicy 
- The FSx for Lustre CSI Driver IAM policy.
- karpenterController EKSKarpenterController Policy 
- The Karpenter Controller policy.
- loadBalancer EKSLoadBalancer Policy 
- The Load Balancer policy.
- nodeTermination EKSNodeHandler Termination Handler Policy 
- The Node Termination Handler policy to the role.
- velero
EKSVeleroPolicy 
- The Velero IAM policy.
- vpnCni EKSVPNCNIPolicy
- The VPC CNI IAM policy to the role.
- amazonManaged EKSAmazonService Prometheus Managed Service Prometheus Policy 
- The Amazon Managed Service for Prometheus IAM policy.
- appmesh
EKSAppmeshPolicy 
- The Appmesh policies.
- certManager EKSCertManager Policy 
- The Cert Manager IAM policy.
- clusterAuto EKSClusterScaling Autoscaler Policy 
- The Cluster Autoscaler IAM policy.
- ebsCsi EKSEBSCSIPolicy
- The EBS CSI IAM policy.
- efsCsi EKSEFSCSIPolicy
- The EFS CSI IAM policy.
- externalDns EKSExternalDNSPolicy 
- The External DNS IAM policy.
- externalSecrets EKSExternalSecrets Policy 
- The External Secrets policy.
- fsxLustre FSxCsi Lustre CSIPolicy 
- The FSx for Lustre CSI Driver IAM policy.
- karpenterController EKSKarpenterController Policy 
- The Karpenter Controller policy.
- loadBalancer EKSLoadBalancer Policy 
- The Load Balancer policy.
- nodeTermination EKSNodeHandler Termination Handler Policy 
- The Node Termination Handler policy to the role.
- velero
EKSVeleroPolicy 
- The Velero IAM policy.
- vpnCni EKSVPNCNIPolicy
- The VPC CNI IAM policy to the role.
- amazon_managed_ EKSAmazonservice_ prometheus Managed Service Prometheus Policy 
- The Amazon Managed Service for Prometheus IAM policy.
- appmesh
EKSAppmeshPolicy 
- The Appmesh policies.
- cert_manager EKSCertManager Policy 
- The Cert Manager IAM policy.
- cluster_auto_ EKSClusterscaling Autoscaler Policy 
- The Cluster Autoscaler IAM policy.
- ebs_csi EKSEBSCSIPolicy
- The EBS CSI IAM policy.
- efs_csi EKSEFSCSIPolicy
- The EFS CSI IAM policy.
- external_dns EKSExternalDNSPolicy 
- The External DNS IAM policy.
- external_secrets EKSExternalSecrets Policy 
- The External Secrets policy.
- fsx_lustre_ FSxcsi Lustre CSIPolicy 
- The FSx for Lustre CSI Driver IAM policy.
- karpenter_controller EKSKarpenterController Policy 
- The Karpenter Controller policy.
- load_balancer EKSLoadBalancer Policy 
- The Load Balancer policy.
- node_termination_ EKSNodehandler Termination Handler Policy 
- The Node Termination Handler policy to the role.
- velero
EKSVeleroPolicy 
- The Velero IAM policy.
- vpn_cni EKSVPNCNIPolicy
- The VPC CNI IAM policy to the role.
- amazonManaged Property MapService Prometheus 
- The Amazon Managed Service for Prometheus IAM policy.
- appmesh Property Map
- The Appmesh policies.
- certManager Property Map
- The Cert Manager IAM policy.
- clusterAuto Property MapScaling 
- The Cluster Autoscaler IAM policy.
- ebsCsi Property Map
- The EBS CSI IAM policy.
- efsCsi Property Map
- The EFS CSI IAM policy.
- externalDns Property Map
- The External DNS IAM policy.
- externalSecrets Property Map
- The External Secrets policy.
- fsxLustre Property MapCsi 
- The FSx for Lustre CSI Driver IAM policy.
- karpenterController Property Map
- The Karpenter Controller policy.
- loadBalancer Property Map
- The Load Balancer policy.
- nodeTermination Property MapHandler 
- The Node Termination Handler policy to the role.
- velero Property Map
- The Velero IAM policy.
- vpnCni Property Map
- The VPC CNI IAM policy to the role.
EKSServiceAccountRole, EKSServiceAccountRoleArgs      
- Description string
- IAM Role description.
- Name string
- IAM role name.
- NamePrefix string
- IAM role name prefix.
- Path string
- Path of admin IAM role.
- PermissionsBoundary stringArn 
- Permissions boundary ARN to use for the role.
- PolicyArns List<string>
- List of policy ARNs to use for the role.
- Description string
- IAM Role description.
- Name string
- IAM role name.
- NamePrefix string
- IAM role name prefix.
- Path string
- Path of admin IAM role.
- PermissionsBoundary stringArn 
- Permissions boundary ARN to use for the role.
- PolicyArns []string
- List of policy ARNs to use for the role.
- description String
- IAM Role description.
- name String
- IAM role name.
- namePrefix String
- IAM role name prefix.
- path String
- Path of admin IAM role.
- permissionsBoundary StringArn 
- Permissions boundary ARN to use for the role.
- policyArns List<String>
- List of policy ARNs to use for the role.
- description string
- IAM Role description.
- name string
- IAM role name.
- namePrefix string
- IAM role name prefix.
- path string
- Path of admin IAM role.
- permissionsBoundary stringArn 
- Permissions boundary ARN to use for the role.
- policyArns string[]
- List of policy ARNs to use for the role.
- description str
- IAM Role description.
- name str
- IAM role name.
- name_prefix str
- IAM role name prefix.
- path str
- Path of admin IAM role.
- permissions_boundary_ strarn 
- Permissions boundary ARN to use for the role.
- policy_arns Sequence[str]
- List of policy ARNs to use for the role.
- description String
- IAM Role description.
- name String
- IAM role name.
- namePrefix String
- IAM role name prefix.
- path String
- Path of admin IAM role.
- permissionsBoundary StringArn 
- Permissions boundary ARN to use for the role.
- policyArns List<String>
- List of policy ARNs to use for the role.
EKSVPNCNIPolicy, EKSVPNCNIPolicyArgs  
- Attach bool
- Determines whether to attach the VPC CNI IAM policy to the role.
- EnableIpv4 bool
- Determines whether to enable IPv4 permissions for VPC CNI policy.
- EnableIpv6 bool
- Determines whether to enable IPv6 permissions for VPC CNI policy.
- Attach bool
- Determines whether to attach the VPC CNI IAM policy to the role.
- EnableIpv4 bool
- Determines whether to enable IPv4 permissions for VPC CNI policy.
- EnableIpv6 bool
- Determines whether to enable IPv6 permissions for VPC CNI policy.
- attach Boolean
- Determines whether to attach the VPC CNI IAM policy to the role.
- enableIpv4 Boolean
- Determines whether to enable IPv4 permissions for VPC CNI policy.
- enableIpv6 Boolean
- Determines whether to enable IPv6 permissions for VPC CNI policy.
- attach boolean
- Determines whether to attach the VPC CNI IAM policy to the role.
- enableIpv4 boolean
- Determines whether to enable IPv4 permissions for VPC CNI policy.
- enableIpv6 boolean
- Determines whether to enable IPv6 permissions for VPC CNI policy.
- attach bool
- Determines whether to attach the VPC CNI IAM policy to the role.
- enable_ipv4 bool
- Determines whether to enable IPv4 permissions for VPC CNI policy.
- enable_ipv6 bool
- Determines whether to enable IPv6 permissions for VPC CNI policy.
- attach Boolean
- Determines whether to attach the VPC CNI IAM policy to the role.
- enableIpv4 Boolean
- Determines whether to enable IPv4 permissions for VPC CNI policy.
- enableIpv6 Boolean
- Determines whether to enable IPv6 permissions for VPC CNI policy.
EKSVeleroPolicy, EKSVeleroPolicyArgs    
- Attach bool
- Determines whether to attach the Velero IAM policy to the role.
- S3BucketArns List<string>
- List of S3 Bucket ARNs that Velero needs access to in order to backup and restore cluster resources. If not provided, a default ARN of "*" will be provided.
- Attach bool
- Determines whether to attach the Velero IAM policy to the role.
- S3BucketArns []string
- List of S3 Bucket ARNs that Velero needs access to in order to backup and restore cluster resources. If not provided, a default ARN of "*" will be provided.
- attach Boolean
- Determines whether to attach the Velero IAM policy to the role.
- s3BucketArns List<String>
- List of S3 Bucket ARNs that Velero needs access to in order to backup and restore cluster resources. If not provided, a default ARN of "*" will be provided.
- attach boolean
- Determines whether to attach the Velero IAM policy to the role.
- s3BucketArns string[]
- List of S3 Bucket ARNs that Velero needs access to in order to backup and restore cluster resources. If not provided, a default ARN of "*" will be provided.
- attach bool
- Determines whether to attach the Velero IAM policy to the role.
- s3_bucket_ Sequence[str]arns 
- List of S3 Bucket ARNs that Velero needs access to in order to backup and restore cluster resources. If not provided, a default ARN of "*" will be provided.
- attach Boolean
- Determines whether to attach the Velero IAM policy to the role.
- s3BucketArns List<String>
- List of S3 Bucket ARNs that Velero needs access to in order to backup and restore cluster resources. If not provided, a default ARN of "*" will be provided.
FSxLustreCSIPolicy, FSxLustreCSIPolicyArgs      
- Attach bool
- Determines whether to attach the FSx for Lustre CSI Driver IAM policy to the role.
- ServiceRole List<string>Arns 
- Service role ARNs to allow FSx for Lustre CSI create and manage FSX for Lustre service linked roles. If not provided, the default ARN "arn:aws:iam:::role/aws-service-role/s3.data-source.lustre.fsx.amazonaws.com/" will be applied.
- Attach bool
- Determines whether to attach the FSx for Lustre CSI Driver IAM policy to the role.
- ServiceRole []stringArns 
- Service role ARNs to allow FSx for Lustre CSI create and manage FSX for Lustre service linked roles. If not provided, the default ARN "arn:aws:iam:::role/aws-service-role/s3.data-source.lustre.fsx.amazonaws.com/" will be applied.
- attach Boolean
- Determines whether to attach the FSx for Lustre CSI Driver IAM policy to the role.
- serviceRole List<String>Arns 
- Service role ARNs to allow FSx for Lustre CSI create and manage FSX for Lustre service linked roles. If not provided, the default ARN "arn:aws:iam:::role/aws-service-role/s3.data-source.lustre.fsx.amazonaws.com/" will be applied.
- attach boolean
- Determines whether to attach the FSx for Lustre CSI Driver IAM policy to the role.
- serviceRole string[]Arns 
- Service role ARNs to allow FSx for Lustre CSI create and manage FSX for Lustre service linked roles. If not provided, the default ARN "arn:aws:iam:::role/aws-service-role/s3.data-source.lustre.fsx.amazonaws.com/" will be applied.
- attach bool
- Determines whether to attach the FSx for Lustre CSI Driver IAM policy to the role.
- service_role_ Sequence[str]arns 
- Service role ARNs to allow FSx for Lustre CSI create and manage FSX for Lustre service linked roles. If not provided, the default ARN "arn:aws:iam:::role/aws-service-role/s3.data-source.lustre.fsx.amazonaws.com/" will be applied.
- attach Boolean
- Determines whether to attach the FSx for Lustre CSI Driver IAM policy to the role.
- serviceRole List<String>Arns 
- Service role ARNs to allow FSx for Lustre CSI create and manage FSX for Lustre service linked roles. If not provided, the default ARN "arn:aws:iam:::role/aws-service-role/s3.data-source.lustre.fsx.amazonaws.com/" will be applied.
OIDCProvider, OIDCProviderArgs  
- NamespaceService List<string>Accounts 
- ProviderArn string
- NamespaceService []stringAccounts 
- ProviderArn string
- namespaceService List<String>Accounts 
- providerArn String
- namespaceService string[]Accounts 
- providerArn string
- namespace_service_ Sequence[str]accounts 
- provider_arn str
- namespaceService List<String>Accounts 
- providerArn String
Package Details
- Repository
- aws-iam
- License