1. Packages
  2. Opentelekomcloud Provider
  3. API Docs
  4. IdentityAclV3
opentelekomcloud 1.36.37 published on Thursday, Apr 24, 2025 by opentelekomcloud

opentelekomcloud.IdentityAclV3

Explore with Pulumi AI

opentelekomcloud logo
opentelekomcloud 1.36.37 published on Thursday, Apr 24, 2025 by opentelekomcloud

    Up-to-date reference of API arguments for IAM agency you can get at documentation portal

    Manages an ACL resource within OpenTelekomCloud IAM service. The ACL allows user access only from specified IP address ranges and IPv4 CIDR blocks. The ACL takes effect for IAM users under the Domain account rather than the account itself.

    NOTE: You must have admin privileges to use this resource.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as opentelekomcloud from "@pulumi/opentelekomcloud";
    
    const acl = new opentelekomcloud.IdentityAclV3("acl", {
        ipCidrs: [{
            cidr: "159.138.39.192/32",
            description: "This is a test ip address",
        }],
        ipRanges: [{
            description: "This is a test ip range",
            range: "0.0.0.0-255.255.255.0",
        }],
        type: "console",
    });
    
    import pulumi
    import pulumi_opentelekomcloud as opentelekomcloud
    
    acl = opentelekomcloud.IdentityAclV3("acl",
        ip_cidrs=[{
            "cidr": "159.138.39.192/32",
            "description": "This is a test ip address",
        }],
        ip_ranges=[{
            "description": "This is a test ip range",
            "range": "0.0.0.0-255.255.255.0",
        }],
        type="console")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := opentelekomcloud.NewIdentityAclV3(ctx, "acl", &opentelekomcloud.IdentityAclV3Args{
    			IpCidrs: opentelekomcloud.IdentityAclV3IpCidrArray{
    				&opentelekomcloud.IdentityAclV3IpCidrArgs{
    					Cidr:        pulumi.String("159.138.39.192/32"),
    					Description: pulumi.String("This is a test ip address"),
    				},
    			},
    			IpRanges: opentelekomcloud.IdentityAclV3IpRangeArray{
    				&opentelekomcloud.IdentityAclV3IpRangeArgs{
    					Description: pulumi.String("This is a test ip range"),
    					Range:       pulumi.String("0.0.0.0-255.255.255.0"),
    				},
    			},
    			Type: pulumi.String("console"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Opentelekomcloud = Pulumi.Opentelekomcloud;
    
    return await Deployment.RunAsync(() => 
    {
        var acl = new Opentelekomcloud.IdentityAclV3("acl", new()
        {
            IpCidrs = new[]
            {
                new Opentelekomcloud.Inputs.IdentityAclV3IpCidrArgs
                {
                    Cidr = "159.138.39.192/32",
                    Description = "This is a test ip address",
                },
            },
            IpRanges = new[]
            {
                new Opentelekomcloud.Inputs.IdentityAclV3IpRangeArgs
                {
                    Description = "This is a test ip range",
                    Range = "0.0.0.0-255.255.255.0",
                },
            },
            Type = "console",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.opentelekomcloud.IdentityAclV3;
    import com.pulumi.opentelekomcloud.IdentityAclV3Args;
    import com.pulumi.opentelekomcloud.inputs.IdentityAclV3IpCidrArgs;
    import com.pulumi.opentelekomcloud.inputs.IdentityAclV3IpRangeArgs;
    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 acl = new IdentityAclV3("acl", IdentityAclV3Args.builder()
                .ipCidrs(IdentityAclV3IpCidrArgs.builder()
                    .cidr("159.138.39.192/32")
                    .description("This is a test ip address")
                    .build())
                .ipRanges(IdentityAclV3IpRangeArgs.builder()
                    .description("This is a test ip range")
                    .range("0.0.0.0-255.255.255.0")
                    .build())
                .type("console")
                .build());
    
        }
    }
    
    resources:
      acl:
        type: opentelekomcloud:IdentityAclV3
        properties:
          ipCidrs:
            - cidr: 159.138.39.192/32
              description: This is a test ip address
          ipRanges:
            - description: This is a test ip range
              range: 0.0.0.0-255.255.255.0
          type: console
    

    Create IdentityAclV3 Resource

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

    Constructor syntax

    new IdentityAclV3(name: string, args: IdentityAclV3Args, opts?: CustomResourceOptions);
    @overload
    def IdentityAclV3(resource_name: str,
                      args: IdentityAclV3Args,
                      opts: Optional[ResourceOptions] = None)
    
    @overload
    def IdentityAclV3(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      type: Optional[str] = None,
                      identity_acl_v3_id: Optional[str] = None,
                      ip_cidrs: Optional[Sequence[IdentityAclV3IpCidrArgs]] = None,
                      ip_ranges: Optional[Sequence[IdentityAclV3IpRangeArgs]] = None)
    func NewIdentityAclV3(ctx *Context, name string, args IdentityAclV3Args, opts ...ResourceOption) (*IdentityAclV3, error)
    public IdentityAclV3(string name, IdentityAclV3Args args, CustomResourceOptions? opts = null)
    public IdentityAclV3(String name, IdentityAclV3Args args)
    public IdentityAclV3(String name, IdentityAclV3Args args, CustomResourceOptions options)
    
    type: opentelekomcloud:IdentityAclV3
    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 IdentityAclV3Args
    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 IdentityAclV3Args
    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 IdentityAclV3Args
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args IdentityAclV3Args
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args IdentityAclV3Args
    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 identityAclV3Resource = new Opentelekomcloud.IdentityAclV3("identityAclV3Resource", new()
    {
        Type = "string",
        IdentityAclV3Id = "string",
        IpCidrs = new[]
        {
            new Opentelekomcloud.Inputs.IdentityAclV3IpCidrArgs
            {
                Cidr = "string",
                Description = "string",
            },
        },
        IpRanges = new[]
        {
            new Opentelekomcloud.Inputs.IdentityAclV3IpRangeArgs
            {
                Range = "string",
                Description = "string",
            },
        },
    });
    
    example, err := opentelekomcloud.NewIdentityAclV3(ctx, "identityAclV3Resource", &opentelekomcloud.IdentityAclV3Args{
    	Type:            pulumi.String("string"),
    	IdentityAclV3Id: pulumi.String("string"),
    	IpCidrs: opentelekomcloud.IdentityAclV3IpCidrArray{
    		&opentelekomcloud.IdentityAclV3IpCidrArgs{
    			Cidr:        pulumi.String("string"),
    			Description: pulumi.String("string"),
    		},
    	},
    	IpRanges: opentelekomcloud.IdentityAclV3IpRangeArray{
    		&opentelekomcloud.IdentityAclV3IpRangeArgs{
    			Range:       pulumi.String("string"),
    			Description: pulumi.String("string"),
    		},
    	},
    })
    
    var identityAclV3Resource = new IdentityAclV3("identityAclV3Resource", IdentityAclV3Args.builder()
        .type("string")
        .identityAclV3Id("string")
        .ipCidrs(IdentityAclV3IpCidrArgs.builder()
            .cidr("string")
            .description("string")
            .build())
        .ipRanges(IdentityAclV3IpRangeArgs.builder()
            .range("string")
            .description("string")
            .build())
        .build());
    
    identity_acl_v3_resource = opentelekomcloud.IdentityAclV3("identityAclV3Resource",
        type="string",
        identity_acl_v3_id="string",
        ip_cidrs=[{
            "cidr": "string",
            "description": "string",
        }],
        ip_ranges=[{
            "range": "string",
            "description": "string",
        }])
    
    const identityAclV3Resource = new opentelekomcloud.IdentityAclV3("identityAclV3Resource", {
        type: "string",
        identityAclV3Id: "string",
        ipCidrs: [{
            cidr: "string",
            description: "string",
        }],
        ipRanges: [{
            range: "string",
            description: "string",
        }],
    });
    
    type: opentelekomcloud:IdentityAclV3
    properties:
        identityAclV3Id: string
        ipCidrs:
            - cidr: string
              description: string
        ipRanges:
            - description: string
              range: string
        type: string
    

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

    Type string
    Specifies the ACL is created through the Console or API. Valid values are console and api. Changing this parameter will create a new ACL.
    IdentityAclV3Id string
    The ID of identity ACL.
    IpCidrs List<IdentityAclV3IpCidr>
    Specifies the IPv4 CIDR blocks from which console access or api access is allowed. The ip_cidrs cannot repeat. The object structure is documented below.
    IpRanges List<IdentityAclV3IpRange>

    Specifies the IP address ranges from which console access or api access is allowed. The ip_ranges cannot repeat. The object structure is documented below.

    NOTE: Up to 200 ip_cidrs and ip_ranges can be created in total for each access method.

    The ip_cidrs block supports:

    Type string
    Specifies the ACL is created through the Console or API. Valid values are console and api. Changing this parameter will create a new ACL.
    IdentityAclV3Id string
    The ID of identity ACL.
    IpCidrs []IdentityAclV3IpCidrArgs
    Specifies the IPv4 CIDR blocks from which console access or api access is allowed. The ip_cidrs cannot repeat. The object structure is documented below.
    IpRanges []IdentityAclV3IpRangeArgs

    Specifies the IP address ranges from which console access or api access is allowed. The ip_ranges cannot repeat. The object structure is documented below.

    NOTE: Up to 200 ip_cidrs and ip_ranges can be created in total for each access method.

    The ip_cidrs block supports:

    type String
    Specifies the ACL is created through the Console or API. Valid values are console and api. Changing this parameter will create a new ACL.
    identityAclV3Id String
    The ID of identity ACL.
    ipCidrs List<IdentityAclV3IpCidr>
    Specifies the IPv4 CIDR blocks from which console access or api access is allowed. The ip_cidrs cannot repeat. The object structure is documented below.
    ipRanges List<IdentityAclV3IpRange>

    Specifies the IP address ranges from which console access or api access is allowed. The ip_ranges cannot repeat. The object structure is documented below.

    NOTE: Up to 200 ip_cidrs and ip_ranges can be created in total for each access method.

    The ip_cidrs block supports:

    type string
    Specifies the ACL is created through the Console or API. Valid values are console and api. Changing this parameter will create a new ACL.
    identityAclV3Id string
    The ID of identity ACL.
    ipCidrs IdentityAclV3IpCidr[]
    Specifies the IPv4 CIDR blocks from which console access or api access is allowed. The ip_cidrs cannot repeat. The object structure is documented below.
    ipRanges IdentityAclV3IpRange[]

    Specifies the IP address ranges from which console access or api access is allowed. The ip_ranges cannot repeat. The object structure is documented below.

    NOTE: Up to 200 ip_cidrs and ip_ranges can be created in total for each access method.

    The ip_cidrs block supports:

    type str
    Specifies the ACL is created through the Console or API. Valid values are console and api. Changing this parameter will create a new ACL.
    identity_acl_v3_id str
    The ID of identity ACL.
    ip_cidrs Sequence[IdentityAclV3IpCidrArgs]
    Specifies the IPv4 CIDR blocks from which console access or api access is allowed. The ip_cidrs cannot repeat. The object structure is documented below.
    ip_ranges Sequence[IdentityAclV3IpRangeArgs]

    Specifies the IP address ranges from which console access or api access is allowed. The ip_ranges cannot repeat. The object structure is documented below.

    NOTE: Up to 200 ip_cidrs and ip_ranges can be created in total for each access method.

    The ip_cidrs block supports:

    type String
    Specifies the ACL is created through the Console or API. Valid values are console and api. Changing this parameter will create a new ACL.
    identityAclV3Id String
    The ID of identity ACL.
    ipCidrs List<Property Map>
    Specifies the IPv4 CIDR blocks from which console access or api access is allowed. The ip_cidrs cannot repeat. The object structure is documented below.
    ipRanges List<Property Map>

    Specifies the IP address ranges from which console access or api access is allowed. The ip_ranges cannot repeat. The object structure is documented below.

    NOTE: Up to 200 ip_cidrs and ip_ranges can be created in total for each access method.

    The ip_cidrs block supports:

    Outputs

    All input properties are implicitly available as output properties. Additionally, the IdentityAclV3 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 IdentityAclV3 Resource

    Get an existing IdentityAclV3 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?: IdentityAclV3State, opts?: CustomResourceOptions): IdentityAclV3
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            identity_acl_v3_id: Optional[str] = None,
            ip_cidrs: Optional[Sequence[IdentityAclV3IpCidrArgs]] = None,
            ip_ranges: Optional[Sequence[IdentityAclV3IpRangeArgs]] = None,
            type: Optional[str] = None) -> IdentityAclV3
    func GetIdentityAclV3(ctx *Context, name string, id IDInput, state *IdentityAclV3State, opts ...ResourceOption) (*IdentityAclV3, error)
    public static IdentityAclV3 Get(string name, Input<string> id, IdentityAclV3State? state, CustomResourceOptions? opts = null)
    public static IdentityAclV3 get(String name, Output<String> id, IdentityAclV3State state, CustomResourceOptions options)
    resources:  _:    type: opentelekomcloud:IdentityAclV3    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:
    IdentityAclV3Id string
    The ID of identity ACL.
    IpCidrs List<IdentityAclV3IpCidr>
    Specifies the IPv4 CIDR blocks from which console access or api access is allowed. The ip_cidrs cannot repeat. The object structure is documented below.
    IpRanges List<IdentityAclV3IpRange>

    Specifies the IP address ranges from which console access or api access is allowed. The ip_ranges cannot repeat. The object structure is documented below.

    NOTE: Up to 200 ip_cidrs and ip_ranges can be created in total for each access method.

    The ip_cidrs block supports:

    Type string
    Specifies the ACL is created through the Console or API. Valid values are console and api. Changing this parameter will create a new ACL.
    IdentityAclV3Id string
    The ID of identity ACL.
    IpCidrs []IdentityAclV3IpCidrArgs
    Specifies the IPv4 CIDR blocks from which console access or api access is allowed. The ip_cidrs cannot repeat. The object structure is documented below.
    IpRanges []IdentityAclV3IpRangeArgs

    Specifies the IP address ranges from which console access or api access is allowed. The ip_ranges cannot repeat. The object structure is documented below.

    NOTE: Up to 200 ip_cidrs and ip_ranges can be created in total for each access method.

    The ip_cidrs block supports:

    Type string
    Specifies the ACL is created through the Console or API. Valid values are console and api. Changing this parameter will create a new ACL.
    identityAclV3Id String
    The ID of identity ACL.
    ipCidrs List<IdentityAclV3IpCidr>
    Specifies the IPv4 CIDR blocks from which console access or api access is allowed. The ip_cidrs cannot repeat. The object structure is documented below.
    ipRanges List<IdentityAclV3IpRange>

    Specifies the IP address ranges from which console access or api access is allowed. The ip_ranges cannot repeat. The object structure is documented below.

    NOTE: Up to 200 ip_cidrs and ip_ranges can be created in total for each access method.

    The ip_cidrs block supports:

    type String
    Specifies the ACL is created through the Console or API. Valid values are console and api. Changing this parameter will create a new ACL.
    identityAclV3Id string
    The ID of identity ACL.
    ipCidrs IdentityAclV3IpCidr[]
    Specifies the IPv4 CIDR blocks from which console access or api access is allowed. The ip_cidrs cannot repeat. The object structure is documented below.
    ipRanges IdentityAclV3IpRange[]

    Specifies the IP address ranges from which console access or api access is allowed. The ip_ranges cannot repeat. The object structure is documented below.

    NOTE: Up to 200 ip_cidrs and ip_ranges can be created in total for each access method.

    The ip_cidrs block supports:

    type string
    Specifies the ACL is created through the Console or API. Valid values are console and api. Changing this parameter will create a new ACL.
    identity_acl_v3_id str
    The ID of identity ACL.
    ip_cidrs Sequence[IdentityAclV3IpCidrArgs]
    Specifies the IPv4 CIDR blocks from which console access or api access is allowed. The ip_cidrs cannot repeat. The object structure is documented below.
    ip_ranges Sequence[IdentityAclV3IpRangeArgs]

    Specifies the IP address ranges from which console access or api access is allowed. The ip_ranges cannot repeat. The object structure is documented below.

    NOTE: Up to 200 ip_cidrs and ip_ranges can be created in total for each access method.

    The ip_cidrs block supports:

    type str
    Specifies the ACL is created through the Console or API. Valid values are console and api. Changing this parameter will create a new ACL.
    identityAclV3Id String
    The ID of identity ACL.
    ipCidrs List<Property Map>
    Specifies the IPv4 CIDR blocks from which console access or api access is allowed. The ip_cidrs cannot repeat. The object structure is documented below.
    ipRanges List<Property Map>

    Specifies the IP address ranges from which console access or api access is allowed. The ip_ranges cannot repeat. The object structure is documented below.

    NOTE: Up to 200 ip_cidrs and ip_ranges can be created in total for each access method.

    The ip_cidrs block supports:

    type String
    Specifies the ACL is created through the Console or API. Valid values are console and api. Changing this parameter will create a new ACL.

    Supporting Types

    IdentityAclV3IpCidr, IdentityAclV3IpCidrArgs

    Cidr string
    Specifies the IPv4 CIDR block, for example, 192.168.0.0/24.
    Description string
    Specifies a description about an IP address range.
    Cidr string
    Specifies the IPv4 CIDR block, for example, 192.168.0.0/24.
    Description string
    Specifies a description about an IP address range.
    cidr String
    Specifies the IPv4 CIDR block, for example, 192.168.0.0/24.
    description String
    Specifies a description about an IP address range.
    cidr string
    Specifies the IPv4 CIDR block, for example, 192.168.0.0/24.
    description string
    Specifies a description about an IP address range.
    cidr str
    Specifies the IPv4 CIDR block, for example, 192.168.0.0/24.
    description str
    Specifies a description about an IP address range.
    cidr String
    Specifies the IPv4 CIDR block, for example, 192.168.0.0/24.
    description String
    Specifies a description about an IP address range.

    IdentityAclV3IpRange, IdentityAclV3IpRangeArgs

    Range string
    Specifies the Ip address range, for example, 0.0.0.0-255.255.255.0.
    Description string
    Specifies a description about an IP address range.
    Range string
    Specifies the Ip address range, for example, 0.0.0.0-255.255.255.0.
    Description string
    Specifies a description about an IP address range.
    range String
    Specifies the Ip address range, for example, 0.0.0.0-255.255.255.0.
    description String
    Specifies a description about an IP address range.
    range string
    Specifies the Ip address range, for example, 0.0.0.0-255.255.255.0.
    description string
    Specifies a description about an IP address range.
    range str
    Specifies the Ip address range, for example, 0.0.0.0-255.255.255.0.
    description str
    Specifies a description about an IP address range.
    range String
    Specifies the Ip address range, for example, 0.0.0.0-255.255.255.0.
    description String
    Specifies a description about an IP address range.

    Package Details

    Repository
    opentelekomcloud opentelekomcloud/terraform-provider-opentelekomcloud
    License
    Notes
    This Pulumi package is based on the opentelekomcloud Terraform Provider.
    opentelekomcloud logo
    opentelekomcloud 1.36.37 published on Thursday, Apr 24, 2025 by opentelekomcloud