1. Packages
  2. Scaleway
  3. API Docs
  4. kubernetes
  5. Acl
Scaleway v1.29.0 published on Tuesday, May 27, 2025 by pulumiverse

scaleway.kubernetes.Acl

Explore with Pulumi AI

scaleway logo
Scaleway v1.29.0 published on Tuesday, May 27, 2025 by pulumiverse

    Example Usage

    Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const aclBasic = new scaleway.network.PrivateNetwork("acl_basic", {});
    const aclBasicCluster = new scaleway.kubernetes.Cluster("acl_basic", {
        name: "acl-basic",
        version: "1.32.2",
        cni: "cilium",
        deleteAdditionalResources: true,
        privateNetworkId: aclBasic.id,
    });
    const aclBasicAcl = new scaleway.kubernetes.Acl("acl_basic", {
        clusterId: aclBasicCluster.id,
        aclRules: [
            {
                ip: "1.2.3.4/32",
                description: "Allow 1.2.3.4",
            },
            {
                scalewayRanges: true,
                description: "Allow all Scaleway ranges",
            },
        ],
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    acl_basic = scaleway.network.PrivateNetwork("acl_basic")
    acl_basic_cluster = scaleway.kubernetes.Cluster("acl_basic",
        name="acl-basic",
        version="1.32.2",
        cni="cilium",
        delete_additional_resources=True,
        private_network_id=acl_basic.id)
    acl_basic_acl = scaleway.kubernetes.Acl("acl_basic",
        cluster_id=acl_basic_cluster.id,
        acl_rules=[
            {
                "ip": "1.2.3.4/32",
                "description": "Allow 1.2.3.4",
            },
            {
                "scaleway_ranges": True,
                "description": "Allow all Scaleway ranges",
            },
        ])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/kubernetes"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/network"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		aclBasic, err := network.NewPrivateNetwork(ctx, "acl_basic", nil)
    		if err != nil {
    			return err
    		}
    		aclBasicCluster, err := kubernetes.NewCluster(ctx, "acl_basic", &kubernetes.ClusterArgs{
    			Name:                      pulumi.String("acl-basic"),
    			Version:                   pulumi.String("1.32.2"),
    			Cni:                       pulumi.String("cilium"),
    			DeleteAdditionalResources: pulumi.Bool(true),
    			PrivateNetworkId:          aclBasic.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = kubernetes.NewAcl(ctx, "acl_basic", &kubernetes.AclArgs{
    			ClusterId: aclBasicCluster.ID(),
    			AclRules: kubernetes.AclAclRuleArray{
    				&kubernetes.AclAclRuleArgs{
    					Ip:          pulumi.String("1.2.3.4/32"),
    					Description: pulumi.String("Allow 1.2.3.4"),
    				},
    				&kubernetes.AclAclRuleArgs{
    					ScalewayRanges: pulumi.Bool(true),
    					Description:    pulumi.String("Allow all Scaleway ranges"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var aclBasic = new Scaleway.Network.PrivateNetwork("acl_basic");
    
        var aclBasicCluster = new Scaleway.Kubernetes.Cluster("acl_basic", new()
        {
            Name = "acl-basic",
            Version = "1.32.2",
            Cni = "cilium",
            DeleteAdditionalResources = true,
            PrivateNetworkId = aclBasic.Id,
        });
    
        var aclBasicAcl = new Scaleway.Kubernetes.Acl("acl_basic", new()
        {
            ClusterId = aclBasicCluster.Id,
            AclRules = new[]
            {
                new Scaleway.Kubernetes.Inputs.AclAclRuleArgs
                {
                    Ip = "1.2.3.4/32",
                    Description = "Allow 1.2.3.4",
                },
                new Scaleway.Kubernetes.Inputs.AclAclRuleArgs
                {
                    ScalewayRanges = true,
                    Description = "Allow all Scaleway ranges",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.network.PrivateNetwork;
    import com.pulumi.scaleway.kubernetes.Cluster;
    import com.pulumi.scaleway.kubernetes.ClusterArgs;
    import com.pulumi.scaleway.kubernetes.Acl;
    import com.pulumi.scaleway.kubernetes.AclArgs;
    import com.pulumi.scaleway.kubernetes.inputs.AclAclRuleArgs;
    import java.util.List;
    import java.util.ArrayList;
    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 aclBasic = new PrivateNetwork("aclBasic");
    
            var aclBasicCluster = new Cluster("aclBasicCluster", ClusterArgs.builder()
                .name("acl-basic")
                .version("1.32.2")
                .cni("cilium")
                .deleteAdditionalResources(true)
                .privateNetworkId(aclBasic.id())
                .build());
    
            var aclBasicAcl = new Acl("aclBasicAcl", AclArgs.builder()
                .clusterId(aclBasicCluster.id())
                .aclRules(            
                    AclAclRuleArgs.builder()
                        .ip("1.2.3.4/32")
                        .description("Allow 1.2.3.4")
                        .build(),
                    AclAclRuleArgs.builder()
                        .scalewayRanges(true)
                        .description("Allow all Scaleway ranges")
                        .build())
                .build());
    
        }
    }
    
    resources:
      aclBasic:
        type: scaleway:network:PrivateNetwork
        name: acl_basic
      aclBasicCluster:
        type: scaleway:kubernetes:Cluster
        name: acl_basic
        properties:
          name: acl-basic
          version: 1.32.2
          cni: cilium
          deleteAdditionalResources: true
          privateNetworkId: ${aclBasic.id}
      aclBasicAcl:
        type: scaleway:kubernetes:Acl
        name: acl_basic
        properties:
          clusterId: ${aclBasicCluster.id}
          aclRules:
            - ip: 1.2.3.4/32
              description: Allow 1.2.3.4
            - scalewayRanges: true
              description: Allow all Scaleway ranges
    

    Full-isolation

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const aclBasic = new scaleway.network.PrivateNetwork("acl_basic", {});
    const aclBasicCluster = new scaleway.kubernetes.Cluster("acl_basic", {
        name: "acl-basic",
        version: "1.32.2",
        cni: "cilium",
        deleteAdditionalResources: true,
        privateNetworkId: aclBasic.id,
    });
    const aclBasicAcl = new scaleway.kubernetes.Acl("acl_basic", {
        clusterId: aclBasicCluster.id,
        noIpAllowed: true,
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    acl_basic = scaleway.network.PrivateNetwork("acl_basic")
    acl_basic_cluster = scaleway.kubernetes.Cluster("acl_basic",
        name="acl-basic",
        version="1.32.2",
        cni="cilium",
        delete_additional_resources=True,
        private_network_id=acl_basic.id)
    acl_basic_acl = scaleway.kubernetes.Acl("acl_basic",
        cluster_id=acl_basic_cluster.id,
        no_ip_allowed=True)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/kubernetes"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/network"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		aclBasic, err := network.NewPrivateNetwork(ctx, "acl_basic", nil)
    		if err != nil {
    			return err
    		}
    		aclBasicCluster, err := kubernetes.NewCluster(ctx, "acl_basic", &kubernetes.ClusterArgs{
    			Name:                      pulumi.String("acl-basic"),
    			Version:                   pulumi.String("1.32.2"),
    			Cni:                       pulumi.String("cilium"),
    			DeleteAdditionalResources: pulumi.Bool(true),
    			PrivateNetworkId:          aclBasic.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = kubernetes.NewAcl(ctx, "acl_basic", &kubernetes.AclArgs{
    			ClusterId:   aclBasicCluster.ID(),
    			NoIpAllowed: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var aclBasic = new Scaleway.Network.PrivateNetwork("acl_basic");
    
        var aclBasicCluster = new Scaleway.Kubernetes.Cluster("acl_basic", new()
        {
            Name = "acl-basic",
            Version = "1.32.2",
            Cni = "cilium",
            DeleteAdditionalResources = true,
            PrivateNetworkId = aclBasic.Id,
        });
    
        var aclBasicAcl = new Scaleway.Kubernetes.Acl("acl_basic", new()
        {
            ClusterId = aclBasicCluster.Id,
            NoIpAllowed = true,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.network.PrivateNetwork;
    import com.pulumi.scaleway.kubernetes.Cluster;
    import com.pulumi.scaleway.kubernetes.ClusterArgs;
    import com.pulumi.scaleway.kubernetes.Acl;
    import com.pulumi.scaleway.kubernetes.AclArgs;
    import java.util.List;
    import java.util.ArrayList;
    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 aclBasic = new PrivateNetwork("aclBasic");
    
            var aclBasicCluster = new Cluster("aclBasicCluster", ClusterArgs.builder()
                .name("acl-basic")
                .version("1.32.2")
                .cni("cilium")
                .deleteAdditionalResources(true)
                .privateNetworkId(aclBasic.id())
                .build());
    
            var aclBasicAcl = new Acl("aclBasicAcl", AclArgs.builder()
                .clusterId(aclBasicCluster.id())
                .noIpAllowed(true)
                .build());
    
        }
    }
    
    resources:
      aclBasic:
        type: scaleway:network:PrivateNetwork
        name: acl_basic
      aclBasicCluster:
        type: scaleway:kubernetes:Cluster
        name: acl_basic
        properties:
          name: acl-basic
          version: 1.32.2
          cni: cilium
          deleteAdditionalResources: true
          privateNetworkId: ${aclBasic.id}
      aclBasicAcl:
        type: scaleway:kubernetes:Acl
        name: acl_basic
        properties:
          clusterId: ${aclBasicCluster.id}
          noIpAllowed: true
    

    Create Acl Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Acl(name: string, args: AclArgs, opts?: CustomResourceOptions);
    @overload
    def Acl(resource_name: str,
            args: AclArgs,
            opts: Optional[ResourceOptions] = None)
    
    @overload
    def Acl(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            cluster_id: Optional[str] = None,
            acl_rules: Optional[Sequence[AclAclRuleArgs]] = None,
            no_ip_allowed: Optional[bool] = None,
            region: Optional[str] = None)
    func NewAcl(ctx *Context, name string, args AclArgs, opts ...ResourceOption) (*Acl, error)
    public Acl(string name, AclArgs args, CustomResourceOptions? opts = null)
    public Acl(String name, AclArgs args)
    public Acl(String name, AclArgs args, CustomResourceOptions options)
    
    type: scaleway:kubernetes:Acl
    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 AclArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args AclArgs
    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 AclArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args AclArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args AclArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var scalewayAclResource = new Scaleway.Kubernetes.Acl("scalewayAclResource", new()
    {
        ClusterId = "string",
        AclRules = new[]
        {
            new Scaleway.Kubernetes.Inputs.AclAclRuleArgs
            {
                Description = "string",
                Id = "string",
                Ip = "string",
                ScalewayRanges = false,
            },
        },
        NoIpAllowed = false,
        Region = "string",
    });
    
    example, err := kubernetes.NewAcl(ctx, "scalewayAclResource", &kubernetes.AclArgs{
    	ClusterId: pulumi.String("string"),
    	AclRules: kubernetes.AclAclRuleArray{
    		&kubernetes.AclAclRuleArgs{
    			Description:    pulumi.String("string"),
    			Id:             pulumi.String("string"),
    			Ip:             pulumi.String("string"),
    			ScalewayRanges: pulumi.Bool(false),
    		},
    	},
    	NoIpAllowed: pulumi.Bool(false),
    	Region:      pulumi.String("string"),
    })
    
    var scalewayAclResource = new com.pulumi.scaleway.kubernetes.Acl("scalewayAclResource", com.pulumi.scaleway.kubernetes.AclArgs.builder()
        .clusterId("string")
        .aclRules(AclAclRuleArgs.builder()
            .description("string")
            .id("string")
            .ip("string")
            .scalewayRanges(false)
            .build())
        .noIpAllowed(false)
        .region("string")
        .build());
    
    scaleway_acl_resource = scaleway.kubernetes.Acl("scalewayAclResource",
        cluster_id="string",
        acl_rules=[{
            "description": "string",
            "id": "string",
            "ip": "string",
            "scaleway_ranges": False,
        }],
        no_ip_allowed=False,
        region="string")
    
    const scalewayAclResource = new scaleway.kubernetes.Acl("scalewayAclResource", {
        clusterId: "string",
        aclRules: [{
            description: "string",
            id: "string",
            ip: "string",
            scalewayRanges: false,
        }],
        noIpAllowed: false,
        region: "string",
    });
    
    type: scaleway:kubernetes:Acl
    properties:
        aclRules:
            - description: string
              id: string
              ip: string
              scalewayRanges: false
        clusterId: string
        noIpAllowed: false
        region: string
    

    Acl 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 Acl resource accepts the following input properties:

    ClusterId string

    UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.

    Important: Updates to cluster_id will recreate the ACL.

    AclRules List<Pulumiverse.Scaleway.Kubernetes.Inputs.AclAclRule>

    A list of ACLs (structure is described below)

    Important: This block cannot be defined if the no_ip_allowed field is set to true.

    NoIpAllowed bool

    If set to true, no IP will be allowed and the cluster will be in full-isolation.

    Important: This field cannot be set to true if the acl_rules block is defined.

    Region string
    region) The region in which the ACL rule should be created.
    ClusterId string

    UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.

    Important: Updates to cluster_id will recreate the ACL.

    AclRules []AclAclRuleArgs

    A list of ACLs (structure is described below)

    Important: This block cannot be defined if the no_ip_allowed field is set to true.

    NoIpAllowed bool

    If set to true, no IP will be allowed and the cluster will be in full-isolation.

    Important: This field cannot be set to true if the acl_rules block is defined.

    Region string
    region) The region in which the ACL rule should be created.
    clusterId String

    UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.

    Important: Updates to cluster_id will recreate the ACL.

    aclRules List<AclAclRule>

    A list of ACLs (structure is described below)

    Important: This block cannot be defined if the no_ip_allowed field is set to true.

    noIpAllowed Boolean

    If set to true, no IP will be allowed and the cluster will be in full-isolation.

    Important: This field cannot be set to true if the acl_rules block is defined.

    region String
    region) The region in which the ACL rule should be created.
    clusterId string

    UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.

    Important: Updates to cluster_id will recreate the ACL.

    aclRules AclAclRule[]

    A list of ACLs (structure is described below)

    Important: This block cannot be defined if the no_ip_allowed field is set to true.

    noIpAllowed boolean

    If set to true, no IP will be allowed and the cluster will be in full-isolation.

    Important: This field cannot be set to true if the acl_rules block is defined.

    region string
    region) The region in which the ACL rule should be created.
    cluster_id str

    UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.

    Important: Updates to cluster_id will recreate the ACL.

    acl_rules Sequence[AclAclRuleArgs]

    A list of ACLs (structure is described below)

    Important: This block cannot be defined if the no_ip_allowed field is set to true.

    no_ip_allowed bool

    If set to true, no IP will be allowed and the cluster will be in full-isolation.

    Important: This field cannot be set to true if the acl_rules block is defined.

    region str
    region) The region in which the ACL rule should be created.
    clusterId String

    UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.

    Important: Updates to cluster_id will recreate the ACL.

    aclRules List<Property Map>

    A list of ACLs (structure is described below)

    Important: This block cannot be defined if the no_ip_allowed field is set to true.

    noIpAllowed Boolean

    If set to true, no IP will be allowed and the cluster will be in full-isolation.

    Important: This field cannot be set to true if the acl_rules block is defined.

    region String
    region) The region in which the ACL rule should be created.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Acl resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing Acl Resource

    Get an existing Acl resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: AclState, opts?: CustomResourceOptions): Acl
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            acl_rules: Optional[Sequence[AclAclRuleArgs]] = None,
            cluster_id: Optional[str] = None,
            no_ip_allowed: Optional[bool] = None,
            region: Optional[str] = None) -> Acl
    func GetAcl(ctx *Context, name string, id IDInput, state *AclState, opts ...ResourceOption) (*Acl, error)
    public static Acl Get(string name, Input<string> id, AclState? state, CustomResourceOptions? opts = null)
    public static Acl get(String name, Output<String> id, AclState state, CustomResourceOptions options)
    resources:  _:    type: scaleway:kubernetes:Acl    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AclRules List<Pulumiverse.Scaleway.Kubernetes.Inputs.AclAclRule>

    A list of ACLs (structure is described below)

    Important: This block cannot be defined if the no_ip_allowed field is set to true.

    ClusterId string

    UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.

    Important: Updates to cluster_id will recreate the ACL.

    NoIpAllowed bool

    If set to true, no IP will be allowed and the cluster will be in full-isolation.

    Important: This field cannot be set to true if the acl_rules block is defined.

    Region string
    region) The region in which the ACL rule should be created.
    AclRules []AclAclRuleArgs

    A list of ACLs (structure is described below)

    Important: This block cannot be defined if the no_ip_allowed field is set to true.

    ClusterId string

    UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.

    Important: Updates to cluster_id will recreate the ACL.

    NoIpAllowed bool

    If set to true, no IP will be allowed and the cluster will be in full-isolation.

    Important: This field cannot be set to true if the acl_rules block is defined.

    Region string
    region) The region in which the ACL rule should be created.
    aclRules List<AclAclRule>

    A list of ACLs (structure is described below)

    Important: This block cannot be defined if the no_ip_allowed field is set to true.

    clusterId String

    UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.

    Important: Updates to cluster_id will recreate the ACL.

    noIpAllowed Boolean

    If set to true, no IP will be allowed and the cluster will be in full-isolation.

    Important: This field cannot be set to true if the acl_rules block is defined.

    region String
    region) The region in which the ACL rule should be created.
    aclRules AclAclRule[]

    A list of ACLs (structure is described below)

    Important: This block cannot be defined if the no_ip_allowed field is set to true.

    clusterId string

    UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.

    Important: Updates to cluster_id will recreate the ACL.

    noIpAllowed boolean

    If set to true, no IP will be allowed and the cluster will be in full-isolation.

    Important: This field cannot be set to true if the acl_rules block is defined.

    region string
    region) The region in which the ACL rule should be created.
    acl_rules Sequence[AclAclRuleArgs]

    A list of ACLs (structure is described below)

    Important: This block cannot be defined if the no_ip_allowed field is set to true.

    cluster_id str

    UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.

    Important: Updates to cluster_id will recreate the ACL.

    no_ip_allowed bool

    If set to true, no IP will be allowed and the cluster will be in full-isolation.

    Important: This field cannot be set to true if the acl_rules block is defined.

    region str
    region) The region in which the ACL rule should be created.
    aclRules List<Property Map>

    A list of ACLs (structure is described below)

    Important: This block cannot be defined if the no_ip_allowed field is set to true.

    clusterId String

    UUID of the cluster. The ID of the cluster is also the ID of the ACL resource, as there can only be one per cluster.

    Important: Updates to cluster_id will recreate the ACL.

    noIpAllowed Boolean

    If set to true, no IP will be allowed and the cluster will be in full-isolation.

    Important: This field cannot be set to true if the acl_rules block is defined.

    region String
    region) The region in which the ACL rule should be created.

    Supporting Types

    AclAclRule, AclAclRuleArgs

    Description string
    A text describing this rule.
    Id string
    The ID of the ACL resource. It is the same as the ID of the cluster.
    Ip string

    The IP range to whitelist in CIDR notation

    Important: If the ip field is set, scaleway_ranges cannot be set to true in the same rule.

    ScalewayRanges bool

    Allow access to cluster from all Scaleway ranges as defined in Scaleway Network Information - IP ranges used by Scaleway. Only one rule with this field set to true can be added.

    Important: If the scaleway_ranges field is set to true, the ip field cannot be set on the same rule.

    Description string
    A text describing this rule.
    Id string
    The ID of the ACL resource. It is the same as the ID of the cluster.
    Ip string

    The IP range to whitelist in CIDR notation

    Important: If the ip field is set, scaleway_ranges cannot be set to true in the same rule.

    ScalewayRanges bool

    Allow access to cluster from all Scaleway ranges as defined in Scaleway Network Information - IP ranges used by Scaleway. Only one rule with this field set to true can be added.

    Important: If the scaleway_ranges field is set to true, the ip field cannot be set on the same rule.

    description String
    A text describing this rule.
    id String
    The ID of the ACL resource. It is the same as the ID of the cluster.
    ip String

    The IP range to whitelist in CIDR notation

    Important: If the ip field is set, scaleway_ranges cannot be set to true in the same rule.

    scalewayRanges Boolean

    Allow access to cluster from all Scaleway ranges as defined in Scaleway Network Information - IP ranges used by Scaleway. Only one rule with this field set to true can be added.

    Important: If the scaleway_ranges field is set to true, the ip field cannot be set on the same rule.

    description string
    A text describing this rule.
    id string
    The ID of the ACL resource. It is the same as the ID of the cluster.
    ip string

    The IP range to whitelist in CIDR notation

    Important: If the ip field is set, scaleway_ranges cannot be set to true in the same rule.

    scalewayRanges boolean

    Allow access to cluster from all Scaleway ranges as defined in Scaleway Network Information - IP ranges used by Scaleway. Only one rule with this field set to true can be added.

    Important: If the scaleway_ranges field is set to true, the ip field cannot be set on the same rule.

    description str
    A text describing this rule.
    id str
    The ID of the ACL resource. It is the same as the ID of the cluster.
    ip str

    The IP range to whitelist in CIDR notation

    Important: If the ip field is set, scaleway_ranges cannot be set to true in the same rule.

    scaleway_ranges bool

    Allow access to cluster from all Scaleway ranges as defined in Scaleway Network Information - IP ranges used by Scaleway. Only one rule with this field set to true can be added.

    Important: If the scaleway_ranges field is set to true, the ip field cannot be set on the same rule.

    description String
    A text describing this rule.
    id String
    The ID of the ACL resource. It is the same as the ID of the cluster.
    ip String

    The IP range to whitelist in CIDR notation

    Important: If the ip field is set, scaleway_ranges cannot be set to true in the same rule.

    scalewayRanges Boolean

    Allow access to cluster from all Scaleway ranges as defined in Scaleway Network Information - IP ranges used by Scaleway. Only one rule with this field set to true can be added.

    Important: If the scaleway_ranges field is set to true, the ip field cannot be set on the same rule.

    Import

    Kubernetes ACLs can be imported using the {region}/{cluster-id}, e.g.

    bash

    $ pulumi import scaleway:kubernetes/acl:Acl acl01 fr-par/11111111-1111-1111-1111-111111111111
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    scaleway pulumiverse/pulumi-scaleway
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the scaleway Terraform Provider.
    scaleway logo
    Scaleway v1.29.0 published on Tuesday, May 27, 2025 by pulumiverse